|
|
var rae=Object.defineProperty,aae=Object.defineProperties;var oae=Object.getOwnPropertyDescriptors;var Df=Object.getOwnPropertySymbols;var AD=Object.prototype.hasOwnProperty,CD=Object.prototype.propertyIsEnumerable;var zS=(n,e)=>{if(e=Symbol[n])return e;throw Error("Symbol."+n+" is not defined")},x6=Math.pow,GS=(n,e,t)=>e in n?rae(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,b2=(n,e)=>{for(var t in e||(e={}))AD.call(e,t)&&GS(n,t,e[t]);if(Df)for(var t of Df(e))CD.call(e,t)&&GS(n,t,e[t]);return n},Z2=(n,e)=>aae(n,oae(e));var MD=(n,e)=>{var t={};for(var i in n)AD.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&Df)for(var i of Df(n))e.indexOf(i)<0&&CD.call(n,i)&&(t[i]=n[i]);return t};var N3=(n,e,t)=>(GS(n,typeof e!="symbol"?e+"":e,t),t);var J2=(n,e,t)=>new Promise((i,r)=>{var a=l=>{try{s(t.next(l))}catch(u){r(u)}},o=l=>{try{s(t.throw(l))}catch(u){r(u)}},s=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,o);s((t=t.apply(n,e)).next())}),sae=function(n,e){this[0]=n,this[1]=e};var ED=n=>{var e=n[zS("asyncIterator")],t=!1,i,r={};return e==null?(e=n[zS("iterator")](),i=a=>r[a]=o=>e[a](o)):(e=e.call(n),i=a=>r[a]=o=>{if(t){if(t=!1,a==="throw")throw o;return o}return t=!0,{done:!1,value:new sae(new Promise(s=>{var l=e[a](o);if(!(l instanceof Object))throw TypeError("Object expected");s(l)}),1)}}),r[zS("iterator")]=()=>r,i("next"),"throw"in e?i("throw"):r.throw=a=>{throw a},"return"in e&&i("return"),r};import{_ as dy,o as Ae,c as Pe,a as B,t as Fe,r as i7,b as ft,d as H2,w as $0,p as PD,i as Al,n as Xt,u as _1,e as Ye,f as Or,g as Lt,h as lae,j as lj,k as RD,l as cr,m as LD,s as pc,q as uae,v as Ji,x as cae,y as f8,z as J3,A as ID,F as bt,B as Nt,C as Gn,D as Z1,E as m3,G as en,H as Y9,I as Gl,J as Hi,K as xu,L as dae,M as hae,N as w6,O as fae}from"./index-1782921062964.js";const Em=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1782921062964.svg",import.meta.url).href,Pm=""+new URL("bottom-menu-arrow-small-19304179-balabala-1782921062964.svg",import.meta.url).href;/** |
|
|
* @name: autofit.js |
|
|
* @author: Larry Zhu |
|
|
* @version: 3.2.8 |
|
|
* @description: autofit.js 是迄今为止最易用的自适应工具 |
|
|
* @license: MIT |
|
|
*/let US=null,hd="",LT="",IT="",VS=null,DD=null,Fn=1,Ul=!1;const hy={isAutofitRunning:!1,init(n={},e=!0){e&&console.log("autofit.js is running");const{dw:t=1920,dh:i=1080,el:r=typeof n=="string"?n:"body",resize:a=!0,ignore:o=[],transition:s="none",delay:l=0,limit:u=.1,cssMode:c="scale",allowScroll:d=!1}=n;US=r;const h=document.querySelector(r);if(!h){console.error(`autofit: '${r}' is not exist`);return}const f=document.createElement("style"),p=document.createElement("style");f.lang="text/css",p.lang="text/css",f.id="autofit-style",p.id="ignoreStyle",!d&&(f.innerHTML="body {overflow: hidden;}");const m=document.querySelector("body");m.appendChild(f),m.appendChild(p),h.style.height=`${i}px`,h.style.width=`${t}px`,h.style.transformOrigin="0 0",!d&&(h.style.overflow="hidden"),HS(t,i,h,o,u,c),VS=()=>{clearTimeout(DD),l!=0?DD=setTimeout(()=>{HS(t,i,h,o,u,c),Ul&&DT(hd,IT,LT)},l):(HS(t,i,h,o,u,c),Ul&&DT(hd,IT,LT))},a&&window.addEventListener("resize",VS),this.isAutofitRunning=!0,setTimeout(()=>{h.style.transition=`${s}s`})},off(n="body"){try{window.removeEventListener("resize",VS);const e=document.querySelector("#autofit-style");e&&e.remove();const t=document.querySelector("#ignoreStyle");t&&t.remove();const i=document.querySelector(US||n);i&&(i.style.cssText=""),Ul&&uj()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:Fn};function DT(n,e=!0,t=1){if(!hy.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}uj(),!n&&console.error(`autofit.js:elRectification bad selector: ${n}`),hd=n,LT=t,IT=e;const i=Array.from(document.querySelectorAll(n));if(i.length==0){console.error(`autofit.js:elRectification found no element by selector: "${n}"`);return}for(const r of i){const a=Fn==1?1:Number(Fn)*Number(t);Ul||(r.originalWidth=r.clientWidth,r.originalHeight=r.clientHeight),e?(r.style.width=`${r.originalWidth*a}px`,r.style.height=`${r.originalHeight*a}px`):(r.style.width=`${100*a}%`,r.style.height=`${100*a}%`),r.style.transform=`translateZ(0) scale(${1/Number(Fn)})`,r.style.transformOrigin="0 0"}Ul=!0}function uj(){if(hd){Ul=!1;for(const n of Array.from(document.querySelectorAll(hd)))n.style.width="",n.style.height="",n.style.transform=""}}function HS(n,e,t,i,r,a="scale"){const o=document.documentElement.clientHeight,s=document.documentElement.clientWidth;Fn=s/o<n/e?s/n:o/e,Fn=Math.abs(1-Fn)>r?Fn:1,hy.scale=+Fn;const l=Math.round(o/Number(Fn)),u=Math.round(s/Number(Fn));t.style.height=`${l}px`,t.style.width=`${u}px`,a==="zoom"?t.style.zoom=`${Fn}`:t.style.transform=`translateZ(0) scale(${Fn})`;const c=document.querySelector("#ignoreStyle");c.innerHTML="";for(const d of i){const h=d;let f=h.el||h.dom;if(typeof h=="string"&&(f=h),!f||typeof f=="object"&&!Object.keys(f).length){console.error(`autofit: found invalid or empty selector/object: ${f}`);continue}const p=h.scale?h.scale:1/Number(Fn),m=p!=Fn&&h.fontSize,v=p!=Fn&&h.width,g=p!=Fn&&h.height;c.innerHTML+=` |
|
|
${f} { |
|
|
transform: scale(${p})!important; |
|
|
transform-origin: 0 0; |
|
|
${v?`width: ${v}!important;`:""} |
|
|
${g?`height: ${g}!important;`:""} |
|
|
}`,m&&(c.innerHTML+=` |
|
|
${f} div ,${f} span,${f} a,${f} * { |
|
|
font-size: ${m}px; |
|
|
}`)}}hy.elRectification=DT;function Ms(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function cj(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}/*! |
|
|
* GSAP 3.14.2 |
|
|
* https://gsap.com |
|
|
* |
|
|
* @license Copyright 2008-2025, GreenSock. All rights reserved. |
|
|
* Subject to the terms at https://gsap.com/standard-license |
|
|
* @author: Jack Doyle, jack@greensock.com |
|
|
*/var Lr={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},r7={duration:.5,overwrite:!1,delay:0},MM,Un,S0,_a=1e8,a0=1/_a,NT=Math.PI*2,pae=NT/4,vae=0,dj=Math.sqrt,mae=Math.cos,gae=Math.sin,Ln=function(e){return typeof e=="string"},k0=function(e){return typeof e=="function"},Vs=function(e){return typeof e=="number"},EM=function(e){return typeof e=="undefined"},Xo=function(e){return typeof e=="object"},Qi=function(e){return e!==!1},PM=function(){return typeof window!="undefined"},Nf=function(e){return k0(e)||Ln(e)},hj=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},ui=Array.isArray,yae=/random\([^)]+\)/g,_ae=/,\s*/g,ND=/(?:-?\.?\d|\.)+/gi,fj=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Cl=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,WS=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,pj=/[+-]=-?[.\d]+/,Sae=/[^,'"\[\]\s]+/gi,bae=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,C0,Co,kT,RM,kr={},Rm={},vj,mj=function(e){return(Rm=a7(e,kr))&&ar},LM=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},fd=function(e,t){return!t&&console.warn(e)},gj=function(e,t){return e&&(kr[e]=t)&&Rm&&(Rm[e]=t)||kr},pd=function(){return 0},xae={suppressEvents:!0,isStart:!0,kill:!1},Wv={suppressEvents:!0,kill:!1},wae={suppressEvents:!0},IM={},f5=[],FT={},yj,wr={},jS={},kD=30,jv=[],DM="",NM=function(e){var t=e[0],i,r;if(Xo(t)||k0(t)||(e=[e]),!(i=(t._gsap||{}).harness)){for(r=jv.length;r--&&!jv[r].targetTest(t););i=jv[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new Vj(e[r],i)))||e.splice(r,1);return e},p8=function(e){return e._gsap||NM(Sa(e))[0]._gsap},_j=function(e,t,i){return(i=e[t])&&k0(i)?e[t]():EM(i)&&e.getAttribute&&e.getAttribute(t)||i},er=function(e,t){return(e=e.split(",")).forEach(t)||e},V0=function(e){return Math.round(e*1e5)/1e5||0},T0=function(e){return Math.round(e*1e7)/1e7||0},Vl=function(e,t){var i=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),i==="+"?e+r:i==="-"?e-r:i==="*"?e*r:e/r},Tae=function(e,t){for(var i=t.length,r=0;e.indexOf(t[r])<0&&++r<i;);return r<i},Lm=function(){var e=f5.length,t=f5.slice(0),i,r;for(FT={},f5.length=0,i=0;i<e;i++)r=t[i],r&&r._lazy&&(r.render(r._lazy[0],r._lazy[1],!0)._lazy=0)},kM=function(e){return!!(e._initted||e._startAt||e.add)},Sj=function(e,t,i,r){f5.length&&!Un&&Lm(),e.render(t,i,r||!!(Un&&t<0&&kM(e))),f5.length&&!Un&&Lm()},bj=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(Sae).length<2?t:Ln(e)?e.trim():e},xj=function(e){return e},Fr=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},Aae=function(e){return function(t,i){for(var r in i)r in t||r==="duration"&&e||r==="ease"||(t[r]=i[r])}},a7=function(e,t){for(var i in t)e[i]=t[i];return e},FD=function n(e,t){for(var i in t)i!=="__proto__"&&i!=="constructor"&&i!=="prototype"&&(e[i]=Xo(t[i])?n(e[i]||(e[i]={}),t[i]):t[i]);return e},Im=function(e,t){var i={},r;for(r in e)r in t||(i[r]=e[r]);return i},kc=function(e){var t=e.parent||C0,i=e.keyframes?Aae(ui(e.keyframes)):Fr;if(Qi(e.inherit))for(;t;)i(e,t.vars.defaults),t=t.parent||t._dp;return e},Cae=function(e,t){for(var i=e.length,r=i===t.length;r&&i--&&e[i]===t[i];);return i<0},wj=function(e,t,i,r,a){i===void 0&&(i="_first"),r===void 0&&(r="_last");var o=e[r],s;if(a)for(s=t[a];o&&o[a]>s;)o=o._prev;return o?(t._next=o._next,o._next=t):(t._next=e[i],e[i]=t),t._next?t._next._prev=t:e[r]=t,t._prev=o,t.parent=t._dp=e,t},fy=function(e,t,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var a=t._prev,o=t._next;a?a._next=o:e[i]===t&&(e[i]=o),o?o._prev=a:e[r]===t&&(e[r]=a),t._next=t._prev=t.parent=null},w5=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},v8=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var i=e;i;)i._dirty=1,i=i.parent;return e},Mae=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},OT=function(e,t,i,r){return e._startAt&&(Un?e._startAt.revert(Wv):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Eae=function n(e){return!e||e._ts&&n(e.parent)},OD=function(e){return e._repeat?o7(e._tTime,e=e.duration()+e._rDelay)*e:0},o7=function(e,t){var i=Math.floor(e=T0(e/t));return e&&i===e?i-1:i},Dm=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},py=function(e){return e._end=T0(e._start+(e._tDur/Math.abs(e._ts||e._rts||a0)||0))},vy=function(e,t){var i=e._dp;return i&&i.smoothChildTiming&&e._ts&&(e._start=T0(i._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),py(e),i._dirty||v8(i,e)),e},Tj=function(e,t){var i;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(i=Dm(e.rawTime(),t),(!t._dur||ph(0,t.totalDuration(),i)-t._tTime>a0)&&t.render(i,!0)),v8(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(i=e;i._dp;)i.rawTime()>=0&&i.totalTime(i._tTime),i=i._dp;e._zTime=-a0}},Lo=function(e,t,i,r){return t.parent&&w5(t),t._start=T0((Vs(i)?i:i||e!==C0?ea(e,i,t):e._time)+t._delay),t._end=T0(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),wj(e,t,"_first","_last",e._sort?"_start":0),BT(t)||(e._recent=t),r||Tj(e,t),e._ts<0&&vy(e,e._tTime),e},Aj=function(e,t){return(kr.ScrollTrigger||LM("scrollTrigger",t))&&kr.ScrollTrigger.create(t,e)},Cj=function(e,t,i,r,a){if(OM(e,t,a),!e._initted)return 1;if(!i&&e._pt&&!Un&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&yj!==Cr.frame)return f5.push(e),e._lazy=[a,r],1},Pae=function n(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||n(t))},BT=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Rae=function(e,t,i,r){var a=e.ratio,o=t<0||!t&&(!e._start&&Pae(e)&&!(!e._initted&&BT(e))||(e._ts<0||e._dp._ts<0)&&!BT(e))?0:1,s=e._rDelay,l=0,u,c,d;if(s&&e._repeat&&(l=ph(0,e._tDur,t),c=o7(l,s),e._yoyo&&c&1&&(o=1-o),c!==o7(e._tTime,s)&&(a=1-o,e.vars.repeatRefresh&&e._initted&&e.invalidate())),o!==a||Un||r||e._zTime===a0||!t&&e._zTime){if(!e._initted&&Cj(e,t,r,i,l))return;for(d=e._zTime,e._zTime=t||(i?a0:0),i||(i=t&&!d),e.ratio=o,e._from&&(o=1-o),e._time=0,e._tTime=l,u=e._pt;u;)u.r(o,u.d),u=u._next;t<0&&OT(e,t,i,!0),e._onUpdate&&!i&&Er(e,"onUpdate"),l&&e._repeat&&!i&&e.parent&&Er(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===o&&(o&&w5(e,1),!i&&!Un&&(Er(e,o?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Lae=function(e,t,i){var r;if(i>t)for(r=e._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start<t)return r;r=r._prev}},s7=function(e,t,i,r){var a=e._repeat,o=T0(t)||0,s=e._tTime/e._tDur;return s&&!r&&(e._time*=o/e._dur),e._dur=o,e._tDur=a?a<0?1e10:T0(o*(a+1)+e._rDelay*a):o,s>0&&!r&&vy(e,e._tTime=e._tDur*s),e.parent&&py(e),i||v8(e.parent,e),e},BD=function(e){return e instanceof Mi?v8(e):s7(e,e._dur)},Iae={_start:0,endTime:pd,totalDuration:pd},ea=function n(e,t,i){var r=e.labels,a=e._recent||Iae,o=e.duration()>=_a?a.endTime(!1):e._dur,s,l,u;return Ln(t)&&(isNaN(t)||t in r)?(l=t.charAt(0),u=t.substr(-1)==="%",s=t.indexOf("="),l==="<"||l===">"?(s>=0&&(t=t.replace(/=/,"")),(l==="<"?a._start:a.endTime(a._repeat>=0))+(parseFloat(t.substr(1))||0)*(u?(s<0?a:i).totalDuration()/100:1)):s<0?(t in r||(r[t]=o),r[t]):(l=parseFloat(t.charAt(s-1)+t.substr(s+1)),u&&i&&(l=l/100*(ui(i)?i[0]:i).totalDuration()),s>1?n(e,t.substr(0,s-1),i)+l:o+l)):t==null?o:+t},Fc=function(e,t,i){var r=Vs(t[1]),a=(r?2:1)+(e<2?0:1),o=t[a],s,l;if(r&&(o.duration=t[1]),o.parent=i,e){for(s=o,l=i;l&&!("immediateRender"in s);)s=l.vars.defaults||{},l=Qi(l.vars.inherit)&&l.parent;o.immediateRender=Qi(s.immediateRender),e<2?o.runBackwards=1:o.startAt=t[a-1]}return new rn(t[0],o,t[a+1])},B5=function(e,t){return e||e===0?t(e):t},ph=function(e,t,i){return i<e?e:i>t?t:i},si=function(e,t){return!Ln(e)||!(t=bae.exec(e))?"":t[1]},Dae=function(e,t,i){return B5(i,function(r){return ph(e,t,r)})},zT=[].slice,Mj=function(e,t){return e&&Xo(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&Xo(e[0]))&&!e.nodeType&&e!==Co},Nae=function(e,t,i){return i===void 0&&(i=[]),e.forEach(function(r){var a;return Ln(r)&&!t||Mj(r,1)?(a=i).push.apply(a,Sa(r)):i.push(r)})||i},Sa=function(e,t,i){return S0&&!t&&S0.selector?S0.selector(e):Ln(e)&&!i&&(kT||!l7())?zT.call((t||RM).querySelectorAll(e),0):ui(e)?Nae(e,i):Mj(e)?zT.call(e,0):e?[e]:[]},GT=function(e){return e=Sa(e)[0]||fd("Invalid scope")||{},function(t){var i=e.current||e.nativeElement||e;return Sa(t,i.querySelectorAll?i:i===e?fd("Invalid scope")||RM.createElement("div"):e)}},Ej=function(e){return e.sort(function(){return .5-Math.random()})},Pj=function(e){if(k0(e))return e;var t=Xo(e)?e:{each:e},i=m8(t.ease),r=t.from||0,a=parseFloat(t.base)||0,o={},s=r>0&&r<1,l=isNaN(r)||s,u=t.axis,c=r,d=r;return Ln(r)?c=d={center:.5,edges:.5,end:1}[r]||0:!s&&l&&(c=r[0],d=r[1]),function(h,f,p){var m=(p||t).length,v=o[m],g,_,S,x,A,C,M,I,D;if(!v){if(D=t.grid==="auto"?0:(t.grid||[1,_a])[1],!D){for(M=-_a;M<(M=p[D++].getBoundingClientRect().left)&&D<m;);D<m&&D--}for(v=o[m]=[],g=l?Math.min(D,m)*c-.5:r%D,_=D===_a?0:l?m*d/D-.5:r/D|0,M=0,I=_a,C=0;C<m;C++)S=C%D-g,x=_-(C/D|0),v[C]=A=u?Math.abs(u==="y"?x:S):dj(S*S+x*x),A>M&&(M=A),A<I&&(I=A);r==="random"&&Ej(v),v.max=M-I,v.min=I,v.v=m=(parseFloat(t.amount)||parseFloat(t.each)*(D>m?m-1:u?u==="y"?m/D:D:Math.max(D,m/D))||0)*(r==="edges"?-1:1),v.b=m<0?a-m:a,v.u=si(t.amount||t.each)||0,i=i&&m<0?zj(i):i}return m=(v[h]-v.min)/v.max||0,T0(v.b+(i?i(m):m)*v.v)+v.u}},UT=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(i){var r=T0(Math.round(parseFloat(i)/e)*e*t);return(r-r%1)/t+(Vs(i)?0:si(i))}},Rj=function(e,t){var i=ui(e),r,a;return!i&&Xo(e)&&(r=i=e.radius||_a,e.values?(e=Sa(e.values),(a=!Vs(e[0]))&&(r*=r)):e=UT(e.increment)),B5(t,i?k0(e)?function(o){return a=e(o),Math.abs(a-o)<=r?a:o}:function(o){for(var s=parseFloat(a?o.x:o),l=parseFloat(a?o.y:0),u=_a,c=0,d=e.length,h,f;d--;)a?(h=e[d].x-s,f=e[d].y-l,h=h*h+f*f):h=Math.abs(e[d]-s),h<u&&(u=h,c=d);return c=!r||u<=r?e[c]:o,a||c===o||Vs(o)?c:c+si(o)}:UT(e))},Lj=function(e,t,i,r){return B5(ui(e)?!t:i===!0?!!(i=0):!r,function(){return ui(e)?e[~~(Math.random()*e.length)]:(i=i||1e-5)&&(r=i<1?Math.pow(10,(i+"").length-2):1)&&Math.floor(Math.round((e-i/2+Math.random()*(t-e+i*.99))/i)*i*r)/r})},kae=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return function(r){return t.reduce(function(a,o){return o(a)},r)}},Fae=function(e,t){return function(i){return e(parseFloat(i))+(t||si(i))}},Oae=function(e,t,i){return Dj(e,t,0,1,i)},Ij=function(e,t,i){return B5(i,function(r){return e[~~t(r)]})},Bae=function n(e,t,i){var r=t-e;return ui(e)?Ij(e,n(0,e.length),t):B5(i,function(a){return(r+(a-e)%r)%r+e})},zae=function n(e,t,i){var r=t-e,a=r*2;return ui(e)?Ij(e,n(0,e.length-1),t):B5(i,function(o){return o=(a+(o-e)%a)%a||0,e+(o>r?a-o:o)})},vd=function(e){return e.replace(yae,function(t){var i=t.indexOf("[")+1,r=t.substring(i||7,i?t.indexOf("]"):t.length-1).split(_ae);return Lj(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},Dj=function(e,t,i,r,a){var o=t-e,s=r-i;return B5(a,function(l){return i+((l-e)/o*s||0)})},Gae=function n(e,t,i,r){var a=isNaN(e+t)?0:function(f){return(1-f)*e+f*t};if(!a){var o=Ln(e),s={},l,u,c,d,h;if(i===!0&&(r=1)&&(i=null),o)e={p:e},t={p:t};else if(ui(e)&&!ui(t)){for(c=[],d=e.length,h=d-2,u=1;u<d;u++)c.push(n(e[u-1],e[u]));d--,a=function(p){p*=d;var m=Math.min(h,~~p);return c[m](p-m)},i=t}else r||(e=a7(ui(e)?[]:{},e));if(!c){for(l in t)FM.call(s,e,l,"get",t[l]);a=function(p){return GM(p,s)||(o?e.p:e)}}}return B5(i,a)},zD=function(e,t,i){var r=e.labels,a=_a,o,s,l;for(o in r)s=r[o]-t,s<0==!!i&&s&&a>(s=Math.abs(s))&&(l=o,a=s);return l},Er=function(e,t,i){var r=e.vars,a=r[t],o=S0,s=e._ctx,l,u,c;if(a)return l=r[t+"Params"],u=r.callbackScope||e,i&&f5.length&&Lm(),s&&(S0=s),c=l?a.apply(u,l):a.call(u),S0=o,c},vc=function(e){return w5(e),e.scrollTrigger&&e.scrollTrigger.kill(!!Un),e.progress()<1&&Er(e,"onInterrupt"),e},Ml,Nj=[],kj=function(e){if(e)if(e=!e.name&&e.default||e,PM()||e.headless){var t=e.name,i=k0(e),r=t&&!i&&e.init?function(){this._props=[]}:e,a={init:pd,render:GM,add:FM,kill:noe,modifier:toe,rawVars:0},o={targetTest:0,get:0,getSetter:zM,aliases:{},register:0};if(l7(),e!==r){if(wr[t])return;Fr(r,Fr(Im(e,a),o)),a7(r.prototype,a7(a,Im(e,o))),wr[r.prop=t]=r,e.targetTest&&(jv.push(r),IM[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}gj(t,r),e.register&&e.register(ar,r,tr)}else Nj.push(e)},n0=255,mc={aqua:[0,n0,n0],lime:[0,n0,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,n0],navy:[0,0,128],white:[n0,n0,n0],olive:[128,128,0],yellow:[n0,n0,0],orange:[n0,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[n0,0,0],pink:[n0,192,203],cyan:[0,n0,n0],transparent:[n0,n0,n0,0]},$S=function(e,t,i){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(i-t)*e*6:e<.5?i:e*3<2?t+(i-t)*(2/3-e)*6:t)*n0+.5|0},Fj=function(e,t,i){var r=e?Vs(e)?[e>>16,e>>8&n0,e&n0]:0:mc.black,a,o,s,l,u,c,d,h,f,p;if(!r){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),mc[e])r=mc[e];else if(e.charAt(0)==="#"){if(e.length<6&&(a=e.charAt(1),o=e.charAt(2),s=e.charAt(3),e="#"+a+a+o+o+s+s+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&n0,r&n0,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&n0,e&n0]}else if(e.substr(0,3)==="hsl"){if(r=p=e.match(ND),!t)l=+r[0]%360/360,u=+r[1]/100,c=+r[2]/100,o=c<=.5?c*(u+1):c+u-c*u,a=c*2-o,r.length>3&&(r[3]*=1),r[0]=$S(l+1/3,a,o),r[1]=$S(l,a,o),r[2]=$S(l-1/3,a,o);else if(~e.indexOf("="))return r=e.match(fj),i&&r.length<4&&(r[3]=1),r}else r=e.match(ND)||mc.transparent;r=r.map(Number)}return t&&!p&&(a=r[0]/n0,o=r[1]/n0,s=r[2]/n0,d=Math.max(a,o,s),h=Math.min(a,o,s),c=(d+h)/2,d===h?l=u=0:(f=d-h,u=c>.5?f/(2-d-h):f/(d+h),l=d===a?(o-s)/f+(o<s?6:0):d===o?(s-a)/f+2:(a-o)/f+4,l*=60),r[0]=~~(l+.5),r[1]=~~(u*100+.5),r[2]=~~(c*100+.5)),i&&r.length<4&&(r[3]=1),r},Oj=function(e){var t=[],i=[],r=-1;return e.split(p5).forEach(function(a){var o=a.match(Cl)||[];t.push.apply(t,o),i.push(r+=o.length+1)}),t.c=i,t},GD=function(e,t,i){var r="",a=(e+r).match(p5),o=t?"hsla(":"rgba(",s=0,l,u,c,d;if(!a)return e;if(a=a.map(function(h){return(h=Fj(h,t,1))&&o+(t?h[0]+","+h[1]+"%,"+h[2]+"%,"+h[3]:h.join(","))+")"}),i&&(c=Oj(e),l=i.c,l.join(r)!==c.c.join(r)))for(u=e.replace(p5,"1").split(Cl),d=u.length-1;s<d;s++)r+=u[s]+(~l.indexOf(s)?a.shift()||o+"0,0,0,0)":(c.length?c:a.length?a:i).shift());if(!u)for(u=e.split(p5),d=u.length-1;s<d;s++)r+=u[s]+a[s];return r+u[d]},p5=function(){var n="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in mc)n+="|"+e+"\\b";return new RegExp(n+")","gi")}(),Uae=/hsl[a]?\(/,Bj=function(e){var t=e.join(" "),i;if(p5.lastIndex=0,p5.test(t))return i=Uae.test(t),e[1]=GD(e[1],i),e[0]=GD(e[0],i,Oj(e[1])),!0},md,Cr=function(){var n=Date.now,e=500,t=33,i=n(),r=i,a=1e3/240,o=a,s=[],l,u,c,d,h,f,p=function m(v){var g=n()-r,_=v===!0,S,x,A,C;if((g>e||g<0)&&(i+=g-t),r+=g,A=r-i,S=A-o,(S>0||_)&&(C=++d.frame,h=A-d.time*1e3,d.time=A=A/1e3,o+=S+(S>=a?4:a-S),x=1),_||(l=u(m)),x)for(f=0;f<s.length;f++)s[f](A,h,C,v)};return d={time:0,frame:0,tick:function(){p(!0)},deltaRatio:function(v){return h/(1e3/(v||60))},wake:function(){vj&&(!kT&&PM()&&(Co=kT=window,RM=Co.document||{},kr.gsap=ar,(Co.gsapVersions||(Co.gsapVersions=[])).push(ar.version),mj(Rm||Co.GreenSockGlobals||!Co.gsap&&Co||{}),Nj.forEach(kj)),c=typeof requestAnimationFrame!="undefined"&&requestAnimationFrame,l&&d.sleep(),u=c||function(v){return setTimeout(v,o-d.time*1e3+1|0)},md=1,p(2))},sleep:function(){(c?cancelAnimationFrame:clearTimeout)(l),md=0,u=pd},lagSmoothing:function(v,g){e=v||1/0,t=Math.min(g||33,e)},fps:function(v){a=1e3/(v||240),o=d.time*1e3+a},add:function(v,g,_){var S=g?function(x,A,C,M){v(x,A,C,M),d.remove(S)}:v;return d.remove(v),s[_?"unshift":"push"](S),l7(),S},remove:function(v,g){~(g=s.indexOf(v))&&s.splice(g,1)&&f>=g&&f--},_listeners:s},d}(),l7=function(){return!md&&Cr.wake()},p1={},Vae=/^[\d.\-M][\d.\-,\s]/,Hae=/["']/g,Wae=function(e){for(var t={},i=e.substr(1,e.length-3).split(":"),r=i[0],a=1,o=i.length,s,l,u;a<o;a++)l=i[a],s=a!==o-1?l.lastIndexOf(","):l.length,u=l.substr(0,s),t[r]=isNaN(u)?u.replace(Hae,"").trim():+u,r=l.substr(s+1).trim();return t},jae=function(e){var t=e.indexOf("(")+1,i=e.indexOf(")"),r=e.indexOf("(",t);return e.substring(t,~r&&r<i?e.indexOf(")",i+1):i)},$ae=function(e){var t=(e+"").split("("),i=p1[t[0]];return i&&t.length>1&&i.config?i.config.apply(null,~e.indexOf("{")?[Wae(t[1])]:jae(e).split(",").map(bj)):p1._CE&&Vae.test(e)?p1._CE("",e):i},zj=function(e){return function(t){return 1-e(1-t)}},Gj=function n(e,t){for(var i=e._first,r;i;)i instanceof Mi?n(i,t):i.vars.yoyoEase&&(!i._yoyo||!i._repeat)&&i._yoyo!==t&&(i.timeline?n(i.timeline,t):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=t)),i=i._next},m8=function(e,t){return e&&(k0(e)?e:p1[e]||$ae(e))||t},X8=function(e,t,i,r){i===void 0&&(i=function(l){return 1-t(1-l)}),r===void 0&&(r=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var a={easeIn:t,easeOut:i,easeInOut:r},o;return er(e,function(s){p1[s]=kr[s]=a,p1[o=s.toLowerCase()]=i;for(var l in a)p1[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=p1[s+"."+l]=a[l]}),a},Uj=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},qS=function n(e,t,i){var r=t>=1?t:1,a=(i||(e?.3:.45))/(t<1?t:1),o=a/NT*(Math.asin(1/r)||0),s=function(c){return c===1?1:r*Math.pow(2,-10*c)*gae((c-o)*a)+1},l=e==="out"?s:e==="in"?function(u){return 1-s(1-u)}:Uj(s);return a=NT/a,l.config=function(u,c){return n(e,u,c)},l},XS=function n(e,t){t===void 0&&(t=1.70158);var i=function(o){return o?--o*o*((t+1)*o+t)+1:0},r=e==="out"?i:e==="in"?function(a){return 1-i(1-a)}:Uj(i);return r.config=function(a){return n(e,a)},r};er("Linear,Quad,Cubic,Quart,Quint,Strong",function(n,e){var t=e<5?e+1:e;X8(n+",Power"+(t-1),e?function(i){return Math.pow(i,t)}:function(i){return i},function(i){return 1-Math.pow(1-i,t)},function(i){return i<.5?Math.pow(i*2,t)/2:1-Math.pow((1-i)*2,t)/2})});p1.Linear.easeNone=p1.none=p1.Linear.easeIn;X8("Elastic",qS("in"),qS("out"),qS());(function(n,e){var t=1/e,i=2*t,r=2.5*t,a=function(s){return s<t?n*s*s:s<i?n*Math.pow(s-1.5/e,2)+.75:s<r?n*(s-=2.25/e)*s+.9375:n*Math.pow(s-2.625/e,2)+.984375};X8("Bounce",function(o){return 1-a(1-o)},a)})(7.5625,2.75);X8("Expo",function(n){return Math.pow(2,10*(n-1))*n+n*n*n*n*n*n*(1-n)});X8("Circ",function(n){return-(dj(1-n*n)-1)});X8("Sine",function(n){return n===1?1:-mae(n*pae)+1});X8("Back",XS("in"),XS("out"),XS());p1.SteppedEase=p1.steps=kr.SteppedEase={config:function(e,t){e===void 0&&(e=1);var i=1/e,r=e+(t?0:1),a=t?1:0,o=1-a0;return function(s){return((r*ph(0,o,s)|0)+a)*i}}};r7.ease=p1["quad.out"];er("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(n){return DM+=n+","+n+"Params,"});var Vj=function(e,t){this.id=vae++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:_j,this.set=t?t.getSetter:zM},gd=function(){function n(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,s7(this,+t.duration,1,1),this.data=t.data,S0&&(this._ctx=S0,S0.data.push(this)),md||Cr.wake()}var e=n.prototype;return e.delay=function(i){return i||i===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+i-this._delay),this._delay=i,this):this._delay},e.duration=function(i){return arguments.length?this.totalDuration(this._repeat>0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},e.totalDuration=function(i){return arguments.length?(this._dirty=0,s7(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(i,r){if(l7(),!arguments.length)return this._tTime;var a=this._dp;if(a&&a.smoothChildTiming&&this._ts){for(vy(this,i),!a._dp||a.parent||Tj(a,this);a&&a.parent;)a.parent._time!==a._start+(a._ts>=0?a._tTime/a._ts:(a.totalDuration()-a._tTime)/-a._ts)&&a.totalTime(a._tTime,!0),a=a.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i<this._tDur||this._ts<0&&i>0||!this._tDur&&!i)&&Lo(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===a0||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),Sj(this,i,r)),this},e.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+OD(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},e.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+OD(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(i,r){var a=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*a,r):this._repeat?o7(this._tTime,a)+1:1},e.timeScale=function(i,r){if(!arguments.length)return this._rts===-a0?0:this._rts;if(this._rts===i)return this;var a=this.parent&&this._ts?Dm(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-a0?0:this._rts,this.totalTime(ph(-Math.abs(this._delay),this.totalDuration(),a),r!==!1),py(this),Mae(this)},e.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(l7(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==a0&&(this._tTime-=a0)))),this):this._ps},e.startTime=function(i){if(arguments.length){this._start=T0(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&&Lo(r,this,this._start-this._delay),this}return this._start},e.endTime=function(i){return this._start+(Qi(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Dm(r.rawTime(i),this):this._tTime:this._tTime},e.revert=function(i){i===void 0&&(i=wae);var r=Un;return Un=i,kM(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),Un=r,this},e.globalTime=function(i){for(var r=this,a=arguments.length?i:r.rawTime();r;)a=r._start+a/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):a},e.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,BD(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,BD(this),r?this.time(r):this}return this._rDelay},e.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},e.seek=function(i,r){return this.totalTime(ea(this,i),Qi(r))},e.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,Qi(r)),this._dur||(this._zTime=-a0),this},e.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},e.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},e.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-a0:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-a0,this},e.isActive=function(){var i=this.parent||this._dp,r=this._start,a;return!!(!i||this._ts&&this._initted&&i.isActive()&&(a=i.rawTime(!0))>=r&&a<this.endTime(!0)-a0)},e.eventCallback=function(i,r,a){var o=this.vars;return arguments.length>1?(r?(o[i]=r,a&&(o[i+"Params"]=a),i==="onUpdate"&&(this._onUpdate=r)):delete o[i],this):o[i]},e.then=function(i){var r=this,a=r._prom;return new Promise(function(o){var s=k0(i)?i:xj,l=function(){var c=r.then;r.then=null,a&&a(),k0(s)&&(s=s(r))&&(s.then||s===r)&&(r.then=c),o(s),r.then=c};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?l():r._prom=l})},e.kill=function(){vc(this)},n}();Fr(gd.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-a0,_prom:0,_ps:!1,_rts:1});var Mi=function(n){cj(e,n);function e(i,r){var a;return i===void 0&&(i={}),a=n.call(this,i)||this,a.labels={},a.smoothChildTiming=!!i.smoothChildTiming,a.autoRemoveChildren=!!i.autoRemoveChildren,a._sort=Qi(i.sortChildren),C0&&Lo(i.parent||C0,Ms(a),r),i.reversed&&a.reverse(),i.paused&&a.paused(!0),i.scrollTrigger&&Aj(Ms(a),i.scrollTrigger),a}var t=e.prototype;return t.to=function(r,a,o){return Fc(0,arguments,this),this},t.from=function(r,a,o){return Fc(1,arguments,this),this},t.fromTo=function(r,a,o,s){return Fc(2,arguments,this),this},t.set=function(r,a,o){return a.duration=0,a.parent=this,kc(a).repeatDelay||(a.repeat=0),a.immediateRender=!!a.immediateRender,new rn(r,a,ea(this,o),1),this},t.call=function(r,a,o){return Lo(this,rn.delayedCall(0,r,a),o)},t.staggerTo=function(r,a,o,s,l,u,c){return o.duration=a,o.stagger=o.stagger||s,o.onComplete=u,o.onCompleteParams=c,o.parent=this,new rn(r,o,ea(this,l)),this},t.staggerFrom=function(r,a,o,s,l,u,c){return o.runBackwards=1,kc(o).immediateRender=Qi(o.immediateRender),this.staggerTo(r,a,o,s,l,u,c)},t.staggerFromTo=function(r,a,o,s,l,u,c,d){return s.startAt=o,kc(s).immediateRender=Qi(s.immediateRender),this.staggerTo(r,a,s,l,u,c,d)},t.render=function(r,a,o){var s=this._time,l=this._dirty?this.totalDuration():this._tDur,u=this._dur,c=r<=0?0:T0(r),d=this._zTime<0!=r<0&&(this._initted||!u),h,f,p,m,v,g,_,S,x,A,C,M;if(this!==C0&&c>l&&r>=0&&(c=l),c!==this._tTime||o||d){if(s!==this._time&&u&&(c+=this._time-s,r+=this._time-s),h=c,x=this._start,S=this._ts,g=!S,d&&(u||(s=this._zTime),(r||!a)&&(this._zTime=r)),this._repeat){if(C=this._yoyo,v=u+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(v*100+r,a,o);if(h=T0(c%v),c===l?(m=this._repeat,h=u):(A=T0(c/v),m=~~A,m&&m===A&&(h=u,m--),h>u&&(h=u)),A=o7(this._tTime,v),!s&&this._tTime&&A!==m&&this._tTime-A*v-this._dur<=0&&(A=m),C&&m&1&&(h=u-h,M=1),m!==A&&!this._lock){var I=C&&A&1,D=I===(C&&m&1);if(m<A&&(I=!I),s=I?0:c%u?u:c,this._lock=1,this.render(s||(M?0:T0(m*v)),a,!u)._lock=0,this._tTime=c,!a&&this.parent&&Er(this,"onRepeat"),this.vars.repeatRefresh&&!M&&(this.invalidate()._lock=1,A=m),s&&s!==this._time||g!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(u=this._dur,l=this._tDur,D&&(this._lock=2,s=I?u:-1e-4,this.render(s,!0),this.vars.repeatRefresh&&!M&&this.invalidate()),this._lock=0,!this._ts&&!g)return this;Gj(this,M)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(_=Lae(this,T0(s),T0(h)),_&&(c-=h-(h=_._start))),this._tTime=c,this._time=h,this._act=!S,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=r,s=0),!s&&c&&u&&!a&&!A&&(Er(this,"onStart"),this._tTime!==c))return this;if(h>=s&&r>=0)for(f=this._first;f;){if(p=f._next,(f._act||h>=f._start)&&f._ts&&_!==f){if(f.parent!==this)return this.render(r,a,o);if(f.render(f._ts>0?(h-f._start)*f._ts:(f._dirty?f.totalDuration():f._tDur)+(h-f._start)*f._ts,a,o),h!==this._time||!this._ts&&!g){_=0,p&&(c+=this._zTime=-a0);break}}f=p}else{f=this._last;for(var E=r<0?r:h;f;){if(p=f._prev,(f._act||E<=f._end)&&f._ts&&_!==f){if(f.parent!==this)return this.render(r,a,o);if(f.render(f._ts>0?(E-f._start)*f._ts:(f._dirty?f.totalDuration():f._tDur)+(E-f._start)*f._ts,a,o||Un&&kM(f)),h!==this._time||!this._ts&&!g){_=0,p&&(c+=this._zTime=E?-a0:a0);break}}f=p}}if(_&&!a&&(this.pause(),_.render(h>=s?0:-a0)._zTime=h>=s?1:-1,this._ts))return this._start=x,py(this),this.render(r,a,o);this._onUpdate&&!a&&Er(this,"onUpdate",!0),(c===l&&this._tTime>=this.totalDuration()||!c&&s)&&(x===this._start||Math.abs(S)!==Math.abs(this._ts))&&(this._lock||((r||!u)&&(c===l&&this._ts>0||!c&&this._ts<0)&&w5(this,1),!a&&!(r<0&&!s)&&(c||s||!l)&&(Er(this,c===l&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(c<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(r,a){var o=this;if(Vs(a)||(a=ea(this,a,r)),!(r instanceof gd)){if(ui(r))return r.forEach(function(s){return o.add(s,a)}),this;if(Ln(r))return this.addLabel(r,a);if(k0(r))r=rn.delayedCall(0,r);else return this}return this!==r?Lo(this,r,a):this},t.getChildren=function(r,a,o,s){r===void 0&&(r=!0),a===void 0&&(a=!0),o===void 0&&(o=!0),s===void 0&&(s=-_a);for(var l=[],u=this._first;u;)u._start>=s&&(u instanceof rn?a&&l.push(u):(o&&l.push(u),r&&l.push.apply(l,u.getChildren(!0,a,o)))),u=u._next;return l},t.getById=function(r){for(var a=this.getChildren(1,1,1),o=a.length;o--;)if(a[o].vars.id===r)return a[o]},t.remove=function(r){return Ln(r)?this.removeLabel(r):k0(r)?this.killTweensOf(r):(r.parent===this&&fy(this,r),r===this._recent&&(this._recent=this._last),v8(this))},t.totalTime=function(r,a){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=T0(Cr.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),n.prototype.totalTime.call(this,r,a),this._forcing=0,this):this._tTime},t.addLabel=function(r,a){return this.labels[r]=ea(this,a),this},t.removeLabel=function(r){return delete this.labels[r],this},t.addPause=function(r,a,o){var s=rn.delayedCall(0,a||pd,o);return s.data="isPause",this._hasPause=1,Lo(this,s,ea(this,r))},t.removePause=function(r){var a=this._first;for(r=ea(this,r);a;)a._start===r&&a.data==="isPause"&&w5(a),a=a._next},t.killTweensOf=function(r,a,o){for(var s=this.getTweensOf(r,o),l=s.length;l--;)Z6!==s[l]&&s[l].kill(r,a);return this},t.getTweensOf=function(r,a){for(var o=[],s=Sa(r),l=this._first,u=Vs(a),c;l;)l instanceof rn?Tae(l._targets,s)&&(u?(!Z6||l._initted&&l._ts)&&l.globalTime(0)<=a&&l.globalTime(l.totalDuration())>a:!a||l.isActive())&&o.push(l):(c=l.getTweensOf(s,a)).length&&o.push.apply(o,c),l=l._next;return o},t.tweenTo=function(r,a){a=a||{};var o=this,s=ea(o,r),l=a,u=l.startAt,c=l.onStart,d=l.onStartParams,h=l.immediateRender,f,p=rn.to(o,Fr({ease:a.ease||"none",lazy:!1,immediateRender:!1,time:s,overwrite:"auto",duration:a.duration||Math.abs((s-(u&&"time"in u?u.time:o._time))/o.timeScale())||a0,onStart:function(){if(o.pause(),!f){var v=a.duration||Math.abs((s-(u&&"time"in u?u.time:o._time))/o.timeScale());p._dur!==v&&s7(p,v,0,1).render(p._time,!0,!0),f=1}c&&c.apply(p,d||[])}},a));return h?p.render(0):p},t.tweenFromTo=function(r,a,o){return this.tweenTo(a,Fr({startAt:{time:ea(this,r)}},o))},t.recent=function(){return this._recent},t.nextLabel=function(r){return r===void 0&&(r=this._time),zD(this,ea(this,r))},t.previousLabel=function(r){return r===void 0&&(r=this._time),zD(this,ea(this,r),1)},t.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+a0)},t.shiftChildren=function(r,a,o){o===void 0&&(o=0);var s=this._first,l=this.labels,u;for(r=T0(r);s;)s._start>=o&&(s._start+=r,s._end+=r),s=s._next;if(a)for(u in l)l[u]>=o&&(l[u]+=r);return v8(this)},t.invalidate=function(r){var a=this._first;for(this._lock=0;a;)a.invalidate(r),a=a._next;return n.prototype.invalidate.call(this,r)},t.clear=function(r){r===void 0&&(r=!0);for(var a=this._first,o;a;)o=a._next,this.remove(a),a=o;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),v8(this)},t.totalDuration=function(r){var a=0,o=this,s=o._last,l=_a,u,c,d;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-r:r));if(o._dirty){for(d=o.parent;s;)u=s._prev,s._dirty&&s.totalDuration(),c=s._start,c>l&&o._sort&&s._ts&&!o._lock?(o._lock=1,Lo(o,s,c-s._delay,1)._lock=0):l=c,c<0&&s._ts&&(a-=c,(!d&&!o._dp||d&&d.smoothChildTiming)&&(o._start+=T0(c/o._ts),o._time-=c,o._tTime-=c),o.shiftChildren(-c,!1,-1/0),l=0),s._end>a&&s._ts&&(a=s._end),s=u;s7(o,o===C0&&o._time>a?o._time:a,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(r){if(C0._ts&&(Sj(C0,Dm(r,C0)),yj=Cr.frame),Cr.frame>=kD){kD+=Lr.autoSleep||120;var a=C0._first;if((!a||!a._ts)&&Lr.autoSleep&&Cr._listeners.length<2){for(;a&&!a._ts;)a=a._next;a||Cr.sleep()}}},e}(gd);Fr(Mi.prototype,{_lock:0,_hasPause:0,_forcing:0});var qae=function(e,t,i,r,a,o,s){var l=new tr(this._pt,e,t,0,1,Xj,null,a),u=0,c=0,d,h,f,p,m,v,g,_;for(l.b=i,l.e=r,i+="",r+="",(g=~r.indexOf("random("))&&(r=vd(r)),o&&(_=[i,r],o(_,e,t),i=_[0],r=_[1]),h=i.match(WS)||[];d=WS.exec(r);)p=d[0],m=r.substring(u,d.index),f?f=(f+1)%5:m.substr(-5)==="rgba("&&(f=1),p!==h[c++]&&(v=parseFloat(h[c-1])||0,l._pt={_next:l._pt,p:m||c===1?m:",",s:v,c:p.charAt(1)==="="?Vl(v,p)-v:parseFloat(p)-v,m:f&&f<4?Math.round:0},u=WS.lastIndex);return l.c=u<r.length?r.substring(u,r.length):"",l.fp=s,(pj.test(r)||g)&&(l.e=0),this._pt=l,l},FM=function(e,t,i,r,a,o,s,l,u,c){k0(r)&&(r=r(a||0,e,o));var d=e[t],h=i!=="get"?i:k0(d)?u?e[t.indexOf("set")||!k0(e["get"+t.substr(3)])?t:"get"+t.substr(3)](u):e[t]():d,f=k0(d)?u?Jae:$j:BM,p;if(Ln(r)&&(~r.indexOf("random(")&&(r=vd(r)),r.charAt(1)==="="&&(p=Vl(h,r)+(si(h)||0),(p||p===0)&&(r=p))),!c||h!==r||VT)return!isNaN(h*r)&&r!==""?(p=new tr(this._pt,e,t,+h||0,r-(h||0),typeof d=="boolean"?eoe:qj,0,f),u&&(p.fp=u),s&&p.modifier(s,this,e),this._pt=p):(!d&&!(t in e)&&LM(t,r),qae.call(this,e,t,h,r,f,l||Lr.stringFilter,u))},Xae=function(e,t,i,r,a){if(k0(e)&&(e=Oc(e,a,t,i,r)),!Xo(e)||e.style&&e.nodeType||ui(e)||hj(e))return Ln(e)?Oc(e,a,t,i,r):e;var o={},s;for(s in e)o[s]=Oc(e[s],a,t,i,r);return o},Hj=function(e,t,i,r,a,o){var s,l,u,c;if(wr[e]&&(s=new wr[e]).init(a,s.rawVars?t[e]:Xae(t[e],r,a,o,i),i,r,o)!==!1&&(i._pt=l=new tr(i._pt,a,e,0,1,s.render,s,0,s.priority),i!==Ml))for(u=i._ptLookup[i._targets.indexOf(a)],c=s._props.length;c--;)u[s._props[c]]=l;return s},Z6,VT,OM=function n(e,t,i){var r=e.vars,a=r.ease,o=r.startAt,s=r.immediateRender,l=r.lazy,u=r.onUpdate,c=r.runBackwards,d=r.yoyoEase,h=r.keyframes,f=r.autoRevert,p=e._dur,m=e._startAt,v=e._targets,g=e.parent,_=g&&g.data==="nested"?g.vars.targets:v,S=e._overwrite==="auto"&&!MM,x=e.timeline,A,C,M,I,D,E,P,F,V,G,W,Y,Q;if(x&&(!h||!a)&&(a="none"),e._ease=m8(a,r7.ease),e._yEase=d?zj(m8(d===!0?a:d,r7.ease)):0,d&&e._yoyo&&!e._repeat&&(d=e._yEase,e._yEase=e._ease,e._ease=d),e._from=!x&&!!r.runBackwards,!x||h&&!r.stagger){if(F=v[0]?p8(v[0]).harness:0,Y=F&&r[F.prop],A=Im(r,IM),m&&(m._zTime<0&&m.progress(1),t<0&&c&&s&&!f?m.render(-1,!0):m.revert(c&&p?Wv:xae),m._lazy=0),o){if(w5(e._startAt=rn.set(v,Fr({data:"isStart",overwrite:!1,parent:g,immediateRender:!0,lazy:!m&&Qi(l),startAt:null,delay:0,onUpdate:u&&function(){return Er(e,"onUpdate")},stagger:0},o))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Un||!s&&!f)&&e._startAt.revert(Wv),s&&p&&t<=0&&i<=0){t&&(e._zTime=t);return}}else if(c&&p&&!m){if(t&&(s=!1),M=Fr({overwrite:!1,data:"isFromStart",lazy:s&&!m&&Qi(l),immediateRender:s,stagger:0,parent:g},A),Y&&(M[F.prop]=Y),w5(e._startAt=rn.set(v,M)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Un?e._startAt.revert(Wv):e._startAt.render(-1,!0)),e._zTime=t,!s)n(e._startAt,a0,a0);else if(!t)return}for(e._pt=e._ptCache=0,l=p&&Qi(l)||l&&!p,C=0;C<v.length;C++){if(D=v[C],P=D._gsap||NM(v)[C]._gsap,e._ptLookup[C]=G={},FT[P.id]&&f5.length&&Lm(),W=_===v?C:_.indexOf(D),F&&(V=new F).init(D,Y||A,e,W,_)!==!1&&(e._pt=I=new tr(e._pt,D,V.name,0,1,V.render,V,0,V.priority),V._props.forEach(function(K){G[K]=I}),V.priority&&(E=1)),!F||Y)for(M in A)wr[M]&&(V=Hj(M,A,e,W,D,_))?V.priority&&(E=1):G[M]=I=FM.call(e,D,M,"get",A[M],W,_,0,r.stringFilter);e._op&&e._op[C]&&e.kill(D,e._op[C]),S&&e._pt&&(Z6=e,C0.killTweensOf(D,G,e.globalTime(t)),Q=!e.parent,Z6=0),e._pt&&l&&(FT[P.id]=1)}E&&Yj(e),e._onInit&&e._onInit(e)}e._onUpdate=u,e._initted=(!e._op||e._pt)&&!Q,h&&t<=0&&x.render(_a,!0,!0)},Yae=function(e,t,i,r,a,o,s,l){var u=(e._pt&&e._ptCache||(e._ptCache={}))[t],c,d,h,f;if(!u)for(u=e._ptCache[t]=[],h=e._ptLookup,f=e._targets.length;f--;){if(c=h[f][t],c&&c.d&&c.d._pt)for(c=c.d._pt;c&&c.p!==t&&c.fp!==t;)c=c._next;if(!c)return VT=1,e.vars[t]="+=0",OM(e,s),VT=0,l?fd(t+" not eligible for reset"):1;u.push(c)}for(f=u.length;f--;)d=u[f],c=d._pt||d,c.s=(r||r===0)&&!a?r:c.s+(r||0)+o*c.c,c.c=i-c.s,d.e&&(d.e=V0(i)+si(d.e)),d.b&&(d.b=c.s+si(d.b))},Kae=function(e,t){var i=e[0]?p8(e[0]).harness:0,r=i&&i.aliases,a,o,s,l;if(!r)return t;a=a7({},t);for(o in r)if(o in a)for(l=r[o].split(","),s=l.length;s--;)a[l[s]]=a[o];return a},Zae=function(e,t,i,r){var a=t.ease||r||"power1.inOut",o,s;if(ui(t))s=i[e]||(i[e]=[]),t.forEach(function(l,u){return s.push({t:u/(t.length-1)*100,v:l,e:a})});else for(o in t)s=i[o]||(i[o]=[]),o==="ease"||s.push({t:parseFloat(e),v:t[o],e:a})},Oc=function(e,t,i,r,a){return k0(e)?e.call(t,i,r,a):Ln(e)&&~e.indexOf("random(")?vd(e):e},Wj=DM+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",jj={};er(Wj+",id,stagger,delay,duration,paused,scrollTrigger",function(n){return jj[n]=1});var rn=function(n){cj(e,n);function e(i,r,a,o){var s;typeof r=="number"&&(a.duration=r,r=a,a=null),s=n.call(this,o?r:kc(r))||this;var l=s.vars,u=l.duration,c=l.delay,d=l.immediateRender,h=l.stagger,f=l.overwrite,p=l.keyframes,m=l.defaults,v=l.scrollTrigger,g=l.yoyoEase,_=r.parent||C0,S=(ui(i)||hj(i)?Vs(i[0]):"length"in r)?[i]:Sa(i),x,A,C,M,I,D,E,P;if(s._targets=S.length?NM(S):fd("GSAP target "+i+" not found. https://gsap.com",!Lr.nullTargetWarn)||[],s._ptLookup=[],s._overwrite=f,p||h||Nf(u)||Nf(c)){if(r=s.vars,x=s.timeline=new Mi({data:"nested",defaults:m||{},targets:_&&_.data==="nested"?_.vars.targets:S}),x.kill(),x.parent=x._dp=Ms(s),x._start=0,h||Nf(u)||Nf(c)){if(M=S.length,E=h&&Pj(h),Xo(h))for(I in h)~Wj.indexOf(I)&&(P||(P={}),P[I]=h[I]);for(A=0;A<M;A++)C=Im(r,jj),C.stagger=0,g&&(C.yoyoEase=g),P&&a7(C,P),D=S[A],C.duration=+Oc(u,Ms(s),A,D,S),C.delay=(+Oc(c,Ms(s),A,D,S)||0)-s._delay,!h&&M===1&&C.delay&&(s._delay=c=C.delay,s._start+=c,C.delay=0),x.to(D,C,E?E(A,D,S):0),x._ease=p1.none;x.duration()?u=c=0:s.timeline=0}else if(p){kc(Fr(x.vars.defaults,{ease:"none"})),x._ease=m8(p.ease||r.ease||"none");var F=0,V,G,W;if(ui(p))p.forEach(function(Y){return x.to(S,Y,">")}),x.duration();else{C={};for(I in p)I==="ease"||I==="easeEach"||Zae(I,p[I],C,p.easeEach);for(I in C)for(V=C[I].sort(function(Y,Q){return Y.t-Q.t}),F=0,A=0;A<V.length;A++)G=V[A],W={ease:G.e,duration:(G.t-(A?V[A-1].t:0))/100*u},W[I]=G.v,x.to(S,W,F),F+=W.duration;x.duration()<u&&x.to({},{duration:u-x.duration()})}}u||s.duration(u=x.duration())}else s.timeline=0;return f===!0&&!MM&&(Z6=Ms(s),C0.killTweensOf(S),Z6=0),Lo(_,Ms(s),a),r.reversed&&s.reverse(),r.paused&&s.paused(!0),(d||!u&&!p&&s._start===T0(_._time)&&Qi(d)&&Eae(Ms(s))&&_.data!=="nested")&&(s._tTime=-a0,s.render(Math.max(0,-c)||0)),v&&Aj(Ms(s),v),s}var t=e.prototype;return t.render=function(r,a,o){var s=this._time,l=this._tDur,u=this._dur,c=r<0,d=r>l-a0&&!c?l:r<a0?0:r,h,f,p,m,v,g,_,S,x;if(!u)Rae(this,r,a,o);else if(d!==this._tTime||!r||o||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==c||this._lazy){if(h=d,S=this.timeline,this._repeat){if(m=u+this._rDelay,this._repeat<-1&&c)return this.totalTime(m*100+r,a,o);if(h=T0(d%m),d===l?(p=this._repeat,h=u):(v=T0(d/m),p=~~v,p&&p===v?(h=u,p--):h>u&&(h=u)),g=this._yoyo&&p&1,g&&(x=this._yEase,h=u-h),v=o7(this._tTime,m),h===s&&!o&&this._initted&&p===v)return this._tTime=d,this;p!==v&&(S&&this._yEase&&Gj(S,g),this.vars.repeatRefresh&&!g&&!this._lock&&h!==m&&this._initted&&(this._lock=o=1,this.render(T0(m*p),!0).invalidate()._lock=0))}if(!this._initted){if(Cj(this,c?r:h,o,a,d))return this._tTime=0,this;if(s!==this._time&&!(o&&this.vars.repeatRefresh&&p!==v))return this;if(u!==this._dur)return this.render(r,a,o)}if(this._tTime=d,this._time=h,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=_=(x||this._ease)(h/u),this._from&&(this.ratio=_=1-_),!s&&d&&!a&&!v&&(Er(this,"onStart"),this._tTime!==d))return this;for(f=this._pt;f;)f.r(_,f.d),f=f._next;S&&S.render(r<0?r:S._dur*S._ease(h/this._dur),a,o)||this._startAt&&(this._zTime=r),this._onUpdate&&!a&&(c&&OT(this,r,a,o),Er(this,"onUpdate")),this._repeat&&p!==v&&this.vars.onRepeat&&!a&&this.parent&&Er(this,"onRepeat"),(d===this._tDur||!d)&&this._tTime===d&&(c&&!this._onUpdate&&OT(this,r,!0,!0),(r||!u)&&(d===this._tDur&&this._ts>0||!d&&this._ts<0)&&w5(this,1),!a&&!(c&&!s)&&(d||s||g)&&(Er(this,d===l?"onComplete":"onReverseComplete",!0),this._prom&&!(d<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),n.prototype.invalidate.call(this,r)},t.resetTo=function(r,a,o,s,l){md||Cr.wake(),this._ts||this.play();var u=Math.min(this._dur,(this._dp._time-this._start)*this._ts),c;return this._initted||OM(this,u),c=this._ease(u/this._dur),Yae(this,r,a,o,s,c,u,l)?this.resetTo(r,a,o,s,1):(vy(this,0),this.parent||wj(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(r,a){if(a===void 0&&(a="all"),!r&&(!a||a==="all"))return this._lazy=this._pt=0,this.parent?vc(this):this.scrollTrigger&&this.scrollTrigger.kill(!!Un),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(r,a,Z6&&Z6.vars.overwrite!==!0)._first||vc(this),this.parent&&o!==this.timeline.totalDuration()&&s7(this,this._dur*this.timeline._tDur/o,0,1),this}var s=this._targets,l=r?Sa(r):s,u=this._ptLookup,c=this._pt,d,h,f,p,m,v,g;if((!a||a==="all")&&Cae(s,l))return a==="all"&&(this._pt=0),vc(this);for(d=this._op=this._op||[],a!=="all"&&(Ln(a)&&(m={},er(a,function(_){return m[_]=1}),a=m),a=Kae(s,a)),g=s.length;g--;)if(~l.indexOf(s[g])){h=u[g],a==="all"?(d[g]=a,p=h,f={}):(f=d[g]=d[g]||{},p=a);for(m in p)v=h&&h[m],v&&((!("kill"in v.d)||v.d.kill(m)===!0)&&fy(this,v,"_pt"),delete h[m]),f!=="all"&&(f[m]=1)}return this._initted&&!this._pt&&c&&vc(this),this},e.to=function(r,a){return new e(r,a,arguments[2])},e.from=function(r,a){return Fc(1,arguments)},e.delayedCall=function(r,a,o,s){return new e(a,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:a,onReverseComplete:a,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:s})},e.fromTo=function(r,a,o){return Fc(2,arguments)},e.set=function(r,a){return a.duration=0,a.repeatDelay||(a.repeat=0),new e(r,a)},e.killTweensOf=function(r,a,o){return C0.killTweensOf(r,a,o)},e}(gd);Fr(rn.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});er("staggerTo,staggerFrom,staggerFromTo",function(n){rn[n]=function(){var e=new Mi,t=zT.call(arguments,0);return t.splice(n==="staggerFromTo"?5:4,0,0),e[n].apply(e,t)}});var BM=function(e,t,i){return e[t]=i},$j=function(e,t,i){return e[t](i)},Jae=function(e,t,i,r){return e[t](r.fp,i)},Qae=function(e,t,i){return e.setAttribute(t,i)},zM=function(e,t){return k0(e[t])?$j:EM(e[t])&&e.setAttribute?Qae:BM},qj=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},eoe=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},Xj=function(e,t){var i=t._pt,r="";if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*e):Math.round((i.s+i.c*e)*1e4)/1e4)+r,i=i._next;r+=t.c}t.set(t.t,t.p,r,t)},GM=function(e,t){for(var i=t._pt;i;)i.r(e,i.d),i=i._next},toe=function(e,t,i,r){for(var a=this._pt,o;a;)o=a._next,a.p===r&&a.modifier(e,t,i),a=o},noe=function(e){for(var t=this._pt,i,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?fy(this,t,"_pt"):t.dep||(i=1),t=r;return!i},ioe=function(e,t,i,r){r.mSet(e,t,r.m.call(r.tween,i,r.mt),r)},Yj=function(e){for(var t=e._pt,i,r,a,o;t;){for(i=t._next,r=a;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:o)?t._prev._next=t:a=t,(t._next=r)?r._prev=t:o=t,t=i}e._pt=a},tr=function(){function n(t,i,r,a,o,s,l,u,c){this.t=i,this.s=a,this.c=o,this.p=r,this.r=s||qj,this.d=l||this,this.set=u||BM,this.pr=c||0,this._next=t,t&&(t._prev=this)}var e=n.prototype;return e.modifier=function(i,r,a){this.mSet=this.mSet||this.set,this.set=ioe,this.m=i,this.mt=a,this.tween=r},n}();er(DM+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(n){return IM[n]=1});kr.TweenMax=kr.TweenLite=rn;kr.TimelineLite=kr.TimelineMax=Mi;C0=new Mi({sortChildren:!1,defaults:r7,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});Lr.stringFilter=Bj;var g8=[],$v={},roe=[],UD=0,aoe=0,YS=function(e){return($v[e]||roe).map(function(t){return t()})},HT=function(){var e=Date.now(),t=[];e-UD>2&&(YS("matchMediaInit"),g8.forEach(function(i){var r=i.queries,a=i.conditions,o,s,l,u;for(s in r)o=Co.matchMedia(r[s]).matches,o&&(l=1),o!==a[s]&&(a[s]=o,u=1);u&&(i.revert(),l&&t.push(i))}),YS("matchMediaRevert"),t.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),UD=e,YS("matchMedia"))},Kj=function(){function n(t,i){this.selector=i&>(i),this.data=[],this._r=[],this.isReverted=!1,this.id=aoe++,t&&this.add(t)}var e=n.prototype;return e.add=function(i,r,a){k0(i)&&(a=r,r=i,i=k0);var o=this,s=function(){var u=S0,c=o.selector,d;return u&&u!==o&&u.data.push(o),a&&(o.selector=GT(a)),S0=o,d=r.apply(o,arguments),k0(d)&&o._r.push(d),S0=u,o.selector=c,o.isReverted=!1,d};return o.last=s,i===k0?s(o,function(l){return o.add(null,l)}):i?o[i]=s:s},e.ignore=function(i){var r=S0;S0=null,i(this),S0=r},e.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof n?i.push.apply(i,r.getTweens()):r instanceof rn&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(i,r){var a=this;if(i?function(){for(var s=a.getTweens(),l=a.data.length,u;l--;)u=a.data[l],u.data==="isFlip"&&(u.revert(),u.getChildren(!0,!0,!1).forEach(function(c){return s.splice(s.indexOf(c),1)}));for(s.map(function(c){return{g:c._dur||c._delay||c._sat&&!c._sat.vars.immediateRender?c.globalTime(0):-1/0,t:c}}).sort(function(c,d){return d.g-c.g||-1/0}).forEach(function(c){return c.t.revert(i)}),l=a.data.length;l--;)u=a.data[l],u instanceof Mi?u.data!=="nested"&&(u.scrollTrigger&&u.scrollTrigger.revert(),u.kill()):!(u instanceof rn)&&u.revert&&u.revert(i);a._r.forEach(function(c){return c(i,a)}),a.isReverted=!0}():this.data.forEach(function(s){return s.kill&&s.kill()}),this.clear(),r)for(var o=g8.length;o--;)g8[o].id===this.id&&g8.splice(o,1)},e.revert=function(i){this.kill(i||{})},n}(),ooe=function(){function n(t){this.contexts=[],this.scope=t,S0&&S0.data.push(this)}var e=n.prototype;return e.add=function(i,r,a){Xo(i)||(i={matches:i});var o=new Kj(0,a||this.scope),s=o.conditions={},l,u,c;S0&&!o.selector&&(o.selector=S0.selector),this.contexts.push(o),r=o.add("onMatch",r),o.queries=i;for(u in i)u==="all"?c=1:(l=Co.matchMedia(i[u]),l&&(g8.indexOf(o)<0&&g8.push(o),(s[u]=l.matches)&&(c=1),l.addListener?l.addListener(HT):l.addEventListener("change",HT)));return c&&r(o,function(d){return o.add(null,d)}),this},e.revert=function(i){this.kill(i||{})},e.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},n}(),Nm={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t.forEach(function(r){return kj(r)})},timeline:function(e){return new Mi(e)},getTweensOf:function(e,t){return C0.getTweensOf(e,t)},getProperty:function(e,t,i,r){Ln(e)&&(e=Sa(e)[0]);var a=p8(e||{}).get,o=i?xj:bj;return i==="native"&&(i=""),e&&(t?o((wr[t]&&wr[t].get||a)(e,t,i,r)):function(s,l,u){return o((wr[s]&&wr[s].get||a)(e,s,l,u))})},quickSetter:function(e,t,i){if(e=Sa(e),e.length>1){var r=e.map(function(c){return ar.quickSetter(c,t,i)}),a=r.length;return function(c){for(var d=a;d--;)r[d](c)}}e=e[0]||{};var o=wr[t],s=p8(e),l=s.harness&&(s.harness.aliases||{})[t]||t,u=o?function(c){var d=new o;Ml._pt=0,d.init(e,i?c+i:c,Ml,0,[e]),d.render(1,d),Ml._pt&&GM(1,Ml)}:s.set(e,l);return o?u:function(c){return u(e,l,i?c+i:c,s,1)}},quickTo:function(e,t,i){var r,a=ar.to(e,Fr((r={},r[t]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),o=function(l,u,c){return a.resetTo(t,l,u,c)};return o.tween=a,o},isTweening:function(e){return C0.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=m8(e.ease,r7.ease)),FD(r7,e||{})},config:function(e){return FD(Lr,e||{})},registerEffect:function(e){var t=e.name,i=e.effect,r=e.plugins,a=e.defaults,o=e.extendTimeline;(r||"").split(",").forEach(function(s){return s&&!wr[s]&&!kr[s]&&fd(t+" effect requires "+s+" plugin.")}),jS[t]=function(s,l,u){return i(Sa(s),Fr(l||{},a),u)},o&&(Mi.prototype[t]=function(s,l,u){return this.add(jS[t](s,Xo(l)?l:(u=l)&&{},this),u)})},registerEase:function(e,t){p1[e]=m8(t)},parseEase:function(e,t){return arguments.length?m8(e,t):p1},getById:function(e){return C0.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var i=new Mi(e),r,a;for(i.smoothChildTiming=Qi(e.smoothChildTiming),C0.remove(i),i._dp=0,i._time=i._tTime=C0._time,r=C0._first;r;)a=r._next,(t||!(!r._dur&&r instanceof rn&&r.vars.onComplete===r._targets[0]))&&Lo(i,r,r._start-r._delay),r=a;return Lo(C0,i,0),i},context:function(e,t){return e?new Kj(e,t):S0},matchMedia:function(e){return new ooe(e)},matchMediaRefresh:function(){return g8.forEach(function(e){var t=e.conditions,i,r;for(r in t)t[r]&&(t[r]=!1,i=1);i&&e.revert()})||HT()},addEventListener:function(e,t){var i=$v[e]||($v[e]=[]);~i.indexOf(t)||i.push(t)},removeEventListener:function(e,t){var i=$v[e],r=i&&i.indexOf(t);r>=0&&i.splice(r,1)},utils:{wrap:Bae,wrapYoyo:zae,distribute:Pj,random:Lj,snap:Rj,normalize:Oae,getUnit:si,clamp:Dae,splitColor:Fj,toArray:Sa,selector:GT,mapRange:Dj,pipe:kae,unitize:Fae,interpolate:Gae,shuffle:Ej},install:mj,effects:jS,ticker:Cr,updateRoot:Mi.updateRoot,plugins:wr,globalTimeline:C0,core:{PropTween:tr,globals:gj,Tween:rn,Timeline:Mi,Animation:gd,getCache:p8,_removeLinkedListItem:fy,reverting:function(){return Un},context:function(e){return e&&S0&&(S0.data.push(e),e._ctx=S0),S0},suppressOverwrites:function(e){return MM=e}}};er("to,from,fromTo,delayedCall,set,killTweensOf",function(n){return Nm[n]=rn[n]});Cr.add(Mi.updateRoot);Ml=Nm.to({},{duration:0});var soe=function(e,t){for(var i=e._pt;i&&i.p!==t&&i.op!==t&&i.fp!==t;)i=i._next;return i},loe=function(e,t){var i=e._targets,r,a,o;for(r in t)for(a=i.length;a--;)o=e._ptLookup[a][r],o&&(o=o.d)&&(o._pt&&(o=soe(o,r)),o&&o.modifier&&o.modifier(t[r],e,i[a],r))},KS=function(e,t){return{name:e,headless:1,rawVars:1,init:function(r,a,o){o._onInit=function(s){var l,u;if(Ln(a)&&(l={},er(a,function(c){return l[c]=1}),a=l),t){l={};for(u in a)l[u]=t(a[u]);a=l}loe(s,a)}}}},ar=Nm.registerPlugin({name:"attr",init:function(e,t,i,r,a){var o,s,l;this.tween=i;for(o in t)l=e.getAttribute(o)||"",s=this.add(e,"setAttribute",(l||0)+"",t[o],r,a,0,0,o),s.op=o,s.b=l,this._props.push(o)},render:function(e,t){for(var i=t._pt;i;)Un?i.set(i.t,i.p,i.b,i):i.r(e,i.d),i=i._next}},{name:"endArray",headless:1,init:function(e,t){for(var i=t.length;i--;)this.add(e,i,e[i]||0,t[i],0,0,0,0,0,1)}},KS("roundProps",UT),KS("modifiers"),KS("snap",Rj))||Nm;rn.version=Mi.version=ar.version="3.14.2";vj=1;PM()&&l7();p1.Power0;p1.Power1;p1.Power2;p1.Power3;p1.Power4;p1.Linear;p1.Quad;p1.Cubic;p1.Quart;p1.Quint;p1.Strong;p1.Elastic;p1.Back;p1.SteppedEase;p1.Bounce;p1.Sine;p1.Expo;p1.Circ;/*! |
|
|
* CSSPlugin 3.14.2 |
|
|
* https://gsap.com |
|
|
* |
|
|
* Copyright 2008-2025, GreenSock. All rights reserved. |
|
|
* Subject to the terms at https://gsap.com/standard-license |
|
|
* @author: Jack Doyle, jack@greensock.com |
|
|
*/var VD,J6,Hl,UM,t8,HD,VM,uoe=function(){return typeof window!="undefined"},Hs={},z9=180/Math.PI,Wl=Math.PI/180,w4=Math.atan2,WD=1e8,HM=/([A-Z])/g,coe=/(left|right|width|margin|padding|x)/i,doe=/[\s,\(]\S/,Oo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},WT=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},hoe=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},foe=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},poe=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},voe=function(e,t){var i=t.s+t.c*e;t.set(t.t,t.p,~~(i+(i<0?-.5:.5))+t.u,t)},Zj=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},Jj=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},moe=function(e,t,i){return e.style[t]=i},goe=function(e,t,i){return e.style.setProperty(t,i)},yoe=function(e,t,i){return e._gsap[t]=i},_oe=function(e,t,i){return e._gsap.scaleX=e._gsap.scaleY=i},Soe=function(e,t,i,r,a){var o=e._gsap;o.scaleX=o.scaleY=i,o.renderTransform(a,o)},boe=function(e,t,i,r,a){var o=e._gsap;o[t]=i,o.renderTransform(a,o)},M0="transform",nr=M0+"Origin",xoe=function n(e,t){var i=this,r=this.target,a=r.style,o=r._gsap;if(e in Hs&&a){if(this.tfm=this.tfm||{},e!=="transform")e=Oo[e]||e,~e.indexOf(",")?e.split(",").forEach(function(s){return i.tfm[s]=Rs(r,s)}):this.tfm[e]=o.x?o[e]:Rs(r,e),e===nr&&(this.tfm.zOrigin=o.zOrigin);else return Oo.transform.split(",").forEach(function(s){return n.call(i,s,t)});if(this.props.indexOf(M0)>=0)return;o.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(nr,t,"")),e=M0}(a||t)&&this.props.push(e,t,a[e])},Qj=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},woe=function(){var e=this.props,t=this.target,i=t.style,r=t._gsap,a,o;for(a=0;a<e.length;a+=3)e[a+1]?e[a+1]===2?t[e[a]](e[a+2]):t[e[a]]=e[a+2]:e[a+2]?i[e[a]]=e[a+2]:i.removeProperty(e[a].substr(0,2)==="--"?e[a]:e[a].replace(HM,"-$1").toLowerCase());if(this.tfm){for(o in this.tfm)r[o]=this.tfm[o];r.svg&&(r.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),a=VM(),(!a||!a.isStart)&&!i[M0]&&(Qj(i),r.zOrigin&&i[nr]&&(i[nr]+=" "+r.zOrigin+"px",r.zOrigin=0,r.renderTransform()),r.uncache=1)}},e$=function(e,t){var i={target:e,props:[],revert:woe,save:xoe};return e._gsap||ar.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(r){return i.save(r)}),i},t$,jT=function(e,t){var i=J6.createElementNS?J6.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):J6.createElement(e);return i&&i.style?i:J6.createElement(e)},Pr=function n(e,t,i){var r=getComputedStyle(e);return r[t]||r.getPropertyValue(t.replace(HM,"-$1").toLowerCase())||r.getPropertyValue(t)||!i&&n(e,u7(t)||t,1)||""},jD="O,Moz,ms,Ms,Webkit".split(","),u7=function(e,t,i){var r=t||t8,a=r.style,o=5;if(e in a&&!i)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);o--&&!(jD[o]+e in a););return o<0?null:(o===3?"ms":o>=0?jD[o]:"")+e},$T=function(){uoe()&&window.document&&(VD=window,J6=VD.document,Hl=J6.documentElement,t8=jT("div")||{style:{}},jT("div"),M0=u7(M0),nr=M0+"Origin",t8.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",t$=!!u7("perspective"),VM=ar.core.reverting,UM=1)},$D=function(e){var t=e.ownerSVGElement,i=jT("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=e.cloneNode(!0),a;r.style.display="block",i.appendChild(r),Hl.appendChild(i);try{a=r.getBBox()}catch(o){}return i.removeChild(r),Hl.removeChild(i),a},qD=function(e,t){for(var i=t.length;i--;)if(e.hasAttribute(t[i]))return e.getAttribute(t[i])},n$=function(e){var t,i;try{t=e.getBBox()}catch(r){t=$D(e),i=1}return t&&(t.width||t.height)||i||(t=$D(e)),t&&!t.width&&!t.x&&!t.y?{x:+qD(e,["x","cx","x1"])||0,y:+qD(e,["y","cy","y1"])||0,width:0,height:0}:t},i$=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&n$(e))},T5=function(e,t){if(t){var i=e.style,r;t in Hs&&t!==nr&&(t=M0),i.removeProperty?(r=t.substr(0,2),(r==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),i.removeProperty(r==="--"?t:t.replace(HM,"-$1").toLowerCase())):i.removeAttribute(t)}},Q6=function(e,t,i,r,a,o){var s=new tr(e._pt,t,i,0,1,o?Jj:Zj);return e._pt=s,s.b=r,s.e=a,e._props.push(i),s},XD={deg:1,rad:1,turn:1},Toe={grid:1,flex:1},A5=function n(e,t,i,r){var a=parseFloat(i)||0,o=(i+"").trim().substr((a+"").length)||"px",s=t8.style,l=coe.test(t),u=e.tagName.toLowerCase()==="svg",c=(u?"client":"offset")+(l?"Width":"Height"),d=100,h=r==="px",f=r==="%",p,m,v,g;if(r===o||!a||XD[r]||XD[o])return a;if(o!=="px"&&!h&&(a=n(e,t,i,"px")),g=e.getCTM&&i$(e),(f||o==="%")&&(Hs[t]||~t.indexOf("adius")))return p=g?e.getBBox()[l?"width":"height"]:e[c],V0(f?a/p*d:a/100*p);if(s[l?"width":"height"]=d+(h?o:r),m=r!=="rem"&&~t.indexOf("adius")||r==="em"&&e.appendChild&&!u?e:e.parentNode,g&&(m=(e.ownerSVGElement||{}).parentNode),(!m||m===J6||!m.appendChild)&&(m=J6.body),v=m._gsap,v&&f&&v.width&&l&&v.time===Cr.time&&!v.uncache)return V0(a/v.width*d);if(f&&(t==="height"||t==="width")){var _=e.style[t];e.style[t]=d+r,p=e[c],_?e.style[t]=_:T5(e,t)}else(f||o==="%")&&!Toe[Pr(m,"display")]&&(s.position=Pr(e,"position")),m===e&&(s.position="static"),m.appendChild(t8),p=t8[c],m.removeChild(t8),s.position="absolute";return l&&f&&(v=p8(m),v.time=Cr.time,v.width=m[c]),V0(h?p*a/d:p&&a?d/p*a:0)},Rs=function(e,t,i,r){var a;return UM||$T(),t in Oo&&t!=="transform"&&(t=Oo[t],~t.indexOf(",")&&(t=t.split(",")[0])),Hs[t]&&t!=="transform"?(a=_d(e,r),a=t!=="transformOrigin"?a[t]:a.svg?a.origin:Fm(Pr(e,nr))+" "+a.zOrigin+"px"):(a=e.style[t],(!a||a==="auto"||r||~(a+"").indexOf("calc("))&&(a=km[t]&&km[t](e,t,i)||Pr(e,t)||_j(e,t)||(t==="opacity"?1:0))),i&&!~(a+"").trim().indexOf(" ")?A5(e,t,a,i)+i:a},Aoe=function(e,t,i,r){if(!i||i==="none"){var a=u7(t,e,1),o=a&&Pr(e,a,1);o&&o!==i?(t=a,i=o):t==="borderColor"&&(i=Pr(e,"borderTopColor"))}var s=new tr(this._pt,e.style,t,0,1,Xj),l=0,u=0,c,d,h,f,p,m,v,g,_,S,x,A;if(s.b=i,s.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=Pr(e,r.substring(4,r.indexOf(")")))),r==="auto"&&(m=e.style[t],e.style[t]=r,r=Pr(e,t)||r,m?e.style[t]=m:T5(e,t)),c=[i,r],Bj(c),i=c[0],r=c[1],h=i.match(Cl)||[],A=r.match(Cl)||[],A.length){for(;d=Cl.exec(r);)v=d[0],_=r.substring(l,d.index),p?p=(p+1)%5:(_.substr(-5)==="rgba("||_.substr(-5)==="hsla(")&&(p=1),v!==(m=h[u++]||"")&&(f=parseFloat(m)||0,x=m.substr((f+"").length),v.charAt(1)==="="&&(v=Vl(f,v)+x),g=parseFloat(v),S=v.substr((g+"").length),l=Cl.lastIndex-S.length,S||(S=S||Lr.units[t]||x,l===r.length&&(r+=S,s.e+=S)),x!==S&&(f=A5(e,t,m,S)||0),s._pt={_next:s._pt,p:_||u===1?_:",",s:f,c:g-f,m:p&&p<4||t==="zIndex"?Math.round:0});s.c=l<r.length?r.substring(l,r.length):""}else s.r=t==="display"&&r==="none"?Jj:Zj;return pj.test(r)&&(s.e=0),this._pt=s,s},YD={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Coe=function(e){var t=e.split(" "),i=t[0],r=t[1]||"50%";return(i==="top"||i==="bottom"||r==="left"||r==="right")&&(e=i,i=r,r=e),t[0]=YD[i]||i,t[1]=YD[r]||r,t.join(" ")},Moe=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var i=t.t,r=i.style,a=t.u,o=i._gsap,s,l,u;if(a==="all"||a===!0)r.cssText="",l=1;else for(a=a.split(","),u=a.length;--u>-1;)s=a[u],Hs[s]&&(l=1,s=s==="transformOrigin"?nr:M0),T5(i,s);l&&(T5(i,M0),o&&(o.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",_d(i,1),o.uncache=1,Qj(r)))}},km={clearProps:function(e,t,i,r,a){if(a.data!=="isFromStart"){var o=e._pt=new tr(e._pt,t,i,0,0,Moe);return o.u=r,o.pr=-10,o.tween=a,e._props.push(i),1}}},yd=[1,0,0,1,0,0],r$={},a$=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},KD=function(e){var t=Pr(e,M0);return a$(t)?yd:t.substr(7).match(fj).map(V0)},WM=function(e,t){var i=e._gsap||p8(e),r=e.style,a=KD(e),o,s,l,u;return i.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,a=[l.a,l.b,l.c,l.d,l.e,l.f],a.join(",")==="1,0,0,1,0,0"?yd:a):(a===yd&&!e.offsetParent&&e!==Hl&&!i.svg&&(l=r.display,r.display="block",o=e.parentNode,(!o||!e.offsetParent&&!e.getBoundingClientRect().width)&&(u=1,s=e.nextElementSibling,Hl.appendChild(e)),a=KD(e),l?r.display=l:T5(e,"display"),u&&(s?o.insertBefore(e,s):o?o.appendChild(e):Hl.removeChild(e))),t&&a.length>6?[a[0],a[1],a[4],a[5],a[12],a[13]]:a)},qT=function(e,t,i,r,a,o){var s=e._gsap,l=a||WM(e,!0),u=s.xOrigin||0,c=s.yOrigin||0,d=s.xOffset||0,h=s.yOffset||0,f=l[0],p=l[1],m=l[2],v=l[3],g=l[4],_=l[5],S=t.split(" "),x=parseFloat(S[0])||0,A=parseFloat(S[1])||0,C,M,I,D;i?l!==yd&&(M=f*v-p*m)&&(I=x*(v/M)+A*(-m/M)+(m*_-v*g)/M,D=x*(-p/M)+A*(f/M)-(f*_-p*g)/M,x=I,A=D):(C=n$(e),x=C.x+(~S[0].indexOf("%")?x/100*C.width:x),A=C.y+(~(S[1]||S[0]).indexOf("%")?A/100*C.height:A)),r||r!==!1&&s.smooth?(g=x-u,_=A-c,s.xOffset=d+(g*f+_*m)-g,s.yOffset=h+(g*p+_*v)-_):s.xOffset=s.yOffset=0,s.xOrigin=x,s.yOrigin=A,s.smooth=!!r,s.origin=t,s.originIsAbsolute=!!i,e.style[nr]="0px 0px",o&&(Q6(o,s,"xOrigin",u,x),Q6(o,s,"yOrigin",c,A),Q6(o,s,"xOffset",d,s.xOffset),Q6(o,s,"yOffset",h,s.yOffset)),e.setAttribute("data-svg-origin",x+" "+A)},_d=function(e,t){var i=e._gsap||new Vj(e);if("x"in i&&!t&&!i.uncache)return i;var r=e.style,a=i.scaleX<0,o="px",s="deg",l=getComputedStyle(e),u=Pr(e,nr)||"0",c,d,h,f,p,m,v,g,_,S,x,A,C,M,I,D,E,P,F,V,G,W,Y,Q,K,ae,ie,he,Ee,je,xe,Oe;return c=d=h=m=v=g=_=S=x=0,f=p=1,i.svg=!!(e.getCTM&&i$(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(r[M0]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[M0]!=="none"?l[M0]:"")),r.scale=r.rotate=r.translate="none"),M=WM(e,i.svg),i.svg&&(i.uncache?(K=e.getBBox(),u=i.xOrigin-K.x+"px "+(i.yOrigin-K.y)+"px",Q=""):Q=!t&&e.getAttribute("data-svg-origin"),qT(e,Q||u,!!Q||i.originIsAbsolute,i.smooth!==!1,M)),A=i.xOrigin||0,C=i.yOrigin||0,M!==yd&&(P=M[0],F=M[1],V=M[2],G=M[3],c=W=M[4],d=Y=M[5],M.length===6?(f=Math.sqrt(P*P+F*F),p=Math.sqrt(G*G+V*V),m=P||F?w4(F,P)*z9:0,_=V||G?w4(V,G)*z9+m:0,_&&(p*=Math.abs(Math.cos(_*Wl))),i.svg&&(c-=A-(A*P+C*V),d-=C-(A*F+C*G))):(Oe=M[6],je=M[7],ie=M[8],he=M[9],Ee=M[10],xe=M[11],c=M[12],d=M[13],h=M[14],I=w4(Oe,Ee),v=I*z9,I&&(D=Math.cos(-I),E=Math.sin(-I),Q=W*D+ie*E,K=Y*D+he*E,ae=Oe*D+Ee*E,ie=W*-E+ie*D,he=Y*-E+he*D,Ee=Oe*-E+Ee*D,xe=je*-E+xe*D,W=Q,Y=K,Oe=ae),I=w4(-V,Ee),g=I*z9,I&&(D=Math.cos(-I),E=Math.sin(-I),Q=P*D-ie*E,K=F*D-he*E,ae=V*D-Ee*E,xe=G*E+xe*D,P=Q,F=K,V=ae),I=w4(F,P),m=I*z9,I&&(D=Math.cos(I),E=Math.sin(I),Q=P*D+F*E,K=W*D+Y*E,F=F*D-P*E,Y=Y*D-W*E,P=Q,W=K),v&&Math.abs(v)+Math.abs(m)>359.9&&(v=m=0,g=180-g),f=V0(Math.sqrt(P*P+F*F+V*V)),p=V0(Math.sqrt(Y*Y+Oe*Oe)),I=w4(W,Y),_=Math.abs(I)>2e-4?I*z9:0,x=xe?1/(xe<0?-xe:xe):0),i.svg&&(Q=e.getAttribute("transform"),i.forceCSS=e.setAttribute("transform","")||!a$(Pr(e,M0)),Q&&e.setAttribute("transform",Q))),Math.abs(_)>90&&Math.abs(_)<270&&(a?(f*=-1,_+=m<=0?180:-180,m+=m<=0?180:-180):(p*=-1,_+=_<=0?180:-180)),t=t||i.uncache,i.x=c-((i.xPercent=c&&(!t&&i.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-c)?-50:0)))?e.offsetWidth*i.xPercent/100:0)+o,i.y=d-((i.yPercent=d&&(!t&&i.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-d)?-50:0)))?e.offsetHeight*i.yPercent/100:0)+o,i.z=h+o,i.scaleX=V0(f),i.scaleY=V0(p),i.rotation=V0(m)+s,i.rotationX=V0(v)+s,i.rotationY=V0(g)+s,i.skewX=_+s,i.skewY=S+s,i.transformPerspective=x+o,(i.zOrigin=parseFloat(u.split(" ")[2])||!t&&i.zOrigin||0)&&(r[nr]=Fm(u)),i.xOffset=i.yOffset=0,i.force3D=Lr.force3D,i.renderTransform=i.svg?Poe:t$?o$:Eoe,i.uncache=0,i},Fm=function(e){return(e=e.split(" "))[0]+" "+e[1]},ZS=function(e,t,i){var r=si(t);return V0(parseFloat(t)+parseFloat(A5(e,"x",i+"px",r)))+r},Eoe=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,o$(e,t)},o9="0deg",wu="0px",s9=") ",o$=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,o=i.x,s=i.y,l=i.z,u=i.rotation,c=i.rotationY,d=i.rotationX,h=i.skewX,f=i.skewY,p=i.scaleX,m=i.scaleY,v=i.transformPerspective,g=i.force3D,_=i.target,S=i.zOrigin,x="",A=g==="auto"&&e&&e!==1||g===!0;if(S&&(d!==o9||c!==o9)){var C=parseFloat(c)*Wl,M=Math.sin(C),I=Math.cos(C),D;C=parseFloat(d)*Wl,D=Math.cos(C),o=ZS(_,o,M*D*-S),s=ZS(_,s,-Math.sin(C)*-S),l=ZS(_,l,I*D*-S+S)}v!==wu&&(x+="perspective("+v+s9),(r||a)&&(x+="translate("+r+"%, "+a+"%) "),(A||o!==wu||s!==wu||l!==wu)&&(x+=l!==wu||A?"translate3d("+o+", "+s+", "+l+") ":"translate("+o+", "+s+s9),u!==o9&&(x+="rotate("+u+s9),c!==o9&&(x+="rotateY("+c+s9),d!==o9&&(x+="rotateX("+d+s9),(h!==o9||f!==o9)&&(x+="skew("+h+", "+f+s9),(p!==1||m!==1)&&(x+="scale("+p+", "+m+s9),_.style[M0]=x||"translate(0, 0)"},Poe=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,o=i.x,s=i.y,l=i.rotation,u=i.skewX,c=i.skewY,d=i.scaleX,h=i.scaleY,f=i.target,p=i.xOrigin,m=i.yOrigin,v=i.xOffset,g=i.yOffset,_=i.forceCSS,S=parseFloat(o),x=parseFloat(s),A,C,M,I,D;l=parseFloat(l),u=parseFloat(u),c=parseFloat(c),c&&(c=parseFloat(c),u+=c,l+=c),l||u?(l*=Wl,u*=Wl,A=Math.cos(l)*d,C=Math.sin(l)*d,M=Math.sin(l-u)*-h,I=Math.cos(l-u)*h,u&&(c*=Wl,D=Math.tan(u-c),D=Math.sqrt(1+D*D),M*=D,I*=D,c&&(D=Math.tan(c),D=Math.sqrt(1+D*D),A*=D,C*=D)),A=V0(A),C=V0(C),M=V0(M),I=V0(I)):(A=d,I=h,C=M=0),(S&&!~(o+"").indexOf("px")||x&&!~(s+"").indexOf("px"))&&(S=A5(f,"x",o,"px"),x=A5(f,"y",s,"px")),(p||m||v||g)&&(S=V0(S+p-(p*A+m*M)+v),x=V0(x+m-(p*C+m*I)+g)),(r||a)&&(D=f.getBBox(),S=V0(S+r/100*D.width),x=V0(x+a/100*D.height)),D="matrix("+A+","+C+","+M+","+I+","+S+","+x+")",f.setAttribute("transform",D),_&&(f.style[M0]=D)},Roe=function(e,t,i,r,a){var o=360,s=Ln(a),l=parseFloat(a)*(s&&~a.indexOf("rad")?z9:1),u=l-r,c=r+u+"deg",d,h;return s&&(d=a.split("_")[1],d==="short"&&(u%=o,u!==u%(o/2)&&(u+=u<0?o:-o)),d==="cw"&&u<0?u=(u+o*WD)%o-~~(u/o)*o:d==="ccw"&&u>0&&(u=(u-o*WD)%o-~~(u/o)*o)),e._pt=h=new tr(e._pt,t,i,r,u,hoe),h.e=c,h.u="deg",e._props.push(i),h},ZD=function(e,t){for(var i in t)e[i]=t[i];return e},Loe=function(e,t,i){var r=ZD({},i._gsap),a="perspective,force3D,transformOrigin,svgOrigin",o=i.style,s,l,u,c,d,h,f,p;r.svg?(u=i.getAttribute("transform"),i.setAttribute("transform",""),o[M0]=t,s=_d(i,1),T5(i,M0),i.setAttribute("transform",u)):(u=getComputedStyle(i)[M0],o[M0]=t,s=_d(i,1),o[M0]=u);for(l in Hs)u=r[l],c=s[l],u!==c&&a.indexOf(l)<0&&(f=si(u),p=si(c),d=f!==p?A5(i,l,u,p):parseFloat(u),h=parseFloat(c),e._pt=new tr(e._pt,s,l,d,h-d,WT),e._pt.u=p||0,e._props.push(l));ZD(s,r)};er("padding,margin,Width,Radius",function(n,e){var t="Top",i="Right",r="Bottom",a="Left",o=(e<3?[t,i,r,a]:[t+a,t+i,r+i,r+a]).map(function(s){return e<2?n+s:"border"+s+n});km[e>1?"border"+n:n]=function(s,l,u,c,d){var h,f;if(arguments.length<4)return h=o.map(function(p){return Rs(s,p,u)}),f=h.join(" "),f.split(h[0]).length===5?h[0]:f;h=(c+"").split(" "),f={},o.forEach(function(p,m){return f[p]=h[m]=h[m]||h[(m-1)/2|0]}),s.init(l,f,d)}});var s$={name:"css",register:$T,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,i,r,a){var o=this._props,s=e.style,l=i.vars.startAt,u,c,d,h,f,p,m,v,g,_,S,x,A,C,M,I,D;UM||$T(),this.styles=this.styles||e$(e),I=this.styles.props,this.tween=i;for(m in t)if(m!=="autoRound"&&(c=t[m],!(wr[m]&&Hj(m,t,i,r,e,a)))){if(f=typeof c,p=km[m],f==="function"&&(c=c.call(i,r,e,a),f=typeof c),f==="string"&&~c.indexOf("random(")&&(c=vd(c)),p)p(this,e,m,c,i)&&(M=1);else if(m.substr(0,2)==="--")u=(getComputedStyle(e).getPropertyValue(m)+"").trim(),c+="",p5.lastIndex=0,p5.test(u)||(v=si(u),g=si(c),g?v!==g&&(u=A5(e,m,u,g)+g):v&&(c+=v)),this.add(s,"setProperty",u,c,r,a,0,0,m),o.push(m),I.push(m,0,s[m]);else if(f!=="undefined"){if(l&&m in l?(u=typeof l[m]=="function"?l[m].call(i,r,e,a):l[m],Ln(u)&&~u.indexOf("random(")&&(u=vd(u)),si(u+"")||u==="auto"||(u+=Lr.units[m]||si(Rs(e,m))||""),(u+"").charAt(1)==="="&&(u=Rs(e,m))):u=Rs(e,m),h=parseFloat(u),_=f==="string"&&c.charAt(1)==="="&&c.substr(0,2),_&&(c=c.substr(2)),d=parseFloat(c),m in Oo&&(m==="autoAlpha"&&(h===1&&Rs(e,"visibility")==="hidden"&&d&&(h=0),I.push("visibility",0,s.visibility),Q6(this,s,"visibility",h?"inherit":"hidden",d?"inherit":"hidden",!d)),m!=="scale"&&m!=="transform"&&(m=Oo[m],~m.indexOf(",")&&(m=m.split(",")[0]))),S=m in Hs,S){if(this.styles.save(m),D=c,f==="string"&&c.substring(0,6)==="var(--"){if(c=Pr(e,c.substring(4,c.indexOf(")"))),c.substring(0,5)==="calc("){var E=e.style.perspective;e.style.perspective=c,c=Pr(e,"perspective"),E?e.style.perspective=E:T5(e,"perspective")}d=parseFloat(c)}if(x||(A=e._gsap,A.renderTransform&&!t.parseTransform||_d(e,t.parseTransform),C=t.smoothOrigin!==!1&&A.smooth,x=this._pt=new tr(this._pt,s,M0,0,1,A.renderTransform,A,0,-1),x.dep=1),m==="scale")this._pt=new tr(this._pt,A,"scaleY",A.scaleY,(_?Vl(A.scaleY,_+d):d)-A.scaleY||0,WT),this._pt.u=0,o.push("scaleY",m),m+="X";else if(m==="transformOrigin"){I.push(nr,0,s[nr]),c=Coe(c),A.svg?qT(e,c,0,C,0,this):(g=parseFloat(c.split(" ")[2])||0,g!==A.zOrigin&&Q6(this,A,"zOrigin",A.zOrigin,g),Q6(this,s,m,Fm(u),Fm(c)));continue}else if(m==="svgOrigin"){qT(e,c,1,C,0,this);continue}else if(m in r$){Roe(this,A,m,h,_?Vl(h,_+c):c);continue}else if(m==="smoothOrigin"){Q6(this,A,"smooth",A.smooth,c);continue}else if(m==="force3D"){A[m]=c;continue}else if(m==="transform"){Loe(this,c,e);continue}}else m in s||(m=u7(m)||m);if(S||(d||d===0)&&(h||h===0)&&!doe.test(c)&&m in s)v=(u+"").substr((h+"").length),d||(d=0),g=si(c)||(m in Lr.units?Lr.units[m]:v),v!==g&&(h=A5(e,m,u,g)),this._pt=new tr(this._pt,S?A:s,m,h,(_?Vl(h,_+d):d)-h,!S&&(g==="px"||m==="zIndex")&&t.autoRound!==!1?voe:WT),this._pt.u=g||0,S&&D!==c?(this._pt.b=u,this._pt.e=D,this._pt.r=poe):v!==g&&g!=="%"&&(this._pt.b=u,this._pt.r=foe);else if(m in s)Aoe.call(this,e,m,u,_?_+c:c);else if(m in e)this.add(e,m,u||e[m],_?_+c:c,r,a);else if(m!=="parseTransform"){LM(m,c);continue}S||(m in s?I.push(m,0,s[m]):typeof e[m]=="function"?I.push(m,2,e[m]()):I.push(m,1,u||e[m])),o.push(m)}}M&&Yj(this)},render:function(e,t){if(t.tween._time||!VM())for(var i=t._pt;i;)i.r(e,i.d),i=i._next;else t.styles.revert()},get:Rs,aliases:Oo,getSetter:function(e,t,i){var r=Oo[t];return r&&r.indexOf(",")<0&&(t=r),t in Hs&&t!==nr&&(e._gsap.x||Rs(e,"x"))?i&&HD===i?t==="scale"?_oe:yoe:(HD=i||{})&&(t==="scale"?Soe:boe):e.style&&!EM(e.style[t])?moe:~t.indexOf("-")?goe:zM(e,t)},core:{_removeProperty:T5,_getMatrix:WM}};ar.utils.checkPrefix=u7;ar.core.getStyleSaver=e$;(function(n,e,t,i){var r=er(n+","+e+","+t,function(a){Hs[a]=1});er(e,function(a){Lr.units[a]="deg",r$[a]=1}),Oo[r[13]]=n+","+e,er(i,function(a){var o=a.split(":");Oo[o[1]]=r[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");er("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(n){Lr.units[n]="px"});ar.registerPlugin(s$);var N0=ar.registerPlugin(s$)||ar;N0.core.Tween;const Ioe={name:"SvglineAnimation",props:{width:{type:Number,default:135},height:{type:Number,default:150},path:{type:String,default:"M0 72.5H682L732 0.5H3082"},color:{type:String,default:"#0091FF"},duration:{type:Number,default:3},length:{type:Number,default:100},begin:{type:Number,default:0},dir:{type:Array,default:()=>[0,1]},strokeWidth:{type:Number,default:4}},data(){let n=1;return{maskId:"svgline-"+n,radialGradientId:"radialGradient-"+n}},mounted(){let n=this._.uid;this.maskId="svgline-"+n,this.radialGradientId="radialGradient-"+n}},Doe={class:"svg-line-animation"},Noe=["viewBox"],koe=["id"],Foe=["stop-opacity"],Ooe=["stop-opacity"],Boe=["id"],zoe=["r","fill"],Goe=["begin","dur","path","keyPoints"],Uoe=["d","stroke","stroke-width","mask"];function Voe(n,e,t,i,r,a){return Ae(),Pe("div",Doe,[(Ae(),Pe("svg",{width:"100%",height:"100%",viewBox:`0 0 ${t.width} ${t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[B("defs",null,[B("radialGradient",{id:r.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[B("stop",{offset:"0%","stop-color":"#fff","stop-opacity":t.dir[1]},null,8,Foe),B("stop",{offset:"100%","stop-color":"#fff","stop-opacity":t.dir[0]},null,8,Ooe)],8,koe),B("mask",{id:r.maskId},[B("circle",{r:t.length,cx:"0",cy:"0",fill:`url(#${r.radialGradientId})`},[B("animateMotion",{begin:`${t.begin}s`,dur:`${t.duration}s`,path:t.path,rotate:"auto",keyPoints:`${t.dir[0]};${t.dir[1]}`,keyTimes:"0;1",repeatCount:"indefinite"},null,8,Goe)],8,zoe)],8,Boe)]),B("path",{class:"path-line",d:t.path,stroke:t.color,"stroke-width":t.strokeWidth,mask:`url(#${r.maskId})`},null,8,Uoe)],8,Noe))])}const Om=dy(Ioe,[["render",Voe]]);const Hoe={class:"m-header"},Woe={class:"m-header-wrap"},joe={class:"m-header-title"},$oe={class:"m-header-subtext"},qoe={class:"m-header-left",style:{color:"#fff"}},Xoe={class:"m-header-right"},Yoe={class:"m-header-line"},Koe={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(n){return(e,t)=>(Ae(),Pe("div",Hoe,[B("div",Woe,[B("div",joe,Fe(n.title),1),B("div",$oe,Fe(n.subText),1)]),B("div",qoe,[i7(e.$slots,"left")]),B("div",Xoe,[i7(e.$slots,"right")]),B("div",Yoe,[ft(Om,{class:"m-header-line-left",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"}),ft(Om,{class:"m-header-line-right",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"})])]))}};const Zoe={class:"m-menu"},Joe={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(n,{emit:e}){const t=e,i=n,r=H2(i.defaultActive);return PD("updateActive",o=>{r.value=o,t("select",o)}),PD("activeIndex",r),$0(()=>i.defaultActive,o=>{o!==r.value&&(r.value=o)}),(o,s)=>(Ae(),Pe("div",Zoe,[i7(o.$slots,"default")]))}},Qoe={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(n){const e=n,t=Al("updateActive"),i=Al("activeIndex"),r=()=>{t(e.index)};return(a,o)=>(Ae(),Pe("div",{class:Xt(["m-menu-item",{"is-active":n.index===_1(i)}]),onClick:r},[i7(a.$slots,"default")],2))}};let JD=0;const QD="webkit moz ms o".split(" ");let Mo,Eo;const ese=typeof window=="undefined";if(ese)Mo=function(){},Eo=function(){};else{Mo=window.requestAnimationFrame,Eo=window.cancelAnimationFrame;let n;for(let e=0;e<QD.length&&!(Mo&&Eo);e++)n=QD[e],Mo=Mo||window[n+"RequestAnimationFrame"],Eo=Eo||window[n+"CancelAnimationFrame"]||window[n+"CancelRequestAnimationFrame"];(!Mo||!Eo)&&(Mo=function(e){const t=new Date().getTime(),i=Math.max(0,16-(t-JD)),r=window.setTimeout(()=>{e(t+i)},i);return JD=t+i,r},Eo=function(e){window.clearTimeout(e)})}const tse={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator(n){return n>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default(n,e,t,i){return t*(-Math.pow(2,-10*n/i)+1)*1024/1023+e}}},data(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown(){return this.startVal>this.endVal}},watch:{startVal(){this.autoplay&&this.start()},endVal(){this.autoplay&&this.start()}},mounted(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=Mo(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){Eo(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,Mo(this.count)},reset(){this.startTime=null,Eo(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count(n){this.startTime||(this.startTime=n),this.timestamp=n;const e=n-this.startTime;this.remaining=this.localDuration-e,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(e,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(e,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(e/this.localDuration):this.printVal=this.localStartVal+(this.endVal-this.localStartVal)*(e/this.localDuration),this.countDown?this.printVal=this.printVal<this.endVal?this.endVal:this.printVal:this.printVal=this.printVal>this.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),e<this.localDuration?this.rAF=Mo(this.count):this.$emit("callback")},isNumber(n){return!isNaN(parseFloat(n))},formatNumber(n){n=n.toFixed(this.decimals),n+="";const e=n.split(".");let t=e[0];const i=e.length>1?this.decimal+e[1]:"",r=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;r.test(t);)t=t.replace(r,"$1"+this.separator+"$2");return this.prefix+t+i+this.suffix}},destroyed(){Eo(this.rAF)}};function nse(n,e,t,i,r,a){return Ae(),Pe("span",null,Fe(r.displayValue),1)}const l$=dy(tse,[["render",nse]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",l$);const ise={class:"count-card-left"},rse={class:"count-card-title"},ase={class:"title-zh"},ose={key:0,class:"title-en"},sse={class:"count-card-right"},lse={class:"unit"},use={__name:"index",props:{info:{type:Object,default:()=>({icon:"xiaoshoujine",zh:"2023年销售金额",en:"Sales amount in 2023",value:9500,unit:"万元",decimals:0})}},setup(n){const e=n,t=H2(!0),i=H2(!1),r=H2(0);let a=null;const o=Ye(()=>e.info.duration||1800);$0(()=>[e.info.value,e.info.zh],()=>{a&&window.clearTimeout(a),t.value=!0,i.value=!1,r.value+=1},{immediate:!0});function s(c){return c.toUpperCase()}function l(){t.value=!0,i.value=!1}function u(){t.value=!1,i.value=!0,a&&window.clearTimeout(a),a=window.setTimeout(()=>{i.value=!1},900)}return Or(()=>{a&&window.clearTimeout(a)}),(c,d)=>(Ae(),Pe("div",{class:Xt(["count-card",{"is-counting":t.value,"is-settled":i.value}])},[B("div",ise,[B("div",{class:Xt(["count-card-icon","icon-"+n.info.icon])},null,2),B("div",rse,[B("div",ase,Fe(n.info.zh),1),n.info.en?(Ae(),Pe("div",ose,Fe(s(n.info.en)),1)):Lt("",!0)])]),B("div",sse,[(Ae(),Pe("div",{class:"value",key:r.value},[ft(_1(l$),{startVal:0,endVal:n.info.value,decimals:n.info.decimals,duration:o.value,separator:"",autoplay:!0,onMountedCallback:l,onCallback:u},null,8,["endVal","decimals","duration"])])),B("div",lse,Fe(n.info.unit),1)])],2))}};/*! ***************************************************************************** |
|
|
Copyright (c) Microsoft Corporation. |
|
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any |
|
|
purpose with or without fee is hereby granted. |
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH |
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, |
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM |
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR |
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
|
|
PERFORMANCE OF THIS SOFTWARE. |
|
|
***************************************************************************** */var XT=function(n,e){return XT=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},XT(n,e)};function o2(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");XT(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var cse=function(){function n(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return n}(),dse=function(){function n(){this.browser=new cse,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window!="undefined"}return n}(),G6=new dse;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(G6.wxa=!0,G6.touchEventsSupported=!0):typeof document=="undefined"&&typeof self!="undefined"?G6.worker=!0:!G6.hasGlobalWindow||"Deno"in window?(G6.node=!0,G6.svgSupported=!0):hse(navigator.userAgent,G6);function hse(n,e){var t=e.browser,i=n.match(/Firefox\/([\d.]+)/),r=n.match(/MSIE\s([\d.]+)/)||n.match(/Trident\/.+?rv:(([\d.]+))/),a=n.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(n);i&&(t.firefox=!0,t.version=i[1]),r&&(t.ie=!0,t.version=r[1]),a&&(t.edge=!0,t.version=a[1],t.newEdge=+a[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect!="undefined",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!="undefined";var s=document.documentElement.style;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}const q3=G6;var jM=12,u$="sans-serif",C5=jM+"px "+u$,fse=20,pse=100,vse="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function mse(n){var e={};if(typeof JSON=="undefined")return e;for(var t=0;t<n.length;t++){var i=String.fromCharCode(t+32),r=(n.charCodeAt(t)-fse)/pse;e[i]=r}return e}var gse=mse(vse),M5={createCanvas:function(){return typeof document!="undefined"&&document.createElement("canvas")},measureText:function(){var n,e;return function(t,i){if(!n){var r=M5.createCanvas();n=r&&r.getContext("2d")}if(n)return e!==i&&(e=n.font=i||C5),n.measureText(t);t=t||"",i=i||C5;var a=/((?:\d+)?\.?\d*)px/.exec(i),o=a&&+a[1]||jM,s=0;if(i.indexOf("mono")>=0)s=o*t.length;else for(var l=0;l<t.length;l++){var u=gse[t[l]];s+=u==null?o:u*o}return{width:s}}}(),loadImage:function(n,e,t){var i=new Image;return i.onload=e,i.onerror=t,i.src=n,i}},c$=Yo(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(n,e){return n["[object "+e+"]"]=!0,n},{}),d$=Yo(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(n,e){return n["[object "+e+"Array]"]=!0,n},{}),k7=Object.prototype.toString,my=Array.prototype,yse=my.forEach,_se=my.filter,$M=my.slice,Sse=my.map,eN=function(){}.constructor,kf=eN?eN.prototype:null,qM="__proto__",bse=2311;function h$(){return bse++}function XM(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];typeof console!="undefined"&&console.error.apply(console,n)}function Zt(n){if(n==null||typeof n!="object")return n;var e=n,t=k7.call(n);if(t==="[object Array]"){if(!Bc(n)){e=[];for(var i=0,r=n.length;i<r;i++)e[i]=Zt(n[i])}}else if(d$[t]){if(!Bc(n)){var a=n.constructor;if(a.from)e=a.from(n);else{e=new a(n.length);for(var i=0,r=n.length;i<r;i++)e[i]=n[i]}}}else if(!c$[t]&&!Bc(n)&&!c7(n)){e={};for(var o in n)n.hasOwnProperty(o)&&o!==qM&&(e[o]=Zt(n[o]))}return e}function u3(n,e,t){if(!Kt(e)||!Kt(n))return t?Zt(e):n;for(var i in e)if(e.hasOwnProperty(i)&&i!==qM){var r=n[i],a=e[i];Kt(a)&&Kt(r)&&!j2(a)&&!j2(r)&&!c7(a)&&!c7(r)&&!tN(a)&&!tN(r)&&!Bc(a)&&!Bc(r)?u3(r,a,t):(t||!(i in n))&&(n[i]=Zt(e[i]))}return n}function YM(n,e){for(var t=n[0],i=1,r=n.length;i<r;i++)t=u3(t,n[i],e);return t}function I2(n,e){if(Object.assign)Object.assign(n,e);else for(var t in e)e.hasOwnProperty(t)&&t!==qM&&(n[t]=e[t]);return n}function qt(n,e,t){for(var i=L3(e),r=0,a=i.length;r<a;r++){var o=i[r];(t?e[o]!=null:n[o]==null)&&(n[o]=e[o])}return n}function x3(n,e){if(n){if(n.indexOf)return n.indexOf(e);for(var t=0,i=n.length;t<i;t++)if(n[t]===e)return t}return-1}function xse(n,e){var t=n.prototype;function i(){}i.prototype=e.prototype,n.prototype=new i;for(var r in t)t.hasOwnProperty(r)&&(n.prototype[r]=t[r]);n.prototype.constructor=n,n.superClass=e}function K0(n,e,t){if(n="prototype"in n?n.prototype:n,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames)for(var i=Object.getOwnPropertyNames(e),r=0;r<i.length;r++){var a=i[r];a!=="constructor"&&(t?e[a]!=null:n[a]==null)&&(n[a]=e[a])}else qt(n,e,t)}function ci(n){return!n||typeof n=="string"?!1:typeof n.length=="number"}function ne(n,e,t){if(n&&e)if(n.forEach&&n.forEach===yse)n.forEach(e,t);else if(n.length===+n.length)for(var i=0,r=n.length;i<r;i++)e.call(t,n[i],i,n);else for(var a in n)n.hasOwnProperty(a)&&e.call(t,n[a],a,n)}function q2(n,e,t){if(!n)return[];if(!e)return KM(n);if(n.map&&n.map===Sse)return n.map(e,t);for(var i=[],r=0,a=n.length;r<a;r++)i.push(e.call(t,n[r],r,n));return i}function Yo(n,e,t,i){if(n&&e){for(var r=0,a=n.length;r<a;r++)t=e.call(i,t,n[r],r,n);return t}}function c1(n,e,t){if(!n)return[];if(!e)return KM(n);if(n.filter&&n.filter===_se)return n.filter(e,t);for(var i=[],r=0,a=n.length;r<a;r++)e.call(t,n[r],r,n)&&i.push(n[r]);return i}function wse(n,e,t){if(n&&e){for(var i=0,r=n.length;i<r;i++)if(e.call(t,n[i],i,n))return n[i]}}function L3(n){if(!n)return[];if(Object.keys)return Object.keys(n);var e=[];for(var t in n)n.hasOwnProperty(t)&&e.push(t);return e}function Tse(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return function(){return n.apply(e,t.concat($M.call(arguments)))}}var Tt=kf&&Wt(kf.bind)?kf.call.bind(kf.bind):Tse;function s3(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){return n.apply(this,e.concat($M.call(arguments)))}}function j2(n){return Array.isArray?Array.isArray(n):k7.call(n)==="[object Array]"}function Wt(n){return typeof n=="function"}function xt(n){return typeof n=="string"}function YT(n){return k7.call(n)==="[object String]"}function Y3(n){return typeof n=="number"}function Kt(n){var e=typeof n;return e==="function"||!!n&&e==="object"}function tN(n){return!!c$[k7.call(n)]}function or(n){return!!d$[k7.call(n)]}function c7(n){return typeof n=="object"&&typeof n.nodeType=="number"&&typeof n.ownerDocument=="object"}function gy(n){return n.colorStops!=null}function Ase(n){return n.image!=null}function Cse(n){return k7.call(n)==="[object RegExp]"}function Sd(n){return n!==n}function Pn(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];for(var t=0,i=n.length;t<i;t++)if(n[t]!=null)return n[t]}function a3(n,e){return n!=null?n:e}function Ho(n,e,t){return n!=null?n:e!=null?e:t}function KM(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return $M.apply(n,e)}function ZM(n){if(typeof n=="number")return[n,n,n,n];var e=n.length;return e===2?[n[0],n[1],n[0],n[1]]:e===3?[n[0],n[1],n[2],n[1]]:n}function Ri(n,e){if(!n)throw new Error(e)}function Ya(n){return n==null?null:typeof n.trim=="function"?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var f$="__ec_primitive__";function Bm(n){n[f$]=!0}function Bc(n){return n[f$]}var Mse=function(){function n(){this.data={}}return n.prototype.delete=function(e){var t=this.has(e);return t&&delete this.data[e],t},n.prototype.has=function(e){return this.data.hasOwnProperty(e)},n.prototype.get=function(e){return this.data[e]},n.prototype.set=function(e,t){return this.data[e]=t,this},n.prototype.keys=function(){return L3(this.data)},n.prototype.forEach=function(e){var t=this.data;for(var i in t)t.hasOwnProperty(i)&&e(t[i],i)},n}(),p$=typeof Map=="function";function Ese(){return p$?new Map:new Mse}var Pse=function(){function n(e){var t=j2(e);this.data=Ese();var i=this;e instanceof n?e.each(r):e&&ne(e,r);function r(a,o){t?i.set(a,o):i.set(o,a)}}return n.prototype.hasKey=function(e){return this.data.has(e)},n.prototype.get=function(e){return this.data.get(e)},n.prototype.set=function(e,t){return this.data.set(e,t),t},n.prototype.each=function(e,t){this.data.forEach(function(i,r){e.call(t,i,r)})},n.prototype.keys=function(){var e=this.data.keys();return p$?Array.from(e):e},n.prototype.removeKey=function(e){this.data.delete(e)},n}();function Rt(n){return new Pse(n)}function bd(n,e){for(var t=new n.constructor(n.length+e.length),i=0;i<n.length;i++)t[i]=n[i];for(var r=n.length,i=0;i<e.length;i++)t[i+r]=e[i];return t}function yy(n,e){var t;if(Object.create)t=Object.create(n);else{var i=function(){};i.prototype=n,t=new i}return e&&I2(t,e),t}function v$(n){var e=n.style;e.webkitUserSelect="none",e.userSelect="none",e.webkitTapHighlightColor="rgba(0,0,0,0)",e["-webkit-touch-callout"]="none"}function Ct(n,e){return n.hasOwnProperty(e)}function O0(){}var qv=180/Math.PI;function Y8(n,e){return n==null&&(n=0),e==null&&(e=0),[n,e]}function wi(n,e){return n[0]=e[0],n[1]=e[1],n}function Os(n){return[n[0],n[1]]}function Rse(n,e,t){return n[0]=e,n[1]=t,n}function nN(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n}function KT(n,e,t,i){return n[0]=e[0]+t[0]*i,n[1]=e[1]+t[1]*i,n}function n8(n,e,t){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n}function ZT(n){return Math.sqrt(Lse(n))}function Lse(n){return n[0]*n[0]+n[1]*n[1]}function Xv(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n}function F7(n,e){var t=ZT(e);return t===0?(n[0]=0,n[1]=0):(n[0]=e[0]/t,n[1]=e[1]/t),n}function JT(n,e){return Math.sqrt((n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1]))}var e5=JT;function Ise(n,e){return(n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1])}var y8=Ise;function Yv(n,e,t,i){return n[0]=e[0]+i*(t[0]-e[0]),n[1]=e[1]+i*(t[1]-e[1]),n}function Vn(n,e,t){var i=e[0],r=e[1];return n[0]=t[0]*i+t[2]*r+t[4],n[1]=t[1]*i+t[3]*r+t[5],n}function t5(n,e,t){return n[0]=Math.min(e[0],t[0]),n[1]=Math.min(e[1],t[1]),n}function n5(n,e,t){return n[0]=Math.max(e[0],t[0]),n[1]=Math.max(e[1],t[1]),n}var T4=function(){function n(e,t){this.target=e,this.topTarget=t&&t.topTarget}return n}(),Dse=function(){function n(e){this.handler=e,e.on("mousedown",this._dragStart,this),e.on("mousemove",this._drag,this),e.on("mouseup",this._dragEnd,this)}return n.prototype._dragStart=function(e){for(var t=e.target;t&&!t.draggable;)t=t.parent||t.__hostTarget;t&&(this._draggingTarget=t,t.dragging=!0,this._x=e.offsetX,this._y=e.offsetY,this.handler.dispatchToElement(new T4(t,e),"dragstart",e.event))},n.prototype._drag=function(e){var t=this._draggingTarget;if(t){var i=e.offsetX,r=e.offsetY,a=i-this._x,o=r-this._y;this._x=i,this._y=r,t.drift(a,o,e),this.handler.dispatchToElement(new T4(t,e),"drag",e.event);var s=this.handler.findHover(i,r,t).target,l=this._dropTarget;this._dropTarget=s,t!==s&&(l&&s!==l&&this.handler.dispatchToElement(new T4(l,e),"dragleave",e.event),s&&s!==l&&this.handler.dispatchToElement(new T4(s,e),"dragenter",e.event))}},n.prototype._dragEnd=function(e){var t=this._draggingTarget;t&&(t.dragging=!1),this.handler.dispatchToElement(new T4(t,e),"dragend",e.event),this._dropTarget&&this.handler.dispatchToElement(new T4(this._dropTarget,e),"drop",e.event),this._draggingTarget=null,this._dropTarget=null},n}();const Nse=Dse;var kse=function(){function n(e){e&&(this._$eventProcessor=e)}return n.prototype.on=function(e,t,i,r){this._$handlers||(this._$handlers={});var a=this._$handlers;if(typeof t=="function"&&(r=i,i=t,t=null),!i||!e)return this;var o=this._$eventProcessor;t!=null&&o&&o.normalizeQuery&&(t=o.normalizeQuery(t)),a[e]||(a[e]=[]);for(var s=0;s<a[e].length;s++)if(a[e][s].h===i)return this;var l={h:i,query:t,ctx:r||this,callAtLast:i.zrEventfulCallAtLast},u=a[e].length-1,c=a[e][u];return c&&c.callAtLast?a[e].splice(u,0,l):a[e].push(l),this},n.prototype.isSilent=function(e){var t=this._$handlers;return!t||!t[e]||!t[e].length},n.prototype.off=function(e,t){var i=this._$handlers;if(!i)return this;if(!e)return this._$handlers={},this;if(t){if(i[e]){for(var r=[],a=0,o=i[e].length;a<o;a++)i[e][a].h!==t&&r.push(i[e][a]);i[e]=r}i[e]&&i[e].length===0&&delete i[e]}else delete i[e];return this},n.prototype.trigger=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(!this._$handlers)return this;var r=this._$handlers[e],a=this._$eventProcessor;if(r)for(var o=t.length,s=r.length,l=0;l<s;l++){var u=r[l];if(!(a&&a.filter&&u.query!=null&&!a.filter(e,u.query)))switch(o){case 0:u.h.call(u.ctx);break;case 1:u.h.call(u.ctx,t[0]);break;case 2:u.h.call(u.ctx,t[0],t[1]);break;default:u.h.apply(u.ctx,t);break}}return a&&a.afterTrigger&&a.afterTrigger(e),this},n.prototype.triggerWithContext=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(!this._$handlers)return this;var r=this._$handlers[e],a=this._$eventProcessor;if(r)for(var o=t.length,s=t[o-1],l=r.length,u=0;u<l;u++){var c=r[u];if(!(a&&a.filter&&c.query!=null&&!a.filter(e,c.query)))switch(o){case 0:c.h.call(s);break;case 1:c.h.call(s,t[0]);break;case 2:c.h.call(s,t[0],t[1]);break;default:c.h.apply(s,t.slice(1,o-1));break}}return a&&a.afterTrigger&&a.afterTrigger(e),this},n}();const Ea=kse;var Fse=Math.log(2);function QT(n,e,t,i,r,a){var o=i+"-"+r,s=n.length;if(a.hasOwnProperty(o))return a[o];if(e===1){var l=Math.round(Math.log((1<<s)-1&~r)/Fse);return n[t][l]}for(var u=i|1<<t,c=t+1;i&1<<c;)c++;for(var d=0,h=0,f=0;h<s;h++){var p=1<<h;p&r||(d+=(f%2?-1:1)*n[t][h]*QT(n,e-1,c,u,r|p,a),f++)}return a[o]=d,d}function iN(n,e){var t=[[n[0],n[1],1,0,0,0,-e[0]*n[0],-e[0]*n[1]],[0,0,0,n[0],n[1],1,-e[1]*n[0],-e[1]*n[1]],[n[2],n[3],1,0,0,0,-e[2]*n[2],-e[2]*n[3]],[0,0,0,n[2],n[3],1,-e[3]*n[2],-e[3]*n[3]],[n[4],n[5],1,0,0,0,-e[4]*n[4],-e[4]*n[5]],[0,0,0,n[4],n[5],1,-e[5]*n[4],-e[5]*n[5]],[n[6],n[7],1,0,0,0,-e[6]*n[6],-e[6]*n[7]],[0,0,0,n[6],n[7],1,-e[7]*n[6],-e[7]*n[7]]],i={},r=QT(t,8,0,0,0,i);if(r!==0){for(var a=[],o=0;o<8;o++)for(var s=0;s<8;s++)a[s]==null&&(a[s]=0),a[s]+=((o+s)%2?-1:1)*QT(t,7,o===0?1:0,1<<o,1<<s,i)/r*e[o];return function(l,u,c){var d=u*a[6]+c*a[7]+1;l[0]=(u*a[0]+c*a[1]+a[2])/d,l[1]=(u*a[3]+c*a[4]+a[5])/d}}}var rN="___zrEVENTSAVED",JS=[];function Ose(n,e,t,i,r){return eA(JS,e,i,r,!0)&&eA(n,t,JS[0],JS[1])}function eA(n,e,t,i,r){if(e.getBoundingClientRect&&q3.domSupported&&!m$(e)){var a=e[rN]||(e[rN]={}),o=Bse(e,a),s=zse(o,a,r);if(s)return s(n,t,i),!0}return!1}function Bse(n,e){var t=e.markers;if(t)return t;t=e.markers=[];for(var i=["left","right"],r=["top","bottom"],a=0;a<4;a++){var o=document.createElement("div"),s=o.style,l=a%2,u=(a>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[l]+":0",r[u]+":0",i[1-l]+":auto",r[1-u]+":auto",""].join("!important;"),n.appendChild(o),t.push(o)}return t}function zse(n,e,t){for(var i=t?"invTrans":"trans",r=e[i],a=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var c=n[u].getBoundingClientRect(),d=2*u,h=c.left,f=c.top;o.push(h,f),l=l&&a&&h===a[d]&&f===a[d+1],s.push(n[u].offsetLeft,n[u].offsetTop)}return l&&r?r:(e.srcCoords=o,e[i]=t?iN(s,o):iN(o,s))}function m$(n){return n.nodeName.toUpperCase()==="CANVAS"}var Gse=/([&<>"'])/g,Use={"&":"&","<":"<",">":">",'"':""","'":"'"};function ai(n){return n==null?"":(n+"").replace(Gse,function(e,t){return Use[t]})}var Vse=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,QS=[],Hse=q3.browser.firefox&&+q3.browser.version.split(".")[0]<39;function tA(n,e,t,i){return t=t||{},i?aN(n,e,t):Hse&&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):aN(n,e,t),t}function aN(n,e,t){if(q3.domSupported&&n.getBoundingClientRect){var i=e.clientX,r=e.clientY;if(m$(n)){var a=n.getBoundingClientRect();t.zrX=i-a.left,t.zrY=r-a.top;return}else if(eA(QS,n,i,r)){t.zrX=QS[0],t.zrY=QS[1];return}}t.zrX=t.zrY=0}function JM(n){return n||window.event}function aa(n,e,t){if(e=JM(e),e.zrX!=null)return e;var i=e.type,r=i&&i.indexOf("touch")>=0;if(r){var o=i!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&tA(n,o,e,t)}else{tA(n,e,e,t);var a=Wse(e);e.zrDelta=a?a/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&Vse.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function Wse(n){var e=n.wheelDelta;if(e)return e;var t=n.deltaX,i=n.deltaY;if(t==null||i==null)return e;var r=Math.abs(i!==0?i:t),a=i>0?-1:i<0?1:t>0?-1:1;return 3*r*a}function nA(n,e,t,i){n.addEventListener(e,t,i)}function jse(n,e,t,i){n.removeEventListener(e,t,i)}var Ws=function(n){n.preventDefault(),n.stopPropagation(),n.cancelBubble=!0};function oN(n){return n.which===2||n.which===3}var $se=function(){function n(){this._track=[]}return n.prototype.recognize=function(e,t,i){return this._doTrack(e,t,i),this._recognize(e)},n.prototype.clear=function(){return this._track.length=0,this},n.prototype._doTrack=function(e,t,i){var r=e.touches;if(r){for(var a={points:[],touches:[],target:t,event:e},o=0,s=r.length;o<s;o++){var l=r[o],u=tA(i,l,{});a.points.push([u.zrX,u.zrY]),a.touches.push(l)}this._track.push(a)}},n.prototype._recognize=function(e){for(var t in eb)if(eb.hasOwnProperty(t)){var i=eb[t](this._track,e);if(i)return i}},n}();function sN(n){var e=n[1][0]-n[0][0],t=n[1][1]-n[0][1];return Math.sqrt(e*e+t*t)}function qse(n){return[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]}var eb={pinch:function(n,e){var t=n.length;if(t){var i=(n[t-1]||{}).points,r=(n[t-2]||{}).points||i;if(r&&r.length>1&&i&&i.length>1){var a=sN(i)/sN(r);!isFinite(a)&&(a=1),e.pinchScale=a;var o=qse(i);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:n[0].target,event:e}}}}};function Ir(){return[1,0,0,1,0,0]}function _y(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=1,n[4]=0,n[5]=0,n}function QM(n,e){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n}function Bs(n,e,t){var i=e[0]*t[0]+e[2]*t[1],r=e[1]*t[0]+e[3]*t[1],a=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];return n[0]=i,n[1]=r,n[2]=a,n[3]=o,n[4]=s,n[5]=l,n}function Ko(n,e,t){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4]+t[0],n[5]=e[5]+t[1],n}function K8(n,e,t,i){i===void 0&&(i=[0,0]);var r=e[0],a=e[2],o=e[4],s=e[1],l=e[3],u=e[5],c=Math.sin(t),d=Math.cos(t);return n[0]=r*d+s*c,n[1]=-r*c+s*d,n[2]=a*d+l*c,n[3]=-a*c+d*l,n[4]=d*(o-i[0])+c*(u-i[1])+i[0],n[5]=d*(u-i[1])-c*(o-i[0])+i[1],n}function eE(n,e,t){var i=t[0],r=t[1];return n[0]=e[0]*i,n[1]=e[1]*r,n[2]=e[2]*i,n[3]=e[3]*r,n[4]=e[4]*i,n[5]=e[5]*r,n}function O7(n,e){var t=e[0],i=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=t*o-a*i;return l?(l=1/l,n[0]=o*l,n[1]=-a*l,n[2]=-i*l,n[3]=t*l,n[4]=(i*s-o*r)*l,n[5]=(a*r-t*s)*l,n):null}function Xse(n){var e=Ir();return QM(e,n),e}var Yse=function(){function n(e,t){this.x=e||0,this.y=t||0}return n.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},n.prototype.clone=function(){return new n(this.x,this.y)},n.prototype.set=function(e,t){return this.x=e,this.y=t,this},n.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},n.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},n.prototype.scale=function(e){this.x*=e,this.y*=e},n.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},n.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},n.prototype.dot=function(e){return this.x*e.x+this.y*e.y},n.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},n.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},n.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},n.prototype.distance=function(e){var t=this.x-e.x,i=this.y-e.y;return Math.sqrt(t*t+i*i)},n.prototype.distanceSquare=function(e){var t=this.x-e.x,i=this.y-e.y;return t*t+i*i},n.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},n.prototype.transform=function(e){if(e){var t=this.x,i=this.y;return this.x=e[0]*t+e[2]*i+e[4],this.y=e[1]*t+e[3]*i+e[5],this}},n.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},n.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},n.set=function(e,t,i){e.x=t,e.y=i},n.copy=function(e,t){e.x=t.x,e.y=t.y},n.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},n.lenSquare=function(e){return e.x*e.x+e.y*e.y},n.dot=function(e,t){return e.x*t.x+e.y*t.y},n.add=function(e,t,i){e.x=t.x+i.x,e.y=t.y+i.y},n.sub=function(e,t,i){e.x=t.x-i.x,e.y=t.y-i.y},n.scale=function(e,t,i){e.x=t.x*i,e.y=t.y*i},n.scaleAndAdd=function(e,t,i,r){e.x=t.x+i.x*r,e.y=t.y+i.y*r},n.lerp=function(e,t,i,r){var a=1-r;e.x=a*t.x+r*i.x,e.y=a*t.y+r*i.y},n}();const h3=Yse;var Ff=Math.min,Of=Math.max,l9=new h3,u9=new h3,c9=new h3,d9=new h3,Tu=new h3,Au=new h3,Kse=function(){function n(e,t,i,r){i<0&&(e=e+i,i=-i),r<0&&(t=t+r,r=-r),this.x=e,this.y=t,this.width=i,this.height=r}return n.prototype.union=function(e){var t=Ff(e.x,this.x),i=Ff(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Of(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=Of(e.y+e.height,this.y+this.height)-i:this.height=e.height,this.x=t,this.y=i},n.prototype.applyTransform=function(e){n.applyTransform(this,this,e)},n.prototype.calculateTransform=function(e){var t=this,i=e.width/t.width,r=e.height/t.height,a=Ir();return Ko(a,a,[-t.x,-t.y]),eE(a,a,[i,r]),Ko(a,a,[e.x,e.y]),a},n.prototype.intersect=function(e,t){if(!e)return!1;e instanceof n||(e=n.create(e));var i=this,r=i.x,a=i.x+i.width,o=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,c=e.y,d=e.y+e.height,h=!(a<l||u<r||s<c||d<o);if(t){var f=1/0,p=0,m=Math.abs(a-l),v=Math.abs(u-r),g=Math.abs(s-c),_=Math.abs(d-o),S=Math.min(m,v),x=Math.min(g,_);a<l||u<r?S>p&&(p=S,m<v?h3.set(Au,-m,0):h3.set(Au,v,0)):S<f&&(f=S,m<v?h3.set(Tu,m,0):h3.set(Tu,-v,0)),s<c||d<o?x>p&&(p=x,g<_?h3.set(Au,0,-g):h3.set(Au,0,_)):S<f&&(f=S,g<_?h3.set(Tu,0,g):h3.set(Tu,0,-_))}return t&&h3.copy(t,h?Tu:Au),h},n.prototype.contain=function(e,t){var i=this;return e>=i.x&&e<=i.x+i.width&&t>=i.y&&t<=i.y+i.height},n.prototype.clone=function(){return new n(this.x,this.y,this.width,this.height)},n.prototype.copy=function(e){n.copy(this,e)},n.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},n.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},n.prototype.isZero=function(){return this.width===0||this.height===0},n.create=function(e){return new n(e.x,e.y,e.width,e.height)},n.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},n.applyTransform=function(e,t,i){if(!i){e!==t&&n.copy(e,t);return}if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],a=i[3],o=i[4],s=i[5];e.x=t.x*r+o,e.y=t.y*a+s,e.width=t.width*r,e.height=t.height*a,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}l9.x=c9.x=t.x,l9.y=d9.y=t.y,u9.x=d9.x=t.x+t.width,u9.y=c9.y=t.y+t.height,l9.transform(i),d9.transform(i),u9.transform(i),c9.transform(i),e.x=Ff(l9.x,u9.x,c9.x,d9.x),e.y=Ff(l9.y,u9.y,c9.y,d9.y);var l=Of(l9.x,u9.x,c9.x,d9.x),u=Of(l9.y,u9.y,c9.y,d9.y);e.width=l-e.x,e.height=u-e.y},n}();const g3=Kse;var g$="silent";function Zse(n,e,t){return{type:n,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,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:Jse}}function Jse(){Ws(this.event)}var Qse=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Ea),Cu=function(){function n(e,t){this.x=e,this.y=t}return n}(),e6e=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],tb=new g3(0,0,0,0),y$=function(n){o2(e,n);function e(t,i,r,a,o){var s=n.call(this)||this;return s._hovered=new Cu(0,0),s.storage=t,s.painter=i,s.painterRoot=a,s._pointerSize=o,r=r||new Qse,s.proxy=null,s.setHandlerProxy(r),s._draggingMgr=new Nse(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(ne(e6e,function(i){t.on&&t.on(i,this[i],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var i=t.zrX,r=t.zrY,a=_$(this,i,r),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=a?new Cu(i,r):this.findHover(i,r),u=l.target,c=this.proxy;c.setCursor&&c.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)},e.prototype.mouseout=function(t){var i=t.zrEventControl;i!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),i!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Cu(0,0)},e.prototype.dispatch=function(t,i){var r=this[t];r&&r.call(this,i)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var i=this.proxy;i.setCursor&&i.setCursor(t)},e.prototype.dispatchToElement=function(t,i,r){t=t||{};var a=t.target;if(!(a&&a.silent)){for(var o="on"+i,s=Zse(i,t,r);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(i,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(i,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(i,s)}))}},e.prototype.findHover=function(t,i,r){var a=this.storage.getDisplayList(),o=new Cu(t,i);if(lN(a,o,t,i,r),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,c=new g3(t-u,i-u,l,l),d=a.length-1;d>=0;d--){var h=a[d];h!==r&&!h.ignore&&!h.ignoreCoarsePointer&&(!h.parent||!h.parent.ignoreCoarsePointer)&&(tb.copy(h.getBoundingRect()),h.transform&&tb.applyTransform(h.transform),tb.intersect(c)&&s.push(h))}if(s.length)for(var f=4,p=Math.PI/12,m=Math.PI*2,v=0;v<u;v+=f)for(var g=0;g<m;g+=p){var _=t+v*Math.cos(g),S=i+v*Math.sin(g);if(lN(s,o,_,S,r),o.target)return o}}return o},e.prototype.processGesture=function(t,i){this._gestureMgr||(this._gestureMgr=new $se);var r=this._gestureMgr;i==="start"&&r.clear();var a=r.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(i==="end"&&r.clear(),a){var o=a.type;t.gestureEvent=o;var s=new Cu;s.target=a.target,this.dispatchToElement(s,o,a.event)}},e}(Ea);ne(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(n){y$.prototype[n]=function(e){var t=e.zrX,i=e.zrY,r=_$(this,t,i),a,o;if((n!=="mouseup"||!r)&&(a=this.findHover(t,i),o=a.target),n==="mousedown")this._downEl=o,this._downPoint=[e.zrX,e.zrY],this._upEl=o;else if(n==="mouseup")this._upEl=o;else if(n==="click"){if(this._downEl!==this._upEl||!this._downPoint||e5(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(a,n,e)}});function t6e(n,e,t){if(n[n.rectHover?"rectContain":"contain"](e,t)){for(var i=n,r=void 0,a=!1;i;){if(i.ignoreClip&&(a=!0),!a){var o=i.getClipPath();if(o&&!o.contain(e,t))return!1}i.silent&&(r=!0);var s=i.__hostTarget;i=s||i.parent}return r?g$:!0}return!1}function lN(n,e,t,i,r){for(var a=n.length-1;a>=0;a--){var o=n[a],s=void 0;if(o!==r&&!o.ignore&&(s=t6e(o,t,i))&&(!e.topTarget&&(e.topTarget=o),s!==g$)){e.target=o;break}}}function _$(n,e,t){var i=n.painter;return e<0||e>i.getWidth()||t<0||t>i.getHeight()}const n6e=y$;var S$=32,Mu=7;function i6e(n){for(var e=0;n>=S$;)e|=n&1,n>>=1;return n+e}function uN(n,e,t,i){var r=e+1;if(r===t)return 1;if(i(n[r++],n[e])<0){for(;r<t&&i(n[r],n[r-1])<0;)r++;r6e(n,e,r)}else for(;r<t&&i(n[r],n[r-1])>=0;)r++;return r-e}function r6e(n,e,t){for(t--;e<t;){var i=n[e];n[e++]=n[t],n[t--]=i}}function cN(n,e,t,i,r){for(i===e&&i++;i<t;i++){for(var a=n[i],o=e,s=i,l;o<s;)l=o+s>>>1,r(a,n[l])<0?s=l:o=l+1;var u=i-o;switch(u){case 3:n[o+3]=n[o+2];case 2:n[o+2]=n[o+1];case 1:n[o+1]=n[o];break;default:for(;u>0;)n[o+u]=n[o+u-1],u--}n[o]=a}}function nb(n,e,t,i,r,a){var o=0,s=0,l=1;if(a(n,e[t+r])>0){for(s=i-r;l<s&&a(n,e[t+r+l])>0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;l<s&&a(n,e[t+r-l])<=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;o<l;){var c=o+(l-o>>>1);a(n,e[t+c])>0?o=c+1:l=c}return l}function ib(n,e,t,i,r,a){var o=0,s=0,l=1;if(a(n,e[t+r])<0){for(s=r+1;l<s&&a(n,e[t+r-l])<0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=i-r;l<s&&a(n,e[t+r+l])>=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;o<l;){var c=o+(l-o>>>1);a(n,e[t+c])<0?l=c:o=c+1}return l}function a6e(n,e){var t=Mu,i,r,a=0,o=[];i=[],r=[];function s(f,p){i[a]=f,r[a]=p,a+=1}function l(){for(;a>1;){var f=a-2;if(f>=1&&r[f-1]<=r[f]+r[f+1]||f>=2&&r[f-2]<=r[f]+r[f-1])r[f-1]<r[f+1]&&f--;else if(r[f]>r[f+1])break;c(f)}}function u(){for(;a>1;){var f=a-2;f>0&&r[f-1]<r[f+1]&&f--,c(f)}}function c(f){var p=i[f],m=r[f],v=i[f+1],g=r[f+1];r[f]=m+g,f===a-3&&(i[f+1]=i[f+2],r[f+1]=r[f+2]),a--;var _=ib(n[v],n,p,m,0,e);p+=_,m-=_,m!==0&&(g=nb(n[p+m-1],n,v,g,g-1,e),g!==0&&(m<=g?d(p,m,v,g):h(p,m,v,g)))}function d(f,p,m,v){var g=0;for(g=0;g<p;g++)o[g]=n[f+g];var _=0,S=m,x=f;if(n[x++]=n[S++],--v===0){for(g=0;g<p;g++)n[x+g]=o[_+g];return}if(p===1){for(g=0;g<v;g++)n[x+g]=n[S+g];n[x+v]=o[_];return}for(var A=t,C,M,I;;){C=0,M=0,I=!1;do if(e(n[S],o[_])<0){if(n[x++]=n[S++],M++,C=0,--v===0){I=!0;break}}else if(n[x++]=o[_++],C++,M=0,--p===1){I=!0;break}while((C|M)<A);if(I)break;do{if(C=ib(n[S],o,_,p,0,e),C!==0){for(g=0;g<C;g++)n[x+g]=o[_+g];if(x+=C,_+=C,p-=C,p<=1){I=!0;break}}if(n[x++]=n[S++],--v===0){I=!0;break}if(M=nb(o[_],n,S,v,0,e),M!==0){for(g=0;g<M;g++)n[x+g]=n[S+g];if(x+=M,S+=M,v-=M,v===0){I=!0;break}}if(n[x++]=o[_++],--p===1){I=!0;break}A--}while(C>=Mu||M>=Mu);if(I)break;A<0&&(A=0),A+=2}if(t=A,t<1&&(t=1),p===1){for(g=0;g<v;g++)n[x+g]=n[S+g];n[x+v]=o[_]}else{if(p===0)throw new Error;for(g=0;g<p;g++)n[x+g]=o[_+g]}}function h(f,p,m,v){var g=0;for(g=0;g<v;g++)o[g]=n[m+g];var _=f+p-1,S=v-1,x=m+v-1,A=0,C=0;if(n[x--]=n[_--],--p===0){for(A=x-(v-1),g=0;g<v;g++)n[A+g]=o[g];return}if(v===1){for(x-=p,_-=p,C=x+1,A=_+1,g=p-1;g>=0;g--)n[C+g]=n[A+g];n[x]=o[S];return}for(var M=t;;){var I=0,D=0,E=!1;do if(e(o[S],n[_])<0){if(n[x--]=n[_--],I++,D=0,--p===0){E=!0;break}}else if(n[x--]=o[S--],D++,I=0,--v===1){E=!0;break}while((I|D)<M);if(E)break;do{if(I=p-ib(o[S],n,f,p,p-1,e),I!==0){for(x-=I,_-=I,p-=I,C=x+1,A=_+1,g=I-1;g>=0;g--)n[C+g]=n[A+g];if(p===0){E=!0;break}}if(n[x--]=o[S--],--v===1){E=!0;break}if(D=v-nb(n[_],o,0,v,v-1,e),D!==0){for(x-=D,S-=D,v-=D,C=x+1,A=S+1,g=0;g<D;g++)n[C+g]=o[A+g];if(v<=1){E=!0;break}}if(n[x--]=n[_--],--p===0){E=!0;break}M--}while(I>=Mu||D>=Mu);if(E)break;M<0&&(M=0),M+=2}if(t=M,t<1&&(t=1),v===1){for(x-=p,_-=p,C=x+1,A=_+1,g=p-1;g>=0;g--)n[C+g]=n[A+g];n[x]=o[S]}else{if(v===0)throw new Error;for(A=x-(v-1),g=0;g<v;g++)n[A+g]=o[g]}}return{mergeRuns:l,forceMergeRuns:u,pushRun:s}}function Kv(n,e,t,i){t||(t=0),i||(i=n.length);var r=i-t;if(!(r<2)){var a=0;if(r<S$){a=uN(n,t,i,e),cN(n,t,i,t+a,e);return}var o=a6e(n,e),s=i6e(r);do{if(a=uN(n,t,i,e),a<s){var l=r;l>s&&(l=s),cN(n,t,t+l,t+a,e),a=l}o.pushRun(t,a),o.mergeRuns(),r-=a,t+=a}while(r!==0);o.forceMergeRuns()}}var Mr=1,gc=2,ml=4,dN=!1;function rb(){dN||(dN=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function hN(n,e){return n.zlevel===e.zlevel?n.z===e.z?n.z2-e.z2:n.z-e.z:n.zlevel-e.zlevel}var o6e=function(){function n(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=hN}return n.prototype.traverse=function(e,t){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(e,t)},n.prototype.getDisplayList=function(e,t){t=t||!1;var i=this._displayList;return(e||!i.length)&&this.updateDisplayList(t),i},n.prototype.updateDisplayList=function(e){this._displayListLen=0;for(var t=this._roots,i=this._displayList,r=0,a=t.length;r<a;r++)this._updateAndAddDisplayable(t[r],null,e);i.length=this._displayListLen,Kv(i,hN)},n.prototype._updateAndAddDisplayable=function(e,t,i){if(!(e.ignore&&!i)){e.beforeUpdate(),e.update(),e.afterUpdate();var r=e.getClipPath();if(e.ignoreClip)t=null;else if(r){t?t=t.slice():t=[];for(var a=r,o=e;a;)a.parent=o,a.updateTransform(),t.push(a),o=a,a=a.getClipPath()}if(e.childrenRef){for(var s=e.childrenRef(),l=0;l<s.length;l++){var u=s[l];e.__dirty&&(u.__dirty|=Mr),this._updateAndAddDisplayable(u,t,i)}e.__dirty=0}else{var c=e;t&&t.length?c.__clipPaths=t:c.__clipPaths&&c.__clipPaths.length>0&&(c.__clipPaths=[]),isNaN(c.z)&&(rb(),c.z=0),isNaN(c.z2)&&(rb(),c.z2=0),isNaN(c.zlevel)&&(rb(),c.zlevel=0),this._displayList[this._displayListLen++]=c}var d=e.getDecalElement&&e.getDecalElement();d&&this._updateAndAddDisplayable(d,t,i);var h=e.getTextGuideLine();h&&this._updateAndAddDisplayable(h,t,i);var f=e.getTextContent();f&&this._updateAndAddDisplayable(f,t,i)}},n.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},n.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,i=e.length;t<i;t++)this.delRoot(e[t]);return}var r=x3(this._roots,e);r>=0&&this._roots.splice(r,1)},n.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},n.prototype.getRoots=function(){return this._roots},n.prototype.dispose=function(){this._displayList=null,this._roots=null},n}();const s6e=o6e;var b$;b$=q3.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(n){return setTimeout(n,16)};const iA=b$;var Zv={linear:function(n){return n},quadraticIn:function(n){return n*n},quadraticOut:function(n){return n*(2-n)},quadraticInOut:function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)},cubicIn:function(n){return n*n*n},cubicOut:function(n){return--n*n*n+1},cubicInOut:function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)},quarticIn:function(n){return n*n*n*n},quarticOut:function(n){return 1- --n*n*n*n},quarticInOut:function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)},quinticIn:function(n){return n*n*n*n*n},quinticOut:function(n){return--n*n*n*n*n+1},quinticInOut:function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)},sinusoidalIn:function(n){return 1-Math.cos(n*Math.PI/2)},sinusoidalOut:function(n){return Math.sin(n*Math.PI/2)},sinusoidalInOut:function(n){return .5*(1-Math.cos(Math.PI*n))},exponentialIn:function(n){return n===0?0:Math.pow(1024,n-1)},exponentialOut:function(n){return n===1?1:1-Math.pow(2,-10*n)},exponentialInOut:function(n){return n===0?0:n===1?1:(n*=2)<1?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)},circularIn:function(n){return 1-Math.sqrt(1-n*n)},circularOut:function(n){return Math.sqrt(1- --n*n)},circularInOut:function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)},elasticIn:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)))},elasticOut:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*n)*Math.sin((n-e)*(2*Math.PI)/i)+1)},elasticInOut:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),(n*=2)<1?-.5*(t*Math.pow(2,10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)):t*Math.pow(2,-10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)*.5+1)},backIn:function(n){var e=1.70158;return n*n*((e+1)*n-e)},backOut:function(n){var e=1.70158;return--n*n*((e+1)*n+e)+1},backInOut:function(n){var e=2.5949095;return(n*=2)<1?.5*(n*n*((e+1)*n-e)):.5*((n-=2)*n*((e+1)*n+e)+2)},bounceIn:function(n){return 1-Zv.bounceOut(1-n)},bounceOut:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},bounceInOut:function(n){return n<.5?Zv.bounceIn(n*2)*.5:Zv.bounceOut(n*2-1)*.5+.5}};const x$=Zv;var Bf=Math.pow,v5=Math.sqrt,zm=1e-8,w$=1e-4,fN=v5(3),zf=1/3,Io=Y8(),da=Y8(),jl=Y8();function i5(n){return n>-zm&&n<zm}function T$(n){return n>zm||n<-zm}function pn(n,e,t,i,r){var a=1-r;return a*a*(a*n+3*r*e)+r*r*(r*i+3*a*t)}function pN(n,e,t,i,r){var a=1-r;return 3*(((e-n)*a+2*(t-e)*r)*a+(i-t)*r*r)}function Gm(n,e,t,i,r,a){var o=i+3*(e-t)-n,s=3*(t-e*2+n),l=3*(e-n),u=n-r,c=s*s-3*o*l,d=s*l-9*o*u,h=l*l-3*s*u,f=0;if(i5(c)&&i5(d))if(i5(s))a[0]=0;else{var p=-l/s;p>=0&&p<=1&&(a[f++]=p)}else{var m=d*d-4*c*h;if(i5(m)){var v=d/c,p=-s/o+v,g=-v/2;p>=0&&p<=1&&(a[f++]=p),g>=0&&g<=1&&(a[f++]=g)}else if(m>0){var _=v5(m),S=c*s+1.5*o*(-d+_),x=c*s+1.5*o*(-d-_);S<0?S=-Bf(-S,zf):S=Bf(S,zf),x<0?x=-Bf(-x,zf):x=Bf(x,zf);var p=(-s-(S+x))/(3*o);p>=0&&p<=1&&(a[f++]=p)}else{var A=(2*c*s-3*o*d)/(2*v5(c*c*c)),C=Math.acos(A)/3,M=v5(c),I=Math.cos(C),p=(-s-2*M*I)/(3*o),g=(-s+M*(I+fN*Math.sin(C)))/(3*o),D=(-s+M*(I-fN*Math.sin(C)))/(3*o);p>=0&&p<=1&&(a[f++]=p),g>=0&&g<=1&&(a[f++]=g),D>=0&&D<=1&&(a[f++]=D)}}return f}function A$(n,e,t,i,r){var a=6*t-12*e+6*n,o=9*e+3*i-3*n-9*t,s=3*e-3*n,l=0;if(i5(o)){if(T$(a)){var u=-s/a;u>=0&&u<=1&&(r[l++]=u)}}else{var c=a*a-4*o*s;if(i5(c))r[0]=-a/(2*o);else if(c>0){var d=v5(c),u=(-a+d)/(2*o),h=(-a-d)/(2*o);u>=0&&u<=1&&(r[l++]=u),h>=0&&h<=1&&(r[l++]=h)}}return l}function E5(n,e,t,i,r,a){var o=(e-n)*r+n,s=(t-e)*r+e,l=(i-t)*r+t,u=(s-o)*r+o,c=(l-s)*r+s,d=(c-u)*r+u;a[0]=n,a[1]=o,a[2]=u,a[3]=d,a[4]=d,a[5]=c,a[6]=l,a[7]=i}function C$(n,e,t,i,r,a,o,s,l,u,c){var d,h=.005,f=1/0,p,m,v,g;Io[0]=l,Io[1]=u;for(var _=0;_<1;_+=.05)da[0]=pn(n,t,r,o,_),da[1]=pn(e,i,a,s,_),v=y8(Io,da),v<f&&(d=_,f=v);f=1/0;for(var S=0;S<32&&!(h<w$);S++)p=d-h,m=d+h,da[0]=pn(n,t,r,o,p),da[1]=pn(e,i,a,s,p),v=y8(da,Io),p>=0&&v<f?(d=p,f=v):(jl[0]=pn(n,t,r,o,m),jl[1]=pn(e,i,a,s,m),g=y8(jl,Io),m<=1&&g<f?(d=m,f=g):h*=.5);return c&&(c[0]=pn(n,t,r,o,d),c[1]=pn(e,i,a,s,d)),v5(f)}function l6e(n,e,t,i,r,a,o,s,l){for(var u=n,c=e,d=0,h=1/l,f=1;f<=l;f++){var p=f*h,m=pn(n,t,r,o,p),v=pn(e,i,a,s,p),g=m-u,_=v-c;d+=Math.sqrt(g*g+_*_),u=m,c=v}return d}function En(n,e,t,i){var r=1-i;return r*(r*n+2*i*e)+i*i*t}function rA(n,e,t,i){return 2*((1-i)*(e-n)+i*(t-e))}function u6e(n,e,t,i,r){var a=n-2*e+t,o=2*(e-n),s=n-i,l=0;if(i5(a)){if(T$(o)){var u=-s/o;u>=0&&u<=1&&(r[l++]=u)}}else{var c=o*o-4*a*s;if(i5(c)){var u=-o/(2*a);u>=0&&u<=1&&(r[l++]=u)}else if(c>0){var d=v5(c),u=(-o+d)/(2*a),h=(-o-d)/(2*a);u>=0&&u<=1&&(r[l++]=u),h>=0&&h<=1&&(r[l++]=h)}}return l}function M$(n,e,t){var i=n+t-2*e;return i===0?.5:(n-e)/i}function xd(n,e,t,i,r){var a=(e-n)*i+n,o=(t-e)*i+e,s=(o-a)*i+a;r[0]=n,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=t}function E$(n,e,t,i,r,a,o,s,l){var u,c=.005,d=1/0;Io[0]=o,Io[1]=s;for(var h=0;h<1;h+=.05){da[0]=En(n,t,r,h),da[1]=En(e,i,a,h);var f=y8(Io,da);f<d&&(u=h,d=f)}d=1/0;for(var p=0;p<32&&!(c<w$);p++){var m=u-c,v=u+c;da[0]=En(n,t,r,m),da[1]=En(e,i,a,m);var f=y8(da,Io);if(m>=0&&f<d)u=m,d=f;else{jl[0]=En(n,t,r,v),jl[1]=En(e,i,a,v);var g=y8(jl,Io);v<=1&&g<d?(u=v,d=g):c*=.5}}return l&&(l[0]=En(n,t,r,u),l[1]=En(e,i,a,u)),v5(d)}function c6e(n,e,t,i,r,a,o){for(var s=n,l=e,u=0,c=1/o,d=1;d<=o;d++){var h=d*c,f=En(n,t,r,h),p=En(e,i,a,h),m=f-s,v=p-l;u+=Math.sqrt(m*m+v*v),s=f,l=p}return u}var d6e=/cubic-bezier\(([0-9,\.e ]+)\)/;function tE(n){var e=n&&d6e.exec(n);if(e){var t=e[1].split(","),i=+Ya(t[0]),r=+Ya(t[1]),a=+Ya(t[2]),o=+Ya(t[3]);if(isNaN(i+r+a+o))return;var s=[];return function(l){return l<=0?0:l>=1?1:Gm(0,i,a,1,l,s)&&pn(0,r,o,1,s[0])}}}var h6e=function(){function n(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||O0,this.ondestroy=e.ondestroy||O0,this.onrestart=e.onrestart||O0,e.easing&&this.setEasing(e.easing)}return n.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var i=this._life,r=e-this._startTime-this._pausedTime,a=r/i;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var l=r%i;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},n.prototype.pause=function(){this._paused=!0},n.prototype.resume=function(){this._paused=!1},n.prototype.setEasing=function(e){this.easing=e,this.easingFunc=Wt(e)?e:x$[e]||tE(e)},n}();const f6e=h6e;var P$=function(){function n(e){this.value=e}return n}(),p6e=function(){function n(){this._len=0}return n.prototype.insert=function(e){var t=new P$(e);return this.insertEntry(t),t},n.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},n.prototype.remove=function(e){var t=e.prev,i=e.next;t?t.next=i:this.head=i,i?i.prev=t:this.tail=t,e.next=e.prev=null,this._len--},n.prototype.len=function(){return this._len},n.prototype.clear=function(){this.head=this.tail=null,this._len=0},n}(),v6e=function(){function n(e){this._list=new p6e,this._maxSize=10,this._map={},this._maxSize=e}return n.prototype.put=function(e,t){var i=this._list,r=this._map,a=null;if(r[e]==null){var o=i.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=i.head;i.remove(l),delete r[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new P$(t),s.key=e,i.insertEntry(s),r[e]=s}return a},n.prototype.get=function(e){var t=this._map[e],i=this._list;if(t!=null)return t!==i.tail&&(i.remove(t),i.insertEntry(t)),t.value},n.prototype.clear=function(){this._list.clear(),this._map={}},n.prototype.len=function(){return this._list.len()},n}();const vh=v6e;var vN={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],olive:[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]};function Ja(n){return n=Math.round(n),n<0?0:n>255?255:n}function m6e(n){return n=Math.round(n),n<0?0:n>360?360:n}function wd(n){return n<0?0:n>1?1:n}function ab(n){var e=n;return e.length&&e.charAt(e.length-1)==="%"?Ja(parseFloat(e)/100*255):Ja(parseInt(e,10))}function _8(n){var e=n;return e.length&&e.charAt(e.length-1)==="%"?wd(parseFloat(e)/100):wd(parseFloat(e))}function ob(n,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?n+(e-n)*t*6:t*2<1?e:t*3<2?n+(e-n)*(2/3-t)*6:n}function r5(n,e,t){return n+(e-n)*t}function Qr(n,e,t,i,r){return n[0]=e,n[1]=t,n[2]=i,n[3]=r,n}function aA(n,e){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n}var R$=new vh(20),Gf=null;function A4(n,e){Gf&&aA(Gf,e),Gf=R$.put(n,Gf||e.slice())}function Dr(n,e){if(n){e=e||[];var t=R$.get(n);if(t)return aA(e,t);n=n+"";var i=n.replace(/ /g,"").toLowerCase();if(i in vN)return aA(e,vN[i]),A4(n,e),e;var r=i.length;if(i.charAt(0)==="#"){if(r===4||r===5){var a=parseInt(i.slice(1,4),16);if(!(a>=0&&a<=4095)){Qr(e,0,0,0,1);return}return Qr(e,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,r===5?parseInt(i.slice(4),16)/15:1),A4(n,e),e}else if(r===7||r===9){var a=parseInt(i.slice(1,7),16);if(!(a>=0&&a<=16777215)){Qr(e,0,0,0,1);return}return Qr(e,(a&16711680)>>16,(a&65280)>>8,a&255,r===9?parseInt(i.slice(7),16)/255:1),A4(n,e),e}return}var o=i.indexOf("("),s=i.indexOf(")");if(o!==-1&&s+1===r){var l=i.substr(0,o),u=i.substr(o+1,s-(o+1)).split(","),c=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?Qr(e,+u[0],+u[1],+u[2],1):Qr(e,0,0,0,1);c=_8(u.pop());case"rgb":if(u.length>=3)return Qr(e,ab(u[0]),ab(u[1]),ab(u[2]),u.length===3?c:_8(u[3])),A4(n,e),e;Qr(e,0,0,0,1);return;case"hsla":if(u.length!==4){Qr(e,0,0,0,1);return}return u[3]=_8(u[3]),oA(u,e),A4(n,e),e;case"hsl":if(u.length!==3){Qr(e,0,0,0,1);return}return oA(u,e),A4(n,e),e;default:return}}Qr(e,0,0,0,1)}}function oA(n,e){var t=(parseFloat(n[0])%360+360)%360/360,i=_8(n[1]),r=_8(n[2]),a=r<=.5?r*(i+1):r+i-r*i,o=r*2-a;return e=e||[],Qr(e,Ja(ob(o,a,t+1/3)*255),Ja(ob(o,a,t)*255),Ja(ob(o,a,t-1/3)*255),1),n.length===4&&(e[3]=n[3]),e}function g6e(n){if(n){var e=n[0]/255,t=n[1]/255,i=n[2]/255,r=Math.min(e,t,i),a=Math.max(e,t,i),o=a-r,s=(a+r)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(a+r):u=o/(2-a-r);var c=((a-e)/6+o/2)/o,d=((a-t)/6+o/2)/o,h=((a-i)/6+o/2)/o;e===a?l=h-d:t===a?l=1/3+c-h:i===a&&(l=2/3+d-c),l<0&&(l+=1),l>1&&(l-=1)}var f=[l*360,u,s];return n[3]!=null&&f.push(n[3]),f}}function sA(n,e){var t=Dr(n);if(t){for(var i=0;i<3;i++)e<0?t[i]=t[i]*(1-e)|0:t[i]=(255-t[i])*e+t[i]|0,t[i]>255?t[i]=255:t[i]<0&&(t[i]=0);return zs(t,t.length===4?"rgba":"rgb")}}function sb(n,e,t){if(!(!(e&&e.length)||!(n>=0&&n<=1))){t=t||[];var i=n*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=e[r],s=e[a],l=i-r;return t[0]=Ja(r5(o[0],s[0],l)),t[1]=Ja(r5(o[1],s[1],l)),t[2]=Ja(r5(o[2],s[2],l)),t[3]=wd(r5(o[3],s[3],l)),t}}function y6e(n,e,t){if(!(!(e&&e.length)||!(n>=0&&n<=1))){var i=n*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=Dr(e[r]),s=Dr(e[a]),l=i-r,u=zs([Ja(r5(o[0],s[0],l)),Ja(r5(o[1],s[1],l)),Ja(r5(o[2],s[2],l)),wd(r5(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:r,rightIndex:a,value:i}:u}}function zc(n,e,t,i){var r=Dr(n);if(n)return r=g6e(r),e!=null&&(r[0]=m6e(e)),t!=null&&(r[1]=_8(t)),i!=null&&(r[2]=_8(i)),zs(oA(r),"rgba")}function Um(n,e){var t=Dr(n);if(t&&e!=null)return t[3]=wd(e),zs(t,"rgba")}function zs(n,e){if(!(!n||!n.length)){var t=n[0]+","+n[1]+","+n[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+n[3]),e+"("+t+")"}}function Vm(n,e){var t=Dr(n);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var mN=new vh(100);function lA(n){if(xt(n)){var e=mN.get(n);return e||(e=sA(n,-.1),mN.put(n,e)),e}else if(gy(n)){var t=I2({},n);return t.colorStops=q2(n.colorStops,function(i){return{offset:i.offset,color:sA(i.color,-.1)}}),t}return n}var Hm=Math.round;function Td(n){var e;if(!n||n==="transparent")n="none";else if(typeof n=="string"&&n.indexOf("rgba")>-1){var t=Dr(n);t&&(n="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:n,opacity:e==null?1:e}}var gN=1e-4;function a5(n){return n<gN&&n>-gN}function Uf(n){return Hm(n*1e3)/1e3}function uA(n){return Hm(n*1e4)/1e4}function _6e(n){return"matrix("+Uf(n[0])+","+Uf(n[1])+","+Uf(n[2])+","+Uf(n[3])+","+uA(n[4])+","+uA(n[5])+")"}var S6e={left:"start",right:"end",center:"middle",middle:"middle"};function b6e(n,e,t){return t==="top"?n+=e/2:t==="bottom"&&(n-=e/2),n}function x6e(n){return n&&(n.shadowBlur||n.shadowOffsetX||n.shadowOffsetY)}function w6e(n){var e=n.style,t=n.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function L$(n){return n&&!!n.image}function T6e(n){return n&&!!n.svgElement}function nE(n){return L$(n)||T6e(n)}function I$(n){return n.type==="linear"}function D$(n){return n.type==="radial"}function N$(n){return n&&(n.type==="linear"||n.type==="radial")}function Sy(n){return"url(#"+n+")"}function k$(n){var e=n.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function F$(n){var e=n.x||0,t=n.y||0,i=(n.rotation||0)*qv,r=a3(n.scaleX,1),a=a3(n.scaleY,1),o=n.skewX||0,s=n.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),i&&l.push("rotate("+i+")"),(r!==1||a!==1)&&l.push("scale("+r+","+a+")"),(o||s)&&l.push("skew("+Hm(o*qv)+"deg, "+Hm(s*qv)+"deg)"),l.join(" ")}var A6e=function(){return q3.hasGlobalWindow&&Wt(window.btoa)?function(n){return window.btoa(unescape(encodeURIComponent(n)))}:typeof Buffer!="undefined"?function(n){return Buffer.from(n).toString("base64")}:function(n){return null}}(),cA=Array.prototype.slice;function Es(n,e,t){return(e-n)*t+n}function lb(n,e,t,i){for(var r=e.length,a=0;a<r;a++)n[a]=Es(e[a],t[a],i);return n}function C6e(n,e,t,i){for(var r=e.length,a=r&&e[0].length,o=0;o<r;o++){n[o]||(n[o]=[]);for(var s=0;s<a;s++)n[o][s]=Es(e[o][s],t[o][s],i)}return n}function Vf(n,e,t,i){for(var r=e.length,a=0;a<r;a++)n[a]=e[a]+t[a]*i;return n}function yN(n,e,t,i){for(var r=e.length,a=r&&e[0].length,o=0;o<r;o++){n[o]||(n[o]=[]);for(var s=0;s<a;s++)n[o][s]=e[o][s]+t[o][s]*i}return n}function M6e(n,e){for(var t=n.length,i=e.length,r=t>i?e:n,a=Math.min(t,i),o=r[a-1]||{color:[0,0,0,0],offset:0},s=a;s<Math.max(t,i);s++)r.push({offset:o.offset,color:o.color.slice()})}function E6e(n,e,t){var i=n,r=e;if(!(!i.push||!r.push)){var a=i.length,o=r.length;if(a!==o){var s=a>o;if(s)i.length=o;else for(var l=a;l<o;l++)i.push(t===1?r[l]:cA.call(r[l]))}for(var u=i[0]&&i[0].length,l=0;l<i.length;l++)if(t===1)isNaN(i[l])&&(i[l]=r[l]);else for(var c=0;c<u;c++)isNaN(i[l][c])&&(i[l][c]=r[l][c])}}function Gc(n){if(ci(n)){var e=n.length;if(ci(n[0])){for(var t=[],i=0;i<e;i++)t.push(cA.call(n[i]));return t}return cA.call(n)}return n}function Jv(n){return n[0]=Math.floor(n[0])||0,n[1]=Math.floor(n[1])||0,n[2]=Math.floor(n[2])||0,n[3]=n[3]==null?1:n[3],"rgba("+n.join(",")+")"}function P6e(n){return ci(n&&n[0])?2:1}var Hf=0,Qv=1,O$=2,yc=3,dA=4,hA=5,_N=6;function SN(n){return n===dA||n===hA}function Wf(n){return n===Qv||n===O$}var Eu=[0,0,0,0],R6e=function(){function n(e){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=e}return n.prototype.isFinished=function(){return this._finished},n.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},n.prototype.needsAnimate=function(){return this.keyframes.length>=1},n.prototype.getAdditiveTrack=function(){return this._additiveTrack},n.prototype.addKeyframe=function(e,t,i){this._needsSort=!0;var r=this.keyframes,a=r.length,o=!1,s=_N,l=t;if(ci(t)){var u=P6e(t);s=u,(u===1&&!Y3(t[0])||u===2&&!Y3(t[0][0]))&&(o=!0)}else if(Y3(t)&&!Sd(t))s=Hf;else if(xt(t))if(!isNaN(+t))s=Hf;else{var c=Dr(t);c&&(l=c,s=yc)}else if(gy(t)){var d=I2({},l);d.colorStops=q2(t.colorStops,function(f){return{offset:f.offset,color:Dr(f.color)}}),I$(t)?s=dA:D$(t)&&(s=hA),l=d}a===0?this.valType=s:(s!==this.valType||s===_N)&&(o=!0),this.discrete=this.discrete||o;var h={time:e,value:l,rawValue:t,percent:0};return i&&(h.easing=i,h.easingFunc=Wt(i)?i:x$[i]||tE(i)),r.push(h),h},n.prototype.prepare=function(e,t){var i=this.keyframes;this._needsSort&&i.sort(function(m,v){return m.time-v.time});for(var r=this.valType,a=i.length,o=i[a-1],s=this.discrete,l=Wf(r),u=SN(r),c=0;c<a;c++){var d=i[c],h=d.value,f=o.value;d.percent=d.time/e,s||(l&&c!==a-1?E6e(h,f,r):u&&M6e(h.colorStops,f.colorStops))}if(!s&&r!==hA&&t&&this.needsAnimate()&&t.needsAnimate()&&r===t.valType&&!t._finished){this._additiveTrack=t;for(var p=i[0].value,c=0;c<a;c++)r===Hf?i[c].additiveValue=i[c].value-p:r===yc?i[c].additiveValue=Vf([],i[c].value,p,-1):Wf(r)&&(i[c].additiveValue=r===Qv?Vf([],i[c].value,p,-1):yN([],i[c].value,p,-1))}},n.prototype.step=function(e,t){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var i=this._additiveTrack!=null,r=i?"additiveValue":"value",a=this.valType,o=this.keyframes,s=o.length,l=this.propName,u=a===yc,c,d=this._lastFr,h=Math.min,f,p;if(s===1)f=p=o[0];else{if(t<0)c=0;else if(t<this._lastFrP){var m=h(d+1,s-1);for(c=m;c>=0&&!(o[c].percent<=t);c--);c=h(c,s-2)}else{for(c=d;c<s&&!(o[c].percent>t);c++);c=h(c-1,s-2)}p=o[c+1],f=o[c]}if(f&&p){this._lastFr=c,this._lastFrP=t;var v=p.percent-f.percent,g=v===0?1:h((t-f.percent)/v,1);p.easingFunc&&(g=p.easingFunc(g));var _=i?this._additiveValue:u?Eu:e[l];if((Wf(a)||u)&&!_&&(_=this._additiveValue=[]),this.discrete)e[l]=g<1?f.rawValue:p.rawValue;else if(Wf(a))a===Qv?lb(_,f[r],p[r],g):C6e(_,f[r],p[r],g);else if(SN(a)){var S=f[r],x=p[r],A=a===dA;e[l]={type:A?"linear":"radial",x:Es(S.x,x.x,g),y:Es(S.y,x.y,g),colorStops:q2(S.colorStops,function(M,I){var D=x.colorStops[I];return{offset:Es(M.offset,D.offset,g),color:Jv(lb([],M.color,D.color,g))}}),global:x.global},A?(e[l].x2=Es(S.x2,x.x2,g),e[l].y2=Es(S.y2,x.y2,g)):e[l].r=Es(S.r,x.r,g)}else if(u)lb(_,f[r],p[r],g),i||(e[l]=Jv(_));else{var C=Es(f[r],p[r],g);i?this._additiveValue=C:e[l]=C}i&&this._addToTarget(e)}}},n.prototype._addToTarget=function(e){var t=this.valType,i=this.propName,r=this._additiveValue;t===Hf?e[i]=e[i]+r:t===yc?(Dr(e[i],Eu),Vf(Eu,Eu,r,1),e[i]=Jv(Eu)):t===Qv?Vf(e[i],e[i],r,1):t===O$&&yN(e[i],e[i],r,1)},n}(),iE=function(){function n(e,t,i,r){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&r){XM("Can' use additive animation on looped animation.");return}this._additiveAnimators=r,this._allowDiscrete=i}return n.prototype.getMaxTime=function(){return this._maxTime},n.prototype.getDelay=function(){return this._delay},n.prototype.getLoop=function(){return this._loop},n.prototype.getTarget=function(){return this._target},n.prototype.changeTarget=function(e){this._target=e},n.prototype.when=function(e,t,i){return this.whenWithKeys(e,t,L3(t),i)},n.prototype.whenWithKeys=function(e,t,i,r){for(var a=this._tracks,o=0;o<i.length;o++){var s=i[o],l=a[s];if(!l){l=a[s]=new R6e(s);var u=void 0,c=this._getAdditiveTrack(s);if(c){var d=c.keyframes,h=d[d.length-1];u=h&&h.value,c.valType===yc&&u&&(u=Jv(u))}else u=this._target[s];if(u==null)continue;e>0&&l.addKeyframe(0,Gc(u),r),this._trackKeys.push(s)}l.addKeyframe(e,Gc(t[s]),r)}return this._maxTime=Math.max(this._maxTime,e),this},n.prototype.pause=function(){this._clip.pause(),this._paused=!0},n.prototype.resume=function(){this._clip.resume(),this._paused=!1},n.prototype.isPaused=function(){return!!this._paused},n.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},n.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,i=0;i<t;i++)e[i].call(this)},n.prototype._abortedCallback=function(){this._setTracksFinished();var e=this.animation,t=this._abortedCbs;if(e&&e.removeClip(this._clip),this._clip=null,t)for(var i=0;i<t.length;i++)t[i].call(this)},n.prototype._setTracksFinished=function(){for(var e=this._tracks,t=this._trackKeys,i=0;i<t.length;i++)e[t[i]].setFinished()},n.prototype._getAdditiveTrack=function(e){var t,i=this._additiveAnimators;if(i)for(var r=0;r<i.length;r++){var a=i[r].getTrack(e);a&&(t=a)}return t},n.prototype.start=function(e){if(!(this._started>0)){this._started=1;for(var t=this,i=[],r=this._maxTime||0,a=0;a<this._trackKeys.length;a++){var o=this._trackKeys[a],s=this._tracks[o],l=this._getAdditiveTrack(o),u=s.keyframes,c=u.length;if(s.prepare(r,l),s.needsAnimate())if(!this._allowDiscrete&&s.discrete){var d=u[c-1];d&&(t._target[s.propName]=d.rawValue),s.setFinished()}else i.push(s)}if(i.length||this._force){var h=new f6e({life:r,loop:this._loop,delay:this._delay||0,onframe:function(f){t._started=2;var p=t._additiveAnimators;if(p){for(var m=!1,v=0;v<p.length;v++)if(p[v]._clip){m=!0;break}m||(t._additiveAnimators=null)}for(var v=0;v<i.length;v++)i[v].step(t._target,f);var g=t._onframeCbs;if(g)for(var v=0;v<g.length;v++)g[v](t._target,f)},ondestroy:function(){t._doneCallback()}});this._clip=h,this.animation&&this.animation.addClip(h),e&&h.setEasing(e)}else this._doneCallback();return this}},n.prototype.stop=function(e){if(this._clip){var t=this._clip;e&&t.onframe(1),this._abortedCallback()}},n.prototype.delay=function(e){return this._delay=e,this},n.prototype.during=function(e){return e&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(e)),this},n.prototype.done=function(e){return e&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(e)),this},n.prototype.aborted=function(e){return e&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(e)),this},n.prototype.getClip=function(){return this._clip},n.prototype.getTrack=function(e){return this._tracks[e]},n.prototype.getTracks=function(){var e=this;return q2(this._trackKeys,function(t){return e._tracks[t]})},n.prototype.stopTracks=function(e,t){if(!e.length||!this._clip)return!0;for(var i=this._tracks,r=this._trackKeys,a=0;a<e.length;a++){var o=i[e[a]];o&&!o.isFinished()&&(t?o.step(this._target,1):this._started===1&&o.step(this._target,0),o.setFinished())}for(var s=!0,a=0;a<r.length;a++)if(!i[r[a]].isFinished()){s=!1;break}return s&&this._abortedCallback(),s},n.prototype.saveTo=function(e,t,i){if(e){t=t||this._trackKeys;for(var r=0;r<t.length;r++){var a=t[r],o=this._tracks[a];if(!(!o||o.isFinished())){var s=o.keyframes,l=s[i?0:s.length-1];l&&(e[a]=Gc(l.rawValue))}}}},n.prototype.__changeFinalValue=function(e,t){t=t||L3(e);for(var i=0;i<t.length;i++){var r=t[i],a=this._tracks[r];if(a){var o=a.keyframes;if(o.length>1){var s=o.pop();a.addKeyframe(s.time,e[r]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},n}();function El(){return new Date().getTime()}var L6e=function(n){o2(e,n);function e(t){var i=n.call(this)||this;return i._running=!1,i._time=0,i._pausedTime=0,i._pauseStart=0,i._paused=!1,t=t||{},i.stage=t.stage||{},i}return e.prototype.addClip=function(t){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},e.prototype.addAnimator=function(t){t.animation=this;var i=t.getClip();i&&this.addClip(i)},e.prototype.removeClip=function(t){if(t.animation){var i=t.prev,r=t.next;i?i.next=r:this._head=r,r?r.prev=i:this._tail=i,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var i=t.getClip();i&&this.removeClip(i),t.animation=null},e.prototype.update=function(t){for(var i=El()-this._pausedTime,r=i-this._time,a=this._head;a;){var o=a.next,s=a.step(i,r);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=i,t||(this.trigger("frame",r),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function i(){t._running&&(iA(i),!t._paused&&t.update())}iA(i)},e.prototype.start=function(){this._running||(this._time=El(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=El(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=El()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var i=t.next;t.prev=t.next=t.animation=null,t=i}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,i){i=i||{},this.start();var r=new iE(t,i.loop);return this.addAnimator(r),r},e}(Ea);const I6e=L6e;var D6e=300,ub=q3.domSupported,cb=function(){var n=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},i=q2(n,function(r){var a=r.replace("mouse","pointer");return t.hasOwnProperty(a)?a:r});return{mouse:n,touch:e,pointer:i}}(),bN={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},xN=!1;function fA(n){var e=n.pointerType;return e==="pen"||e==="touch"}function N6e(n){n.touching=!0,n.touchTimer!=null&&(clearTimeout(n.touchTimer),n.touchTimer=null),n.touchTimer=setTimeout(function(){n.touching=!1,n.touchTimer=null},700)}function db(n){n&&(n.zrByTouch=!0)}function k6e(n,e){return aa(n.dom,new F6e(n,e),!0)}function B$(n,e){for(var t=e,i=!1;t&&t.nodeType!==9&&!(i=t.domBelongToZr||t!==e&&t===n.painterRoot);)t=t.parentNode;return i}var F6e=function(){function n(e,t){this.stopPropagation=O0,this.stopImmediatePropagation=O0,this.preventDefault=O0,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return n}(),Ha={mousedown:function(n){n=aa(this.dom,n),this.__mayPointerCapture=[n.zrX,n.zrY],this.trigger("mousedown",n)},mousemove:function(n){n=aa(this.dom,n);var e=this.__mayPointerCapture;e&&(n.zrX!==e[0]||n.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",n)},mouseup:function(n){n=aa(this.dom,n),this.__togglePointerCapture(!1),this.trigger("mouseup",n)},mouseout:function(n){n=aa(this.dom,n);var e=n.toElement||n.relatedTarget;B$(this,e)||(this.__pointerCapturing&&(n.zrEventControl="no_globalout"),this.trigger("mouseout",n))},wheel:function(n){xN=!0,n=aa(this.dom,n),this.trigger("mousewheel",n)},mousewheel:function(n){xN||(n=aa(this.dom,n),this.trigger("mousewheel",n))},touchstart:function(n){n=aa(this.dom,n),db(n),this.__lastTouchMoment=new Date,this.handler.processGesture(n,"start"),Ha.mousemove.call(this,n),Ha.mousedown.call(this,n)},touchmove:function(n){n=aa(this.dom,n),db(n),this.handler.processGesture(n,"change"),Ha.mousemove.call(this,n)},touchend:function(n){n=aa(this.dom,n),db(n),this.handler.processGesture(n,"end"),Ha.mouseup.call(this,n),+new Date-+this.__lastTouchMoment<D6e&&Ha.click.call(this,n)},pointerdown:function(n){Ha.mousedown.call(this,n)},pointermove:function(n){fA(n)||Ha.mousemove.call(this,n)},pointerup:function(n){Ha.mouseup.call(this,n)},pointerout:function(n){fA(n)||Ha.mouseout.call(this,n)}};ne(["click","dblclick","contextmenu"],function(n){Ha[n]=function(e){e=aa(this.dom,e),this.trigger(n,e)}});var pA={pointermove:function(n){fA(n)||pA.mousemove.call(this,n)},pointerup:function(n){pA.mouseup.call(this,n)},mousemove:function(n){this.trigger("mousemove",n)},mouseup:function(n){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",n),e&&(n.zrEventControl="only_globalout",this.trigger("mouseout",n))}};function O6e(n,e){var t=e.domHandlers;q3.pointerEventsSupported?ne(cb.pointer,function(i){em(e,i,function(r){t[i].call(n,r)})}):(q3.touchEventsSupported&&ne(cb.touch,function(i){em(e,i,function(r){t[i].call(n,r),N6e(e)})}),ne(cb.mouse,function(i){em(e,i,function(r){r=JM(r),e.touching||t[i].call(n,r)})}))}function B6e(n,e){q3.pointerEventsSupported?ne(bN.pointer,t):q3.touchEventsSupported||ne(bN.mouse,t);function t(i){function r(a){a=JM(a),B$(n,a.target)||(a=k6e(n,a),e.domHandlers[i].call(n,a))}em(e,i,r,{capture:!0})}}function em(n,e,t,i){n.mounted[e]=t,n.listenerOpts[e]=i,nA(n.domTarget,e,t,i)}function hb(n){var e=n.mounted;for(var t in e)e.hasOwnProperty(t)&&jse(n.domTarget,t,e[t],n.listenerOpts[t]);n.mounted={}}var wN=function(){function n(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return n}(),z6e=function(n){o2(e,n);function e(t,i){var r=n.call(this)||this;return r.__pointerCapturing=!1,r.dom=t,r.painterRoot=i,r._localHandlerScope=new wN(t,Ha),ub&&(r._globalHandlerScope=new wN(document,pA)),O6e(r,r._localHandlerScope),r}return e.prototype.dispose=function(){hb(this._localHandlerScope),ub&&hb(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,ub&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var i=this._globalHandlerScope;t?B6e(this,i):hb(i)}},e}(Ea);const G6e=z6e;var z$=1;q3.hasGlobalWindow&&(z$=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Wm=z$,vA=.4,mA="#333",gA="#ccc",U6e="#eee",TN=_y,AN=5e-5;function h9(n){return n>AN||n<-AN}var f9=[],C4=[],fb=Ir(),pb=Math.abs,V6e=function(){function n(){}return n.prototype.getLocalTransform=function(e){return n.getLocalTransform(this,e)},n.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},n.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},n.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},n.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},n.prototype.needLocalTransform=function(){return h9(this.rotation)||h9(this.x)||h9(this.y)||h9(this.scaleX-1)||h9(this.scaleY-1)||h9(this.skewX)||h9(this.skewY)},n.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),i=this.transform;if(!(t||e)){i&&(TN(i),this.invTransform=null);return}i=i||Ir(),t?this.getLocalTransform(i):TN(i),e&&(t?Bs(i,e,i):QM(i,e)),this.transform=i,this._resolveGlobalScaleRatio(i)},n.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(f9);var i=f9[0]<0?-1:1,r=f9[1]<0?-1:1,a=((f9[0]-i)*t+i)/f9[0]||0,o=((f9[1]-r)*t+r)/f9[1]||0;e[0]*=a,e[1]*=a,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||Ir(),O7(this.invTransform,e)},n.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},n.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],i=e[2]*e[2]+e[3]*e[3],r=Math.atan2(e[1],e[0]),a=Math.PI/2+r-Math.atan2(e[3],e[2]);i=Math.sqrt(i)*Math.cos(a),t=Math.sqrt(t),this.skewX=a,this.skewY=0,this.rotation=-r,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=i,this.originX=0,this.originY=0}},n.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Ir(),Bs(C4,e.invTransform,t),t=C4);var i=this.originX,r=this.originY;(i||r)&&(fb[4]=i,fb[5]=r,Bs(C4,t,fb),C4[4]-=i,C4[5]-=r,t=C4),this.setLocalTransform(t)}},n.prototype.getGlobalScale=function(e){var t=this.transform;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)},n.prototype.transformCoordToLocal=function(e,t){var i=[e,t],r=this.invTransform;return r&&Vn(i,i,r),i},n.prototype.transformCoordToGlobal=function(e,t){var i=[e,t],r=this.transform;return r&&Vn(i,i,r),i},n.prototype.getLineScale=function(){var e=this.transform;return e&&pb(e[0]-1)>1e-10&&pb(e[3]-1)>1e-10?Math.sqrt(pb(e[0]*e[3]-e[2]*e[1])):1},n.prototype.copyTransform=function(e){G$(this,e)},n.getLocalTransform=function(e,t){t=t||[];var i=e.originX||0,r=e.originY||0,a=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,c=e.x,d=e.y,h=e.skewX?Math.tan(e.skewX):0,f=e.skewY?Math.tan(-e.skewY):0;if(i||r||s||l){var p=i+s,m=r+l;t[4]=-p*a-h*m*o,t[5]=-m*o-f*p*a}else t[4]=t[5]=0;return t[0]=a,t[3]=o,t[1]=f*a,t[2]=h*o,u&&K8(t,t,u),t[4]+=i+c,t[5]+=r+d,t},n.initDefaultProps=function(){var e=n.prototype;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}(),n}(),Zo=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function G$(n,e){for(var t=0;t<Zo.length;t++){var i=Zo[t];n[i]=e[i]}}const Ds=V6e;var CN={};function Nr(n,e){e=e||C5;var t=CN[e];t||(t=CN[e]=new vh(500));var i=t.get(n);return i==null&&(i=M5.measureText(n,e).width,t.put(n,i)),i}function MN(n,e,t,i){var r=Nr(n,e),a=by(e),o=_c(0,r,t),s=gl(0,a,i),l=new g3(o,s,r,a);return l}function mh(n,e,t,i){var r=((n||"")+"").split(` |
|
|
`),a=r.length;if(a===1)return MN(r[0],e,t,i);for(var o=new g3(0,0,0,0),s=0;s<r.length;s++){var l=MN(r[s],e,t,i);s===0?o.copy(l):o.union(l)}return o}function _c(n,e,t){return t==="right"?n-=e:t==="center"&&(n-=e/2),n}function gl(n,e,t){return t==="middle"?n-=e/2:t==="bottom"&&(n-=e),n}function by(n){return Nr("国",n)}function to(n,e){return typeof n=="string"?n.lastIndexOf("%")>=0?parseFloat(n)/100*e:parseFloat(n):n}function jm(n,e,t){var i=e.position||"inside",r=e.distance!=null?e.distance:5,a=t.height,o=t.width,s=a/2,l=t.x,u=t.y,c="left",d="top";if(i instanceof Array)l+=to(i[0],t.width),u+=to(i[1],t.height),c=null,d=null;else switch(i){case"left":l-=r,u+=s,c="right",d="middle";break;case"right":l+=r+o,u+=s,d="middle";break;case"top":l+=o/2,u-=r,c="center",d="bottom";break;case"bottom":l+=o/2,u+=a+r,c="center";break;case"inside":l+=o/2,u+=s,c="center",d="middle";break;case"insideLeft":l+=r,u+=s,d="middle";break;case"insideRight":l+=o-r,u+=s,c="right",d="middle";break;case"insideTop":l+=o/2,u+=r,c="center";break;case"insideBottom":l+=o/2,u+=a-r,c="center",d="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=o-r,u+=r,c="right";break;case"insideBottomLeft":l+=r,u+=a-r,d="bottom";break;case"insideBottomRight":l+=o-r,u+=a-r,c="right",d="bottom";break}return n=n||{},n.x=l,n.y=u,n.align=c,n.verticalAlign=d,n}var vb="__zr_normal__",mb=Zo.concat(["ignore"]),H6e=Yo(Zo,function(n,e){return n[e]=!0,n},{ignore:!1}),M4={},W6e=new g3(0,0,0,0),rE=function(){function n(e){this.id=h$(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return n.prototype._init=function(e){this.attr(e)},n.prototype.drift=function(e,t,i){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var r=this.transform;r||(r=this.transform=[1,0,0,1,0,0]),r[4]+=e,r[5]+=t,this.decomposeTransform(),this.markRedraw()},n.prototype.beforeUpdate=function(){},n.prototype.afterUpdate=function(){},n.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},n.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var i=this.textConfig,r=i.local,a=t.innerTransformable,o=void 0,s=void 0,l=!1;a.parent=r?this:null;var u=!1;if(a.copyTransform(t),i.position!=null){var c=W6e;i.layoutRect?c.copy(i.layoutRect):c.copy(this.getBoundingRect()),r||c.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(M4,i,c):jm(M4,i,c),a.x=M4.x,a.y=M4.y,o=M4.align,s=M4.verticalAlign;var d=i.origin;if(d&&i.rotation!=null){var h=void 0,f=void 0;d==="center"?(h=c.width*.5,f=c.height*.5):(h=to(d[0],c.width),f=to(d[1],c.height)),u=!0,a.originX=-a.x+h+(r?0:c.x),a.originY=-a.y+f+(r?0:c.y)}}i.rotation!=null&&(a.rotation=i.rotation);var p=i.offset;p&&(a.x+=p[0],a.y+=p[1],u||(a.originX=-p[0],a.originY=-p[1]));var m=i.inside==null?typeof i.position=="string"&&i.position.indexOf("inside")>=0:i.inside,v=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),g=void 0,_=void 0,S=void 0;m&&this.canBeInsideText()?(g=i.insideFill,_=i.insideStroke,(g==null||g==="auto")&&(g=this.getInsideTextFill()),(_==null||_==="auto")&&(_=this.getInsideTextStroke(g),S=!0)):(g=i.outsideFill,_=i.outsideStroke,(g==null||g==="auto")&&(g=this.getOutsideFill()),(_==null||_==="auto")&&(_=this.getOutsideStroke(g),S=!0)),g=g||"#000",(g!==v.fill||_!==v.stroke||S!==v.autoStroke||o!==v.align||s!==v.verticalAlign)&&(l=!0,v.fill=g,v.stroke=_,v.autoStroke=S,v.align=o,v.verticalAlign=s,t.setDefaultTextStyle(v)),t.__dirty|=Mr,l&&t.dirtyStyle(!0)}},n.prototype.canBeInsideText=function(){return!0},n.prototype.getInsideTextFill=function(){return"#fff"},n.prototype.getInsideTextStroke=function(e){return"#000"},n.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?gA:mA},n.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),i=typeof t=="string"&&Dr(t);i||(i=[255,255,255,1]);for(var r=i[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)i[o]=i[o]*r+(a?0:255)*(1-r);return i[3]=1,zs(i,"rgba")},n.prototype.traverse=function(e,t){},n.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},I2(this.extra,t)):this[e]=t},n.prototype.hide=function(){this.ignore=!0,this.markRedraw()},n.prototype.show=function(){this.ignore=!1,this.markRedraw()},n.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(Kt(e))for(var i=e,r=L3(i),a=0;a<r.length;a++){var o=r[a];this.attrKV(o,e[o])}return this.markRedraw(),this},n.prototype.saveCurrentToNormalState=function(e){this._innerSaveToNormal(e);for(var t=this._normalState,i=0;i<this.animators.length;i++){var r=this.animators[i],a=r.__fromStateTransition;if(!(r.getLoop()||a&&a!==vb)){var o=r.targetName,s=o?t[o]:t;r.saveTo(s)}}},n.prototype._innerSaveToNormal=function(e){var t=this._normalState;t||(t=this._normalState={}),e.textConfig&&!t.textConfig&&(t.textConfig=this.textConfig),this._savePrimaryToNormal(e,t,mb)},n.prototype._savePrimaryToNormal=function(e,t,i){for(var r=0;r<i.length;r++){var a=i[r];e[a]!=null&&!(a in t)&&(t[a]=this[a])}},n.prototype.hasState=function(){return this.currentStates.length>0},n.prototype.getState=function(e){return this.states[e]},n.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},n.prototype.clearStates=function(e){this.useState(vb,!1,e)},n.prototype.useState=function(e,t,i,r){var a=e===vb,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,l=this.stateTransition;if(!(x3(s,e)>=0&&(t||s.length===1))){var u;if(this.stateProxy&&!a&&(u=this.stateProxy(e)),u||(u=this.states&&this.states[e]),!u&&!a){XM("State "+e+" not exists.");return}a||this.saveCurrentToNormalState(u);var c=!!(u&&u.hoverLayer||r);c&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,u,this._normalState,t,!i&&!this.__inHover&&l&&l.duration>0,l);var d=this._textContent,h=this._textGuide;return d&&d.useState(e,t,i,c),h&&h.useState(e,t,i,c),a?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Mr),u}}},n.prototype.useStates=function(e,t,i){if(!e.length)this.clearStates();else{var r=[],a=this.currentStates,o=e.length,s=o===a.length;if(s){for(var l=0;l<o;l++)if(e[l]!==a[l]){s=!1;break}}if(s)return;for(var l=0;l<o;l++){var u=e[l],c=void 0;this.stateProxy&&(c=this.stateProxy(u,e)),c||(c=this.states[u]),c&&r.push(c)}var d=r[o-1],h=!!(d&&d.hoverLayer||i);h&&this._toggleHoverLayerFlag(!0);var f=this._mergeStates(r),p=this.stateTransition;this.saveCurrentToNormalState(f),this._applyStateObj(e.join(","),f,this._normalState,!1,!t&&!this.__inHover&&p&&p.duration>0,p);var m=this._textContent,v=this._textGuide;m&&m.useStates(e,t,h),v&&v.useStates(e,t,h),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!h&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Mr)}},n.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},n.prototype._updateAnimationTargets=function(){for(var e=0;e<this.animators.length;e++){var t=this.animators[e];t.targetName&&t.changeTarget(this[t.targetName])}},n.prototype.removeState=function(e){var t=x3(this.currentStates,e);if(t>=0){var i=this.currentStates.slice();i.splice(t,1),this.useStates(i)}},n.prototype.replaceState=function(e,t,i){var r=this.currentStates.slice(),a=x3(r,e),o=x3(r,t)>=0;a>=0?o?r.splice(a,1):r[a]=t:i&&!o&&r.push(t),this.useStates(r)},n.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},n.prototype._mergeStates=function(e){for(var t={},i,r=0;r<e.length;r++){var a=e[r];I2(t,a),a.textConfig&&(i=i||{},I2(i,a.textConfig))}return i&&(t.textConfig=i),t},n.prototype._applyStateObj=function(e,t,i,r,a,o){var s=!(t&&r);t&&t.textConfig?(this.textConfig=I2({},r?this.textConfig:i.textConfig),I2(this.textConfig,t.textConfig)):s&&i.textConfig&&(this.textConfig=i.textConfig);for(var l={},u=!1,c=0;c<mb.length;c++){var d=mb[c],h=a&&H6e[d];t&&t[d]!=null?h?(u=!0,l[d]=t[d]):this[d]=t[d]:s&&i[d]!=null&&(h?(u=!0,l[d]=i[d]):this[d]=i[d])}if(!a)for(var c=0;c<this.animators.length;c++){var f=this.animators[c],p=f.targetName;f.getLoop()||f.__changeFinalValue(p?(t||i)[p]:t||i)}u&&this._transitionState(e,l,o)},n.prototype._attachComponent=function(e){if(!(e.__zr&&!e.__hostTarget)&&e!==this){var t=this.__zr;t&&e.addSelfToZr(t),e.__zr=t,e.__hostTarget=this}},n.prototype._detachComponent=function(e){e.__zr&&e.removeSelfFromZr(e.__zr),e.__zr=null,e.__hostTarget=null},n.prototype.getClipPath=function(){return this._clipPath},n.prototype.setClipPath=function(e){this._clipPath&&this._clipPath!==e&&this.removeClipPath(),this._attachComponent(e),this._clipPath=e,this.markRedraw()},n.prototype.removeClipPath=function(){var e=this._clipPath;e&&(this._detachComponent(e),this._clipPath=null,this.markRedraw())},n.prototype.getTextContent=function(){return this._textContent},n.prototype.setTextContent=function(e){var t=this._textContent;t!==e&&(t&&t!==e&&this.removeTextContent(),e.innerTransformable=new Ds,this._attachComponent(e),this._textContent=e,this.markRedraw())},n.prototype.setTextConfig=function(e){this.textConfig||(this.textConfig={}),I2(this.textConfig,e),this.markRedraw()},n.prototype.removeTextConfig=function(){this.textConfig=null,this.markRedraw()},n.prototype.removeTextContent=function(){var e=this._textContent;e&&(e.innerTransformable=null,this._detachComponent(e),this._textContent=null,this._innerTextDefaultStyle=null,this.markRedraw())},n.prototype.getTextGuideLine=function(){return this._textGuide},n.prototype.setTextGuideLine=function(e){this._textGuide&&this._textGuide!==e&&this.removeTextGuideLine(),this._attachComponent(e),this._textGuide=e,this.markRedraw()},n.prototype.removeTextGuideLine=function(){var e=this._textGuide;e&&(this._detachComponent(e),this._textGuide=null,this.markRedraw())},n.prototype.markRedraw=function(){this.__dirty|=Mr;var e=this.__zr;e&&(this.__inHover?e.refreshHover():e.refresh()),this.__hostTarget&&this.__hostTarget.markRedraw()},n.prototype.dirty=function(){this.markRedraw()},n.prototype._toggleHoverLayerFlag=function(e){this.__inHover=e;var t=this._textContent,i=this._textGuide;t&&(t.__inHover=e),i&&(i.__inHover=e)},n.prototype.addSelfToZr=function(e){if(this.__zr!==e){this.__zr=e;var t=this.animators;if(t)for(var i=0;i<t.length;i++)e.animation.addAnimator(t[i]);this._clipPath&&this._clipPath.addSelfToZr(e),this._textContent&&this._textContent.addSelfToZr(e),this._textGuide&&this._textGuide.addSelfToZr(e)}},n.prototype.removeSelfFromZr=function(e){if(this.__zr){this.__zr=null;var t=this.animators;if(t)for(var i=0;i<t.length;i++)e.animation.removeAnimator(t[i]);this._clipPath&&this._clipPath.removeSelfFromZr(e),this._textContent&&this._textContent.removeSelfFromZr(e),this._textGuide&&this._textGuide.removeSelfFromZr(e)}},n.prototype.animate=function(e,t,i){var r=e?this[e]:this,a=new iE(r,t,i);return e&&(a.targetName=e),this.addAnimator(a,e),a},n.prototype.addAnimator=function(e,t){var i=this.__zr,r=this;e.during(function(){r.updateDuringAnimation(t)}).done(function(){var a=r.animators,o=x3(a,e);o>=0&&a.splice(o,1)}),this.animators.push(e),i&&i.animation.addAnimator(e),i&&i.wakeUp()},n.prototype.updateDuringAnimation=function(e){this.markRedraw()},n.prototype.stopAnimation=function(e,t){for(var i=this.animators,r=i.length,a=[],o=0;o<r;o++){var s=i[o];!e||e===s.scope?s.stop(t):a.push(s)}return this.animators=a,this},n.prototype.animateTo=function(e,t,i){gb(this,e,t,i)},n.prototype.animateFrom=function(e,t,i){gb(this,e,t,i,!0)},n.prototype._transitionState=function(e,t,i,r){for(var a=gb(this,t,i,r),o=0;o<a.length;o++)a[o].__fromStateTransition=e},n.prototype.getBoundingRect=function(){return null},n.prototype.getPaintRect=function(){return null},n.initDefaultProps=function(){var e=n.prototype;e.type="element",e.name="",e.ignore=e.silent=e.isGroup=e.draggable=e.dragging=e.ignoreClip=e.__inHover=!1,e.__dirty=Mr;function t(i,r,a,o){Object.defineProperty(e,i,{get:function(){if(!this[r]){var l=this[r]=[];s(this,l)}return this[r]},set:function(l){this[a]=l[0],this[o]=l[1],this[r]=l,s(this,l)}});function s(l,u){Object.defineProperty(u,0,{get:function(){return l[a]},set:function(c){l[a]=c}}),Object.defineProperty(u,1,{get:function(){return l[o]},set:function(c){l[o]=c}})}}Object.defineProperty&&(t("position","_legacyPos","x","y"),t("scale","_legacyScale","scaleX","scaleY"),t("origin","_legacyOrigin","originX","originY"))}(),n}();K0(rE,Ea);K0(rE,Ds);function gb(n,e,t,i,r){t=t||{};var a=[];U$(n,"",n,e,t,i,a,r);var o=a.length,s=!1,l=t.done,u=t.aborted,c=function(){s=!0,o--,o<=0&&(s?l&&l():u&&u())},d=function(){o--,o<=0&&(s?l&&l():u&&u())};o||l&&l(),a.length>0&&t.during&&a[0].during(function(p,m){t.during(m)});for(var h=0;h<a.length;h++){var f=a[h];c&&f.done(c),d&&f.aborted(d),t.force&&f.duration(t.duration),f.start(t.easing)}return a}function yb(n,e,t){for(var i=0;i<t;i++)n[i]=e[i]}function j6e(n){return ci(n[0])}function $6e(n,e,t){if(ci(e[t]))if(ci(n[t])||(n[t]=[]),or(e[t])){var i=e[t].length;n[t].length!==i&&(n[t]=new e[t].constructor(i),yb(n[t],e[t],i))}else{var r=e[t],a=n[t],o=r.length;if(j6e(r))for(var s=r[0].length,l=0;l<o;l++)a[l]?yb(a[l],r[l],s):a[l]=Array.prototype.slice.call(r[l]);else yb(a,r,o);a.length=r.length}else n[t]=e[t]}function q6e(n,e){return n===e||ci(n)&&ci(e)&&X6e(n,e)}function X6e(n,e){var t=n.length;if(t!==e.length)return!1;for(var i=0;i<t;i++)if(n[i]!==e[i])return!1;return!0}function U$(n,e,t,i,r,a,o,s){for(var l=L3(i),u=r.duration,c=r.delay,d=r.additive,h=r.setToFinal,f=!Kt(a),p=n.animators,m=[],v=0;v<l.length;v++){var g=l[v],_=i[g];if(_!=null&&t[g]!=null&&(f||a[g]))if(Kt(_)&&!ci(_)&&!gy(_)){if(e){s||(t[g]=_,n.updateDuringAnimation(e));continue}U$(n,g,t[g],_,r,a&&a[g],o,s)}else m.push(g);else s||(t[g]=_,n.updateDuringAnimation(e),m.push(g))}var S=m.length;if(!d&&S)for(var x=0;x<p.length;x++){var A=p[x];if(A.targetName===e){var C=A.stopTracks(m);if(C){var M=x3(p,A);p.splice(M,1)}}}if(r.force||(m=c1(m,function(P){return!q6e(i[P],t[P])}),S=m.length),S>0||r.force&&!o.length){var I=void 0,D=void 0,E=void 0;if(s){D={},h&&(I={});for(var x=0;x<S;x++){var g=m[x];D[g]=t[g],h?I[g]=i[g]:t[g]=i[g]}}else if(h){E={};for(var x=0;x<S;x++){var g=m[x];E[g]=Gc(t[g]),$6e(t,i,g)}}var A=new iE(t,!1,!1,d?c1(p,function(F){return F.targetName===e}):null);A.targetName=e,r.scope&&(A.scope=r.scope),h&&I&&A.whenWithKeys(0,I,m),E&&A.whenWithKeys(0,E,m),A.whenWithKeys(u==null?500:u,s?D:i,m).delay(c||0),n.addAnimator(A,e),o.push(A)}}const V$=rE;var H$=function(n){o2(e,n);function e(t){var i=n.call(this)||this;return i.isGroup=!0,i._children=[],i.attr(t),i}return e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var i=this._children,r=0;r<i.length;r++)if(i[r].name===t)return i[r]},e.prototype.childCount=function(){return this._children.length},e.prototype.add=function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},e.prototype.addBefore=function(t,i){if(t&&t!==this&&t.parent!==this&&i&&i.parent===this){var r=this._children,a=r.indexOf(i);a>=0&&(r.splice(a,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,i){var r=x3(this._children,t);return r>=0&&this.replaceAt(i,r),this},e.prototype.replaceAt=function(t,i){var r=this._children,a=r[i];if(t&&t!==this&&t.parent!==this&&t!==a){r[i]=t,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var i=this.__zr;i&&i!==t.__zr&&t.addSelfToZr(i),i&&i.refresh()},e.prototype.remove=function(t){var i=this.__zr,r=this._children,a=x3(r,t);return a<0?this:(r.splice(a,1),t.parent=null,i&&t.removeSelfFromZr(i),i&&i.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,i=this.__zr,r=0;r<t.length;r++){var a=t[r];i&&a.removeSelfFromZr(i),a.parent=null}return t.length=0,this},e.prototype.eachChild=function(t,i){for(var r=this._children,a=0;a<r.length;a++){var o=r[a];t.call(i,o,a)}return this},e.prototype.traverse=function(t,i){for(var r=0;r<this._children.length;r++){var a=this._children[r],o=t.call(i,a);a.isGroup&&!o&&a.traverse(t,i)}return this},e.prototype.addSelfToZr=function(t){n.prototype.addSelfToZr.call(this,t);for(var i=0;i<this._children.length;i++){var r=this._children[i];r.addSelfToZr(t)}},e.prototype.removeSelfFromZr=function(t){n.prototype.removeSelfFromZr.call(this,t);for(var i=0;i<this._children.length;i++){var r=this._children[i];r.removeSelfFromZr(t)}},e.prototype.getBoundingRect=function(t){for(var i=new g3(0,0,0,0),r=t||this._children,a=[],o=null,s=0;s<r.length;s++){var l=r[s];if(!(l.ignore||l.invisible)){var u=l.getBoundingRect(),c=l.getLocalTransform(a);c?(g3.applyTransform(i,u,c),o=o||i.clone(),o.union(i)):(o=o||u.clone(),o.union(u))}}return o||i},e}(V$);H$.prototype.type="group";const Qt=H$;/*! |
|
|
* ZRender, a high performance 2d drawing library. |
|
|
* |
|
|
* Copyright (c) 2013, Baidu Inc. |
|
|
* All rights reserved. |
|
|
* |
|
|
* LICENSE |
|
|
* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt |
|
|
*/var tm={},W$={};function Y6e(n){delete W$[n]}function K6e(n){if(!n)return!1;if(typeof n=="string")return Vm(n,1)<vA;if(n.colorStops){for(var e=n.colorStops,t=0,i=e.length,r=0;r<i;r++)t+=Vm(e[r].color,1);return t/=i,t<vA}return!1}var Z6e=function(){function n(e,t,i){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,i=i||{},this.dom=t,this.id=e;var a=new s6e,o=i.renderer||"canvas";tm[o]||(o=L3(tm)[0]),i.useDirtyRect=i.useDirtyRect==null?!1:i.useDirtyRect;var s=new tm[o](t,a,i,e),l=i.ssr||s.ssrOnly;this.storage=a,this.painter=s;var u=!q3.node&&!q3.worker&&!l?new G6e(s.getViewportRoot(),s.root):null,c=i.useCoarsePointer,d=c==null||c==="auto"?q3.touchEventsSupported:!!c,h=44,f;d&&(f=a3(i.pointerSize,h)),this.handler=new n6e(a,s,u,s.root,f),this.animation=new I6e({stage:{update:l?null:function(){return r._flush(!0)}}}),l||this.animation.start()}return n.prototype.add=function(e){this._disposed||!e||(this.storage.addRoot(e),e.addSelfToZr(this),this.refresh())},n.prototype.remove=function(e){this._disposed||!e||(this.storage.delRoot(e),e.removeSelfFromZr(this),this.refresh())},n.prototype.configLayer=function(e,t){this._disposed||(this.painter.configLayer&&this.painter.configLayer(e,t),this.refresh())},n.prototype.setBackgroundColor=function(e){this._disposed||(this.painter.setBackgroundColor&&this.painter.setBackgroundColor(e),this.refresh(),this._backgroundColor=e,this._darkMode=K6e(e))},n.prototype.getBackgroundColor=function(){return this._backgroundColor},n.prototype.setDarkMode=function(e){this._darkMode=e},n.prototype.isDarkMode=function(){return this._darkMode},n.prototype.refreshImmediately=function(e){this._disposed||(e||this.animation.update(!0),this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1)},n.prototype.refresh=function(){this._disposed||(this._needsRefresh=!0,this.animation.start())},n.prototype.flush=function(){this._disposed||this._flush(!1)},n.prototype._flush=function(e){var t,i=El();this._needsRefresh&&(t=!0,this.refreshImmediately(e)),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately());var r=El();t?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:r-i})):this._sleepAfterStill>0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},n.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},n.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},n.prototype.refreshHover=function(){this._needsRefreshHover=!0},n.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},n.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},n.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},n.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},n.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},n.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},n.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},n.prototype.on=function(e,t,i){return this._disposed||this.handler.on(e,t,i),this},n.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},n.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},n.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t<e.length;t++)e[t]instanceof Qt&&e[t].removeSelfFromZr(this);this.storage.delAllRoots(),this.painter.clear()}},n.prototype.dispose=function(){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=!0,Y6e(this.id))},n}();function EN(n,e){var t=new Z6e(h$(),n,e);return W$[t.id]=t,t}function J6e(n,e){tm[n]=e}var yA;function Q6e(n){if(typeof yA=="function")return yA(n)}function e5e(n){yA=n}var PN=1e-4,j$=20;function t5e(n){return n.replace(/^\s+|\s+$/g,"")}function f1(n,e,t,i){var r=e[0],a=e[1],o=t[0],s=t[1],l=a-r,u=s-o;if(l===0)return u===0?o:(o+s)/2;if(i)if(l>0){if(n<=r)return o;if(n>=a)return s}else{if(n>=r)return o;if(n<=a)return s}else{if(n===r)return o;if(n===a)return s}return(n-r)/l*u+o}function mt(n,e){switch(n){case"center":case"middle":n="50%";break;case"left":case"top":n="0%";break;case"right":case"bottom":n="100%";break}return xt(n)?t5e(n).match(/%$/)?parseFloat(n)/100*e:parseFloat(n):n==null?NaN:+n}function P0(n,e,t){return e==null&&(e=10),e=Math.min(Math.max(0,e),j$),n=(+n).toFixed(e),t?n:+n}function ba(n){return n.sort(function(e,t){return e-t}),n}function Bo(n){if(n=+n,isNaN(n))return 0;if(n>1e-14){for(var e=1,t=0;t<15;t++,e*=10)if(Math.round(n*e)/e===n)return t}return n5e(n)}function n5e(n){var e=n.toString().toLowerCase(),t=e.indexOf("e"),i=t>0?+e.slice(t+1):0,r=t>0?t:e.length,a=e.indexOf("."),o=a<0?0:r-1-a;return Math.max(0,o-i)}function $$(n,e){var t=Math.log,i=Math.LN10,r=Math.floor(t(n[1]-n[0])/i),a=Math.round(t(Math.abs(e[1]-e[0]))/i),o=Math.min(Math.max(-r+a,0),20);return isFinite(o)?o:20}function i5e(n,e){var t=Yo(n,function(f,p){return f+(isNaN(p)?0:p)},0);if(t===0)return[];for(var i=Math.pow(10,e),r=q2(n,function(f){return(isNaN(f)?0:f)/t*i*100}),a=i*100,o=q2(r,function(f){return Math.floor(f)}),s=Yo(o,function(f,p){return f+p},0),l=q2(r,function(f,p){return f-o[p]});s<a;){for(var u=Number.NEGATIVE_INFINITY,c=null,d=0,h=l.length;d<h;++d)l[d]>u&&(u=l[d],c=d);++o[c],l[c]=0,++s}return q2(o,function(f){return f/i})}function r5e(n,e){var t=Math.max(Bo(n),Bo(e)),i=n+e;return t>j$?i:P0(i,t)}var RN=9007199254740991;function q$(n){var e=Math.PI*2;return(n%e+e)%e}function Ad(n){return n>-PN&&n<PN}var a5e=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function Jo(n){if(n instanceof Date)return n;if(xt(n)){var e=a5e.exec(n);if(!e)return new Date(NaN);if(e[8]){var t=+e[4]||0;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))}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)}else if(n==null)return new Date(NaN);return new Date(Math.round(n))}function o5e(n){return Math.pow(10,aE(n))}function aE(n){if(n===0)return 0;var e=Math.floor(Math.log(n)/Math.LN10);return n/Math.pow(10,e)>=10&&e++,e}function X$(n,e){var t=aE(n),i=Math.pow(10,t),r=n/i,a;return e?r<1.5?a=1:r<2.5?a=2:r<4?a=3:r<7?a=5:a=10:r<1?a=1:r<2?a=2:r<3?a=3:r<5?a=5:a=10,n=a*i,t>=-20?+n.toFixed(t<0?-t:0):n}function _b(n,e){var t=(n.length-1)*e+1,i=Math.floor(t),r=+n[i-1],a=t-i;return a?r+a*(n[i]-r):r}function LN(n){n.sort(function(l,u){return s(l,u,0)?-1:1});for(var e=-1/0,t=1,i=0;i<n.length;){for(var r=n[i].interval,a=n[i].close,o=0;o<2;o++)r[o]<=e&&(r[o]=e,a[o]=o?1:1-t),e=r[o],t=a[o];r[0]===r[1]&&a[0]*a[1]!==1?n.splice(i,1):i++}return n;function s(l,u,c){return l.interval[c]<u.interval[c]||l.interval[c]===u.interval[c]&&(l.close[c]-u.close[c]===(c?-1:1)||!c&&s(l,u,1))}}function js(n){var e=parseFloat(n);return e==n&&(e!==0||!xt(n)||n.indexOf("x")<=0)?e:NaN}function Y$(n){return!isNaN(js(n))}function K$(){return Math.round(Math.random()*9)}function Z$(n,e){return e===0?n:Z$(e,n%e)}function IN(n,e){return n==null?e:e==null?n:n*e/Z$(n,e)}function l1(n){throw new Error(n)}function DN(n,e,t){return(e-n)*t+n}var J$="series\0",Q$="\0_ec_\0";function T1(n){return n instanceof Array?n:n==null?[]:[n]}function k8(n,e,t){if(n){n[e]=n[e]||{},n.emphasis=n.emphasis||{},n.emphasis[e]=n.emphasis[e]||{};for(var i=0,r=t.length;i<r;i++){var a=t[i];!n.emphasis[e].hasOwnProperty(a)&&n[e].hasOwnProperty(a)&&(n.emphasis[e][a]=n[e][a])}}}var NN=["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"];function B7(n){return Kt(n)&&!j2(n)&&!(n instanceof Date)?n.value:n}function s5e(n){return Kt(n)&&!(n instanceof Array)}function eq(n,e,t){var i=t==="normalMerge",r=t==="replaceMerge",a=t==="replaceAll";n=n||[],e=(e||[]).slice();var o=Rt();ne(e,function(l,u){if(!Kt(l)){e[u]=null;return}});var s=l5e(n,o,t);return(i||r)&&u5e(s,n,o,e),i&&c5e(s,e),i||r?d5e(s,e,r):a&&h5e(s,e),f5e(s),s}function l5e(n,e,t){var i=[];if(t==="replaceAll")return i;for(var r=0;r<n.length;r++){var a=n[r];a&&a.id!=null&&e.set(a.id,r),i.push({existing:t==="replaceMerge"||Cd(a)?null:a,newOption:null,keyInfo:null,brandNew:null})}return i}function u5e(n,e,t,i){ne(i,function(r,a){if(!(!r||r.id==null)){var o=Uc(r.id),s=t.get(o);if(s!=null){var l=n[s];Ri(!l.newOption,'Duplicated option on id "'+o+'".'),l.newOption=r,l.existing=e[s],i[a]=null}}})}function c5e(n,e){ne(e,function(t,i){if(!(!t||t.name==null))for(var r=0;r<n.length;r++){var a=n[r].existing;if(!n[r].newOption&&a&&(a.id==null||t.id==null)&&!Cd(t)&&!Cd(a)&&tq("name",a,t)){n[r].newOption=t,e[i]=null;return}}})}function d5e(n,e,t){ne(e,function(i){if(i){for(var r,a=0;(r=n[a])&&(r.newOption||Cd(r.existing)||r.existing&&i.id!=null&&!tq("id",i,r.existing));)a++;r?(r.newOption=i,r.brandNew=t):n.push({newOption:i,brandNew:t,existing:null,keyInfo:null}),a++}})}function h5e(n,e){ne(e,function(t){n.push({newOption:t,brandNew:!0,existing:null,keyInfo:null})})}function f5e(n){var e=Rt();ne(n,function(t){var i=t.existing;i&&e.set(i.id,t)}),ne(n,function(t){var i=t.newOption;Ri(!i||i.id==null||!e.get(i.id)||e.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&i.id!=null&&e.set(i.id,t),!t.keyInfo&&(t.keyInfo={})}),ne(n,function(t,i){var r=t.existing,a=t.newOption,o=t.keyInfo;if(Kt(a)){if(o.name=a.name!=null?Uc(a.name):r?r.name:J$+i,r)o.id=Uc(r.id);else if(a.id!=null)o.id=Uc(a.id);else{var s=0;do o.id="\0"+o.name+"\0"+s++;while(e.get(o.id))}e.set(o.id,t)}})}function tq(n,e,t){var i=ln(e[n],null),r=ln(t[n],null);return i!=null&&r!=null&&i===r}function Uc(n){return ln(n,"")}function ln(n,e){return n==null?e:xt(n)?n:Y3(n)||YT(n)?n+"":e}function oE(n){var e=n.name;return!!(e&&e.indexOf(J$))}function Cd(n){return n&&n.id!=null&&Uc(n.id).indexOf(Q$)===0}function p5e(n){return Q$+n}function v5e(n,e,t){ne(n,function(i){var r=i.newOption;Kt(r)&&(i.keyInfo.mainType=e,i.keyInfo.subType=m5e(e,r,i.existing,t))})}function m5e(n,e,t,i){var r=e.type?e.type:t?t.subType:i.determineSubType(n,e);return r}function g5e(n,e){var t={},i={};return r(n||[],t),r(e||[],i,t),[a(t),a(i)];function r(o,s,l){for(var u=0,c=o.length;u<c;u++){var d=ln(o[u].seriesId,null);if(d==null)return;for(var h=T1(o[u].dataIndex),f=l&&l[d],p=0,m=h.length;p<m;p++){var v=h[p];f&&f[v]?f[v]=null:(s[d]||(s[d]={}))[v]=1}}}function a(o,s){var l=[];for(var u in o)if(o.hasOwnProperty(u)&&o[u]!=null)if(s)l.push(+u);else{var c=a(o[u],!0);c.length&&l.push({seriesId:u,dataIndex:c})}return l}}function F8(n,e){if(e.dataIndexInside!=null)return e.dataIndexInside;if(e.dataIndex!=null)return j2(e.dataIndex)?q2(e.dataIndex,function(t){return n.indexOfRawIndex(t)}):n.indexOfRawIndex(e.dataIndex);if(e.name!=null)return j2(e.name)?q2(e.name,function(t){return n.indexOfName(t)}):n.indexOfName(e.name)}function G3(){var n="__ec_inner_"+y5e++;return function(e){return e[n]||(e[n]={})}}var y5e=K$();function Vc(n,e,t){var i=sE(e,t),r=i.mainTypeSpecified,a=i.queryOptionMap,o=i.others,s=o,l=t?t.defaultMainType:null;return!r&&l&&a.set(l,{}),a.each(function(u,c){var d=gh(n,c,u,{useDefault:l===c,enableAll:t&&t.enableAll!=null?t.enableAll:!0,enableNone:t&&t.enableNone!=null?t.enableNone:!0});s[c+"Models"]=d.models,s[c+"Model"]=d.models[0]}),s}function sE(n,e){var t;if(xt(n)){var i={};i[n+"Index"]=0,t=i}else t=n;var r=Rt(),a={},o=!1;return ne(t,function(s,l){if(l==="dataIndex"||l==="dataIndexInside"){a[l]=s;return}var u=l.match(/^(\w+)(Index|Id|Name)$/)||[],c=u[1],d=(u[2]||"").toLowerCase();if(!(!c||!d||e&&e.includeMainTypes&&x3(e.includeMainTypes,c)<0)){o=o||!!c;var h=r.get(c)||r.set(c,{});h[d]=s}}),{mainTypeSpecified:o,queryOptionMap:r,others:a}}var q0={useDefault:!0,enableAll:!1,enableNone:!1},_5e={useDefault:!1,enableAll:!0,enableNone:!0};function gh(n,e,t,i){i=i||q0;var r=t.index,a=t.id,o=t.name,s={models:null,specified:r!=null||a!=null||o!=null};if(!s.specified){var l=void 0;return s.models=i.useDefault&&(l=n.getComponent(e))?[l]:[],s}return r==="none"||r===!1?(Ri(i.enableNone,'`"none"` or `false` is not a valid value on index option.'),s.models=[],s):(r==="all"&&(Ri(i.enableAll,'`"all"` is not a valid value on index option.'),r=a=o=null),s.models=n.queryComponents({mainType:e,index:r,id:a,name:o}),s)}function nq(n,e,t){n.setAttribute?n.setAttribute(e,t):n[e]=t}function S5e(n,e){return n.getAttribute?n.getAttribute(e):n[e]}function b5e(n){return n==="auto"?q3.domSupported?"html":"richText":n||"html"}function _A(n,e){var t=Rt(),i=[];return ne(n,function(r){var a=e(r);(t.get(a)||(i.push(a),t.set(a,[]))).push(r)}),{keys:i,buckets:t}}function iq(n,e,t,i,r){var a=e==null||e==="auto";if(i==null)return i;if(Y3(i)){var o=DN(t||0,i,r);return P0(o,a?Math.max(Bo(t||0),Bo(i)):e)}else{if(xt(i))return r<1?t:i;for(var s=[],l=t,u=i,c=Math.max(l?l.length:0,u.length),d=0;d<c;++d){var h=n.getDimensionInfo(d);if(h&&h.type==="ordinal")s[d]=(r<1&&l?l:u)[d];else{var f=l&&l[d]?l[d]:0,p=u[d],o=DN(f,p,r);s[d]=P0(o,a?Math.max(Bo(f),Bo(p)):e)}}return s}}var x5e=".",p9="___EC__COMPONENT__CONTAINER___",rq="___EC__EXTENDED_CLASS___";function zo(n){var e={main:"",sub:""};if(n){var t=n.split(x5e);e.main=t[0]||"",e.sub=t[1]||""}return e}function w5e(n){Ri(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(n),'componentType "'+n+'" illegal')}function T5e(n){return!!(n&&n[rq])}function lE(n,e){n.$constructor=n,n.extend=function(t){var i=this,r;return A5e(i)?r=function(a){o2(o,a);function o(){return a.apply(this,arguments)||this}return o}(i):(r=function(){(t.$constructor||i).apply(this,arguments)},xse(r,this)),I2(r.prototype,t),r[rq]=!0,r.extend=this.extend,r.superCall=E5e,r.superApply=P5e,r.superClass=i,r}}function A5e(n){return Wt(n)&&/^class\s/.test(Function.prototype.toString.call(n))}function aq(n,e){n.extend=e.extend}var C5e=Math.round(Math.random()*10);function M5e(n){var e=["__\0is_clz",C5e++].join("_");n.prototype[e]=!0,n.isInstance=function(t){return!!(t&&t[e])}}function E5e(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return this.superClass.prototype[e].apply(n,t)}function P5e(n,e,t){return this.superClass.prototype[e].apply(n,t)}function xy(n){var e={};n.registerClass=function(i){var r=i.type||i.prototype.type;if(r){w5e(r),i.prototype.type=r;var a=zo(r);if(!a.sub)e[a.main]=i;else if(a.sub!==p9){var o=t(a);o[a.sub]=i}}return i},n.getClass=function(i,r,a){var o=e[i];if(o&&o[p9]&&(o=r?o[r]:null),a&&!o)throw new Error(r?"Component "+i+"."+(r||"")+" is used but not imported.":i+".type should be specified.");return o},n.getClassesByMainType=function(i){var r=zo(i),a=[],o=e[r.main];return o&&o[p9]?ne(o,function(s,l){l!==p9&&a.push(s)}):a.push(o),a},n.hasClass=function(i){var r=zo(i);return!!e[r.main]},n.getAllClassMainTypes=function(){var i=[];return ne(e,function(r,a){i.push(a)}),i},n.hasSubTypes=function(i){var r=zo(i),a=e[r.main];return a&&a[p9]};function t(i){var r=e[i.main];return(!r||!r[p9])&&(r=e[i.main]={},r[p9]=!0),r}}function O8(n,e){for(var t=0;t<n.length;t++)n[t][1]||(n[t][1]=n[t][0]);return e=e||!1,function(i,r,a){for(var o={},s=0;s<n.length;s++){var l=n[s][1];if(!(r&&x3(r,l)>=0||a&&x3(a,l)<0)){var u=i.getShallow(l,e);u!=null&&(o[n[s][0]]=u)}}return o}}var R5e=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],L5e=O8(R5e),I5e=function(){function n(){}return n.prototype.getAreaStyle=function(e,t){return L5e(this,e,t)},n}(),SA=new vh(50);function D5e(n){if(typeof n=="string"){var e=SA.get(n);return e&&e.image}else return n}function uE(n,e,t,i,r){if(n)if(typeof n=="string"){if(e&&e.__zrImageSrc===n||!t)return e;var a=SA.get(n),o={hostEl:t,cb:i,cbPayload:r};return a?(e=a.image,!wy(e)&&a.pending.push(o)):(e=M5.loadImage(n,kN,kN),e.__zrImageSrc=n,SA.put(n,e.__cachedImgObj={image:e,pending:[o]})),e}else return n;else return e}function kN(){var n=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<n.pending.length;e++){var t=n.pending[e],i=t.cb;i&&i(this,t.cbPayload),t.hostEl.dirty()}n.pending.length=0}function wy(n){return n&&n.width&&n.height}var Sb=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;function N5e(n,e,t,i,r,a){if(!t){n.text="",n.isTruncated=!1;return}var o=(e+"").split(` |
|
|
`);a=oq(t,i,r,a);for(var s=!1,l={},u=0,c=o.length;u<c;u++)sq(l,o[u],a),o[u]=l.textLine,s=s||l.isTruncated;n.text=o.join(` |
|
|
`),n.isTruncated=s}function oq(n,e,t,i){i=i||{};var r=I2({},i);r.font=e,t=a3(t,"..."),r.maxIterations=a3(i.maxIterations,2);var a=r.minChar=a3(i.minChar,0);r.cnCharWidth=Nr("国",e);var o=r.ascCharWidth=Nr("a",e);r.placeholder=a3(i.placeholder,"");for(var s=n=Math.max(0,n-1),l=0;l<a&&s>=o;l++)s-=o;var u=Nr(t,e);return u>s&&(t="",u=0),s=n-u,r.ellipsis=t,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=n,r}function sq(n,e,t){var i=t.containerWidth,r=t.font,a=t.contentWidth;if(!i){n.textLine="",n.isTruncated=!1;return}var o=Nr(e,r);if(o<=i){n.textLine=e,n.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=t.maxIterations){e+=t.ellipsis;break}var l=s===0?k5e(e,a,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*a/o):0;e=e.substr(0,l),o=Nr(e,r)}e===""&&(e=t.placeholder),n.textLine=e,n.isTruncated=!0}function k5e(n,e,t,i){for(var r=0,a=0,o=n.length;a<o&&r<e;a++){var s=n.charCodeAt(a);r+=0<=s&&s<=127?t:i}return a}function F5e(n,e){n!=null&&(n+="");var t=e.overflow,i=e.padding,r=e.font,a=t==="truncate",o=by(r),s=a3(e.lineHeight,o),l=!!e.backgroundColor,u=e.lineOverflow==="truncate",c=!1,d=e.width,h;d!=null&&(t==="break"||t==="breakAll")?h=n?lq(n,e.font,d,t==="breakAll",0).lines:[]:h=n?n.split(` |
|
|
`):[];var f=h.length*s,p=a3(e.height,f);if(f>p&&u){var m=Math.floor(p/s);c=c||h.length>m,h=h.slice(0,m)}if(n&&a&&d!=null)for(var v=oq(d,r,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),g={},_=0;_<h.length;_++)sq(g,h[_],v),h[_]=g.textLine,c=c||g.isTruncated;for(var S=p,x=0,_=0;_<h.length;_++)x=Math.max(Nr(h[_],r),x);d==null&&(d=x);var A=x;return i&&(S+=i[0]+i[2],A+=i[1]+i[3],d+=i[1]+i[3]),l&&(A=d),{lines:h,height:p,outerWidth:A,outerHeight:S,lineHeight:s,calculatedLineHeight:o,contentWidth:x,contentHeight:f,width:d,isTruncated:c}}var O5e=function(){function n(){}return n}(),FN=function(){function n(e){this.tokens=[],e&&(this.tokens=e)}return n}(),B5e=function(){function n(){this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.outerWidth=0,this.outerHeight=0,this.lines=[],this.isTruncated=!1}return n}();function z5e(n,e){var t=new B5e;if(n!=null&&(n+=""),!n)return t;for(var i=e.width,r=e.height,a=e.overflow,o=(a==="break"||a==="breakAll")&&i!=null?{width:i,accumWidth:0,breakAll:a==="breakAll"}:null,s=Sb.lastIndex=0,l;(l=Sb.exec(n))!=null;){var u=l.index;u>s&&bb(t,n.substring(s,u),e,o),bb(t,l[2],e,o,l[1]),s=Sb.lastIndex}s<n.length&&bb(t,n.substring(s,n.length),e,o);var c=[],d=0,h=0,f=e.padding,p=a==="truncate",m=e.lineOverflow==="truncate",v={};function g(ie,he,Ee){ie.width=he,ie.lineHeight=Ee,d+=Ee,h=Math.max(h,he)}e:for(var _=0;_<t.lines.length;_++){for(var S=t.lines[_],x=0,A=0,C=0;C<S.tokens.length;C++){var M=S.tokens[C],I=M.styleName&&e.rich[M.styleName]||{},D=M.textPadding=I.padding,E=D?D[1]+D[3]:0,P=M.font=I.font||e.font;M.contentHeight=by(P);var F=a3(I.height,M.contentHeight);if(M.innerHeight=F,D&&(F+=D[0]+D[2]),M.height=F,M.lineHeight=Ho(I.lineHeight,e.lineHeight,F),M.align=I&&I.align||e.align,M.verticalAlign=I&&I.verticalAlign||"middle",m&&r!=null&&d+M.lineHeight>r){var V=t.lines.length;C>0?(S.tokens=S.tokens.slice(0,C),g(S,A,x),t.lines=t.lines.slice(0,_+1)):t.lines=t.lines.slice(0,_),t.isTruncated=t.isTruncated||t.lines.length<V;break e}var G=I.width,W=G==null||G==="auto";if(typeof G=="string"&&G.charAt(G.length-1)==="%")M.percentWidth=G,c.push(M),M.contentWidth=Nr(M.text,P);else{if(W){var Y=I.backgroundColor,Q=Y&&Y.image;Q&&(Q=D5e(Q),wy(Q)&&(M.width=Math.max(M.width,Q.width*F/Q.height)))}var K=p&&i!=null?i-A:null;K!=null&&K<M.width?!W||K<E?(M.text="",M.width=M.contentWidth=0):(N5e(v,M.text,K-E,P,e.ellipsis,{minChar:e.truncateMinChar}),M.text=v.text,t.isTruncated=t.isTruncated||v.isTruncated,M.width=M.contentWidth=Nr(M.text,P)):M.contentWidth=Nr(M.text,P)}M.width+=E,A+=M.width,I&&(x=Math.max(x,M.lineHeight))}g(S,A,x)}t.outerWidth=t.width=a3(i,h),t.outerHeight=t.height=a3(r,d),t.contentHeight=d,t.contentWidth=h,f&&(t.outerWidth+=f[1]+f[3],t.outerHeight+=f[0]+f[2]);for(var _=0;_<c.length;_++){var M=c[_],ae=M.percentWidth;M.width=parseInt(ae,10)/100*t.width}return t}function bb(n,e,t,i,r){var a=e==="",o=r&&t.rich[r]||{},s=n.lines,l=o.font||t.font,u=!1,c,d;if(i){var h=o.padding,f=h?h[1]+h[3]:0;if(o.width!=null&&o.width!=="auto"){var p=to(o.width,i.width)+f;s.length>0&&p+i.accumWidth>i.width&&(c=e.split(` |
|
|
`),u=!0),i.accumWidth=p}else{var m=lq(e,l,i.width,i.breakAll,i.accumWidth);i.accumWidth=m.accumWidth+f,d=m.linesWidths,c=m.lines}}else c=e.split(` |
|
|
`);for(var v=0;v<c.length;v++){var g=c[v],_=new O5e;if(_.styleName=r,_.text=g,_.isLineHolder=!g&&!a,typeof o.width=="number"?_.width=o.width:_.width=d?d[v]:Nr(g,l),!v&&!u){var S=(s[s.length-1]||(s[0]=new FN)).tokens,x=S.length;x===1&&S[0].isLineHolder?S[0]=_:(g||!x||a)&&S.push(_)}else s.push(new FN([_]))}}function G5e(n){var e=n.charCodeAt(0);return e>=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}var U5e=Yo(",&?/;] ".split(""),function(n,e){return n[e]=!0,n},{});function V5e(n){return G5e(n)?!!U5e[n]:!0}function lq(n,e,t,i,r){for(var a=[],o=[],s="",l="",u=0,c=0,d=0;d<n.length;d++){var h=n.charAt(d);if(h===` |
|
|
`){l&&(s+=l,c+=u),a.push(s),o.push(c),s="",l="",u=0,c=0;continue}var f=Nr(h,e),p=i?!1:!V5e(h);if(a.length?c+f>t:r+c+f>t){c?(s||l)&&(p?(s||(s=l,l="",u=0,c=u),a.push(s),o.push(c-u),l+=h,u+=f,s="",c=u):(l&&(s+=l,l="",u=0),a.push(s),o.push(c),s=h,c=f)):p?(a.push(l),o.push(u),l=h,u=f):(a.push(h),o.push(f));continue}c+=f,p?(l+=h,u+=f):(l&&(s+=l,l="",u=0),s+=h)}return!a.length&&!s&&(s=n,l="",u=0),l&&(s+=l),s&&(a.push(s),o.push(c)),a.length===1&&(c+=r),{accumWidth:c,lines:a,linesWidths:o}}var bA="__zr_style_"+Math.round(Math.random()*10),S8={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Ty={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};S8[bA]=!0;var ON=["z","z2","invisible"],H5e=["invisible"],W5e=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype._init=function(t){for(var i=L3(t),r=0;r<i.length;r++){var a=i[r];a==="style"?this.useStyle(t[a]):n.prototype.attrKV.call(this,a,t[a])}this.style||this.useStyle({})},e.prototype.beforeBrush=function(){},e.prototype.afterBrush=function(){},e.prototype.innerBeforeBrush=function(){},e.prototype.innerAfterBrush=function(){},e.prototype.shouldBePainted=function(t,i,r,a){var o=this.transform;if(this.ignore||this.invisible||this.style.opacity===0||this.culling&&j5e(this,t,i)||o&&!o[0]&&!o[3])return!1;if(r&&this.__clipPaths){for(var s=0;s<this.__clipPaths.length;++s)if(this.__clipPaths[s].isZeroArea())return!1}if(a&&this.parent)for(var l=this.parent;l;){if(l.ignore)return!1;l=l.parent}return!0},e.prototype.contain=function(t,i){return this.rectContain(t,i)},e.prototype.traverse=function(t,i){t.call(i,this)},e.prototype.rectContain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();return a.contain(r[0],r[1])},e.prototype.getPaintRect=function(){var t=this._paintRect;if(!this._paintRect||this.__dirty){var i=this.transform,r=this.getBoundingRect(),a=this.style,o=a.shadowBlur||0,s=a.shadowOffsetX||0,l=a.shadowOffsetY||0;t=this._paintRect||(this._paintRect=new g3(0,0,0,0)),i?g3.applyTransform(t,r,i):t.copy(r),(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));var u=this.dirtyRectTolerance;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))}return t},e.prototype.setPrevPaintRect=function(t){t?(this._prevPaintRect=this._prevPaintRect||new g3(0,0,0,0),this._prevPaintRect.copy(t)):this._prevPaintRect=null},e.prototype.getPrevPaintRect=function(){return this._prevPaintRect},e.prototype.animateStyle=function(t){return this.animate("style",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():this.markRedraw()},e.prototype.attrKV=function(t,i){t!=="style"?n.prototype.attrKV.call(this,t,i):this.style?this.setStyle(i):this.useStyle(i)},e.prototype.setStyle=function(t,i){return typeof t=="string"?this.style[t]=i:I2(this.style,t),this.dirtyStyle(),this},e.prototype.dirtyStyle=function(t){t||this.markRedraw(),this.__dirty|=gc,this._rect&&(this._rect=null)},e.prototype.dirty=function(){this.dirtyStyle()},e.prototype.styleChanged=function(){return!!(this.__dirty&gc)},e.prototype.styleUpdated=function(){this.__dirty&=~gc},e.prototype.createStyle=function(t){return yy(S8,t)},e.prototype.useStyle=function(t){t[bA]||(t=this.createStyle(t)),this.__inHover?this.__hoverStyle=t:this.style=t,this.dirtyStyle()},e.prototype.isStyleObject=function(t){return t[bA]},e.prototype._innerSaveToNormal=function(t){n.prototype._innerSaveToNormal.call(this,t);var i=this._normalState;t.style&&!i.style&&(i.style=this._mergeStyle(this.createStyle(),this.style)),this._savePrimaryToNormal(t,i,ON)},e.prototype._applyStateObj=function(t,i,r,a,o,s){n.prototype._applyStateObj.call(this,t,i,r,a,o,s);var l=!(i&&a),u;if(i&&i.style?o?a?u=i.style:(u=this._mergeStyle(this.createStyle(),r.style),this._mergeStyle(u,i.style)):(u=this._mergeStyle(this.createStyle(),a?this.style:r.style),this._mergeStyle(u,i.style)):l&&(u=r.style),u)if(o){var c=this.style;if(this.style=this.createStyle(l?{}:c),l)for(var d=L3(c),h=0;h<d.length;h++){var f=d[h];f in u&&(u[f]=u[f],this.style[f]=c[f])}for(var p=L3(u),h=0;h<p.length;h++){var f=p[h];this.style[f]=this.style[f]}this._transitionState(t,{style:u},s,this.getAnimationStyleProps())}else this.useStyle(u);for(var m=this.__inHover?H5e:ON,h=0;h<m.length;h++){var f=m[h];i&&i[f]!=null?this[f]=i[f]:l&&r[f]!=null&&(this[f]=r[f])}},e.prototype._mergeStates=function(t){for(var i=n.prototype._mergeStates.call(this,t),r,a=0;a<t.length;a++){var o=t[a];o.style&&(r=r||{},this._mergeStyle(r,o.style))}return r&&(i.style=r),i},e.prototype._mergeStyle=function(t,i){return I2(t,i),t},e.prototype.getAnimationStyleProps=function(){return Ty},e.initDefaultProps=function(){var t=e.prototype;t.type="displayable",t.invisible=!1,t.z=0,t.z2=0,t.zlevel=0,t.culling=!1,t.cursor="pointer",t.rectHover=!1,t.incremental=!1,t._rect=null,t.dirtyRectTolerance=0,t.__dirty=Mr|gc}(),e}(V$),xb=new g3(0,0,0,0),wb=new g3(0,0,0,0);function j5e(n,e,t){return xb.copy(n.getBoundingRect()),n.transform&&xb.applyTransform(n.transform),wb.width=e,wb.height=t,!xb.intersect(wb)}const Ca=W5e;var Wi=Math.min,ji=Math.max,Tb=Math.sin,Ab=Math.cos,v9=Math.PI*2,jf=Y8(),$f=Y8(),qf=Y8();function Ay(n,e,t){if(n.length!==0){for(var i=n[0],r=i[0],a=i[0],o=i[1],s=i[1],l=1;l<n.length;l++)i=n[l],r=Wi(r,i[0]),a=ji(a,i[0]),o=Wi(o,i[1]),s=ji(s,i[1]);e[0]=r,e[1]=o,t[0]=a,t[1]=s}}function BN(n,e,t,i,r,a){r[0]=Wi(n,t),r[1]=Wi(e,i),a[0]=ji(n,t),a[1]=ji(e,i)}var zN=[],GN=[];function $5e(n,e,t,i,r,a,o,s,l,u){var c=A$,d=pn,h=c(n,t,r,o,zN);l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0;for(var f=0;f<h;f++){var p=d(n,t,r,o,zN[f]);l[0]=Wi(p,l[0]),u[0]=ji(p,u[0])}h=c(e,i,a,s,GN);for(var f=0;f<h;f++){var m=d(e,i,a,s,GN[f]);l[1]=Wi(m,l[1]),u[1]=ji(m,u[1])}l[0]=Wi(n,l[0]),u[0]=ji(n,u[0]),l[0]=Wi(o,l[0]),u[0]=ji(o,u[0]),l[1]=Wi(e,l[1]),u[1]=ji(e,u[1]),l[1]=Wi(s,l[1]),u[1]=ji(s,u[1])}function q5e(n,e,t,i,r,a,o,s){var l=M$,u=En,c=ji(Wi(l(n,t,r),1),0),d=ji(Wi(l(e,i,a),1),0),h=u(n,t,r,c),f=u(e,i,a,d);o[0]=Wi(n,r,h),o[1]=Wi(e,a,f),s[0]=ji(n,r,h),s[1]=ji(e,a,f)}function X5e(n,e,t,i,r,a,o,s,l){var u=t5,c=n5,d=Math.abs(r-a);if(d%v9<1e-4&&d>1e-4){s[0]=n-t,s[1]=e-i,l[0]=n+t,l[1]=e+i;return}if(jf[0]=Ab(r)*t+n,jf[1]=Tb(r)*i+e,$f[0]=Ab(a)*t+n,$f[1]=Tb(a)*i+e,u(s,jf,$f),c(l,jf,$f),r=r%v9,r<0&&(r=r+v9),a=a%v9,a<0&&(a=a+v9),r>a&&!o?a+=v9:r<a&&o&&(r+=v9),o){var h=a;a=r,r=h}for(var f=0;f<a;f+=Math.PI/2)f>r&&(qf[0]=Ab(f)*t+n,qf[1]=Tb(f)*i+e,u(s,qf,s),c(l,qf,l))}var P1={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},m9=[],g9=[],po=[],T6=[],vo=[],mo=[],Cb=Math.min,Mb=Math.max,y9=Math.cos,_9=Math.sin,gs=Math.abs,xA=Math.PI,U6=xA*2,Eb=typeof Float32Array!="undefined",Pu=[];function Pb(n){var e=Math.round(n/xA*1e8)/1e8;return e%2*xA}function cE(n,e){var t=Pb(n[0]);t<0&&(t+=U6);var i=t-n[0],r=n[1];r+=i,!e&&r-t>=U6?r=t+U6:e&&t-r>=U6?r=t-U6:!e&&t>r?r=t+(U6-Pb(t-r)):e&&t<r&&(r=t-(U6-Pb(r-t))),n[0]=t,n[1]=r}var Qo=function(){function n(e){this.dpr=1,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._len=0,e&&(this._saveData=!1),this._saveData&&(this.data=[])}return n.prototype.increaseVersion=function(){this._version++},n.prototype.getVersion=function(){return this._version},n.prototype.setScale=function(e,t,i){i=i||0,i>0&&(this._ux=gs(i/Wm/e)||0,this._uy=gs(i/Wm/t)||0)},n.prototype.setDPR=function(e){this.dpr=e},n.prototype.setContext=function(e){this._ctx=e},n.prototype.getContext=function(){return this._ctx},n.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},n.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},n.prototype.moveTo=function(e,t){return this._drawPendingPt(),this.addData(P1.M,e,t),this._ctx&&this._ctx.moveTo(e,t),this._x0=e,this._y0=t,this._xi=e,this._yi=t,this},n.prototype.lineTo=function(e,t){var i=gs(e-this._xi),r=gs(t-this._yi),a=i>this._ux||r>this._uy;if(this.addData(P1.L,e,t),this._ctx&&a&&this._ctx.lineTo(e,t),a)this._xi=e,this._yi=t,this._pendingPtDist=0;else{var o=i*i+r*r;o>this._pendingPtDist&&(this._pendingPtX=e,this._pendingPtY=t,this._pendingPtDist=o)}return this},n.prototype.bezierCurveTo=function(e,t,i,r,a,o){return this._drawPendingPt(),this.addData(P1.C,e,t,i,r,a,o),this._ctx&&this._ctx.bezierCurveTo(e,t,i,r,a,o),this._xi=a,this._yi=o,this},n.prototype.quadraticCurveTo=function(e,t,i,r){return this._drawPendingPt(),this.addData(P1.Q,e,t,i,r),this._ctx&&this._ctx.quadraticCurveTo(e,t,i,r),this._xi=i,this._yi=r,this},n.prototype.arc=function(e,t,i,r,a,o){this._drawPendingPt(),Pu[0]=r,Pu[1]=a,cE(Pu,o),r=Pu[0],a=Pu[1];var s=a-r;return this.addData(P1.A,e,t,i,i,r,s,0,o?0:1),this._ctx&&this._ctx.arc(e,t,i,r,a,o),this._xi=y9(a)*i+e,this._yi=_9(a)*i+t,this},n.prototype.arcTo=function(e,t,i,r,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(e,t,i,r,a),this},n.prototype.rect=function(e,t,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.rect(e,t,i,r),this.addData(P1.R,e,t,i,r),this},n.prototype.closePath=function(){this._drawPendingPt(),this.addData(P1.Z);var e=this._ctx,t=this._x0,i=this._y0;return e&&e.closePath(),this._xi=t,this._yi=i,this},n.prototype.fill=function(e){e&&e.fill(),this.toStatic()},n.prototype.stroke=function(e){e&&e.stroke(),this.toStatic()},n.prototype.len=function(){return this._len},n.prototype.setData=function(e){var t=e.length;!(this.data&&this.data.length===t)&&Eb&&(this.data=new Float32Array(t));for(var i=0;i<t;i++)this.data[i]=e[i];this._len=t},n.prototype.appendPath=function(e){e instanceof Array||(e=[e]);for(var t=e.length,i=0,r=this._len,a=0;a<t;a++)i+=e[a].len();Eb&&this.data instanceof Float32Array&&(this.data=new Float32Array(r+i));for(var a=0;a<t;a++)for(var o=e[a].data,s=0;s<o.length;s++)this.data[r++]=o[s];this._len=r},n.prototype.addData=function(e,t,i,r,a,o,s,l,u){if(this._saveData){var c=this.data;this._len+arguments.length>c.length&&(this._expandData(),c=this.data);for(var d=0;d<arguments.length;d++)c[this._len++]=arguments[d]}},n.prototype._drawPendingPt=function(){this._pendingPtDist>0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},n.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var e=[],t=0;t<this._len;t++)e[t]=this.data[t];this.data=e}},n.prototype.toStatic=function(){if(this._saveData){this._drawPendingPt();var e=this.data;e instanceof Array&&(e.length=this._len,Eb&&this._len>11&&(this.data=new Float32Array(e)))}},n.prototype.getBoundingRect=function(){po[0]=po[1]=vo[0]=vo[1]=Number.MAX_VALUE,T6[0]=T6[1]=mo[0]=mo[1]=-Number.MAX_VALUE;var e=this.data,t=0,i=0,r=0,a=0,o;for(o=0;o<this._len;){var s=e[o++],l=o===1;switch(l&&(t=e[o],i=e[o+1],r=t,a=i),s){case P1.M:t=r=e[o++],i=a=e[o++],vo[0]=r,vo[1]=a,mo[0]=r,mo[1]=a;break;case P1.L:BN(t,i,e[o],e[o+1],vo,mo),t=e[o++],i=e[o++];break;case P1.C:$5e(t,i,e[o++],e[o++],e[o++],e[o++],e[o],e[o+1],vo,mo),t=e[o++],i=e[o++];break;case P1.Q:q5e(t,i,e[o++],e[o++],e[o],e[o+1],vo,mo),t=e[o++],i=e[o++];break;case P1.A:var u=e[o++],c=e[o++],d=e[o++],h=e[o++],f=e[o++],p=e[o++]+f;o+=1;var m=!e[o++];l&&(r=y9(f)*d+u,a=_9(f)*h+c),X5e(u,c,d,h,f,p,m,vo,mo),t=y9(p)*d+u,i=_9(p)*h+c;break;case P1.R:r=t=e[o++],a=i=e[o++];var v=e[o++],g=e[o++];BN(r,a,r+v,a+g,vo,mo);break;case P1.Z:t=r,i=a;break}t5(po,po,vo),n5(T6,T6,mo)}return o===0&&(po[0]=po[1]=T6[0]=T6[1]=0),new g3(po[0],po[1],T6[0]-po[0],T6[1]-po[1])},n.prototype._calculateLength=function(){var e=this.data,t=this._len,i=this._ux,r=this._uy,a=0,o=0,s=0,l=0;this._pathSegLen||(this._pathSegLen=[]);for(var u=this._pathSegLen,c=0,d=0,h=0;h<t;){var f=e[h++],p=h===1;p&&(a=e[h],o=e[h+1],s=a,l=o);var m=-1;switch(f){case P1.M:a=s=e[h++],o=l=e[h++];break;case P1.L:{var v=e[h++],g=e[h++],_=v-a,S=g-o;(gs(_)>i||gs(S)>r||h===t-1)&&(m=Math.sqrt(_*_+S*S),a=v,o=g);break}case P1.C:{var x=e[h++],A=e[h++],v=e[h++],g=e[h++],C=e[h++],M=e[h++];m=l6e(a,o,x,A,v,g,C,M,10),a=C,o=M;break}case P1.Q:{var x=e[h++],A=e[h++],v=e[h++],g=e[h++];m=c6e(a,o,x,A,v,g,10),a=v,o=g;break}case P1.A:var I=e[h++],D=e[h++],E=e[h++],P=e[h++],F=e[h++],V=e[h++],G=V+F;h+=1,p&&(s=y9(F)*E+I,l=_9(F)*P+D),m=Mb(E,P)*Cb(U6,Math.abs(V)),a=y9(G)*E+I,o=_9(G)*P+D;break;case P1.R:{s=a=e[h++],l=o=e[h++];var W=e[h++],Y=e[h++];m=W*2+Y*2;break}case P1.Z:{var _=s-a,S=l-o;m=Math.sqrt(_*_+S*S),a=s,o=l;break}}m>=0&&(u[d++]=m,c+=m)}return this._pathLen=c,c},n.prototype.rebuildPath=function(e,t){var i=this.data,r=this._ux,a=this._uy,o=this._len,s,l,u,c,d,h,f=t<1,p,m,v=0,g=0,_,S=0,x,A;if(!(f&&(this._pathSegLen||this._calculateLength(),p=this._pathSegLen,m=this._pathLen,_=t*m,!_)))e:for(var C=0;C<o;){var M=i[C++],I=C===1;switch(I&&(u=i[C],c=i[C+1],s=u,l=c),M!==P1.L&&S>0&&(e.lineTo(x,A),S=0),M){case P1.M:s=u=i[C++],l=c=i[C++],e.moveTo(u,c);break;case P1.L:{d=i[C++],h=i[C++];var D=gs(d-u),E=gs(h-c);if(D>r||E>a){if(f){var P=p[g++];if(v+P>_){var F=(_-v)/P;e.lineTo(u*(1-F)+d*F,c*(1-F)+h*F);break e}v+=P}e.lineTo(d,h),u=d,c=h,S=0}else{var V=D*D+E*E;V>S&&(x=d,A=h,S=V)}break}case P1.C:{var G=i[C++],W=i[C++],Y=i[C++],Q=i[C++],K=i[C++],ae=i[C++];if(f){var P=p[g++];if(v+P>_){var F=(_-v)/P;E5(u,G,Y,K,F,m9),E5(c,W,Q,ae,F,g9),e.bezierCurveTo(m9[1],g9[1],m9[2],g9[2],m9[3],g9[3]);break e}v+=P}e.bezierCurveTo(G,W,Y,Q,K,ae),u=K,c=ae;break}case P1.Q:{var G=i[C++],W=i[C++],Y=i[C++],Q=i[C++];if(f){var P=p[g++];if(v+P>_){var F=(_-v)/P;xd(u,G,Y,F,m9),xd(c,W,Q,F,g9),e.quadraticCurveTo(m9[1],g9[1],m9[2],g9[2]);break e}v+=P}e.quadraticCurveTo(G,W,Y,Q),u=Y,c=Q;break}case P1.A:var ie=i[C++],he=i[C++],Ee=i[C++],je=i[C++],xe=i[C++],Oe=i[C++],f2=i[C++],B2=!i[C++],S2=Ee>je?Ee:je,p2=gs(Ee-je)>.001,X2=xe+Oe,w2=!1;if(f){var P=p[g++];v+P>_&&(X2=xe+Oe*(_-v)/P,w2=!0),v+=P}if(p2&&e.ellipse?e.ellipse(ie,he,Ee,je,f2,xe,X2,B2):e.arc(ie,he,S2,xe,X2,B2),w2)break e;I&&(s=y9(xe)*Ee+ie,l=_9(xe)*je+he),u=y9(X2)*Ee+ie,c=_9(X2)*je+he;break;case P1.R:s=u=i[C],l=c=i[C+1],d=i[C++],h=i[C++];var Ce=i[C++],R2=i[C++];if(f){var P=p[g++];if(v+P>_){var v2=_-v;e.moveTo(d,h),e.lineTo(d+Cb(v2,Ce),h),v2-=Ce,v2>0&&e.lineTo(d+Ce,h+Cb(v2,R2)),v2-=R2,v2>0&&e.lineTo(d+Mb(Ce-v2,0),h+R2),v2-=Ce,v2>0&&e.lineTo(d,h+Mb(R2-v2,0));break e}v+=P}e.rect(d,h,Ce,R2);break;case P1.Z:if(f){var P=p[g++];if(v+P>_){var F=(_-v)/P;e.lineTo(u*(1-F)+s*F,c*(1-F)+l*F);break e}v+=P}e.closePath(),u=s,c=l}}},n.prototype.clone=function(){var e=new n,t=this.data;return e.data=t.slice?t.slice():Array.prototype.slice.call(t),e._len=this._len,e},n.CMD=P1,n.initDefaultProps=function(){var e=n.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),n}();function H6(n,e,t,i,r,a,o){if(r===0)return!1;var s=r,l=0,u=n;if(o>e+s&&o>i+s||o<e-s&&o<i-s||a>n+s&&a>t+s||a<n-s&&a<t-s)return!1;if(n!==t)l=(e-i)/(n-t),u=(n*i-t*e)/(n-t);else return Math.abs(a-n)<=s/2;var c=l*a-o+u,d=c*c/(l*l+1);return d<=s/2*s/2}function Y5e(n,e,t,i,r,a,o,s,l,u,c){if(l===0)return!1;var d=l;if(c>e+d&&c>i+d&&c>a+d&&c>s+d||c<e-d&&c<i-d&&c<a-d&&c<s-d||u>n+d&&u>t+d&&u>r+d&&u>o+d||u<n-d&&u<t-d&&u<r-d&&u<o-d)return!1;var h=C$(n,e,t,i,r,a,o,s,u,c,null);return h<=d/2}function uq(n,e,t,i,r,a,o,s,l){if(o===0)return!1;var u=o;if(l>e+u&&l>i+u&&l>a+u||l<e-u&&l<i-u&&l<a-u||s>n+u&&s>t+u&&s>r+u||s<n-u&&s<t-u&&s<r-u)return!1;var c=E$(n,e,t,i,r,a,s,l,null);return c<=u/2}var UN=Math.PI*2;function Rr(n){return n%=UN,n<0&&(n+=UN),n}var Ru=Math.PI*2;function K5e(n,e,t,i,r,a,o,s,l){if(o===0)return!1;var u=o;s-=n,l-=e;var c=Math.sqrt(s*s+l*l);if(c-u>t||c+u<t)return!1;if(Math.abs(i-r)%Ru<1e-4)return!0;if(a){var d=i;i=Rr(r),r=Rr(d)}else i=Rr(i),r=Rr(r);i>r&&(r+=Ru);var h=Math.atan2(l,s);return h<0&&(h+=Ru),h>=i&&h<=r||h+Ru>=i&&h+Ru<=r}function Ps(n,e,t,i,r,a){if(a>e&&a>i||a<e&&a<i||i===e)return 0;var o=(a-e)/(i-e),s=i<e?1:-1;(o===1||o===0)&&(s=i<e?.5:-.5);var l=o*(t-n)+n;return l===r?1/0:l>r?s:0}var A6=Qo.CMD,S9=Math.PI*2,Z5e=1e-4;function J5e(n,e){return Math.abs(n-e)<Z5e}var Ai=[-1,-1,-1],la=[-1,-1];function Q5e(){var n=la[0];la[0]=la[1],la[1]=n}function e9e(n,e,t,i,r,a,o,s,l,u){if(u>e&&u>i&&u>a&&u>s||u<e&&u<i&&u<a&&u<s)return 0;var c=Gm(e,i,a,s,u,Ai);if(c===0)return 0;for(var d=0,h=-1,f=void 0,p=void 0,m=0;m<c;m++){var v=Ai[m],g=v===0||v===1?.5:1,_=pn(n,t,r,o,v);_<l||(h<0&&(h=A$(e,i,a,s,la),la[1]<la[0]&&h>1&&Q5e(),f=pn(e,i,a,s,la[0]),h>1&&(p=pn(e,i,a,s,la[1]))),h===2?v<la[0]?d+=f<e?g:-g:v<la[1]?d+=p<f?g:-g:d+=s<p?g:-g:v<la[0]?d+=f<e?g:-g:d+=s<f?g:-g)}return d}function t9e(n,e,t,i,r,a,o,s){if(s>e&&s>i&&s>a||s<e&&s<i&&s<a)return 0;var l=u6e(e,i,a,s,Ai);if(l===0)return 0;var u=M$(e,i,a);if(u>=0&&u<=1){for(var c=0,d=En(e,i,a,u),h=0;h<l;h++){var f=Ai[h]===0||Ai[h]===1?.5:1,p=En(n,t,r,Ai[h]);p<o||(Ai[h]<u?c+=d<e?f:-f:c+=a<d?f:-f)}return c}else{var f=Ai[0]===0||Ai[0]===1?.5:1,p=En(n,t,r,Ai[0]);return p<o?0:a<e?f:-f}}function n9e(n,e,t,i,r,a,o,s){if(s-=e,s>t||s<-t)return 0;var l=Math.sqrt(t*t-s*s);Ai[0]=-l,Ai[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=S9-1e-4){i=0,r=S9;var c=a?1:-1;return o>=Ai[0]+n&&o<=Ai[1]+n?c:0}if(i>r){var d=i;i=r,r=d}i<0&&(i+=S9,r+=S9);for(var h=0,f=0;f<2;f++){var p=Ai[f];if(p+n>o){var m=Math.atan2(s,p),c=a?1:-1;m<0&&(m=S9+m),(m>=i&&m<=r||m+S9>=i&&m+S9<=r)&&(m>Math.PI/2&&m<Math.PI*1.5&&(c=-c),h+=c)}}return h}function cq(n,e,t,i,r){for(var a=n.data,o=n.len(),s=0,l=0,u=0,c=0,d=0,h,f,p=0;p<o;){var m=a[p++],v=p===1;switch(m===A6.M&&p>1&&(t||(s+=Ps(l,u,c,d,i,r))),v&&(l=a[p],u=a[p+1],c=l,d=u),m){case A6.M:c=a[p++],d=a[p++],l=c,u=d;break;case A6.L:if(t){if(H6(l,u,a[p],a[p+1],e,i,r))return!0}else s+=Ps(l,u,a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case A6.C:if(t){if(Y5e(l,u,a[p++],a[p++],a[p++],a[p++],a[p],a[p+1],e,i,r))return!0}else s+=e9e(l,u,a[p++],a[p++],a[p++],a[p++],a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case A6.Q:if(t){if(uq(l,u,a[p++],a[p++],a[p],a[p+1],e,i,r))return!0}else s+=t9e(l,u,a[p++],a[p++],a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case A6.A:var g=a[p++],_=a[p++],S=a[p++],x=a[p++],A=a[p++],C=a[p++];p+=1;var M=!!(1-a[p++]);h=Math.cos(A)*S+g,f=Math.sin(A)*x+_,v?(c=h,d=f):s+=Ps(l,u,h,f,i,r);var I=(i-g)*x/S+g;if(t){if(K5e(g,_,x,A,A+C,M,e,I,r))return!0}else s+=n9e(g,_,x,A,A+C,M,I,r);l=Math.cos(A+C)*S+g,u=Math.sin(A+C)*x+_;break;case A6.R:c=l=a[p++],d=u=a[p++];var D=a[p++],E=a[p++];if(h=c+D,f=d+E,t){if(H6(c,d,h,d,e,i,r)||H6(h,d,h,f,e,i,r)||H6(h,f,c,f,e,i,r)||H6(c,f,c,d,e,i,r))return!0}else s+=Ps(h,d,h,f,i,r),s+=Ps(c,f,c,d,i,r);break;case A6.Z:if(t){if(H6(l,u,c,d,e,i,r))return!0}else s+=Ps(l,u,c,d,i,r);l=c,u=d;break}}return!t&&!J5e(u,d)&&(s+=Ps(l,u,c,d,i,r)||0),s!==0}function i9e(n,e,t){return cq(n,0,!1,e,t)}function r9e(n,e,t,i){return cq(n,e,!0,t,i)}var $m=qt({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},S8),a9e={style:qt({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Ty.style)},Rb=Zo.concat(["invisible","culling","z","z2","zlevel","parent"]),o9e=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.update=function(){var t=this;n.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(l){t.buildPath(l,t.shape)}),r.silent=!0;var a=r.style;for(var o in i)a[o]!==i[o]&&(a[o]=i[o]);a.fill=i.fill?i.decal:null,a.decal=null,a.shadowColor=null,i.strokeFirst&&(a.stroke=null);for(var s=0;s<Rb.length;++s)r[Rb[s]]=this[Rb[s]];r.__dirty|=Mr}else this._decalEl&&(this._decalEl=null)},e.prototype.getDecalElement=function(){return this._decalEl},e.prototype._init=function(t){var i=L3(t);this.shape=this.getDefaultShape();var r=this.getDefaultStyle();r&&this.useStyle(r);for(var a=0;a<i.length;a++){var o=i[a],s=t[o];o==="style"?this.style?I2(this.style,s):this.useStyle(s):o==="shape"?I2(this.shape,s):n.prototype.attrKV.call(this,o,s)}this.style||this.useStyle({})},e.prototype.getDefaultStyle=function(){return null},e.prototype.getDefaultShape=function(){return{}},e.prototype.canBeInsideText=function(){return this.hasFill()},e.prototype.getInsideTextFill=function(){var t=this.style.fill;if(t!=="none"){if(xt(t)){var i=Vm(t,0);return i>.5?mA:i>.2?U6e:gA}else if(t)return gA}return mA},e.prototype.getInsideTextStroke=function(t){var i=this.style.fill;if(xt(i)){var r=this.__zr,a=!!(r&&r.isDarkMode()),o=Vm(t,0)<vA;if(a===o)return i}},e.prototype.buildPath=function(t,i,r){},e.prototype.pathUpdated=function(){this.__dirty&=~ml},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new Qo(!1)},e.prototype.hasStroke=function(){var t=this.style,i=t.stroke;return!(i==null||i==="none"||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style,i=t.fill;return i!=null&&i!=="none"},e.prototype.getBoundingRect=function(){var t=this._rect,i=this.style,r=!t;if(r){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&ml)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),t=o.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||r){s.copy(t);var l=i.strokeNoScale?this.getLineScale():1,u=i.lineWidth;if(!this.hasFill()){var c=this.strokeContainThreshold;u=Math.max(u,c==null?4:c)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return t},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect(),o=this.style;if(t=r[0],i=r[1],a.contain(t,i)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),r9e(s,l/u,t,i)))return!0}if(this.hasFill())return i9e(s,t,i)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=ml,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():t==="shape"?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(t,i){t==="shape"?this.setShape(i):n.prototype.attrKV.call(this,t,i)},e.prototype.setShape=function(t,i){var r=this.shape;return r||(r=this.shape={}),typeof t=="string"?r[t]=i:I2(r,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(this.__dirty&ml)},e.prototype.createStyle=function(t){return yy($m,t)},e.prototype._innerSaveToNormal=function(t){n.prototype._innerSaveToNormal.call(this,t);var i=this._normalState;t.shape&&!i.shape&&(i.shape=I2({},this.shape))},e.prototype._applyStateObj=function(t,i,r,a,o,s){n.prototype._applyStateObj.call(this,t,i,r,a,o,s);var l=!(i&&a),u;if(i&&i.shape?o?a?u=i.shape:(u=I2({},r.shape),I2(u,i.shape)):(u=I2({},a?this.shape:r.shape),I2(u,i.shape)):l&&(u=r.shape),u)if(o){this.shape=I2({},this.shape);for(var c={},d=L3(u),h=0;h<d.length;h++){var f=d[h];typeof u[f]=="object"?this.shape[f]=u[f]:c[f]=u[f]}this._transitionState(t,{shape:c},s)}else this.shape=u,this.dirtyShape()},e.prototype._mergeStates=function(t){for(var i=n.prototype._mergeStates.call(this,t),r,a=0;a<t.length;a++){var o=t[a];o.shape&&(r=r||{},this._mergeStyle(r,o.shape))}return r&&(i.shape=r),i},e.prototype.getAnimationStyleProps=function(){return a9e},e.prototype.isZeroArea=function(){return!1},e.extend=function(t){var i=function(a){o2(o,a);function o(s){var l=a.call(this,s)||this;return t.init&&t.init.call(l,s),l}return o.prototype.getDefaultStyle=function(){return Zt(t.style)},o.prototype.getDefaultShape=function(){return Zt(t.shape)},o}(e);for(var r in t)typeof t[r]=="function"&&(i.prototype[r]=t[r]);return i},e.initDefaultProps=function(){var t=e.prototype;t.type="path",t.strokeContainThreshold=5,t.segmentIgnoreThreshold=0,t.subPixelOptimize=!1,t.autoBatch=!1,t.__dirty=Mr|gc|ml}(),e}(Ca);const E3=o9e;var s9e=qt({strokeFirst:!0,font:C5,x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},$m),dq=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.hasStroke=function(){var t=this.style,i=t.stroke;return i!=null&&i!=="none"&&t.lineWidth>0},e.prototype.hasFill=function(){var t=this.style,i=t.fill;return i!=null&&i!=="none"},e.prototype.createStyle=function(t){return yy(s9e,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var i=t.text;i!=null?i+="":i="";var r=mh(i,t.font,t.textAlign,t.textBaseline);if(r.x+=t.x||0,r.y+=t.y||0,this.hasStroke()){var a=t.lineWidth;r.x-=a/2,r.y-=a/2,r.width+=a,r.height+=a}this._rect=r}return this._rect},e.initDefaultProps=function(){var t=e.prototype;t.dirtyRectTolerance=10}(),e}(Ca);dq.prototype.type="tspan";const Md=dq;var l9e=qt({x:0,y:0},S8),u9e={style:qt({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Ty.style)};function c9e(n){return!!(n&&typeof n!="string"&&n.width&&n.height)}var hq=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.createStyle=function(t){return yy(l9e,t)},e.prototype._getSize=function(t){var i=this.style,r=i[t];if(r!=null)return r;var a=c9e(i.image)?i.image:this.__image;if(!a)return 0;var o=t==="width"?"height":"width",s=i[o];return s==null?a[t]:a[t]/a[o]*s},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return u9e},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new g3(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(Ca);hq.prototype.type="image";const $n=hq;function d9e(n,e){var t=e.x,i=e.y,r=e.width,a=e.height,o=e.r,s,l,u,c;r<0&&(t=t+r,r=-r),a<0&&(i=i+a,a=-a),typeof o=="number"?s=l=u=c=o:o instanceof Array?o.length===1?s=l=u=c=o[0]:o.length===2?(s=u=o[0],l=c=o[1]):o.length===3?(s=o[0],l=c=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],c=o[3]):s=l=u=c=0;var d;s+l>r&&(d=s+l,s*=r/d,l*=r/d),u+c>r&&(d=u+c,u*=r/d,c*=r/d),l+u>a&&(d=l+u,l*=a/d,u*=a/d),s+c>a&&(d=s+c,s*=a/d,c*=a/d),n.moveTo(t+s,i),n.lineTo(t+r-l,i),l!==0&&n.arc(t+r-l,i+l,l,-Math.PI/2,0),n.lineTo(t+r,i+a-u),u!==0&&n.arc(t+r-u,i+a-u,u,0,Math.PI/2),n.lineTo(t+c,i+a),c!==0&&n.arc(t+c,i+a-c,c,Math.PI/2,Math.PI),n.lineTo(t,i+s),s!==0&&n.arc(t+s,i+s,s,Math.PI,Math.PI*1.5)}var Pl=Math.round;function fq(n,e,t){if(e){var i=e.x1,r=e.x2,a=e.y1,o=e.y2;n.x1=i,n.x2=r,n.y1=a,n.y2=o;var s=t&&t.lineWidth;return s&&(Pl(i*2)===Pl(r*2)&&(n.x1=n.x2=i8(i,s,!0)),Pl(a*2)===Pl(o*2)&&(n.y1=n.y2=i8(a,s,!0))),n}}function pq(n,e,t){if(e){var i=e.x,r=e.y,a=e.width,o=e.height;n.x=i,n.y=r,n.width=a,n.height=o;var s=t&&t.lineWidth;return s&&(n.x=i8(i,s,!0),n.y=i8(r,s,!0),n.width=Math.max(i8(i+a,s,!1)-n.x,a===0?0:1),n.height=Math.max(i8(r+o,s,!1)-n.y,o===0?0:1)),n}}function i8(n,e,t){if(!e)return n;var i=Pl(n*2);return(i+Pl(e))%2===0?i/2:(i+(t?1:-1))/2}var h9e=function(){function n(){this.x=0,this.y=0,this.width=0,this.height=0}return n}(),f9e={},vq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new h9e},e.prototype.buildPath=function(t,i){var r,a,o,s;if(this.subPixelOptimize){var l=pq(f9e,i,this.style);r=l.x,a=l.y,o=l.width,s=l.height,l.r=i.r,i=l}else r=i.x,a=i.y,o=i.width,s=i.height;i.r?d9e(t,i):t.rect(r,a,o,s)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(E3);vq.prototype.type="rect";const H3=vq;var VN={fill:"#000"},HN=2,p9e={style:qt({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Ty.style)},mq=function(n){o2(e,n);function e(t){var i=n.call(this)||this;return i.type="text",i._children=[],i._defaultStyle=VN,i.attr(t),i}return e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){n.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var t=0;t<this._children.length;t++){var i=this._children[t];i.zlevel=this.zlevel,i.z=this.z,i.z2=this.z2,i.culling=this.culling,i.cursor=this.cursor,i.invisible=this.invisible}},e.prototype.updateTransform=function(){var t=this.innerTransformable;t?(t.updateTransform(),t.transform&&(this.transform=t.transform)):n.prototype.updateTransform.call(this)},e.prototype.getLocalTransform=function(t){var i=this.innerTransformable;return i?i.getLocalTransform(t):n.prototype.getLocalTransform.call(this,t)},e.prototype.getComputedTransform=function(){return this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0)),n.prototype.getComputedTransform.call(this)},e.prototype._updateSubTexts=function(){this._childCursor=0,g9e(this.style),this.style.rich?this._updateRichTexts():this._updatePlainTexts(),this._children.length=this._childCursor,this.styleUpdated()},e.prototype.addSelfToZr=function(t){n.prototype.addSelfToZr.call(this,t);for(var i=0;i<this._children.length;i++)this._children[i].__zr=t},e.prototype.removeSelfFromZr=function(t){n.prototype.removeSelfFromZr.call(this,t);for(var i=0;i<this._children.length;i++)this._children[i].__zr=null},e.prototype.getBoundingRect=function(){if(this.styleChanged()&&this._updateSubTexts(),!this._rect){for(var t=new g3(0,0,0,0),i=this._children,r=[],a=null,o=0;o<i.length;o++){var s=i[o],l=s.getBoundingRect(),u=s.getLocalTransform(r);u?(t.copy(l),t.applyTransform(u),a=a||t.clone(),a.union(t)):(a=a||l.clone(),a.union(l))}this._rect=a||t}return this._rect},e.prototype.setDefaultTextStyle=function(t){this._defaultStyle=t||VN},e.prototype.setTextContent=function(t){},e.prototype._mergeStyle=function(t,i){if(!i)return t;var r=i.rich,a=t.rich||r&&{};return I2(t,i),r&&a?(this._mergeRich(a,r),t.rich=a):a&&(t.rich=a),t},e.prototype._mergeRich=function(t,i){for(var r=L3(i),a=0;a<r.length;a++){var o=r[a];t[o]=t[o]||{},I2(t[o],i[o])}},e.prototype.getAnimationStyleProps=function(){return p9e},e.prototype._getOrCreateChild=function(t){var i=this._children[this._childCursor];return(!i||!(i instanceof t))&&(i=new t),this._children[this._childCursor++]=i,i.__zr=this.__zr,i.parent=this,i},e.prototype._updatePlainTexts=function(){var t=this.style,i=t.font||C5,r=t.padding,a=KN(t),o=F5e(a,t),s=Lb(t),l=!!t.backgroundColor,u=o.outerHeight,c=o.outerWidth,d=o.contentWidth,h=o.lines,f=o.lineHeight,p=this._defaultStyle;this.isTruncated=!!o.isTruncated;var m=t.x||0,v=t.y||0,g=t.align||p.align||"left",_=t.verticalAlign||p.verticalAlign||"top",S=m,x=gl(v,o.contentHeight,_);if(s||r){var A=_c(m,c,g),C=gl(v,u,_);s&&this._renderBackground(t,t,A,C,c,u)}x+=f/2,r&&(S=YN(m,g,r),_==="top"?x+=r[0]:_==="bottom"&&(x-=r[2]));for(var M=0,I=!1,D=XN("fill"in t?t.fill:(I=!0,p.fill)),E=qN("stroke"in t?t.stroke:!l&&(!p.autoStroke||I)?(M=HN,p.stroke):null),P=t.textShadowBlur>0,F=t.width!=null&&(t.overflow==="truncate"||t.overflow==="break"||t.overflow==="breakAll"),V=o.calculatedLineHeight,G=0;G<h.length;G++){var W=this._getOrCreateChild(Md),Y=W.createStyle();W.useStyle(Y),Y.text=h[G],Y.x=S,Y.y=x,g&&(Y.textAlign=g),Y.textBaseline="middle",Y.opacity=t.opacity,Y.strokeFirst=!0,P&&(Y.shadowBlur=t.textShadowBlur||0,Y.shadowColor=t.textShadowColor||"transparent",Y.shadowOffsetX=t.textShadowOffsetX||0,Y.shadowOffsetY=t.textShadowOffsetY||0),Y.stroke=E,Y.fill=D,E&&(Y.lineWidth=t.lineWidth||M,Y.lineDash=t.lineDash,Y.lineDashOffset=t.lineDashOffset||0),Y.font=i,jN(Y,t),x+=f,F&&W.setBoundingRect(new g3(_c(Y.x,d,Y.textAlign),gl(Y.y,V,Y.textBaseline),d,V))}},e.prototype._updateRichTexts=function(){var t=this.style,i=KN(t),r=z5e(i,t),a=r.width,o=r.outerWidth,s=r.outerHeight,l=t.padding,u=t.x||0,c=t.y||0,d=this._defaultStyle,h=t.align||d.align,f=t.verticalAlign||d.verticalAlign;this.isTruncated=!!r.isTruncated;var p=_c(u,o,h),m=gl(c,s,f),v=p,g=m;l&&(v+=l[3],g+=l[0]);var _=v+a;Lb(t)&&this._renderBackground(t,t,p,m,o,s);for(var S=!!t.backgroundColor,x=0;x<r.lines.length;x++){for(var A=r.lines[x],C=A.tokens,M=C.length,I=A.lineHeight,D=A.width,E=0,P=v,F=_,V=M-1,G=void 0;E<M&&(G=C[E],!G.align||G.align==="left");)this._placeToken(G,t,I,g,P,"left",S),D-=G.width,P+=G.width,E++;for(;V>=0&&(G=C[V],G.align==="right");)this._placeToken(G,t,I,g,F,"right",S),D-=G.width,F-=G.width,V--;for(P+=(a-(P-v)-(_-F)-D)/2;E<=V;)G=C[E],this._placeToken(G,t,I,g,P+G.width/2,"center",S),P+=G.width,E++;g+=I}},e.prototype._placeToken=function(t,i,r,a,o,s,l){var u=i.rich[t.styleName]||{};u.text=t.text;var c=t.verticalAlign,d=a+r/2;c==="top"?d=a+t.height/2:c==="bottom"&&(d=a+r-t.height/2);var h=!t.isLineHolder&&Lb(u);h&&this._renderBackground(u,i,s==="right"?o-t.width:s==="center"?o-t.width/2:o,d-t.height/2,t.width,t.height);var f=!!u.backgroundColor,p=t.textPadding;p&&(o=YN(o,s,p),d-=t.height/2-p[0]-t.innerHeight/2);var m=this._getOrCreateChild(Md),v=m.createStyle();m.useStyle(v);var g=this._defaultStyle,_=!1,S=0,x=XN("fill"in u?u.fill:"fill"in i?i.fill:(_=!0,g.fill)),A=qN("stroke"in u?u.stroke:"stroke"in i?i.stroke:!f&&!l&&(!g.autoStroke||_)?(S=HN,g.stroke):null),C=u.textShadowBlur>0||i.textShadowBlur>0;v.text=t.text,v.x=o,v.y=d,C&&(v.shadowBlur=u.textShadowBlur||i.textShadowBlur||0,v.shadowColor=u.textShadowColor||i.textShadowColor||"transparent",v.shadowOffsetX=u.textShadowOffsetX||i.textShadowOffsetX||0,v.shadowOffsetY=u.textShadowOffsetY||i.textShadowOffsetY||0),v.textAlign=s,v.textBaseline="middle",v.font=t.font||C5,v.opacity=Ho(u.opacity,i.opacity,1),jN(v,u),A&&(v.lineWidth=Ho(u.lineWidth,i.lineWidth,S),v.lineDash=a3(u.lineDash,i.lineDash),v.lineDashOffset=i.lineDashOffset||0,v.stroke=A),x&&(v.fill=x);var M=t.contentWidth,I=t.contentHeight;m.setBoundingRect(new g3(_c(v.x,M,v.textAlign),gl(v.y,I,v.textBaseline),M,I))},e.prototype._renderBackground=function(t,i,r,a,o,s){var l=t.backgroundColor,u=t.borderWidth,c=t.borderColor,d=l&&l.image,h=l&&!d,f=t.borderRadius,p=this,m,v;if(h||t.lineHeight||u&&c){m=this._getOrCreateChild(H3),m.useStyle(m.createStyle()),m.style.fill=null;var g=m.shape;g.x=r,g.y=a,g.width=o,g.height=s,g.r=f,m.dirtyShape()}if(h){var _=m.style;_.fill=l||null,_.fillOpacity=a3(t.fillOpacity,1)}else if(d){v=this._getOrCreateChild($n),v.onload=function(){p.dirtyStyle()};var S=v.style;S.image=l.image,S.x=r,S.y=a,S.width=o,S.height=s}if(u&&c){var _=m.style;_.lineWidth=u,_.stroke=c,_.strokeOpacity=a3(t.strokeOpacity,1),_.lineDash=t.borderDash,_.lineDashOffset=t.borderDashOffset||0,m.strokeContainThreshold=0,m.hasFill()&&m.hasStroke()&&(_.strokeFirst=!0,_.lineWidth*=2)}var x=(m||v).style;x.shadowBlur=t.shadowBlur||0,x.shadowColor=t.shadowColor||"transparent",x.shadowOffsetX=t.shadowOffsetX||0,x.shadowOffsetY=t.shadowOffsetY||0,x.opacity=Ho(t.opacity,i.opacity,1)},e.makeFont=function(t){var i="";return yq(t)&&(i=[t.fontStyle,t.fontWeight,gq(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),i&&Ya(i)||t.textFont||t.font},e}(Ca),v9e={left:!0,right:1,center:1},m9e={top:1,bottom:1,middle:1},WN=["fontStyle","fontWeight","fontSize","fontFamily"];function gq(n){return typeof n=="string"&&(n.indexOf("px")!==-1||n.indexOf("rem")!==-1||n.indexOf("em")!==-1)?n:isNaN(+n)?jM+"px":n+"px"}function jN(n,e){for(var t=0;t<WN.length;t++){var i=WN[t],r=e[i];r!=null&&(n[i]=r)}}function yq(n){return n.fontSize!=null||n.fontFamily||n.fontWeight}function g9e(n){return $N(n),ne(n.rich,$N),n}function $N(n){if(n){n.font=mq.makeFont(n);var e=n.align;e==="middle"&&(e="center"),n.align=e==null||v9e[e]?e:"left";var t=n.verticalAlign;t==="center"&&(t="middle"),n.verticalAlign=t==null||m9e[t]?t:"top";var i=n.padding;i&&(n.padding=ZM(n.padding))}}function qN(n,e){return n==null||e<=0||n==="transparent"||n==="none"?null:n.image||n.colorStops?"#000":n}function XN(n){return n==null||n==="none"?null:n.image||n.colorStops?"#000":n}function YN(n,e,t){return e==="right"?n-t[1]:e==="center"?n+t[3]/2-t[1]/2:n+t[3]}function KN(n){var e=n.text;return e!=null&&(e+=""),e}function Lb(n){return!!(n.backgroundColor||n.lineHeight||n.borderWidth&&n.borderColor)}const X3=mq;var t3=G3(),wA=function(n,e,t,i){if(i){var r=t3(i);r.dataIndex=t,r.dataType=e,r.seriesIndex=n,r.ssrType="chart",i.type==="group"&&i.traverse(function(a){var o=t3(a);o.seriesIndex=n,o.dataIndex=t,o.dataType=e,o.ssrType="chart"})}},ZN=1,JN={},_q=G3(),dE=G3(),hE=0,yh=1,Cy=2,Li=["emphasis","blur","select"],Ed=["normal","emphasis","blur","select"],z7=10,y9e=9,b8="highlight",nm="downplay",Hc="select",im="unselect",Wc="toggleSelect";function E4(n){return n!=null&&n!=="none"}function My(n,e,t){n.onHoverStateChange&&(n.hoverState||0)!==t&&n.onHoverStateChange(e),n.hoverState=t}function Sq(n){My(n,"emphasis",Cy)}function bq(n){n.hoverState===Cy&&My(n,"normal",hE)}function fE(n){My(n,"blur",yh)}function xq(n){n.hoverState===yh&&My(n,"normal",hE)}function _9e(n){n.selected=!0}function S9e(n){n.selected=!1}function QN(n,e,t){e(n,t)}function t6(n,e,t){QN(n,e,t),n.isGroup&&n.traverse(function(i){QN(i,e,t)})}function qm(n,e){switch(e){case"emphasis":n.hoverState=Cy;break;case"normal":n.hoverState=hE;break;case"blur":n.hoverState=yh;break;case"select":n.selected=!0}}function b9e(n,e,t,i){for(var r=n.style,a={},o=0;o<e.length;o++){var s=e[o],l=r[s];a[s]=l==null?i&&i[s]:l}for(var o=0;o<n.animators.length;o++){var u=n.animators[o];u.__fromStateTransition&&u.__fromStateTransition.indexOf(t)<0&&u.targetName==="style"&&u.saveTo(a,e)}return a}function x9e(n,e,t,i){var r=t&&x3(t,"select")>=0,a=!1;if(n instanceof E3){var o=_q(n),s=r&&o.selectFill||o.normalFill,l=r&&o.selectStroke||o.normalStroke;if(E4(s)||E4(l)){i=i||{};var u=i.style||{};u.fill==="inherit"?(a=!0,i=I2({},i),u=I2({},u),u.fill=s):!E4(u.fill)&&E4(s)?(a=!0,i=I2({},i),u=I2({},u),u.fill=lA(s)):!E4(u.stroke)&&E4(l)&&(a||(i=I2({},i),u=I2({},u)),u.stroke=lA(l)),i.style=u}}if(i&&i.z2==null){a||(i=I2({},i));var c=n.z2EmphasisLift;i.z2=n.z2+(c!=null?c:z7)}return i}function w9e(n,e,t){if(t&&t.z2==null){t=I2({},t);var i=n.z2SelectLift;t.z2=n.z2+(i!=null?i:y9e)}return t}function T9e(n,e,t){var i=x3(n.currentStates,e)>=0,r=n.style.opacity,a=i?null:b9e(n,["opacity"],e,{opacity:1});t=t||{};var o=t.style||{};return o.opacity==null&&(t=I2({},t),o=I2({opacity:i?r:a.opacity*.1},o),t.style=o),t}function Ib(n,e){var t=this.states[n];if(this.style){if(n==="emphasis")return x9e(this,n,e,t);if(n==="blur")return T9e(this,n,t);if(n==="select")return w9e(this,n,t)}return t}function B8(n){n.stateProxy=Ib;var e=n.getTextContent(),t=n.getTextGuideLine();e&&(e.stateProxy=Ib),t&&(t.stateProxy=Ib)}function ek(n,e){!Cq(n,e)&&!n.__highByOuter&&t6(n,Sq)}function tk(n,e){!Cq(n,e)&&!n.__highByOuter&&t6(n,bq)}function $s(n,e){n.__highByOuter|=1<<(e||0),t6(n,Sq)}function qs(n,e){!(n.__highByOuter&=~(1<<(e||0)))&&t6(n,bq)}function wq(n){t6(n,fE)}function pE(n){t6(n,xq)}function Tq(n){t6(n,_9e)}function Aq(n){t6(n,S9e)}function Cq(n,e){return n.__highDownSilentOnTouch&&e.zrByTouch}function Mq(n){var e=n.getModel(),t=[],i=[];e.eachComponent(function(r,a){var o=dE(a),s=r==="series",l=s?n.getViewOfSeriesModel(a):n.getViewOfComponentModel(a);!s&&i.push(l),o.isBlured&&(l.group.traverse(function(u){xq(u)}),s&&t.push(a)),o.isBlured=!1}),ne(i,function(r){r&&r.toggleBlurSeries&&r.toggleBlurSeries(t,!1,e)})}function TA(n,e,t,i){var r=i.getModel();t=t||"coordinateSystem";function a(u,c){for(var d=0;d<c.length;d++){var h=u.getItemGraphicEl(c[d]);h&&pE(h)}}if(n!=null&&!(!e||e==="none")){var o=r.getSeriesByIndex(n),s=o.coordinateSystem;s&&s.master&&(s=s.master);var l=[];r.eachSeries(function(u){var c=o===u,d=u.coordinateSystem;d&&d.master&&(d=d.master);var h=d&&s?d===s:c;if(!(t==="series"&&!c||t==="coordinateSystem"&&!h||e==="series"&&c)){var f=i.getViewOfSeriesModel(u);if(f.group.traverse(function(v){v.__highByOuter&&c&&e==="self"||fE(v)}),ci(e))a(u.getData(),e);else if(Kt(e))for(var p=L3(e),m=0;m<p.length;m++)a(u.getData(p[m]),e[p[m]]);l.push(u),dE(u).isBlured=!0}}),r.eachComponent(function(u,c){if(u!=="series"){var d=i.getViewOfComponentModel(c);d&&d.toggleBlurSeries&&d.toggleBlurSeries(l,!0,r)}})}}function AA(n,e,t){if(!(n==null||e==null)){var i=t.getModel().getComponent(n,e);if(i){dE(i).isBlured=!0;var r=t.getViewOfComponentModel(i);!r||!r.focusBlurEnabled||r.group.traverse(function(a){fE(a)})}}}function A9e(n,e,t){var i=n.seriesIndex,r=n.getData(e.dataType);if(r){var a=F8(r,e);a=(j2(a)?a[0]:a)||0;var o=r.getItemGraphicEl(a);if(!o)for(var s=r.count(),l=0;!o&&l<s;)o=r.getItemGraphicEl(l++);if(o){var u=t3(o);TA(i,u.focus,u.blurScope,t)}else{var c=n.get(["emphasis","focus"]),d=n.get(["emphasis","blurScope"]);c!=null&&TA(i,c,d,t)}}}function vE(n,e,t,i){var r={focusSelf:!1,dispatchers:null};if(n==null||n==="series"||e==null||t==null)return r;var a=i.getModel().getComponent(n,e);if(!a)return r;var o=i.getViewOfComponentModel(a);if(!o||!o.findHighDownDispatchers)return r;for(var s=o.findHighDownDispatchers(t),l,u=0;u<s.length;u++)if(t3(s[u]).focus==="self"){l=!0;break}return{focusSelf:l,dispatchers:s}}function C9e(n,e,t){var i=t3(n),r=vE(i.componentMainType,i.componentIndex,i.componentHighDownName,t),a=r.dispatchers,o=r.focusSelf;a?(o&&AA(i.componentMainType,i.componentIndex,t),ne(a,function(s){return ek(s,e)})):(TA(i.seriesIndex,i.focus,i.blurScope,t),i.focus==="self"&&AA(i.componentMainType,i.componentIndex,t),ek(n,e))}function M9e(n,e,t){Mq(t);var i=t3(n),r=vE(i.componentMainType,i.componentIndex,i.componentHighDownName,t).dispatchers;r?ne(r,function(a){return tk(a,e)}):tk(n,e)}function E9e(n,e,t){if(MA(e)){var i=e.dataType,r=n.getData(i),a=F8(r,e);j2(a)||(a=[a]),n[e.type===Wc?"toggleSelect":e.type===Hc?"select":"unselect"](a,i)}}function nk(n){var e=n.getAllData();ne(e,function(t){var i=t.data,r=t.type;i.eachItemGraphicEl(function(a,o){n.isSelected(o,r)?Tq(a):Aq(a)})})}function P9e(n){var e=[];return n.eachSeries(function(t){var i=t.getAllData();ne(i,function(r){r.data;var a=r.type,o=t.getSelectedDataIndices();if(o.length>0){var s={dataIndex:o,seriesIndex:t.seriesIndex};a!=null&&(s.dataType=a),e.push(s)}})}),e}function x8(n,e,t){r8(n,!0),t6(n,B8),CA(n,e,t)}function R9e(n){r8(n,!1)}function g0(n,e,t,i){i?R9e(n):x8(n,e,t)}function CA(n,e,t){var i=t3(n);e!=null?(i.focus=e,i.blurScope=t):i.focus&&(i.focus=null)}var ik=["emphasis","blur","select"],L9e={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Wn(n,e,t,i){t=t||"itemStyle";for(var r=0;r<ik.length;r++){var a=ik[r],o=e.getModel([a,t]),s=n.ensureState(a);s.style=i?i(o):o[L9e[t]]()}}function r8(n,e){var t=e===!1,i=n;n.highDownSilentOnTouch&&(i.__highDownSilentOnTouch=n.highDownSilentOnTouch),(!t||i.__highDownDispatcher)&&(i.__highByOuter=i.__highByOuter||0,i.__highDownDispatcher=!t)}function Pd(n){return!!(n&&n.__highDownDispatcher)}function I9e(n,e,t){var i=t3(n);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=t}function D9e(n){var e=JN[n];return e==null&&ZN<=32&&(e=JN[n]=ZN++),e}function MA(n){var e=n.type;return e===Hc||e===im||e===Wc}function rk(n){var e=n.type;return e===b8||e===nm}function N9e(n){var e=_q(n);e.normalFill=n.style.fill,e.normalStroke=n.style.stroke;var t=n.states.select||{};e.selectFill=t.style&&t.style.fill||null,e.selectStroke=t.style&&t.style.stroke||null}var P4=Qo.CMD,k9e=[[],[],[]],ak=Math.sqrt,F9e=Math.atan2;function Eq(n,e){if(e){var t=n.data,i=n.len(),r,a,o,s,l,u,c=P4.M,d=P4.C,h=P4.L,f=P4.R,p=P4.A,m=P4.Q;for(o=0,s=0;o<i;){switch(r=t[o++],s=o,a=0,r){case c:a=1;break;case h:a=1;break;case d:a=3;break;case m:a=2;break;case p:var v=e[4],g=e[5],_=ak(e[0]*e[0]+e[1]*e[1]),S=ak(e[2]*e[2]+e[3]*e[3]),x=F9e(-e[1]/S,e[0]/_);t[o]*=_,t[o++]+=v,t[o]*=S,t[o++]+=g,t[o++]*=_,t[o++]*=S,t[o++]+=x,t[o++]+=x,o+=2,s=o;break;case f:u[0]=t[o++],u[1]=t[o++],Vn(u,u,e),t[s++]=u[0],t[s++]=u[1],u[0]+=t[o++],u[1]+=t[o++],Vn(u,u,e),t[s++]=u[0],t[s++]=u[1]}for(l=0;l<a;l++){var A=k9e[l];A[0]=t[o++],A[1]=t[o++],Vn(A,A,e),t[s++]=A[0],t[s++]=A[1]}}n.increaseVersion()}}var Db=Math.sqrt,Xf=Math.sin,Yf=Math.cos,Lu=Math.PI;function ok(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function EA(n,e){return(n[0]*e[0]+n[1]*e[1])/(ok(n)*ok(e))}function sk(n,e){return(n[0]*e[1]<n[1]*e[0]?-1:1)*Math.acos(EA(n,e))}function lk(n,e,t,i,r,a,o,s,l,u,c){var d=l*(Lu/180),h=Yf(d)*(n-t)/2+Xf(d)*(e-i)/2,f=-1*Xf(d)*(n-t)/2+Yf(d)*(e-i)/2,p=h*h/(o*o)+f*f/(s*s);p>1&&(o*=Db(p),s*=Db(p));var m=(r===a?-1:1)*Db((o*o*(s*s)-o*o*(f*f)-s*s*(h*h))/(o*o*(f*f)+s*s*(h*h)))||0,v=m*o*f/s,g=m*-s*h/o,_=(n+t)/2+Yf(d)*v-Xf(d)*g,S=(e+i)/2+Xf(d)*v+Yf(d)*g,x=sk([1,0],[(h-v)/o,(f-g)/s]),A=[(h-v)/o,(f-g)/s],C=[(-1*h-v)/o,(-1*f-g)/s],M=sk(A,C);if(EA(A,C)<=-1&&(M=Lu),EA(A,C)>=1&&(M=0),M<0){var I=Math.round(M/Lu*1e6)/1e6;M=Lu*2+I%2*Lu}c.addData(u,_,S,o,s,x,M,d,a)}var O9e=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,B9e=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function z9e(n){var e=new Qo;if(!n)return e;var t=0,i=0,r=t,a=i,o,s=Qo.CMD,l=n.match(O9e);if(!l)return e;for(var u=0;u<l.length;u++){for(var c=l[u],d=c.charAt(0),h=void 0,f=c.match(B9e)||[],p=f.length,m=0;m<p;m++)f[m]=parseFloat(f[m]);for(var v=0;v<p;){var g=void 0,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0,M=void 0,I=t,D=i,E=void 0,P=void 0;switch(d){case"l":t+=f[v++],i+=f[v++],h=s.L,e.addData(h,t,i);break;case"L":t=f[v++],i=f[v++],h=s.L,e.addData(h,t,i);break;case"m":t+=f[v++],i+=f[v++],h=s.M,e.addData(h,t,i),r=t,a=i,d="l";break;case"M":t=f[v++],i=f[v++],h=s.M,e.addData(h,t,i),r=t,a=i,d="L";break;case"h":t+=f[v++],h=s.L,e.addData(h,t,i);break;case"H":t=f[v++],h=s.L,e.addData(h,t,i);break;case"v":i+=f[v++],h=s.L,e.addData(h,t,i);break;case"V":i=f[v++],h=s.L,e.addData(h,t,i);break;case"C":h=s.C,e.addData(h,f[v++],f[v++],f[v++],f[v++],f[v++],f[v++]),t=f[v-2],i=f[v-1];break;case"c":h=s.C,e.addData(h,f[v++]+t,f[v++]+i,f[v++]+t,f[v++]+i,f[v++]+t,f[v++]+i),t+=f[v-2],i+=f[v-1];break;case"S":g=t,_=i,E=e.len(),P=e.data,o===s.C&&(g+=t-P[E-4],_+=i-P[E-3]),h=s.C,I=f[v++],D=f[v++],t=f[v++],i=f[v++],e.addData(h,g,_,I,D,t,i);break;case"s":g=t,_=i,E=e.len(),P=e.data,o===s.C&&(g+=t-P[E-4],_+=i-P[E-3]),h=s.C,I=t+f[v++],D=i+f[v++],t+=f[v++],i+=f[v++],e.addData(h,g,_,I,D,t,i);break;case"Q":I=f[v++],D=f[v++],t=f[v++],i=f[v++],h=s.Q,e.addData(h,I,D,t,i);break;case"q":I=f[v++]+t,D=f[v++]+i,t+=f[v++],i+=f[v++],h=s.Q,e.addData(h,I,D,t,i);break;case"T":g=t,_=i,E=e.len(),P=e.data,o===s.Q&&(g+=t-P[E-4],_+=i-P[E-3]),t=f[v++],i=f[v++],h=s.Q,e.addData(h,g,_,t,i);break;case"t":g=t,_=i,E=e.len(),P=e.data,o===s.Q&&(g+=t-P[E-4],_+=i-P[E-3]),t+=f[v++],i+=f[v++],h=s.Q,e.addData(h,g,_,t,i);break;case"A":S=f[v++],x=f[v++],A=f[v++],C=f[v++],M=f[v++],I=t,D=i,t=f[v++],i=f[v++],h=s.A,lk(I,D,t,i,C,M,S,x,A,h,e);break;case"a":S=f[v++],x=f[v++],A=f[v++],C=f[v++],M=f[v++],I=t,D=i,t+=f[v++],i+=f[v++],h=s.A,lk(I,D,t,i,C,M,S,x,A,h,e);break}}(d==="z"||d==="Z")&&(h=s.Z,e.addData(h),t=r,i=a),o=h}return e.toStatic(),e}var Pq=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.applyTransform=function(t){},e}(E3);function Rq(n){return n.setData!=null}function Lq(n,e){var t=z9e(n),i=I2({},e);return i.buildPath=function(r){if(Rq(r)){r.setData(t.data);var a=r.getContext();a&&r.rebuildPath(a,1)}else{var a=r;t.rebuildPath(a,1)}},i.applyTransform=function(r){Eq(t,r),this.dirtyShape()},i}function Iq(n,e){return new Pq(Lq(n,e))}function G9e(n,e){var t=Lq(n,e),i=function(r){o2(a,r);function a(o){var s=r.call(this,o)||this;return s.applyTransform=t.applyTransform,s.buildPath=t.buildPath,s}return a}(Pq);return i}function U9e(n,e){for(var t=[],i=n.length,r=0;r<i;r++){var a=n[r];t.push(a.getUpdatedPathProxy(!0))}var o=new E3(e);return o.createPathProxy(),o.buildPath=function(s){if(Rq(s)){s.appendPath(t);var l=s.getContext();l&&s.rebuildPath(l,1)}},o}function mE(n,e){e=e||{};var t=new E3;return n.shape&&t.setShape(n.shape),t.setStyle(n.style),e.bakeTransform?Eq(t.path,n.getComputedTransform()):e.toLocal?t.setLocalTransform(n.getComputedTransform()):t.copyTransform(n),t.buildPath=n.buildPath,t.applyTransform=t.applyTransform,t.z=n.z,t.z2=n.z2,t.zlevel=n.zlevel,t}var V9e=function(){function n(){this.cx=0,this.cy=0,this.r=0}return n}(),Dq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new V9e},e.prototype.buildPath=function(t,i){t.moveTo(i.cx+i.r,i.cy),t.arc(i.cx,i.cy,i.r,0,Math.PI*2)},e}(E3);Dq.prototype.type="circle";const z5=Dq;var H9e=function(){function n(){this.cx=0,this.cy=0,this.rx=0,this.ry=0}return n}(),Nq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new H9e},e.prototype.buildPath=function(t,i){var r=.5522848,a=i.cx,o=i.cy,s=i.rx,l=i.ry,u=s*r,c=l*r;t.moveTo(a-s,o),t.bezierCurveTo(a-s,o-c,a-u,o-l,a,o-l),t.bezierCurveTo(a+u,o-l,a+s,o-c,a+s,o),t.bezierCurveTo(a+s,o+c,a+u,o+l,a,o+l),t.bezierCurveTo(a-u,o+l,a-s,o+c,a-s,o),t.closePath()},e}(E3);Nq.prototype.type="ellipse";const gE=Nq;var kq=Math.PI,Nb=kq*2,b9=Math.sin,R4=Math.cos,W9e=Math.acos,Zn=Math.atan2,uk=Math.abs,jc=Math.sqrt,Sc=Math.max,go=Math.min,Va=1e-4;function j9e(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=d*l-c*u;if(!(h*h<Va))return h=(c*(e-a)-d*(n-r))/h,[n+h*l,e+h*u]}function Kf(n,e,t,i,r,a,o){var s=n-t,l=e-i,u=(o?a:-a)/jc(s*s+l*l),c=u*l,d=-u*s,h=n+c,f=e+d,p=t+c,m=i+d,v=(h+p)/2,g=(f+m)/2,_=p-h,S=m-f,x=_*_+S*S,A=r-a,C=h*m-p*f,M=(S<0?-1:1)*jc(Sc(0,A*A*x-C*C)),I=(C*S-_*M)/x,D=(-C*_-S*M)/x,E=(C*S+_*M)/x,P=(-C*_+S*M)/x,F=I-v,V=D-g,G=E-v,W=P-g;return F*F+V*V>G*G+W*W&&(I=E,D=P),{cx:I,cy:D,x0:-c,y0:-d,x1:I*(r/A-1),y1:D*(r/A-1)}}function $9e(n){var e;if(j2(n)){var t=n.length;if(!t)return n;t===1?e=[n[0],n[0],0,0]:t===2?e=[n[0],n[0],n[1],n[1]]:t===3?e=n.concat(n[2]):e=n}else e=[n,n,n,n];return e}function q9e(n,e){var t,i=Sc(e.r,0),r=Sc(e.r0||0,0),a=i>0,o=r>0;if(!(!a&&!o)){if(a||(i=r,r=0),r>i){var s=i;i=r,r=s}var l=e.startAngle,u=e.endAngle;if(!(isNaN(l)||isNaN(u))){var c=e.cx,d=e.cy,h=!!e.clockwise,f=uk(u-l),p=f>Nb&&f%Nb;if(p>Va&&(f=p),!(i>Va))n.moveTo(c,d);else if(f>Nb-Va)n.moveTo(c+i*R4(l),d+i*b9(l)),n.arc(c,d,i,l,u,!h),r>Va&&(n.moveTo(c+r*R4(u),d+r*b9(u)),n.arc(c,d,r,u,l,h));else{var m=void 0,v=void 0,g=void 0,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0,M=void 0,I=void 0,D=void 0,E=void 0,P=void 0,F=void 0,V=void 0,G=void 0,W=i*R4(l),Y=i*b9(l),Q=r*R4(u),K=r*b9(u),ae=f>Va;if(ae){var ie=e.cornerRadius;ie&&(t=$9e(ie),m=t[0],v=t[1],g=t[2],_=t[3]);var he=uk(i-r)/2;if(S=go(he,g),x=go(he,_),A=go(he,m),C=go(he,v),D=M=Sc(S,x),E=I=Sc(A,C),(M>Va||I>Va)&&(P=i*R4(u),F=i*b9(u),V=r*R4(l),G=r*b9(l),f<kq)){var Ee=j9e(W,Y,V,G,P,F,Q,K);if(Ee){var je=W-Ee[0],xe=Y-Ee[1],Oe=P-Ee[0],f2=F-Ee[1],B2=1/b9(W9e((je*Oe+xe*f2)/(jc(je*je+xe*xe)*jc(Oe*Oe+f2*f2)))/2),S2=jc(Ee[0]*Ee[0]+Ee[1]*Ee[1]);D=go(M,(i-S2)/(B2+1)),E=go(I,(r-S2)/(B2-1))}}}if(!ae)n.moveTo(c+W,d+Y);else if(D>Va){var p2=go(g,D),X2=go(_,D),w2=Kf(V,G,W,Y,i,p2,h),Ce=Kf(P,F,Q,K,i,X2,h);n.moveTo(c+w2.cx+w2.x0,d+w2.cy+w2.y0),D<M&&p2===X2?n.arc(c+w2.cx,d+w2.cy,D,Zn(w2.y0,w2.x0),Zn(Ce.y0,Ce.x0),!h):(p2>0&&n.arc(c+w2.cx,d+w2.cy,p2,Zn(w2.y0,w2.x0),Zn(w2.y1,w2.x1),!h),n.arc(c,d,i,Zn(w2.cy+w2.y1,w2.cx+w2.x1),Zn(Ce.cy+Ce.y1,Ce.cx+Ce.x1),!h),X2>0&&n.arc(c+Ce.cx,d+Ce.cy,X2,Zn(Ce.y1,Ce.x1),Zn(Ce.y0,Ce.x0),!h))}else n.moveTo(c+W,d+Y),n.arc(c,d,i,l,u,!h);if(!(r>Va)||!ae)n.lineTo(c+Q,d+K);else if(E>Va){var p2=go(m,E),X2=go(v,E),w2=Kf(Q,K,P,F,r,-X2,h),Ce=Kf(W,Y,V,G,r,-p2,h);n.lineTo(c+w2.cx+w2.x0,d+w2.cy+w2.y0),E<I&&p2===X2?n.arc(c+w2.cx,d+w2.cy,E,Zn(w2.y0,w2.x0),Zn(Ce.y0,Ce.x0),!h):(X2>0&&n.arc(c+w2.cx,d+w2.cy,X2,Zn(w2.y0,w2.x0),Zn(w2.y1,w2.x1),!h),n.arc(c,d,r,Zn(w2.cy+w2.y1,w2.cx+w2.x1),Zn(Ce.cy+Ce.y1,Ce.cx+Ce.x1),h),p2>0&&n.arc(c+Ce.cx,d+Ce.cy,p2,Zn(Ce.y1,Ce.x1),Zn(Ce.y0,Ce.x0),!h))}else n.lineTo(c+Q,d+K),n.arc(c,d,r,u,l,h)}n.closePath()}}}var X9e=function(){function n(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return n}(),Fq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new X9e},e.prototype.buildPath=function(t,i){q9e(t,i)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(E3);Fq.prototype.type="sector";const sr=Fq;var Y9e=function(){function n(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return n}(),Oq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Y9e},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.PI*2;t.moveTo(r+i.r,a),t.arc(r,a,i.r,0,o,!1),t.moveTo(r+i.r0,a),t.arc(r,a,i.r0,0,o,!0)},e}(E3);Oq.prototype.type="ring";const Ey=Oq;function K9e(n,e,t,i){var r=[],a=[],o=[],s=[],l,u,c,d;if(i){c=[1/0,1/0],d=[-1/0,-1/0];for(var h=0,f=n.length;h<f;h++)t5(c,c,n[h]),n5(d,d,n[h]);t5(c,c,i[0]),n5(d,d,i[1])}for(var h=0,f=n.length;h<f;h++){var p=n[h];if(t)l=n[h?h-1:f-1],u=n[(h+1)%f];else if(h===0||h===f-1){r.push(Os(n[h]));continue}else l=n[h-1],u=n[h+1];n8(a,u,l),Xv(a,a,e);var m=JT(p,l),v=JT(p,u),g=m+v;g!==0&&(m/=g,v/=g),Xv(o,a,-m),Xv(s,a,v);var _=nN([],p,o),S=nN([],p,s);i&&(n5(_,_,c),t5(_,_,d),n5(S,S,c),t5(S,S,d)),r.push(_),r.push(S)}return t&&r.push(r.shift()),r}function Bq(n,e,t){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var a=K9e(r,i,t,e.smoothConstraint);n.moveTo(r[0][0],r[0][1]);for(var o=r.length,s=0;s<(t?o:o-1);s++){var l=a[s*2],u=a[s*2+1],c=r[(s+1)%o];n.bezierCurveTo(l[0],l[1],u[0],u[1],c[0],c[1])}}else{n.moveTo(r[0][0],r[0][1]);for(var s=1,d=r.length;s<d;s++)n.lineTo(r[s][0],r[s][1])}t&&n.closePath()}}var Z9e=function(){function n(){this.points=null,this.smooth=0,this.smoothConstraint=null}return n}(),zq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Z9e},e.prototype.buildPath=function(t,i){Bq(t,i,!0)},e}(E3);zq.prototype.type="polygon";const lr=zq;var J9e=function(){function n(){this.points=null,this.percent=1,this.smooth=0,this.smoothConstraint=null}return n}(),Gq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new J9e},e.prototype.buildPath=function(t,i){Bq(t,i,!1)},e}(E3);Gq.prototype.type="polyline";const dr=Gq;var Q9e={},e8e=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return n}(),Uq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new e8e},e.prototype.buildPath=function(t,i){var r,a,o,s;if(this.subPixelOptimize){var l=fq(Q9e,i,this.style);r=l.x1,a=l.y1,o=l.x2,s=l.y2}else r=i.x1,a=i.y1,o=i.x2,s=i.y2;var u=i.percent;u!==0&&(t.moveTo(r,a),u<1&&(o=r*(1-u)+o*u,s=a*(1-u)+s*u),t.lineTo(o,s))},e.prototype.pointAt=function(t){var i=this.shape;return[i.x1*(1-t)+i.x2*t,i.y1*(1-t)+i.y2*t]},e}(E3);Uq.prototype.type="line";const Rn=Uq;var Oi=[],t8e=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.percent=1}return n}();function ck(n,e,t){var i=n.cpx2,r=n.cpy2;return i!=null||r!=null?[(t?pN:pn)(n.x1,n.cpx1,n.cpx2,n.x2,e),(t?pN:pn)(n.y1,n.cpy1,n.cpy2,n.y2,e)]:[(t?rA:En)(n.x1,n.cpx1,n.x2,e),(t?rA:En)(n.y1,n.cpy1,n.y2,e)]}var Vq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new t8e},e.prototype.buildPath=function(t,i){var r=i.x1,a=i.y1,o=i.x2,s=i.y2,l=i.cpx1,u=i.cpy1,c=i.cpx2,d=i.cpy2,h=i.percent;h!==0&&(t.moveTo(r,a),c==null||d==null?(h<1&&(xd(r,l,o,h,Oi),l=Oi[1],o=Oi[2],xd(a,u,s,h,Oi),u=Oi[1],s=Oi[2]),t.quadraticCurveTo(l,u,o,s)):(h<1&&(E5(r,l,c,o,h,Oi),l=Oi[1],c=Oi[2],o=Oi[3],E5(a,u,d,s,h,Oi),u=Oi[1],d=Oi[2],s=Oi[3]),t.bezierCurveTo(l,u,c,d,o,s)))},e.prototype.pointAt=function(t){return ck(this.shape,t,!1)},e.prototype.tangentAt=function(t){var i=ck(this.shape,t,!0);return F7(i,i)},e}(E3);Vq.prototype.type="bezier-curve";const Py=Vq;var n8e=function(){function n(){this.cx=0,this.cy=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return n}(),Hq=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new n8e},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.max(i.r,0),s=i.startAngle,l=i.endAngle,u=i.clockwise,c=Math.cos(s),d=Math.sin(s);t.moveTo(c*o+r,d*o+a),t.arc(r,a,o,s,l,!u)},e}(E3);Hq.prototype.type="arc";const yE=Hq;var i8e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="compound",t}return e.prototype._updatePathDirty=function(){for(var t=this.shape.paths,i=this.shapeChanged(),r=0;r<t.length;r++)i=i||t[r].shapeChanged();i&&this.dirtyShape()},e.prototype.beforeBrush=function(){this._updatePathDirty();for(var t=this.shape.paths||[],i=this.getGlobalScale(),r=0;r<t.length;r++)t[r].path||t[r].createPathProxy(),t[r].path.setScale(i[0],i[1],t[r].segmentIgnoreThreshold)},e.prototype.buildPath=function(t,i){for(var r=i.paths||[],a=0;a<r.length;a++)r[a].buildPath(t,r[a].shape,!0)},e.prototype.afterBrush=function(){for(var t=this.shape.paths||[],i=0;i<t.length;i++)t[i].pathUpdated()},e.prototype.getBoundingRect=function(){return this._updatePathDirty.call(this),E3.prototype.getBoundingRect.call(this)},e}(E3);const _E=i8e;var r8e=function(){function n(e){this.colorStops=e||[]}return n.prototype.addColorStop=function(e,t){this.colorStops.push({offset:e,color:t})},n}();const Wq=r8e;var a8e=function(n){o2(e,n);function e(t,i,r,a,o,s){var l=n.call(this,o)||this;return l.x=t==null?0:t,l.y=i==null?0:i,l.x2=r==null?1:r,l.y2=a==null?0:a,l.type="linear",l.global=s||!1,l}return e}(Wq);const fn=a8e;var o8e=function(n){o2(e,n);function e(t,i,r,a,o){var s=n.call(this,a)||this;return s.x=t==null?.5:t,s.y=i==null?.5:i,s.r=r==null?.5:r,s.type="radial",s.global=o||!1,s}return e}(Wq);const jq=o8e;var x9=[0,0],w9=[0,0],Zf=new h3,Jf=new h3,s8e=function(){function n(e,t){this._corners=[],this._axes=[],this._origin=[0,0];for(var i=0;i<4;i++)this._corners[i]=new h3;for(var i=0;i<2;i++)this._axes[i]=new h3;e&&this.fromBoundingRect(e,t)}return n.prototype.fromBoundingRect=function(e,t){var i=this._corners,r=this._axes,a=e.x,o=e.y,s=a+e.width,l=o+e.height;if(i[0].set(a,o),i[1].set(s,o),i[2].set(s,l),i[3].set(a,l),t)for(var u=0;u<4;u++)i[u].transform(t);h3.sub(r[0],i[1],i[0]),h3.sub(r[1],i[3],i[0]),r[0].normalize(),r[1].normalize();for(var u=0;u<2;u++)this._origin[u]=r[u].dot(i[0])},n.prototype.intersect=function(e,t){var i=!0,r=!t;return Zf.set(1/0,1/0),Jf.set(0,0),!this._intersectCheckOneSide(this,e,Zf,Jf,r,1)&&(i=!1,r)||!this._intersectCheckOneSide(e,this,Zf,Jf,r,-1)&&(i=!1,r)||r||h3.copy(t,i?Zf:Jf),i},n.prototype._intersectCheckOneSide=function(e,t,i,r,a,o){for(var s=!0,l=0;l<2;l++){var u=this._axes[l];if(this._getProjMinMaxOnAxis(l,e._corners,x9),this._getProjMinMaxOnAxis(l,t._corners,w9),x9[1]<w9[0]||x9[0]>w9[1]){if(s=!1,a)return s;var c=Math.abs(w9[0]-x9[1]),d=Math.abs(x9[0]-w9[1]);Math.min(c,d)>r.len()&&(c<d?h3.scale(r,u,-c*o):h3.scale(r,u,d*o))}else if(i){var c=Math.abs(w9[0]-x9[1]),d=Math.abs(x9[0]-w9[1]);Math.min(c,d)<i.len()&&(c<d?h3.scale(i,u,c*o):h3.scale(i,u,-d*o))}}return s},n.prototype._getProjMinMaxOnAxis=function(e,t,i){for(var r=this._axes[e],a=this._origin,o=t[0].dot(r)+a[e],s=o,l=o,u=1;u<t.length;u++){var c=t[u].dot(r)+a[e];s=Math.min(c,s),l=Math.max(c,l)}i[0]=s,i[1]=l},n}();const Xm=s8e;var l8e=[],u8e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.notClear=!0,t.incremental=!0,t._displayables=[],t._temporaryDisplayables=[],t._cursor=0,t}return e.prototype.traverse=function(t,i){t.call(i,this)},e.prototype.useStyle=function(){this.style={}},e.prototype.getCursor=function(){return this._cursor},e.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length},e.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.markRedraw(),this.notClear=!1},e.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]},e.prototype.addDisplayable=function(t,i){i?this._temporaryDisplayables.push(t):this._displayables.push(t),this.markRedraw()},e.prototype.addDisplayables=function(t,i){i=i||!1;for(var r=0;r<t.length;r++)this.addDisplayable(t[r],i)},e.prototype.getDisplayables=function(){return this._displayables},e.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables},e.prototype.eachPendingDisplayable=function(t){for(var i=this._cursor;i<this._displayables.length;i++)t&&t(this._displayables[i]);for(var i=0;i<this._temporaryDisplayables.length;i++)t&&t(this._temporaryDisplayables[i])},e.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){var i=this._displayables[t];i.parent=this,i.update(),i.parent=null}for(var t=0;t<this._temporaryDisplayables.length;t++){var i=this._temporaryDisplayables[t];i.parent=this,i.update(),i.parent=null}},e.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new g3(1/0,1/0,-1/0,-1/0),i=0;i<this._displayables.length;i++){var r=this._displayables[i],a=r.getBoundingRect().clone();r.needLocalTransform()&&a.applyTransform(r.getLocalTransform(l8e)),t.union(a)}this._rect=t}return this._rect},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(a.contain(r[0],r[1]))for(var o=0;o<this._displayables.length;o++){var s=this._displayables[o];if(s.contain(t,i))return!0}return!1},e}(Ca);const c8e=u8e;var $q=G3();function G7(n,e,t,i,r){var a;if(e&&e.ecModel){var o=e.ecModel.getUpdatePayload();a=o&&o.animation}var s=e&&e.isAnimationEnabled(),l=n==="update";if(s){var u=void 0,c=void 0,d=void 0;i?(u=a3(i.duration,200),c=a3(i.easing,"cubicOut"),d=0):(u=e.getShallow(l?"animationDurationUpdate":"animationDuration"),c=e.getShallow(l?"animationEasingUpdate":"animationEasing"),d=e.getShallow(l?"animationDelayUpdate":"animationDelay")),a&&(a.duration!=null&&(u=a.duration),a.easing!=null&&(c=a.easing),a.delay!=null&&(d=a.delay)),Wt(d)&&(d=d(t,r)),Wt(u)&&(u=u(t));var h={duration:u||0,delay:d,easing:c};return h}else return null}function SE(n,e,t,i,r,a,o){var s=!1,l;Wt(r)?(o=a,a=r,r=null):Kt(r)&&(a=r.cb,o=r.during,s=r.isFrom,l=r.removeOpt,r=r.dataIndex);var u=n==="leave";u||e.stopAnimation("leave");var c=G7(n,i,r,u?l||{}:null,i&&i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null);if(c&&c.duration>0){var d=c.duration,h=c.delay,f=c.easing,p={duration:d,delay:h||0,easing:f,done:a,force:!!a||!!o,setToFinal:!u,scope:n,during:o};s?e.animateFrom(t,p):e.animateTo(t,p)}else e.stopAnimation(),!s&&e.attr(t),o&&o(1),a&&a()}function Q3(n,e,t,i,r,a){SE("update",n,e,t,i,r,a)}function o0(n,e,t,i,r,a){SE("enter",n,e,t,i,r,a)}function $l(n){if(!n.__zr)return!0;for(var e=0;e<n.animators.length;e++){var t=n.animators[e];if(t.scope==="leave")return!0}return!1}function P5(n,e,t,i,r,a){$l(n)||SE("leave",n,e,t,i,r,a)}function dk(n,e,t,i){n.removeTextContent(),n.removeTextGuideLine(),P5(n,{style:{opacity:0}},e,t,i)}function Rd(n,e,t){function i(){n.parent&&n.parent.remove(n)}n.isGroup?n.traverse(function(r){r.isGroup||dk(r,e,t,i)}):dk(n,e,t,i)}function no(n){$q(n).oldStyle=n.style}function d8e(n){return $q(n).oldStyle}var Ym=Math.max,Km=Math.min,PA={};function h8e(n){return E3.extend(n)}var f8e=G9e;function p8e(n,e){return f8e(n,e)}function ro(n,e){PA[n]=e}function bE(n){if(PA.hasOwnProperty(n))return PA[n]}function Ry(n,e,t,i){var r=Iq(n,e);return t&&(i==="center"&&(t=Xq(t,r.getBoundingRect())),Yq(r,t)),r}function qq(n,e,t){var i=new $n({style:{image:n,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(r){if(t==="center"){var a={width:r.width,height:r.height};i.setStyle(Xq(e,a))}}});return i}function Xq(n,e){var t=e.width/e.height,i=n.height*t,r;i<=n.width?r=n.height:(i=n.width,r=i/t);var a=n.x+n.width/2,o=n.y+n.height/2;return{x:a-i/2,y:o-r/2,width:i,height:r}}var va=U9e;function Yq(n,e){if(n.applyTransform){var t=n.getBoundingRect(),i=t.calculateTransform(e);n.applyTransform(i)}}function d7(n,e){return fq(n,n,{lineWidth:e}),n}function v8e(n){return pq(n.shape,n.shape,n.style),n}var rm=i8;function w8(n,e){for(var t=_y([]);n&&n!==e;)Bs(t,n.getLocalTransform(),t),n=n.parent;return t}function Qa(n,e,t){return e&&!ci(e)&&(e=Ds.getLocalTransform(e)),t&&(e=O7([],e)),Vn([],n,e)}function Ly(n,e,t){var i=e[4]===0||e[5]===0||e[0]===0?1:Math.abs(2*e[4]/e[0]),r=e[4]===0||e[5]===0||e[2]===0?1:Math.abs(2*e[4]/e[2]),a=[n==="left"?-i:n==="right"?i:0,n==="top"?-r:n==="bottom"?r:0];return a=Qa(a,e,t),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function hk(n){return!n.isGroup}function m8e(n){return n.shape!=null}function _h(n,e,t){if(!n||!e)return;function i(o){var s={};return o.traverse(function(l){hk(l)&&l.anid&&(s[l.anid]=l)}),s}function r(o){var s={x:o.x,y:o.y,rotation:o.rotation};return m8e(o)&&(s.shape=I2({},o.shape)),s}var a=i(n);e.traverse(function(o){if(hk(o)&&o.anid){var s=a[o.anid];if(s){var l=r(o);o.attr(r(s)),Q3(o,l,t,t3(o).dataIndex)}}})}function Kq(n,e){return q2(n,function(t){var i=t[0];i=Ym(i,e.x),i=Km(i,e.x+e.width);var r=t[1];return r=Ym(r,e.y),r=Km(r,e.y+e.height),[i,r]})}function g8e(n,e){var t=Ym(n.x,e.x),i=Km(n.x+n.width,e.x+e.width),r=Ym(n.y,e.y),a=Km(n.y+n.height,e.y+e.height);if(i>=t&&a>=r)return{x:t,y:r,width:i-t,height:a-r}}function Sh(n,e,t){var i=I2({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(t=t||{x:-1,y:-1,width:2,height:2},n)return n.indexOf("image://")===0?(r.image=n.slice(8),qt(r,t),new $n(i)):Ry(n.replace("path://",""),i,t,"center")}function bc(n,e,t,i,r){for(var a=0,o=r[r.length-1];a<r.length;a++){var s=r[a];if(Zq(n,e,t,i,s[0],s[1],o[0],o[1]))return!0;o=s}}function Zq(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=kb(c,d,l,u);if(y8e(h))return!1;var f=n-r,p=e-a,m=kb(f,p,l,u)/h;if(m<0||m>1)return!1;var v=kb(f,p,c,d)/h;return!(v<0||v>1)}function kb(n,e,t,i){return n*i-t*e}function y8e(n){return n<=1e-6&&n>=-1e-6}function Z8(n){var e=n.itemTooltipOption,t=n.componentModel,i=n.itemName,r=xt(e)?{formatter:e}:e,a=t.mainType,o=t.componentIndex,s={componentType:a,name:i,$vars:["name"]};s[a+"Index"]=o;var l=n.formatterParamsExtra;l&&ne(L3(l),function(c){Ct(s,c)||(s[c]=l[c],s.$vars.push(c))});var u=t3(n.el);u.componentMainType=a,u.componentIndex=o,u.tooltipConfig={name:i,option:qt({content:i,encodeHTMLContent:!0,formatterParams:s},r)}}function fk(n,e){var t;n.isGroup&&(t=e(n)),t||n.traverse(e)}function G5(n,e){if(n)if(j2(n))for(var t=0;t<n.length;t++)fk(n[t],e);else fk(n,e)}ro("circle",z5);ro("ellipse",gE);ro("sector",sr);ro("ring",Ey);ro("polygon",lr);ro("polyline",dr);ro("rect",H3);ro("line",Rn);ro("bezierCurve",Py);ro("arc",yE);const J8=Object.freeze(Object.defineProperty({__proto__:null,Arc:yE,BezierCurve:Py,BoundingRect:g3,Circle:z5,CompoundPath:_E,Ellipse:gE,Group:Qt,Image:$n,IncrementalDisplayable:c8e,Line:Rn,LinearGradient:fn,OrientedBoundingRect:Xm,Path:E3,Point:h3,Polygon:lr,Polyline:dr,RadialGradient:jq,Rect:H3,Ring:Ey,Sector:sr,Text:X3,applyTransform:Qa,clipPointsByRect:Kq,clipRectByRect:g8e,createIcon:Sh,extendPath:p8e,extendShape:h8e,getShapeClass:bE,getTransform:w8,groupTransition:_h,initProps:o0,isElementRemoved:$l,lineLineIntersect:Zq,linePolygonIntersect:bc,makeImage:qq,makePath:Ry,mergePath:va,registerShape:ro,removeElement:P5,removeElementWithFadeOut:Rd,resizePath:Yq,setTooltipConfig:Z8,subPixelOptimize:rm,subPixelOptimizeLine:d7,subPixelOptimizeRect:v8e,transformDirection:Ly,traverseElements:G5,updateProps:Q3},Symbol.toStringTag,{value:"Module"}));var Iy={};function Jq(n,e){for(var t=0;t<Li.length;t++){var i=Li[t],r=e[i],a=n.ensureState(i);a.style=a.style||{},a.style.text=r}var o=n.currentStates.slice();n.clearStates(!0),n.setStyle({text:e.normal}),n.useStates(o,!0)}function RA(n,e,t){var i=n.labelFetcher,r=n.labelDataIndex,a=n.labelDimIndex,o=e.normal,s;i&&(s=i.getFormattedLabel(r,"normal",null,a,o&&o.get("formatter"),t!=null?{interpolatedValue:t}:null)),s==null&&(s=Wt(n.defaultText)?n.defaultText(r,n,t):n.defaultText);for(var l={normal:s},u=0;u<Li.length;u++){var c=Li[u],d=e[c];l[c]=a3(i?i.getFormattedLabel(r,c,null,a,d&&d.get("formatter")):null,s)}return l}function jn(n,e,t,i){t=t||Iy;for(var r=n instanceof X3,a=!1,o=0;o<Ed.length;o++){var s=e[Ed[o]];if(s&&s.getShallow("show")){a=!0;break}}var l=r?n:n.getTextContent();if(a){r||(l||(l=new X3,n.setTextContent(l)),n.stateProxy&&(l.stateProxy=n.stateProxy));var u=RA(t,e),c=e.normal,d=!!c.getShallow("show"),h=j1(c,i&&i.normal,t,!1,!r);h.text=u.normal,r||n.setTextConfig(Zm(c,t,!1));for(var o=0;o<Li.length;o++){var f=Li[o],s=e[f];if(s){var p=l.ensureState(f),m=!!a3(s.getShallow("show"),d);if(m!==d&&(p.ignore=!m),p.style=j1(s,i&&i[f],t,!0,!r),p.style.text=u[f],!r){var v=n.ensureState(f);v.textConfig=Zm(s,t,!0)}}}l.silent=!!c.getShallow("silent"),l.style.x!=null&&(h.x=l.style.x),l.style.y!=null&&(h.y=l.style.y),l.ignore=!d,l.useStyle(h),l.dirty(),t.enableTextSetter&&(U7(l).setLabelText=function(g){var _=RA(t,e,g);Jq(l,_)})}else l&&(l.ignore=!0);n.dirty()}function yn(n,e){e=e||"label";for(var t={normal:n.getModel(e)},i=0;i<Li.length;i++){var r=Li[i];t[r]=n.getModel([r,e])}return t}function j1(n,e,t,i,r){var a={};return _8e(a,n,t,i,r),e&&I2(a,e),a}function Zm(n,e,t){e=e||{};var i={},r,a=n.getShallow("rotate"),o=a3(n.getShallow("distance"),t?null:5),s=n.getShallow("offset");return r=n.getShallow("position")||(t?null:"inside"),r==="outside"&&(r=e.defaultOutsidePosition||"top"),r!=null&&(i.position=r),s!=null&&(i.offset=s),a!=null&&(a*=Math.PI/180,i.rotation=a),o!=null&&(i.distance=o),i.outsideFill=n.get("color")==="inherit"?e.inheritColor||null:"auto",i}function _8e(n,e,t,i,r){t=t||Iy;var a=e.ecModel,o=a&&a.option.textStyle,s=S8e(e),l;if(s){l={};for(var u in s)if(s.hasOwnProperty(u)){var c=e.getModel(["rich",u]);gk(l[u]={},c,o,t,i,r,!1,!0)}}l&&(n.rich=l);var d=e.get("overflow");d&&(n.overflow=d);var h=e.get("minMargin");h!=null&&(n.margin=h),gk(n,e,o,t,i,r,!0,!1)}function S8e(n){for(var e;n&&n!==n.ecModel;){var t=(n.option||Iy).rich;if(t){e=e||{};for(var i=L3(t),r=0;r<i.length;r++){var a=i[r];e[a]=1}}n=n.parentModel}return e}var pk=["fontStyle","fontWeight","fontSize","fontFamily","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY"],vk=["align","lineHeight","width","height","tag","verticalAlign","ellipsis"],mk=["padding","borderWidth","borderRadius","borderDashOffset","backgroundColor","borderColor","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];function gk(n,e,t,i,r,a,o,s){t=!r&&t||Iy;var l=i&&i.inheritColor,u=e.getShallow("color"),c=e.getShallow("textBorderColor"),d=a3(e.getShallow("opacity"),t.opacity);(u==="inherit"||u==="auto")&&(l?u=l:u=null),(c==="inherit"||c==="auto")&&(l?c=l:c=null),a||(u=u||t.color,c=c||t.textBorderColor),u!=null&&(n.fill=u),c!=null&&(n.stroke=c);var h=a3(e.getShallow("textBorderWidth"),t.textBorderWidth);h!=null&&(n.lineWidth=h);var f=a3(e.getShallow("textBorderType"),t.textBorderType);f!=null&&(n.lineDash=f);var p=a3(e.getShallow("textBorderDashOffset"),t.textBorderDashOffset);p!=null&&(n.lineDashOffset=p),!r&&d==null&&!s&&(d=i&&i.defaultOpacity),d!=null&&(n.opacity=d),!r&&!a&&n.fill==null&&i.inheritColor&&(n.fill=i.inheritColor);for(var m=0;m<pk.length;m++){var v=pk[m],g=a3(e.getShallow(v),t[v]);g!=null&&(n[v]=g)}for(var m=0;m<vk.length;m++){var v=vk[m],g=e.getShallow(v);g!=null&&(n[v]=g)}if(n.verticalAlign==null){var _=e.getShallow("baseline");_!=null&&(n.verticalAlign=_)}if(!o||!i.disableBox){for(var m=0;m<mk.length;m++){var v=mk[m],g=e.getShallow(v);g!=null&&(n[v]=g)}var S=e.getShallow("borderType");S!=null&&(n.borderDash=S),(n.backgroundColor==="auto"||n.backgroundColor==="inherit")&&l&&(n.backgroundColor=l),(n.borderColor==="auto"||n.borderColor==="inherit")&&l&&(n.borderColor=l)}}function xE(n,e){var t=e&&e.getModel("textStyle");return Ya([n.fontStyle||t&&t.getShallow("fontStyle")||"",n.fontWeight||t&&t.getShallow("fontWeight")||"",(n.fontSize||t&&t.getShallow("fontSize")||12)+"px",n.fontFamily||t&&t.getShallow("fontFamily")||"sans-serif"].join(" "))}var U7=G3();function Qq(n,e,t,i){if(n){var r=U7(n);r.prevValue=r.value,r.value=t;var a=e.normal;r.valueAnimation=a.get("valueAnimation"),r.valueAnimation&&(r.precision=a.get("precision"),r.defaultInterpolatedText=i,r.statesModels=e)}}function eX(n,e,t,i,r){var a=U7(n);if(!a.valueAnimation||a.prevValue===a.value)return;var o=a.defaultInterpolatedText,s=a3(a.interpolatedValue,a.prevValue),l=a.value;function u(c){var d=iq(t,a.precision,s,l,c);a.interpolatedValue=c===1?null:d;var h=RA({labelDataIndex:e,labelFetcher:r,defaultText:o?o(d):d+""},a.statesModels,d);Jq(n,h)}n.percent=0,(a.prevValue==null?o0:Q3)(n,{percent:1},i,e,null,u)}var b8e=["textStyle","color"],Fb=["fontStyle","fontWeight","fontSize","fontFamily","padding","lineHeight","rich","width","height","overflow"],Ob=new X3,x8e=function(){function n(){}return n.prototype.getTextColor=function(e){var t=this.ecModel;return this.getShallow("color")||(!e&&t?t.get(b8e):null)},n.prototype.getFont=function(){return xE({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},n.prototype.getTextRect=function(e){for(var t={text:e,verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline")},i=0;i<Fb.length;i++)t[Fb[i]]=this.getShallow(Fb[i]);return Ob.useStyle(t),Ob.update(),Ob.getBoundingRect()},n}();const w8e=x8e;var tX=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],T8e=O8(tX),A8e=function(){function n(){}return n.prototype.getLineStyle=function(e){return T8e(this,e)},n}(),nX=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],C8e=O8(nX),M8e=function(){function n(){}return n.prototype.getItemStyle=function(e,t){return C8e(this,e,t)},n}(),Q8=function(){function n(e,t,i){this.parentModel=t,this.ecModel=i,this.option=e}return n.prototype.init=function(e,t,i){},n.prototype.mergeOption=function(e,t){u3(this.option,e,!0)},n.prototype.get=function(e,t){return e==null?this.option:this._doGet(this.parsePath(e),!t&&this.parentModel)},n.prototype.getShallow=function(e,t){var i=this.option,r=i==null?i:i[e];if(r==null&&!t){var a=this.parentModel;a&&(r=a.getShallow(e))}return r},n.prototype.getModel=function(e,t){var i=e!=null,r=i?this.parsePath(e):null,a=i?this._doGet(r):this.option;return t=t||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(r)),new n(a,t,this.ecModel)},n.prototype.isEmpty=function(){return this.option==null},n.prototype.restoreData=function(){},n.prototype.clone=function(){var e=this.constructor;return new e(Zt(this.option))},n.prototype.parsePath=function(e){return typeof e=="string"?e.split("."):e},n.prototype.resolveParentPath=function(e){return e},n.prototype.isAnimationEnabled=function(){if(!q3.node&&this.option){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}},n.prototype._doGet=function(e,t){var i=this.option;if(!e)return i;for(var r=0;r<e.length&&!(e[r]&&(i=i&&typeof i=="object"?i[e[r]]:null,i==null));r++);return i==null&&t&&(i=t._doGet(this.resolveParentPath(e),t.parentModel)),i},n}();lE(Q8);M5e(Q8);K0(Q8,A8e);K0(Q8,M8e);K0(Q8,I5e);K0(Q8,w8e);const $1=Q8;var E8e=Math.round(Math.random()*10);function V7(n){return[n||"",E8e++].join("_")}function P8e(n){var e={};n.registerSubTypeDefaulter=function(t,i){var r=zo(t);e[r.main]=i},n.determineSubType=function(t,i){var r=i.type;if(!r){var a=zo(t).main;n.hasSubTypes(t)&&e[a]&&(r=e[a](i))}return r}}function R8e(n,e){n.topologicalTravel=function(a,o,s,l){if(!a.length)return;var u=t(o),c=u.graph,d=u.noEntryList,h={};for(ne(a,function(_){h[_]=!0});d.length;){var f=d.pop(),p=c[f],m=!!h[f];m&&(s.call(l,f,p.originalDeps.slice()),delete h[f]),ne(p.successor,m?g:v)}ne(h,function(){var _="";throw new Error(_)});function v(_){c[_].entryCount--,c[_].entryCount===0&&d.push(_)}function g(_){h[_]=!0,v(_)}};function t(a){var o={},s=[];return ne(a,function(l){var u=i(o,l),c=u.originalDeps=e(l),d=r(c,a);u.entryCount=d.length,u.entryCount===0&&s.push(l),ne(d,function(h){x3(u.predecessor,h)<0&&u.predecessor.push(h);var f=i(o,h);x3(f.successor,h)<0&&f.successor.push(l)})}),{graph:o,noEntryList:s}}function i(a,o){return a[o]||(a[o]={predecessor:[],successor:[]}),a[o]}function r(a,o){var s=[];return ne(a,function(l){x3(o,l)>=0&&s.push(l)}),s}}function U5(n,e){return u3(u3({},n,!0),e,!0)}const L8e={time:{month:["January","February","March","April","May","June","July","August","September","October","November","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:". "}}}},I8e={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var Jm="ZH",wE="EN",ql=wE,am={},TE={},iX=q3.domSupported?function(){var n=(document.documentElement.lang||navigator.language||navigator.browserLanguage||ql).toUpperCase();return n.indexOf(Jm)>-1?Jm:ql}():ql;function rX(n,e){n=n.toUpperCase(),TE[n]=new $1(e),am[n]=e}function D8e(n){if(xt(n)){var e=am[n.toUpperCase()]||{};return n===Jm||n===wE?Zt(e):u3(Zt(e),Zt(am[ql]),!1)}else return u3(Zt(n),Zt(am[ql]),!1)}function LA(n){return TE[n]}function N8e(){return TE[ql]}rX(wE,L8e);rX(Jm,I8e);var AE=1e3,CE=AE*60,$c=CE*60,ma=$c*24,yk=ma*365,xc={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}"},Qf="{yyyy}-{MM}-{dd}",_k={year:"{yyyy}",month:"{yyyy}-{MM}",day:Qf,hour:Qf+" "+xc.hour,minute:Qf+" "+xc.minute,second:Qf+" "+xc.second,millisecond:xc.none},Bb=["year","month","day","hour","minute","second","millisecond"],aX=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function C6(n,e){return n+="","0000".substr(0,e-n.length)+n}function Xl(n){switch(n){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return n}}function k8e(n){return n===Xl(n)}function F8e(n){switch(n){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function Dy(n,e,t,i){var r=Jo(n),a=r[ME(t)](),o=r[Yl(t)]()+1,s=Math.floor((o-1)/3)+1,l=r[Ny(t)](),u=r["get"+(t?"UTC":"")+"Day"](),c=r[Ld(t)](),d=(c-1)%12+1,h=r[ky(t)](),f=r[Fy(t)](),p=r[Oy(t)](),m=c>=12?"pm":"am",v=m.toUpperCase(),g=i instanceof $1?i:LA(i||iX)||N8e(),_=g.getModel("time"),S=_.get("month"),x=_.get("monthAbbr"),A=_.get("dayOfWeek"),C=_.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,m+"").replace(/{A}/g,v+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,C6(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,S[o-1]).replace(/{MMM}/g,x[o-1]).replace(/{MM}/g,C6(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,C6(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,A[u]).replace(/{ee}/g,C[u]).replace(/{e}/g,u+"").replace(/{HH}/g,C6(c,2)).replace(/{H}/g,c+"").replace(/{hh}/g,C6(d+"",2)).replace(/{h}/g,d+"").replace(/{mm}/g,C6(h,2)).replace(/{m}/g,h+"").replace(/{ss}/g,C6(f,2)).replace(/{s}/g,f+"").replace(/{SSS}/g,C6(p,3)).replace(/{S}/g,p+"")}function O8e(n,e,t,i,r){var a=null;if(xt(t))a=t;else if(Wt(t))a=t(n.value,e,{level:n.level});else{var o=I2({},xc);if(n.level>0)for(var s=0;s<Bb.length;++s)o[Bb[s]]="{primary|"+o[Bb[s]]+"}";var l=t?t.inherit===!1?t:qt(t,o):o,u=oX(n.value,r);if(l[u])a=l[u];else if(l.inherit){for(var c=aX.indexOf(u),s=c-1;s>=0;--s)if(l[u]){a=l[u];break}a=a||o.none}if(j2(a)){var d=n.level==null?0:n.level>=0?n.level:a.length+n.level;d=Math.min(d,a.length-1),a=a[d]}}return Dy(new Date(n.value),a,r,i)}function oX(n,e){var t=Jo(n),i=t[Yl(e)]()+1,r=t[Ny(e)](),a=t[Ld(e)](),o=t[ky(e)](),s=t[Fy(e)](),l=t[Oy(e)](),u=l===0,c=u&&s===0,d=c&&o===0,h=d&&a===0,f=h&&r===1,p=f&&i===1;return p?"year":f?"month":h?"day":d?"hour":c?"minute":u?"second":"millisecond"}function Sk(n,e,t){var i=Y3(n)?Jo(n):n;switch(e=e||oX(n,t),e){case"year":return i[ME(t)]();case"half-year":return i[Yl(t)]()>=6?1:0;case"quarter":return Math.floor((i[Yl(t)]()+1)/4);case"month":return i[Yl(t)]();case"day":return i[Ny(t)]();case"half-day":return i[Ld(t)]()/24;case"hour":return i[Ld(t)]();case"minute":return i[ky(t)]();case"second":return i[Fy(t)]();case"millisecond":return i[Oy(t)]()}}function ME(n){return n?"getUTCFullYear":"getFullYear"}function Yl(n){return n?"getUTCMonth":"getMonth"}function Ny(n){return n?"getUTCDate":"getDate"}function Ld(n){return n?"getUTCHours":"getHours"}function ky(n){return n?"getUTCMinutes":"getMinutes"}function Fy(n){return n?"getUTCSeconds":"getSeconds"}function Oy(n){return n?"getUTCMilliseconds":"getMilliseconds"}function B8e(n){return n?"setUTCFullYear":"setFullYear"}function sX(n){return n?"setUTCMonth":"setMonth"}function lX(n){return n?"setUTCDate":"setDate"}function uX(n){return n?"setUTCHours":"setHours"}function cX(n){return n?"setUTCMinutes":"setMinutes"}function dX(n){return n?"setUTCSeconds":"setSeconds"}function hX(n){return n?"setUTCMilliseconds":"setMilliseconds"}function fX(n){if(!Y$(n))return xt(n)?n:"-";var e=(n+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function pX(n,e){return n=(n||"").toLowerCase().replace(/-(.)/g,function(t,i){return i.toUpperCase()}),e&&n&&(n=n.charAt(0).toUpperCase()+n.slice(1)),n}var H7=ZM;function IA(n,e,t){var i="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function r(c){return c&&Ya(c)?c:"-"}function a(c){return!!(c!=null&&!isNaN(c)&&isFinite(c))}var o=e==="time",s=n instanceof Date;if(o||s){var l=o?Jo(n):n;if(isNaN(+l)){if(s)return"-"}else return Dy(l,i,t)}if(e==="ordinal")return YT(n)?r(n):Y3(n)&&a(n)?n+"":"-";var u=js(n);return a(u)?fX(u):YT(n)?r(n):typeof n=="boolean"?n+"":"-"}var bk=["a","b","c","d","e","f","g"],zb=function(n,e){return"{"+n+(e==null?"":e)+"}"};function vX(n,e,t){j2(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],a=0;a<r.length;a++){var o=bk[a];n=n.replace(zb(o),zb(o,0))}for(var s=0;s<i;s++)for(var l=0;l<r.length;l++){var u=e[s][r[l]];n=n.replace(zb(bk[l],s),t?ai(u):u)}return n}function z8e(n,e,t){return ne(e,function(i,r){n=n.replace("{"+r+"}",t?ai(i):i)}),n}function G8e(n,e){var t=xt(n)?{color:n,extraCssText:e}:n||{},i=t.color,r=t.type;e=t.extraCssText;var a=t.renderMode||"html";if(!i)return"";if(a==="html")return r==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+ai(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+ai(i)+";"+(e||"")+'"></span>';var o=t.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:r==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}}function z8(n,e){return e=e||"transparent",xt(n)?n:Kt(n)&&n.colorStops&&(n.colorStops[0]||{}).color||e}function Qm(n,e){if(e==="_blank"||e==="blank"){var t=window.open();t.opener=null,t.location.href=n}else window.open(n,e)}var om=ne,mX=["left","right","top","bottom","width","height"],a8=[["width","left","right"],["height","top","bottom"]];function EE(n,e,t,i,r){var a=0,o=0;i==null&&(i=1/0),r==null&&(r=1/0);var s=0;e.eachChild(function(l,u){var c=l.getBoundingRect(),d=e.childAt(u+1),h=d&&d.getBoundingRect(),f,p;if(n==="horizontal"){var m=c.width+(h?-h.x+c.x:0);f=a+m,f>i||l.newline?(a=0,f=m,o+=s+t,s=c.height):s=Math.max(s,c.height)}else{var v=c.height+(h?-h.y+c.y:0);p=o+v,p>r||l.newline?(a+=s+t,o=0,p=v,s=c.width):s=Math.max(s,c.width)}l.newline||(l.x=a,l.y=o,l.markRedraw(),n==="horizontal"?a=f+t:o=p+t)})}var T8=EE;s3(EE,"vertical");s3(EE,"horizontal");function U8e(n,e,t){var i=e.width,r=e.height,a=mt(n.left,i),o=mt(n.top,r),s=mt(n.right,i),l=mt(n.bottom,r);return(isNaN(a)||isNaN(parseFloat(n.left)))&&(a=0),(isNaN(s)||isNaN(parseFloat(n.right)))&&(s=i),(isNaN(o)||isNaN(parseFloat(n.top)))&&(o=0),(isNaN(l)||isNaN(parseFloat(n.bottom)))&&(l=r),t=H7(t||0),{width:Math.max(s-a-t[1]-t[3],0),height:Math.max(l-o-t[0]-t[2],0)}}function un(n,e,t){t=H7(t||0);var i=e.width,r=e.height,a=mt(n.left,i),o=mt(n.top,r),s=mt(n.right,i),l=mt(n.bottom,r),u=mt(n.width,i),c=mt(n.height,r),d=t[2]+t[0],h=t[1]+t[3],f=n.aspect;switch(isNaN(u)&&(u=i-s-h-a),isNaN(c)&&(c=r-l-d-o),f!=null&&(isNaN(u)&&isNaN(c)&&(f>i/r?u=i*.8:c=r*.8),isNaN(u)&&(u=f*c),isNaN(c)&&(c=u/f)),isNaN(a)&&(a=i-s-u-h),isNaN(o)&&(o=r-l-c-d),n.left||n.right){case"center":a=i/2-u/2-t[3];break;case"right":a=i-u-h;break}switch(n.top||n.bottom){case"middle":case"center":o=r/2-c/2-t[0];break;case"bottom":o=r-c-d;break}a=a||0,o=o||0,isNaN(u)&&(u=i-h-a-(s||0)),isNaN(c)&&(c=r-d-o-(l||0));var p=new g3(a+t[3],o+t[0],u,c);return p.margin=t,p}function By(n,e,t,i,r,a){var o=!r||!r.hv||r.hv[0],s=!r||!r.hv||r.hv[1],l=r&&r.boundingMode||"all";if(a=a||n,a.x=n.x,a.y=n.y,!o&&!s)return!1;var u;if(l==="raw")u=n.type==="group"?new g3(0,0,+e.width||0,+e.height||0):n.getBoundingRect();else if(u=n.getBoundingRect(),n.needLocalTransform()){var c=n.getLocalTransform();u=u.clone(),u.applyTransform(c)}var d=un(qt({width:u.width,height:u.height},e),t,i),h=o?d.x-u.x:0,f=s?d.y-u.y:0;return l==="raw"?(a.x=h,a.y=f):(a.x+=h,a.y+=f),a===n&&n.markRedraw(),!0}function V8e(n,e){return n[a8[e][0]]!=null||n[a8[e][1]]!=null&&n[a8[e][2]]!=null}function Id(n){var e=n.layoutMode||n.constructor.layoutMode;return Kt(e)?e:e?{type:e}:null}function R5(n,e,t){var i=t&&t.ignoreSize;!j2(i)&&(i=[i,i]);var r=o(a8[0],0),a=o(a8[1],1);u(a8[0],n,r),u(a8[1],n,a);function o(c,d){var h={},f=0,p={},m=0,v=2;if(om(c,function(S){p[S]=n[S]}),om(c,function(S){s(e,S)&&(h[S]=p[S]=e[S]),l(h,S)&&f++,l(p,S)&&m++}),i[d])return l(e,c[1])?p[c[2]]=null:l(e,c[2])&&(p[c[1]]=null),p;if(m===v||!f)return p;if(f>=v)return h;for(var g=0;g<c.length;g++){var _=c[g];if(!s(h,_)&&s(n,_)){h[_]=n[_];break}}return h}function s(c,d){return c.hasOwnProperty(d)}function l(c,d){return c[d]!=null&&c[d]!=="auto"}function u(c,d,h){om(c,function(f){d[f]=h[f]})}}function W7(n){return gX({},n)}function gX(n,e){return e&&n&&om(mX,function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n}var H8e=G3(),j7=function(n){o2(e,n);function e(t,i,r){var a=n.call(this,t,i,r)||this;return a.uid=V7("ec_cpt_model"),a}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r)},e.prototype.mergeDefaultAndTheme=function(t,i){var r=Id(this),a=r?W7(t):{},o=i.getTheme();u3(t,o.get(this.mainType)),u3(t,this.getDefaultOption()),r&&R5(t,a,r)},e.prototype.mergeOption=function(t,i){u3(this.option,t,!0);var r=Id(this);r&&R5(this.option,t,r)},e.prototype.optionUpdated=function(t,i){},e.prototype.getDefaultOption=function(){var t=this.constructor;if(!T5e(t))return t.defaultOption;var i=H8e(this);if(!i.defaultOption){for(var r=[],a=t;a;){var o=a.prototype.defaultOption;o&&r.push(o),a=a.superClass}for(var s={},l=r.length-1;l>=0;l--)s=u3(s,r[l],!0);i.defaultOption=s}return i.defaultOption},e.prototype.getReferringComponents=function(t,i){var r=t+"Index",a=t+"Id";return gh(this.ecModel,t,{index:this.get(r,!0),id:this.get(a,!0)},i)},e.prototype.getBoxLayoutParams=function(){var t=this;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")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}($1);aq(j7,$1);xy(j7);P8e(j7);R8e(j7,W8e);function W8e(n){var e=[];return ne(j7.getClassesByMainType(n),function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])}),e=q2(e,function(t){return zo(t).main}),n!=="dataset"&&x3(e,"dataset")<=0&&e.unshift("dataset"),e}const $3=j7;var yX="";typeof navigator!="undefined"&&(yX=navigator.platform||"");var L4="rgba(0, 0, 0, 0.2)";const j8e={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:L4,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:L4,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:L4,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:L4,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:L4,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:L4,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:yX.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:!1};var _X=Rt(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Pa="original",di="arrayRows",Ra="objectRows",ts="keyedColumns",m5="typedArray",SX="unknown",Wo="column",$7="row",zn={Must:1,Might:2,Not:3},bX=G3();function $8e(n){bX(n).datasetMap=Rt()}function xX(n,e,t){var i={},r=RE(e);if(!r||!n)return i;var a=[],o=[],s=e.ecModel,l=bX(s).datasetMap,u=r.uid+"_"+t.seriesLayoutBy,c,d;n=n.slice(),ne(n,function(m,v){var g=Kt(m)?m:n[v]={name:m};g.type==="ordinal"&&c==null&&(c=v,d=p(g)),i[g.name]=[]});var h=l.get(u)||l.set(u,{categoryWayDim:d,valueWayDim:0});ne(n,function(m,v){var g=m.name,_=p(m);if(c==null){var S=h.valueWayDim;f(i[g],S,_),f(o,S,_),h.valueWayDim+=_}else if(c===v)f(i[g],0,_),f(a,0,_);else{var S=h.categoryWayDim;f(i[g],S,_),f(o,S,_),h.categoryWayDim+=_}});function f(m,v,g){for(var _=0;_<g;_++)m.push(v+_)}function p(m){var v=m.dimsDef;return v?v.length:1}return a.length&&(i.itemName=a),o.length&&(i.seriesName=o),i}function PE(n,e,t){var i={},r=RE(n);if(!r)return i;var a=e.sourceFormat,o=e.dimensionsDefine,s;(a===Ra||a===ts)&&ne(o,function(c,d){(Kt(c)?c.name:c)==="name"&&(s=d)});var l=function(){for(var c={},d={},h=[],f=0,p=Math.min(5,t);f<p;f++){var m=TX(e.data,a,e.seriesLayoutBy,o,e.startIndex,f);h.push(m);var v=m===zn.Not;if(v&&c.v==null&&f!==s&&(c.v=f),(c.n==null||c.n===c.v||!v&&h[c.n]===zn.Not)&&(c.n=f),g(c)&&h[c.n]!==zn.Not)return c;v||(m===zn.Might&&d.v==null&&f!==s&&(d.v=f),(d.n==null||d.n===d.v)&&(d.n=f))}function g(_){return _.v!=null&&_.n!=null}return g(c)?c:g(d)?d:null}();if(l){i.value=[l.v];var u=s!=null?s:l.n;i.itemName=[u],i.seriesName=[u]}return i}function RE(n){var e=n.get("data",!0);if(!e)return gh(n.ecModel,"dataset",{index:n.get("datasetIndex",!0),id:n.get("datasetId",!0)},q0).models[0]}function q8e(n){return!n.get("transform",!0)&&!n.get("fromTransformResult",!0)?[]:gh(n.ecModel,"dataset",{index:n.get("fromDatasetIndex",!0),id:n.get("fromDatasetId",!0)},q0).models}function wX(n,e){return TX(n.data,n.sourceFormat,n.seriesLayoutBy,n.dimensionsDefine,n.startIndex,e)}function TX(n,e,t,i,r,a){var o,s=5;if(or(n))return zn.Not;var l,u;if(i){var c=i[a];Kt(c)?(l=c.name,u=c.type):xt(c)&&(l=c)}if(u!=null)return u==="ordinal"?zn.Must:zn.Not;if(e===di){var d=n;if(t===$7){for(var h=d[a],f=0;f<(h||[]).length&&f<s;f++)if((o=x(h[r+f]))!=null)return o}else for(var f=0;f<d.length&&f<s;f++){var p=d[r+f];if(p&&(o=x(p[a]))!=null)return o}}else if(e===Ra){var m=n;if(!l)return zn.Not;for(var f=0;f<m.length&&f<s;f++){var v=m[f];if(v&&(o=x(v[l]))!=null)return o}}else if(e===ts){var g=n;if(!l)return zn.Not;var h=g[l];if(!h||or(h))return zn.Not;for(var f=0;f<h.length&&f<s;f++)if((o=x(h[f]))!=null)return o}else if(e===Pa)for(var _=n,f=0;f<_.length&&f<s;f++){var v=_[f],S=B7(v);if(!j2(S))return zn.Not;if((o=x(S[a]))!=null)return o}function x(A){var C=xt(A);if(A!=null&&Number.isFinite(Number(A))&&A!=="")return C?zn.Might:zn.Not;if(C&&A!=="-")return zn.Must}return zn.Not}var DA=Rt();function X8e(n,e){Ri(DA.get(n)==null&&e),DA.set(n,e)}function Y8e(n,e,t){var i=DA.get(e);if(!i)return t;var r=i(n);return r?t.concat(r):t}var xk=G3(),K8e=G3(),LE=function(){function n(){}return n.prototype.getColorFromPalette=function(e,t,i){var r=T1(this.get("color",!0)),a=this.get("colorLayer",!0);return AX(this,xk,r,a,e,t,i)},n.prototype.clearColorPalette=function(){J8e(this,xk)},n}();function NA(n,e,t,i){var r=T1(n.get(["aria","decal","decals"]));return AX(n,K8e,r,null,e,t,i)}function Z8e(n,e){for(var t=n.length,i=0;i<t;i++)if(n[i].length>e)return n[i];return n[t-1]}function AX(n,e,t,i,r,a,o){a=a||n;var s=e(a),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(r))return u[r];var c=o==null||!i?t:Z8e(i,o);if(c=c||t,!(!c||!c.length)){var d=c[l];return r&&(u[r]=d),s.paletteIdx=(l+1)%c.length,d}}function J8e(n,e){e(n).paletteIdx=0,e(n).paletteNameMap={}}var ep,Iu,wk,Tk="\0_ec_inner",Q8e=1,CX=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(t,i,r,a,o,s){a=a||{},this.option=null,this._theme=new $1(a),this._locale=new $1(o),this._optionManager=s},e.prototype.setOption=function(t,i,r){var a=Mk(i);this._optionManager.setOption(t,r,a),this._resetOption(null,a)},e.prototype.resetOption=function(t,i){return this._resetOption(t,Mk(i))},e.prototype._resetOption=function(t,i){var r=!1,a=this._optionManager;if(!t||t==="recreate"){var o=a.mountOption(t==="recreate");!this.option||t==="recreate"?wk(this,o):(this.restoreData(),this._mergeOption(o,i)),r=!0}if((t==="timeline"||t==="media")&&this.restoreData(),!t||t==="recreate"||t==="timeline"){var s=a.getTimelineOption(this);s&&(r=!0,this._mergeOption(s,i))}if(!t||t==="recreate"||t==="media"){var l=a.getMediaOption(this);l.length&&ne(l,function(u){r=!0,this._mergeOption(u,i)},this)}return r},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,i){var r=this.option,a=this._componentsMap,o=this._componentsCount,s=[],l=Rt(),u=i&&i.replaceMergeMainTypeMap;$8e(this),ne(t,function(d,h){d!=null&&($3.hasClass(h)?h&&(s.push(h),l.set(h,!0)):r[h]=r[h]==null?Zt(d):u3(r[h],d,!0))}),u&&u.each(function(d,h){$3.hasClass(h)&&!l.get(h)&&(s.push(h),l.set(h,!0))}),$3.topologicalTravel(s,$3.getAllClassMainTypes(),c,this);function c(d){var h=Y8e(this,d,T1(t[d])),f=a.get(d),p=f?u&&u.get(d)?"replaceMerge":"normalMerge":"replaceAll",m=eq(f,h,p);v5e(m,d,$3),r[d]=null,a.set(d,null),o.set(d,0);var v=[],g=[],_=0,S;ne(m,function(x,A){var C=x.existing,M=x.newOption;if(!M)C&&(C.mergeOption({},this),C.optionUpdated({},!1));else{var I=d==="series",D=$3.getClass(d,x.keyInfo.subType,!I);if(!D)return;if(d==="tooltip"){if(S)return;S=!0}if(C&&C.constructor===D)C.name=x.keyInfo.name,C.mergeOption(M,this),C.optionUpdated(M,!1);else{var E=I2({componentIndex:A},x.keyInfo);C=new D(M,this,this,E),I2(C,E),x.brandNew&&(C.__requireNewView=!0),C.init(M,this,this),C.optionUpdated(null,!0)}}C?(v.push(C.option),g.push(C),_++):(v.push(void 0),g.push(void 0))},this),r[d]=v,a.set(d,g),o.set(d,_),d==="series"&&ep(this)}this._seriesIndices||ep(this)},e.prototype.getOption=function(){var t=Zt(this.option);return ne(t,function(i,r){if($3.hasClass(r)){for(var a=T1(i),o=a.length,s=!1,l=o-1;l>=0;l--)a[l]&&!Cd(a[l])?s=!0:(a[l]=null,!s&&o--);a.length=o,t[r]=a}}),delete t[Tk],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,i){var r=this._componentsMap.get(t);if(r){var a=r[i||0];if(a)return a;if(i==null){for(var o=0;o<r.length;o++)if(r[o])return r[o]}}},e.prototype.queryComponents=function(t){var i=t.mainType;if(!i)return[];var r=t.index,a=t.id,o=t.name,s=this._componentsMap.get(i);if(!s||!s.length)return[];var l;return r!=null?(l=[],ne(T1(r),function(u){s[u]&&l.push(s[u])})):a!=null?l=Ak("id",a,s):o!=null?l=Ak("name",o,s):l=c1(s,function(u){return!!u}),Ck(l,t)},e.prototype.findComponents=function(t){var i=t.query,r=t.mainType,a=s(i),o=a?this.queryComponents(a):c1(this._componentsMap.get(r),function(u){return!!u});return l(Ck(o,t));function s(u){var c=r+"Index",d=r+"Id",h=r+"Name";return u&&(u[c]!=null||u[d]!=null||u[h]!=null)?{mainType:r,index:u[c],id:u[d],name:u[h]}:null}function l(u){return t.filter?c1(u,t.filter):u}},e.prototype.eachComponent=function(t,i,r){var a=this._componentsMap;if(Wt(t)){var o=i,s=t;a.each(function(d,h){for(var f=0;d&&f<d.length;f++){var p=d[f];p&&s.call(o,h,p,p.componentIndex)}})}else for(var l=xt(t)?a.get(t):Kt(t)?this.findComponents(t):null,u=0;l&&u<l.length;u++){var c=l[u];c&&i.call(r,c,c.componentIndex)}},e.prototype.getSeriesByName=function(t){var i=ln(t,null);return c1(this._componentsMap.get("series"),function(r){return!!r&&i!=null&&r.name===i})},e.prototype.getSeriesByIndex=function(t){return this._componentsMap.get("series")[t]},e.prototype.getSeriesByType=function(t){return c1(this._componentsMap.get("series"),function(i){return!!i&&i.subType===t})},e.prototype.getSeries=function(){return c1(this._componentsMap.get("series"),function(t){return!!t})},e.prototype.getSeriesCount=function(){return this._componentsCount.get("series")},e.prototype.eachSeries=function(t,i){Iu(this),ne(this._seriesIndices,function(r){var a=this._componentsMap.get("series")[r];t.call(i,a,r)},this)},e.prototype.eachRawSeries=function(t,i){ne(this._componentsMap.get("series"),function(r){r&&t.call(i,r,r.componentIndex)})},e.prototype.eachSeriesByType=function(t,i,r){Iu(this),ne(this._seriesIndices,function(a){var o=this._componentsMap.get("series")[a];o.subType===t&&i.call(r,o,a)},this)},e.prototype.eachRawSeriesByType=function(t,i,r){return ne(this.getSeriesByType(t),i,r)},e.prototype.isSeriesFiltered=function(t){return Iu(this),this._seriesIndicesMap.get(t.componentIndex)==null},e.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()},e.prototype.filterSeries=function(t,i){Iu(this);var r=[];ne(this._seriesIndices,function(a){var o=this._componentsMap.get("series")[a];t.call(i,o,a)&&r.push(a)},this),this._seriesIndices=r,this._seriesIndicesMap=Rt(r)},e.prototype.restoreData=function(t){ep(this);var i=this._componentsMap,r=[];i.each(function(a,o){$3.hasClass(o)&&r.push(o)}),$3.topologicalTravel(r,$3.getAllClassMainTypes(),function(a){ne(i.get(a),function(o){o&&(a!=="series"||!e4e(o,t))&&o.restoreData()})})},e.internalField=function(){ep=function(t){var i=t._seriesIndices=[];ne(t._componentsMap.get("series"),function(r){r&&i.push(r.componentIndex)}),t._seriesIndicesMap=Rt(i)},Iu=function(t){},wk=function(t,i){t.option={},t.option[Tk]=Q8e,t._componentsMap=Rt({series:[]}),t._componentsCount=Rt();var r=i.aria;Kt(r)&&r.enabled==null&&(r.enabled=!0),t4e(i,t._theme.option),u3(i,j8e,!1),t._mergeOption(i,null)}}(),e}($1);function e4e(n,e){if(e){var t=e.seriesIndex,i=e.seriesId,r=e.seriesName;return t!=null&&n.componentIndex!==t||i!=null&&n.id!==i||r!=null&&n.name!==r}}function t4e(n,e){var t=n.color&&!n.colorLayer;ne(e,function(i,r){r==="colorLayer"&&t||$3.hasClass(r)||(typeof i=="object"?n[r]=n[r]?u3(n[r],i,!1):Zt(i):n[r]==null&&(n[r]=i))})}function Ak(n,e,t){if(j2(e)){var i=Rt();return ne(e,function(a){if(a!=null){var o=ln(a,null);o!=null&&i.set(a,!0)}}),c1(t,function(a){return a&&i.get(a[n])})}else{var r=ln(e,null);return c1(t,function(a){return a&&r!=null&&a[n]===r})}}function Ck(n,e){return e.hasOwnProperty("subType")?c1(n,function(t){return t&&t.subType===e.subType}):n}function Mk(n){var e=Rt();return n&&ne(T1(n.replaceMerge),function(t){e.set(t,!0)}),{replaceMergeMainTypeMap:e}}K0(CX,LE);const MX=CX;var n4e=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isSSR","isDisposed","on","off","getDataURL","getConnectedDataURL","getOption","getId","updateLabelLayout"],i4e=function(){function n(e){ne(n4e,function(t){this[t]=Tt(e[t],e)},this)}return n}();const EX=i4e;var Gb={},r4e=function(){function n(){this._coordinateSystems=[]}return n.prototype.create=function(e,t){var i=[];ne(Gb,function(r,a){var o=r.create(e,t);i=i.concat(o||[])}),this._coordinateSystems=i},n.prototype.update=function(e,t){ne(this._coordinateSystems,function(i){i.update&&i.update(e,t)})},n.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()},n.register=function(e,t){Gb[e]=t},n.get=function(e){return Gb[e]},n}();const bh=r4e;var a4e=/^(min|max)?(.+)$/,o4e=function(){function n(e){this._timelineOptions=[],this._mediaList=[],this._currentMediaIndices=[],this._api=e}return n.prototype.setOption=function(e,t,i){e&&(ne(T1(e.series),function(o){o&&o.data&&or(o.data)&&Bm(o.data)}),ne(T1(e.dataset),function(o){o&&o.source&&or(o.source)&&Bm(o.source)})),e=Zt(e);var r=this._optionBackup,a=s4e(e,t,!r);this._newBaseOption=a.baseOption,r?(a.timelineOptions.length&&(r.timelineOptions=a.timelineOptions),a.mediaList.length&&(r.mediaList=a.mediaList),a.mediaDefault&&(r.mediaDefault=a.mediaDefault)):this._optionBackup=a},n.prototype.mountOption=function(e){var t=this._optionBackup;return this._timelineOptions=t.timelineOptions,this._mediaList=t.mediaList,this._mediaDefault=t.mediaDefault,this._currentMediaIndices=[],Zt(e?t.baseOption:this._newBaseOption)},n.prototype.getTimelineOption=function(e){var t,i=this._timelineOptions;if(i.length){var r=e.getComponent("timeline");r&&(t=Zt(i[r.getCurrentIndex()]))}return t},n.prototype.getMediaOption=function(e){var t=this._api.getWidth(),i=this._api.getHeight(),r=this._mediaList,a=this._mediaDefault,o=[],s=[];if(!r.length&&!a)return s;for(var l=0,u=r.length;l<u;l++)l4e(r[l].query,t,i)&&o.push(l);return!o.length&&a&&(o=[-1]),o.length&&!c4e(o,this._currentMediaIndices)&&(s=q2(o,function(c){return Zt(c===-1?a.option:r[c].option)})),this._currentMediaIndices=o,s},n}();function s4e(n,e,t){var i=[],r,a,o=n.baseOption,s=n.timeline,l=n.options,u=n.media,c=!!n.media,d=!!(l||s||o&&o.timeline);o?(a=o,a.timeline||(a.timeline=s)):((d||c)&&(n.options=n.media=null),a=n),c&&j2(u)&&ne(u,function(f){f&&f.option&&(f.query?i.push(f):r||(r=f))}),h(a),ne(l,function(f){return h(f)}),ne(i,function(f){return h(f.option)});function h(f){ne(e,function(p){p(f,t)})}return{baseOption:a,timelineOptions:l||[],mediaDefault:r,mediaList:i}}function l4e(n,e,t){var i={width:e,height:t,aspectratio:e/t},r=!0;return ne(n,function(a,o){var s=o.match(a4e);if(!(!s||!s[1]||!s[2])){var l=s[1],u=s[2].toLowerCase();u4e(i[u],a,l)||(r=!1)}}),r}function u4e(n,e,t){return t==="min"?n>=e:t==="max"?n<=e:n===e}function c4e(n,e){return n.join(",")===e.join(",")}const d4e=o4e;var Oa=ne,Dd=Kt,Ek=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Ub(n){var e=n&&n.itemStyle;if(e)for(var t=0,i=Ek.length;t<i;t++){var r=Ek[t],a=e.normal,o=e.emphasis;a&&a[r]&&(n[r]=n[r]||{},n[r].normal?u3(n[r].normal,a[r]):n[r].normal=a[r],a[r]=null),o&&o[r]&&(n[r]=n[r]||{},n[r].emphasis?u3(n[r].emphasis,o[r]):n[r].emphasis=o[r],o[r]=null)}}function ni(n,e,t){if(n&&n[e]&&(n[e].normal||n[e].emphasis)){var i=n[e].normal,r=n[e].emphasis;i&&(t?(n[e].normal=n[e].emphasis=null,qt(n[e],i)):n[e]=i),r&&(n.emphasis=n.emphasis||{},n.emphasis[e]=r,r.focus&&(n.emphasis.focus=r.focus),r.blurScope&&(n.emphasis.blurScope=r.blurScope))}}function wc(n){ni(n,"itemStyle"),ni(n,"lineStyle"),ni(n,"areaStyle"),ni(n,"label"),ni(n,"labelLine"),ni(n,"upperLabel"),ni(n,"edgeLabel")}function U0(n,e){var t=Dd(n)&&n[e],i=Dd(t)&&t.textStyle;if(i)for(var r=0,a=NN.length;r<a;r++){var o=NN[r];i.hasOwnProperty(o)&&(t[o]=i[o])}}function oa(n){n&&(wc(n),U0(n,"label"),n.emphasis&&U0(n.emphasis,"label"))}function h4e(n){if(Dd(n)){Ub(n),wc(n),U0(n,"label"),U0(n,"upperLabel"),U0(n,"edgeLabel"),n.emphasis&&(U0(n.emphasis,"label"),U0(n.emphasis,"upperLabel"),U0(n.emphasis,"edgeLabel"));var e=n.markPoint;e&&(Ub(e),oa(e));var t=n.markLine;t&&(Ub(t),oa(t));var i=n.markArea;i&&oa(i);var r=n.data;if(n.type==="graph"){r=r||n.nodes;var a=n.links||n.edges;if(a&&!or(a))for(var o=0;o<a.length;o++)oa(a[o]);ne(n.categories,function(u){wc(u)})}if(r&&!or(r))for(var o=0;o<r.length;o++)oa(r[o]);if(e=n.markPoint,e&&e.data)for(var s=e.data,o=0;o<s.length;o++)oa(s[o]);if(t=n.markLine,t&&t.data)for(var l=t.data,o=0;o<l.length;o++)j2(l[o])?(oa(l[o][0]),oa(l[o][1])):oa(l[o]);n.type==="gauge"?(U0(n,"axisLabel"),U0(n,"title"),U0(n,"detail")):n.type==="treemap"?(ni(n.breadcrumb,"itemStyle"),ne(n.levels,function(u){wc(u)})):n.type==="tree"&&wc(n.leaves)}}function ys(n){return j2(n)?n:n?[n]:[]}function Pk(n){return(j2(n)?n[0]:n)||{}}function f4e(n,e){Oa(ys(n.series),function(i){Dd(i)&&h4e(i)});var t=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&t.push("valueAxis","categoryAxis","logAxis","timeAxis"),Oa(t,function(i){Oa(ys(n[i]),function(r){r&&(U0(r,"axisLabel"),U0(r.axisPointer,"label"))})}),Oa(ys(n.parallel),function(i){var r=i&&i.parallelAxisDefault;U0(r,"axisLabel"),U0(r&&r.axisPointer,"label")}),Oa(ys(n.calendar),function(i){ni(i,"itemStyle"),U0(i,"dayLabel"),U0(i,"monthLabel"),U0(i,"yearLabel")}),Oa(ys(n.radar),function(i){U0(i,"name"),i.name&&i.axisName==null&&(i.axisName=i.name,delete i.name),i.nameGap!=null&&i.axisNameGap==null&&(i.axisNameGap=i.nameGap,delete i.nameGap)}),Oa(ys(n.geo),function(i){Dd(i)&&(oa(i),Oa(ys(i.regions),function(r){oa(r)}))}),Oa(ys(n.timeline),function(i){oa(i),ni(i,"label"),ni(i,"itemStyle"),ni(i,"controlStyle",!0);var r=i.data;j2(r)&&ne(r,function(a){Kt(a)&&(ni(a,"label"),ni(a,"itemStyle"))})}),Oa(ys(n.toolbox),function(i){ni(i,"iconStyle"),Oa(i.feature,function(r){ni(r,"iconStyle")})}),U0(Pk(n.axisPointer),"label"),U0(Pk(n.tooltip).axisPointer,"label")}function p4e(n,e){for(var t=e.split(","),i=n,r=0;r<t.length&&(i=i&&i[t[r]],i!=null);r++);return i}function v4e(n,e,t,i){for(var r=e.split(","),a=n,o,s=0;s<r.length-1;s++)o=r[s],a[o]==null&&(a[o]={}),a=a[o];(i||a[r[s]]==null)&&(a[r[s]]=t)}function Rk(n){n&&ne(m4e,function(e){e[0]in n&&!(e[1]in n)&&(n[e[1]]=n[e[0]])})}var m4e=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],g4e=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],Vb=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]];function Du(n){var e=n&&n.itemStyle;if(e)for(var t=0;t<Vb.length;t++){var i=Vb[t][1],r=Vb[t][0];e[i]!=null&&(e[r]=e[i])}}function Lk(n){n&&n.alignTo==="edge"&&n.margin!=null&&n.edgeDistance==null&&(n.edgeDistance=n.margin)}function Ik(n){n&&n.downplay&&!n.blur&&(n.blur=n.downplay)}function y4e(n){n&&n.focusNodeAdjacency!=null&&(n.emphasis=n.emphasis||{},n.emphasis.focus==null&&(n.emphasis.focus="adjacency"))}function PX(n,e){if(n)for(var t=0;t<n.length;t++)e(n[t]),n[t]&&PX(n[t].children,e)}function RX(n,e){f4e(n,e),n.series=T1(n.series),ne(n.series,function(t){if(Kt(t)){var i=t.type;if(i==="line")t.clipOverflow!=null&&(t.clip=t.clipOverflow);else if(i==="pie"||i==="gauge"){t.clockWise!=null&&(t.clockwise=t.clockWise),Lk(t.label);var r=t.data;if(r&&!or(r))for(var a=0;a<r.length;a++)Lk(r[a]);t.hoverOffset!=null&&(t.emphasis=t.emphasis||{},(t.emphasis.scaleSize=null)&&(t.emphasis.scaleSize=t.hoverOffset))}else if(i==="gauge"){var o=p4e(t,"pointer.color");o!=null&&v4e(t,"itemStyle.color",o)}else if(i==="bar"){Du(t),Du(t.backgroundStyle),Du(t.emphasis);var r=t.data;if(r&&!or(r))for(var a=0;a<r.length;a++)typeof r[a]=="object"&&(Du(r[a]),Du(r[a]&&r[a].emphasis))}else if(i==="sunburst"){var s=t.highlightPolicy;s&&(t.emphasis=t.emphasis||{},t.emphasis.focus||(t.emphasis.focus=s)),Ik(t),PX(t.data,Ik)}else i==="graph"||i==="sankey"?y4e(t):i==="map"&&(t.mapType&&!t.map&&(t.map=t.mapType),t.mapLocation&&qt(t,t.mapLocation));t.hoverAnimation!=null&&(t.emphasis=t.emphasis||{},t.emphasis&&t.emphasis.scale==null&&(t.emphasis.scale=t.hoverAnimation)),Rk(t)}}),n.dataRange&&(n.visualMap=n.dataRange),ne(g4e,function(t){var i=n[t];i&&(j2(i)||(i=[i]),ne(i,function(r){Rk(r)}))})}function _4e(n){var e=Rt();n.eachSeries(function(t){var i=t.get("stack");if(i){var r=e.get(i)||e.set(i,[]),a=t.getData(),o={stackResultDimension:a.getCalculationInfo("stackResultDimension"),stackedOverDimension:a.getCalculationInfo("stackedOverDimension"),stackedDimension:a.getCalculationInfo("stackedDimension"),stackedByDimension:a.getCalculationInfo("stackedByDimension"),isStackedByIndex:a.getCalculationInfo("isStackedByIndex"),data:a,seriesModel:t};if(!o.stackedDimension||!(o.isStackedByIndex||o.stackedByDimension))return;r.length&&a.setCalculationInfo("stackedOnSeries",r[r.length-1].seriesModel),r.push(o)}}),e.each(S4e)}function S4e(n){ne(n,function(e,t){var i=[],r=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],o=e.data,s=e.isStackedByIndex,l=e.seriesModel.get("stackStrategy")||"samesign";o.modify(a,function(u,c,d){var h=o.get(e.stackedDimension,d);if(isNaN(h))return r;var f,p;s?p=o.getRawIndex(d):f=o.get(e.stackedByDimension,d);for(var m=NaN,v=t-1;v>=0;v--){var g=n[v];if(s||(p=g.data.rawIndexOf(g.stackedByDimension,f)),p>=0){var _=g.data.getByRawIndex(g.stackResultDimension,p);if(l==="all"||l==="positive"&&_>0||l==="negative"&&_<0||l==="samesign"&&h>=0&&_>0||l==="samesign"&&h<=0&&_<0){h=r5e(h,_),m=_;break}}}return i[0]=h,i[1]=m,i})})}var zy=function(){function n(e){this.data=e.data||(e.sourceFormat===ts?{}:[]),this.sourceFormat=e.sourceFormat||SX,this.seriesLayoutBy=e.seriesLayoutBy||Wo,this.startIndex=e.startIndex||0,this.dimensionsDetectedCount=e.dimensionsDetectedCount,this.metaRawOption=e.metaRawOption;var t=this.dimensionsDefine=e.dimensionsDefine;if(t)for(var i=0;i<t.length;i++){var r=t[i];r.type==null&&wX(this,i)===zn.Must&&(r.type="ordinal")}}return n}();function IE(n){return n instanceof zy}function kA(n,e,t){t=t||LX(n);var i=e.seriesLayoutBy,r=x4e(n,t,i,e.sourceHeader,e.dimensions),a=new zy({data:n,sourceFormat:t,seriesLayoutBy:i,dimensionsDefine:r.dimensionsDefine,startIndex:r.startIndex,dimensionsDetectedCount:r.dimensionsDetectedCount,metaRawOption:Zt(e)});return a}function DE(n){return new zy({data:n,sourceFormat:or(n)?m5:Pa})}function b4e(n){return new zy({data:n.data,sourceFormat:n.sourceFormat,seriesLayoutBy:n.seriesLayoutBy,dimensionsDefine:Zt(n.dimensionsDefine),startIndex:n.startIndex,dimensionsDetectedCount:n.dimensionsDetectedCount})}function LX(n){var e=SX;if(or(n))e=m5;else if(j2(n)){n.length===0&&(e=di);for(var t=0,i=n.length;t<i;t++){var r=n[t];if(r!=null){if(j2(r)||or(r)){e=di;break}else if(Kt(r)){e=Ra;break}}}}else if(Kt(n)){for(var a in n)if(Ct(n,a)&&ci(n[a])){e=ts;break}}return e}function x4e(n,e,t,i,r){var a,o;if(!n)return{dimensionsDefine:Dk(r),startIndex:o,dimensionsDetectedCount:a};if(e===di){var s=n;i==="auto"||i==null?Nk(function(u){u!=null&&u!=="-"&&(xt(u)?o==null&&(o=1):o=0)},t,s,10):o=Y3(i)?i:i?1:0,!r&&o===1&&(r=[],Nk(function(u,c){r[c]=u!=null?u+"":""},t,s,1/0)),a=r?r.length:t===$7?s.length:s[0]?s[0].length:null}else if(e===Ra)r||(r=w4e(n));else if(e===ts)r||(r=[],ne(n,function(u,c){r.push(c)}));else if(e===Pa){var l=B7(n[0]);a=j2(l)&&l.length||1}return{startIndex:o,dimensionsDefine:Dk(r),dimensionsDetectedCount:a}}function w4e(n){for(var e=0,t;e<n.length&&!(t=n[e++]););if(t)return L3(t)}function Dk(n){if(n){var e=Rt();return q2(n,function(t,i){t=Kt(t)?t:{name:t};var r={name:t.name,displayName:t.displayName,type:t.type};if(r.name==null)return r;r.name+="",r.displayName==null&&(r.displayName=r.name);var a=e.get(r.name);return a?r.name+="-"+a.count++:e.set(r.name,{count:1}),r})}}function Nk(n,e,t,i){if(e===$7)for(var r=0;r<t.length&&r<i;r++)n(t[r]?t[r][0]:null,r);else for(var a=t[0]||[],r=0;r<a.length&&r<i;r++)n(a[r],r)}function IX(n){var e=n.sourceFormat;return e===Ra||e===ts}var T9,A9,C9,kk,Fk,DX=function(){function n(e,t){var i=IE(e)?e:DE(e);this._source=i;var r=this._data=i.data;i.sourceFormat===m5&&(this._offset=0,this._dimSize=t,this._data=r),Fk(this,r,i)}return n.prototype.getSource=function(){return this._source},n.prototype.count=function(){return 0},n.prototype.getItem=function(e,t){},n.prototype.appendData=function(e){},n.prototype.clean=function(){},n.protoInitialize=function(){var e=n.prototype;e.pure=!1,e.persistent=!0}(),n.internalField=function(){var e;Fk=function(o,s,l){var u=l.sourceFormat,c=l.seriesLayoutBy,d=l.startIndex,h=l.dimensionsDefine,f=kk[NE(u,c)];if(I2(o,f),u===m5)o.getItem=t,o.count=r,o.fillStorage=i;else{var p=NX(u,c);o.getItem=Tt(p,null,s,d,h);var m=kX(u,c);o.count=Tt(m,null,s,d,h)}};var t=function(o,s){o=o-this._offset,s=s||[];for(var l=this._data,u=this._dimSize,c=u*o,d=0;d<u;d++)s[d]=l[c+d];return s},i=function(o,s,l,u){for(var c=this._data,d=this._dimSize,h=0;h<d;h++){for(var f=u[h],p=f[0]==null?1/0:f[0],m=f[1]==null?-1/0:f[1],v=s-o,g=l[h],_=0;_<v;_++){var S=c[_*d+h];g[o+_]=S,S<p&&(p=S),S>m&&(m=S)}f[0]=p,f[1]=m}},r=function(){return this._data?this._data.length/this._dimSize:0};kk=(e={},e[di+"_"+Wo]={pure:!0,appendData:a},e[di+"_"+$7]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},e[Ra]={pure:!0,appendData:a},e[ts]={pure:!0,appendData:function(o){var s=this._data;ne(o,function(l,u){for(var c=s[u]||(s[u]=[]),d=0;d<(l||[]).length;d++)c.push(l[d])})}},e[Pa]={appendData:a},e[m5]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},e);function a(o){for(var s=0;s<o.length;s++)this._data.push(o[s])}}(),n}(),Ok=function(n,e,t,i){return n[i]},T4e=(T9={},T9[di+"_"+Wo]=function(n,e,t,i){return n[i+e]},T9[di+"_"+$7]=function(n,e,t,i,r){i+=e;for(var a=r||[],o=n,s=0;s<o.length;s++){var l=o[s];a[s]=l?l[i]:null}return a},T9[Ra]=Ok,T9[ts]=function(n,e,t,i,r){for(var a=r||[],o=0;o<t.length;o++){var s=t[o].name,l=n[s];a[o]=l?l[i]:null}return a},T9[Pa]=Ok,T9);function NX(n,e){var t=T4e[NE(n,e)];return t}var Bk=function(n,e,t){return n.length},A4e=(A9={},A9[di+"_"+Wo]=function(n,e,t){return Math.max(0,n.length-e)},A9[di+"_"+$7]=function(n,e,t){var i=n[0];return i?Math.max(0,i.length-e):0},A9[Ra]=Bk,A9[ts]=function(n,e,t){var i=t[0].name,r=n[i];return r?r.length:0},A9[Pa]=Bk,A9);function kX(n,e){var t=A4e[NE(n,e)];return t}var Hb=function(n,e,t){return n[e]},C4e=(C9={},C9[di]=Hb,C9[Ra]=function(n,e,t){return n[t]},C9[ts]=Hb,C9[Pa]=function(n,e,t){var i=B7(n);return i instanceof Array?i[e]:i},C9[m5]=Hb,C9);function FX(n){var e=C4e[n];return e}function NE(n,e){return n===di?n+"_"+e:n}function h7(n,e,t){if(n){var i=n.getRawDataItem(e);if(i!=null){var r=n.getStore(),a=r.getSource().sourceFormat;if(t!=null){var o=n.getDimensionIndex(t),s=r.getDimensionProperty(o);return FX(a)(i,o,s)}else{var l=i;return a===Pa&&(l=B7(i)),l}}}}var M4e=/\{@(.+?)\}/g,Gy=function(){function n(){}return n.prototype.getDataParams=function(e,t){var i=this.getData(t),r=this.getRawValue(e,t),a=i.getRawIndex(e),o=i.getName(e),s=i.getRawDataItem(e),l=i.getItemVisual(e,"style"),u=l&&l[i.getItemVisual(e,"drawType")||"fill"],c=l&&l.stroke,d=this.mainType,h=d==="series",f=i.userOutput&&i.userOutput.get();return{componentType:d,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:h?this.subType:null,seriesIndex:this.seriesIndex,seriesId:h?this.id:null,seriesName:h?this.name:null,name:o,dataIndex:a,data:s,dataType:t,value:r,color:u,borderColor:c,dimensionNames:f?f.fullDimensions:null,encode:f?f.encode:null,$vars:["seriesName","name","value"]}},n.prototype.getFormattedLabel=function(e,t,i,r,a,o){t=t||"normal";var s=this.getData(i),l=this.getDataParams(e,i);if(o&&(l.value=o.interpolatedValue),r!=null&&j2(l.value)&&(l.value=l.value[r]),!a){var u=s.getItemModel(e);a=u.get(t==="normal"?["label","formatter"]:[t,"label","formatter"])}if(Wt(a))return l.status=t,l.dimensionIndex=r,a(l);if(xt(a)){var c=vX(a,l);return c.replace(M4e,function(d,h){var f=h.length,p=h;p.charAt(0)==="["&&p.charAt(f-1)==="]"&&(p=+p.slice(1,f-1));var m=h7(s,e,p);if(o&&j2(o.interpolatedValue)){var v=s.getDimensionIndex(p);v>=0&&(m=o.interpolatedValue[v])}return m!=null?m+"":""})}},n.prototype.getRawValue=function(e,t){return h7(this.getData(t),e)},n.prototype.formatTooltip=function(e,t,i){},n}();function zk(n){var e,t;return Kt(n)?n.type&&(t=n):e=n,{text:e,frag:t}}function qc(n){return new E4e(n)}var E4e=function(){function n(e){e=e||{},this._reset=e.reset,this._plan=e.plan,this._count=e.count,this._onDirty=e.onDirty,this._dirty=!0}return n.prototype.perform=function(e){var t=this._upstream,i=e&&e.skip;if(this._dirty&&t){var r=this.context;r.data=r.outputData=t.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!i&&(a=this._plan(this.context));var o=c(this._modBy),s=this._modDataCount||0,l=c(e&&e.modBy),u=e&&e.modDataCount||0;(o!==l||s!==u)&&(a="reset");function c(_){return!(_>=1)&&(_=1),_}var d;(this._dirty||a==="reset")&&(this._dirty=!1,d=this._doReset(i)),this._modBy=l,this._modDataCount=u;var h=e&&e.step;if(t?this._dueEnd=t._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var f=this._dueIndex,p=Math.min(h!=null?this._dueIndex+h:1/0,this._dueEnd);if(!i&&(d||f<p)){var m=this._progress;if(j2(m))for(var v=0;v<m.length;v++)this._doProgress(m[v],f,p,l,u);else this._doProgress(m,f,p,l,u)}this._dueIndex=p;var g=this._settedOutputEnd!=null?this._settedOutputEnd:p;this._outputDueEnd=g}else this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd;return this.unfinished()},n.prototype.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},n.prototype._doProgress=function(e,t,i,r,a){Gk.reset(t,i,r,a),this._callingProgress=e,this._callingProgress({start:t,end:i,count:i-t,next:Gk.next},this.context)},n.prototype._doReset=function(e){this._dueIndex=this._outputDueEnd=this._dueEnd=0,this._settedOutputEnd=null;var t,i;!e&&this._reset&&(t=this._reset(this.context),t&&t.progress&&(i=t.forceFirstProgress,t=t.progress),j2(t)&&!t.length&&(t=null)),this._progress=t,this._modBy=this._modDataCount=null;var r=this._downstream;return r&&r.dirty(),i},n.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},n.prototype.pipe=function(e){(this._downstream!==e||this._dirty)&&(this._downstream=e,e._upstream=this,e.dirty())},n.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},n.prototype.getUpstream=function(){return this._upstream},n.prototype.getDownstream=function(){return this._downstream},n.prototype.setOutputEnd=function(e){this._outputDueEnd=this._settedOutputEnd=e},n}(),Gk=function(){var n,e,t,i,r,a={reset:function(l,u,c,d){e=l,n=u,t=c,i=d,r=Math.ceil(i/t),a.next=t>1&&i>0?s:o}};return a;function o(){return e<n?e++:null}function s(){var l=e%r*t+Math.ceil(e/r),u=e>=n?null:l<i?l:e;return e++,u}}();function g5(n,e){var t=e&&e.type;return t==="ordinal"?n:(t==="time"&&!Y3(n)&&n!=null&&n!=="-"&&(n=+Jo(n)),n==null||n===""?NaN:Number(n))}var P4e=Rt({number:function(n){return parseFloat(n)},time:function(n){return+Jo(n)},trim:function(n){return xt(n)?Ya(n):n}});function OX(n){return P4e.get(n)}var BX={lt:function(n,e){return n<e},lte:function(n,e){return n<=e},gt:function(n,e){return n>e},gte:function(n,e){return n>=e}},R4e=function(){function n(e,t){if(!Y3(t)){var i="";l1(i)}this._opFn=BX[e],this._rvalFloat=js(t)}return n.prototype.evaluate=function(e){return Y3(e)?this._opFn(e,this._rvalFloat):this._opFn(js(e),this._rvalFloat)},n}(),zX=function(){function n(e,t){var i=e==="desc";this._resultLT=i?1:-1,t==null&&(t=i?"min":"max"),this._incomparable=t==="min"?-1/0:1/0}return n.prototype.evaluate=function(e,t){var i=Y3(e)?e:js(e),r=Y3(t)?t:js(t),a=isNaN(i),o=isNaN(r);if(a&&(i=this._incomparable),o&&(r=this._incomparable),a&&o){var s=xt(e),l=xt(t);s&&(i=l?e:0),l&&(r=s?t:0)}return i<r?this._resultLT:i>r?-this._resultLT:0},n}(),L4e=function(){function n(e,t){this._rval=t,this._isEQ=e,this._rvalTypeof=typeof t,this._rvalFloat=js(t)}return n.prototype.evaluate=function(e){var t=e===this._rval;if(!t){var i=typeof e;i!==this._rvalTypeof&&(i==="number"||this._rvalTypeof==="number")&&(t=js(e)===this._rvalFloat)}return this._isEQ?t:!t},n}();function I4e(n,e){return n==="eq"||n==="ne"?new L4e(n==="eq",e):Ct(BX,n)?new R4e(n,e):null}var D4e=function(){function n(){}return n.prototype.getRawData=function(){throw new Error("not supported")},n.prototype.getRawDataItem=function(e){throw new Error("not supported")},n.prototype.cloneRawData=function(){},n.prototype.getDimensionInfo=function(e){},n.prototype.cloneAllDimensionInfo=function(){},n.prototype.count=function(){},n.prototype.retrieveValue=function(e,t){},n.prototype.retrieveValueFromItem=function(e,t){},n.prototype.convertValue=function(e,t){return g5(e,t)},n}();function N4e(n,e){var t=new D4e,i=n.data,r=t.sourceFormat=n.sourceFormat,a=n.startIndex,o="";n.seriesLayoutBy!==Wo&&l1(o);var s=[],l={},u=n.dimensionsDefine;if(u)ne(u,function(m,v){var g=m.name,_={index:v,name:g,displayName:m.displayName};if(s.push(_),g!=null){var S="";Ct(l,g)&&l1(S),l[g]=_}});else for(var c=0;c<n.dimensionsDetectedCount;c++)s.push({index:c});var d=NX(r,Wo);e.__isBuiltIn&&(t.getRawDataItem=function(m){return d(i,a,s,m)},t.getRawData=Tt(k4e,null,n)),t.cloneRawData=Tt(F4e,null,n);var h=kX(r,Wo);t.count=Tt(h,null,i,a,s);var f=FX(r);t.retrieveValue=function(m,v){var g=d(i,a,s,m);return p(g,v)};var p=t.retrieveValueFromItem=function(m,v){if(m!=null){var g=s[v];if(g)return f(m,v,g.name)}};return t.getDimensionInfo=Tt(O4e,null,s,l),t.cloneAllDimensionInfo=Tt(B4e,null,s),t}function k4e(n){var e=n.sourceFormat;if(!kE(e)){var t="";l1(t)}return n.data}function F4e(n){var e=n.sourceFormat,t=n.data;if(!kE(e)){var i="";l1(i)}if(e===di){for(var r=[],a=0,o=t.length;a<o;a++)r.push(t[a].slice());return r}else if(e===Ra){for(var r=[],a=0,o=t.length;a<o;a++)r.push(I2({},t[a]));return r}}function O4e(n,e,t){if(t!=null){if(Y3(t)||!isNaN(t)&&!Ct(e,t))return n[t];if(Ct(e,t))return e[t]}}function B4e(n){return Zt(n)}var GX=Rt();function z4e(n){n=Zt(n);var e=n.type,t="";e||l1(t);var i=e.split(":");i.length!==2&&l1(t);var r=!1;i[0]==="echarts"&&(e=i[1],r=!0),n.__isBuiltIn=r,GX.set(e,n)}function G4e(n,e,t){var i=T1(n),r=i.length,a="";r||l1(a);for(var o=0,s=r;o<s;o++){var l=i[o];e=U4e(l,e),o!==s-1&&(e.length=Math.max(e.length,1))}return e}function U4e(n,e,t,i){var r="";e.length||l1(r),Kt(n)||l1(r);var a=n.type,o=GX.get(a);o||l1(r);var s=q2(e,function(u){return N4e(u,o)}),l=T1(o.transform({upstream:s[0],upstreamList:s,config:Zt(n.config)}));return q2(l,function(u,c){var d="";Kt(u)||l1(d),u.data||l1(d);var h=LX(u.data);kE(h)||l1(d);var f,p=e[0];if(p&&c===0&&!u.dimensions){var m=p.startIndex;m&&(u.data=p.data.slice(0,m).concat(u.data)),f={seriesLayoutBy:Wo,sourceHeader:m,dimensions:p.metaRawOption.dimensions}}else f={seriesLayoutBy:Wo,sourceHeader:0,dimensions:u.dimensions};return kA(u.data,f,null)})}function kE(n){return n===di||n===Ra}var Uy="undefined",V4e=typeof Uint32Array===Uy?Array:Uint32Array,H4e=typeof Uint16Array===Uy?Array:Uint16Array,UX=typeof Int32Array===Uy?Array:Int32Array,Uk=typeof Float64Array===Uy?Array:Float64Array,VX={float:Uk,int:UX,ordinal:Array,number:Array,time:Uk},Wb;function I4(n){return n>65535?V4e:H4e}function D4(){return[1/0,-1/0]}function W4e(n){var e=n.constructor;return e===Array?n.slice():new e(n)}function Vk(n,e,t,i,r){var a=VX[t||"float"];if(r){var o=n[e],s=o&&o.length;if(s!==i){for(var l=new a(i),u=0;u<s;u++)l[u]=o[u];n[e]=l}}else n[e]=new a(i)}var FA=function(){function n(){this._chunks=[],this._rawExtent=[],this._extent=[],this._count=0,this._rawCount=0,this._calcDimNameToIdx=Rt()}return n.prototype.initData=function(e,t,i){this._provider=e,this._chunks=[],this._indices=null,this.getRawIndex=this._getRawIdxIdentity;var r=e.getSource(),a=this.defaultDimValueGetter=Wb[r.sourceFormat];this._dimValueGetter=i||a,this._rawExtent=[],IX(r),this._dimensions=q2(t,function(o){return{type:o.type,property:o.property}}),this._initDataFromProvider(0,e.count())},n.prototype.getProvider=function(){return this._provider},n.prototype.getSource=function(){return this._provider.getSource()},n.prototype.ensureCalculationDimension=function(e,t){var i=this._calcDimNameToIdx,r=this._dimensions,a=i.get(e);if(a!=null){if(r[a].type===t)return a}else a=r.length;return r[a]={type:t},i.set(e,a),this._chunks[a]=new VX[t||"float"](this._rawCount),this._rawExtent[a]=D4(),a},n.prototype.collectOrdinalMeta=function(e,t){var i=this._chunks[e],r=this._dimensions[e],a=this._rawExtent,o=r.ordinalOffset||0,s=i.length;o===0&&(a[e]=D4());for(var l=a[e],u=o;u<s;u++){var c=i[u]=t.parseAndCollect(i[u]);isNaN(c)||(l[0]=Math.min(c,l[0]),l[1]=Math.max(c,l[1]))}r.ordinalMeta=t,r.ordinalOffset=s,r.type="ordinal"},n.prototype.getOrdinalMeta=function(e){var t=this._dimensions[e],i=t.ordinalMeta;return i},n.prototype.getDimensionProperty=function(e){var t=this._dimensions[e];return t&&t.property},n.prototype.appendData=function(e){var t=this._provider,i=this.count();t.appendData(e);var r=t.count();return t.persistent||(r+=i),i<r&&this._initDataFromProvider(i,r,!0),[i,r]},n.prototype.appendValues=function(e,t){for(var i=this._chunks,r=this._dimensions,a=r.length,o=this._rawExtent,s=this.count(),l=s+Math.max(e.length,t||0),u=0;u<a;u++){var c=r[u];Vk(i,u,c.type,l,!0)}for(var d=[],h=s;h<l;h++)for(var f=h-s,p=0;p<a;p++){var c=r[p],m=Wb.arrayRows.call(this,e[f]||d,c.property,f,p);i[p][h]=m;var v=o[p];m<v[0]&&(v[0]=m),m>v[1]&&(v[1]=m)}return this._rawCount=this._count=l,{start:s,end:l}},n.prototype._initDataFromProvider=function(e,t,i){for(var r=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=q2(o,function(_){return _.property}),c=0;c<s;c++){var d=o[c];l[c]||(l[c]=D4()),Vk(a,c,d.type,t,i)}if(r.fillStorage)r.fillStorage(e,t,a,l);else for(var h=[],f=e;f<t;f++){h=r.getItem(f,h);for(var p=0;p<s;p++){var m=a[p],v=this._dimValueGetter(h,u[p],f,p);m[f]=v;var g=l[p];v<g[0]&&(g[0]=v),v>g[1]&&(g[1]=v)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=t,this._extent=[]},n.prototype.count=function(){return this._count},n.prototype.get=function(e,t){if(!(t>=0&&t<this._count))return NaN;var i=this._chunks[e];return i?i[this.getRawIndex(t)]:NaN},n.prototype.getValues=function(e,t){var i=[],r=[];if(t==null){t=e,e=[];for(var a=0;a<this._dimensions.length;a++)r.push(a)}else r=e;for(var a=0,o=r.length;a<o;a++)i.push(this.get(r[a],t));return i},n.prototype.getByRawIndex=function(e,t){if(!(t>=0&&t<this._rawCount))return NaN;var i=this._chunks[e];return i?i[t]:NaN},n.prototype.getSum=function(e){var t=this._chunks[e],i=0;if(t)for(var r=0,a=this.count();r<a;r++){var o=this.get(e,r);isNaN(o)||(i+=o)}return i},n.prototype.getMedian=function(e){var t=[];this.each([e],function(a){isNaN(a)||t.push(a)});var i=t.sort(function(a,o){return a-o}),r=this.count();return r===0?0:r%2===1?i[(r-1)/2]:(i[r/2]+i[r/2-1])/2},n.prototype.indexOfRawIndex=function(e){if(e>=this._rawCount||e<0)return-1;if(!this._indices)return e;var t=this._indices,i=t[e];if(i!=null&&i<this._count&&i===e)return e;for(var r=0,a=this._count-1;r<=a;){var o=(r+a)/2|0;if(t[o]<e)r=o+1;else if(t[o]>e)a=o-1;else return o}return-1},n.prototype.indicesOfNearest=function(e,t,i){var r=this._chunks,a=r[e],o=[];if(!a)return o;i==null&&(i=1/0);for(var s=1/0,l=-1,u=0,c=0,d=this.count();c<d;c++){var h=this.getRawIndex(c),f=t-a[h],p=Math.abs(f);p<=i&&((p<s||p===s&&f>=0&&l<0)&&(s=p,l=f,u=0),f===l&&(o[u++]=c))}return o.length=u,o},n.prototype.getIndices=function(){var e,t=this._indices;if(t){var i=t.constructor,r=this._count;if(i===Array){e=new i(r);for(var a=0;a<r;a++)e[a]=t[a]}else e=new i(t.buffer,0,r)}else{var i=I4(this._rawCount);e=new i(this.count());for(var a=0;a<e.length;a++)e[a]=a}return e},n.prototype.filter=function(e,t){if(!this._count)return this;for(var i=this.clone(),r=i.count(),a=I4(i._rawCount),o=new a(r),s=[],l=e.length,u=0,c=e[0],d=i._chunks,h=0;h<r;h++){var f=void 0,p=i.getRawIndex(h);if(l===0)f=t(h);else if(l===1){var m=d[c][p];f=t(m,h)}else{for(var v=0;v<l;v++)s[v]=d[e[v]][p];s[v]=h,f=t.apply(null,s)}f&&(o[u++]=p)}return u<r&&(i._indices=o),i._count=u,i._extent=[],i._updateGetRawIdx(),i},n.prototype.selectRange=function(e){var t=this.clone(),i=t._count;if(!i)return this;var r=L3(e),a=r.length;if(!a)return this;var o=t.count(),s=I4(t._rawCount),l=new s(o),u=0,c=r[0],d=e[c][0],h=e[c][1],f=t._chunks,p=!1;if(!t._indices){var m=0;if(a===1){for(var v=f[r[0]],g=0;g<i;g++){var _=v[g];(_>=d&&_<=h||isNaN(_))&&(l[u++]=m),m++}p=!0}else if(a===2){for(var v=f[r[0]],S=f[r[1]],x=e[r[1]][0],A=e[r[1]][1],g=0;g<i;g++){var _=v[g],C=S[g];(_>=d&&_<=h||isNaN(_))&&(C>=x&&C<=A||isNaN(C))&&(l[u++]=m),m++}p=!0}}if(!p)if(a===1)for(var g=0;g<o;g++){var M=t.getRawIndex(g),_=f[r[0]][M];(_>=d&&_<=h||isNaN(_))&&(l[u++]=M)}else for(var g=0;g<o;g++){for(var I=!0,M=t.getRawIndex(g),D=0;D<a;D++){var E=r[D],_=f[E][M];(_<e[E][0]||_>e[E][1])&&(I=!1)}I&&(l[u++]=t.getRawIndex(g))}return u<o&&(t._indices=l),t._count=u,t._extent=[],t._updateGetRawIdx(),t},n.prototype.map=function(e,t){var i=this.clone(e);return this._updateDims(i,e,t),i},n.prototype.modify=function(e,t){this._updateDims(this,e,t)},n.prototype._updateDims=function(e,t,i){for(var r=e._chunks,a=[],o=t.length,s=e.count(),l=[],u=e._rawExtent,c=0;c<t.length;c++)u[t[c]]=D4();for(var d=0;d<s;d++){for(var h=e.getRawIndex(d),f=0;f<o;f++)l[f]=r[t[f]][h];l[o]=d;var p=i&&i.apply(null,l);if(p!=null){typeof p!="object"&&(a[0]=p,p=a);for(var c=0;c<p.length;c++){var m=t[c],v=p[c],g=u[m],_=r[m];_&&(_[h]=v),v<g[0]&&(g[0]=v),v>g[1]&&(g[1]=v)}}}},n.prototype.lttbDownSample=function(e,t){var i=this.clone([e],!0),r=i._chunks,a=r[e],o=this.count(),s=0,l=Math.floor(1/t),u=this.getRawIndex(0),c,d,h,f=new(I4(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));f[s++]=u;for(var p=1;p<o-1;p+=l){for(var m=Math.min(p+l,o-1),v=Math.min(p+l*2,o),g=(v+m)/2,_=0,S=m;S<v;S++){var x=this.getRawIndex(S),A=a[x];isNaN(A)||(_+=A)}_/=v-m;var C=p,M=Math.min(p+l,o),I=p-1,D=a[u];c=-1,h=C;for(var E=-1,P=0,S=C;S<M;S++){var x=this.getRawIndex(S),A=a[x];if(isNaN(A)){P++,E<0&&(E=x);continue}d=Math.abs((I-g)*(A-D)-(I-S)*(_-D)),d>c&&(c=d,h=x)}P>0&&P<M-C&&(f[s++]=Math.min(E,h),h=Math.max(E,h)),f[s++]=h,u=h}return f[s++]=this.getRawIndex(o-1),i._count=s,i._indices=f,i.getRawIndex=this._getRawIdx,i},n.prototype.minmaxDownSample=function(e,t){for(var i=this.clone([e],!0),r=i._chunks,a=Math.floor(1/t),o=r[e],s=this.count(),l=new(I4(this._rawCount))(Math.ceil(s/a)*2),u=0,c=0;c<s;c+=a){var d=c,h=o[this.getRawIndex(d)],f=c,p=o[this.getRawIndex(f)],m=a;c+a>s&&(m=s-c);for(var v=0;v<m;v++){var g=this.getRawIndex(c+v),_=o[g];_<h&&(h=_,d=c+v),_>p&&(p=_,f=c+v)}var S=this.getRawIndex(d),x=this.getRawIndex(f);d<f?(l[u++]=S,l[u++]=x):(l[u++]=x,l[u++]=S)}return i._count=u,i._indices=l,i._updateGetRawIdx(),i},n.prototype.downSample=function(e,t,i,r){for(var a=this.clone([e],!0),o=a._chunks,s=[],l=Math.floor(1/t),u=o[e],c=this.count(),d=a._rawExtent[e]=D4(),h=new(I4(this._rawCount))(Math.ceil(c/l)),f=0,p=0;p<c;p+=l){l>c-p&&(l=c-p,s.length=l);for(var m=0;m<l;m++){var v=this.getRawIndex(p+m);s[m]=u[v]}var g=i(s),_=this.getRawIndex(Math.min(p+r(s,g)||0,c-1));u[_]=g,g<d[0]&&(d[0]=g),g>d[1]&&(d[1]=g),h[f++]=_}return a._count=f,a._indices=h,a._updateGetRawIdx(),a},n.prototype.each=function(e,t){if(this._count)for(var i=e.length,r=this._chunks,a=0,o=this.count();a<o;a++){var s=this.getRawIndex(a);switch(i){case 0:t(a);break;case 1:t(r[e[0]][s],a);break;case 2:t(r[e[0]][s],r[e[1]][s],a);break;default:for(var l=0,u=[];l<i;l++)u[l]=r[e[l]][s];u[l]=a,t.apply(null,u)}}},n.prototype.getDataExtent=function(e){var t=this._chunks[e],i=D4();if(!t)return i;var r=this.count(),a=!this._indices,o;if(a)return this._rawExtent[e].slice();if(o=this._extent[e],o)return o.slice();o=i;for(var s=o[0],l=o[1],u=0;u<r;u++){var c=this.getRawIndex(u),d=t[c];d<s&&(s=d),d>l&&(l=d)}return o=[s,l],this._extent[e]=o,o},n.prototype.getRawDataItem=function(e){var t=this.getRawIndex(e);if(this._provider.persistent)return this._provider.getItem(t);for(var i=[],r=this._chunks,a=0;a<r.length;a++)i.push(r[a][t]);return i},n.prototype.clone=function(e,t){var i=new n,r=this._chunks,a=e&&Yo(e,function(s,l){return s[l]=!0,s},{});if(a)for(var o=0;o<r.length;o++)i._chunks[o]=a[o]?W4e(r[o]):r[o];else i._chunks=r;return this._copyCommonProps(i),t||(i._indices=this._cloneIndices()),i._updateGetRawIdx(),i},n.prototype._copyCommonProps=function(e){e._count=this._count,e._rawCount=this._rawCount,e._provider=this._provider,e._dimensions=this._dimensions,e._extent=Zt(this._extent),e._rawExtent=Zt(this._rawExtent)},n.prototype._cloneIndices=function(){if(this._indices){var e=this._indices.constructor,t=void 0;if(e===Array){var i=this._indices.length;t=new e(i);for(var r=0;r<i;r++)t[r]=this._indices[r]}else t=new e(this._indices);return t}return null},n.prototype._getRawIdxIdentity=function(e){return e},n.prototype._getRawIdx=function(e){return e<this._count&&e>=0?this._indices[e]:-1},n.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},n.internalField=function(){function e(t,i,r,a){return g5(t[a],this._dimensions[a])}Wb={arrayRows:e,objectRows:function(t,i,r,a){return g5(t[i],this._dimensions[a])},keyedColumns:e,original:function(t,i,r,a){var o=t&&(t.value==null?t:t.value);return g5(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(t,i,r,a){return t[a]}}}(),n}(),HX=function(){function n(e){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=e}return n.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},n.prototype._setLocalSource=function(e,t){this._sourceList=e,this._upstreamSignList=t,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},n.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},n.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},n.prototype._createSource=function(){this._setLocalSource([],[]);var e=this._sourceHost,t=this._getUpstreamSourceManagers(),i=!!t.length,r,a;if(tp(e)){var o=e,s=void 0,l=void 0,u=void 0;if(i){var c=t[0];c.prepareSource(),u=c.getSource(),s=u.data,l=u.sourceFormat,a=[c._getVersionSign()]}else s=o.get("data",!0),l=or(s)?m5:Pa,a=[];var d=this._getSourceMetaRawOption()||{},h=u&&u.metaRawOption||{},f=a3(d.seriesLayoutBy,h.seriesLayoutBy)||null,p=a3(d.sourceHeader,h.sourceHeader),m=a3(d.dimensions,h.dimensions),v=f!==h.seriesLayoutBy||!!p!=!!h.sourceHeader||m;r=v?[kA(s,{seriesLayoutBy:f,sourceHeader:p,dimensions:m},l)]:[]}else{var g=e;if(i){var _=this._applyTransform(t);r=_.sourceList,a=_.upstreamSignList}else{var S=g.get("source",!0);r=[kA(S,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(r,a)},n.prototype._applyTransform=function(e){var t=this._sourceHost,i=t.get("transform",!0),r=t.get("fromTransformResult",!0);if(r!=null){var a="";e.length!==1&&Wk(a)}var o,s=[],l=[];return ne(e,function(u){u.prepareSource();var c=u.getSource(r||0),d="";r!=null&&!c&&Wk(d),s.push(c),l.push(u._getVersionSign())}),i?o=G4e(i,s,{datasetIndex:t.componentIndex}):r!=null&&(o=[b4e(s[0])]),{sourceList:o,upstreamSignList:l}},n.prototype._isDirty=function(){if(this._dirty)return!0;for(var e=this._getUpstreamSourceManagers(),t=0;t<e.length;t++){var i=e[t];if(i._isDirty()||this._upstreamSignList[t]!==i._getVersionSign())return!0}},n.prototype.getSource=function(e){e=e||0;var t=this._sourceList[e];if(!t){var i=this._getUpstreamSourceManagers();return i[0]&&i[0].getSource(e)}return t},n.prototype.getSharedDataStore=function(e){var t=e.makeStoreSchema();return this._innerGetDataStore(t.dimensions,e.source,t.hash)},n.prototype._innerGetDataStore=function(e,t,i){var r=0,a=this._storeList,o=a[r];o||(o=a[r]={});var s=o[i];if(!s){var l=this._getUpstreamSourceManagers()[0];tp(this._sourceHost)&&l?s=l._innerGetDataStore(e,t,i):(s=new FA,s.initData(new DX(t,e.length),e)),o[i]=s}return s},n.prototype._getUpstreamSourceManagers=function(){var e=this._sourceHost;if(tp(e)){var t=RE(e);return t?[t.getSourceManager()]:[]}else return q2(q8e(e),function(i){return i.getSourceManager()})},n.prototype._getSourceMetaRawOption=function(){var e=this._sourceHost,t,i,r;if(tp(e))t=e.get("seriesLayoutBy",!0),i=e.get("sourceHeader",!0),r=e.get("dimensions",!0);else if(!this._getUpstreamSourceManagers().length){var a=e;t=a.get("seriesLayoutBy",!0),i=a.get("sourceHeader",!0),r=a.get("dimensions",!0)}return{seriesLayoutBy:t,sourceHeader:i,dimensions:r}},n}();function Hk(n){var e=n.option.transform;e&&Bm(n.option.transform)}function tp(n){return n.mainType==="series"}function Wk(n){throw new Error(n)}var j4e="line-height:1";function WX(n){var e=n.lineHeight;return e==null?j4e:"line-height:"+ai(e+"")+"px"}function jX(n,e){var t=n.color||"#6e7079",i=n.fontSize||12,r=n.fontWeight||"400",a=n.color||"#464646",o=n.fontSize||14,s=n.fontWeight||"900";return e==="html"?{nameStyle:"font-size:"+ai(i+"")+"px;color:"+ai(t)+";font-weight:"+ai(r+""),valueStyle:"font-size:"+ai(o+"")+"px;color:"+ai(a)+";font-weight:"+ai(s+"")}:{nameStyle:{fontSize:i,fill:t,fontWeight:r},valueStyle:{fontSize:o,fill:a,fontWeight:s}}}var $4e=[0,10,20,30],q4e=["",` |
|
|
`,` |
|
|
|
|
|
`,` |
|
|
|
|
|
|
|
|
`];function _n(n,e){return e.type=n,e}function OA(n){return n.type==="section"}function $X(n){return OA(n)?X4e:Y4e}function qX(n){if(OA(n)){var e=0,t=n.blocks.length,i=t>1||t>0&&!n.noHeader;return ne(n.blocks,function(r){var a=qX(r);a>=e&&(e=a+ +(i&&(!a||OA(r)&&!r.noHeader)))}),e}return 0}function X4e(n,e,t,i){var r=e.noHeader,a=K4e(qX(e)),o=[],s=e.blocks||[];Ri(!s||j2(s)),s=s||[];var l=n.orderMode;if(e.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(Ct(u,l)){var c=new zX(u[l],null);s.sort(function(m,v){return c.evaluate(m.sortParam,v.sortParam)})}else l==="seriesDesc"&&s.reverse()}ne(s,function(m,v){var g=e.valueFormatter,_=$X(m)(g?I2(I2({},n),{valueFormatter:g}):n,m,v>0?a.html:0,i);_!=null&&o.push(_)});var d=n.renderMode==="richText"?o.join(a.richText):BA(i,o.join(""),r?t:a.html);if(r)return d;var h=IA(e.header,"ordinal",n.useUTC),f=jX(i,n.renderMode).nameStyle,p=WX(i);return n.renderMode==="richText"?XX(n,h,f)+a.richText+d:BA(i,'<div style="'+f+";"+p+';">'+ai(h)+"</div>"+d,t)}function Y4e(n,e,t,i){var r=n.renderMode,a=e.noName,o=e.noValue,s=!e.markerType,l=e.name,u=n.useUTC,c=e.valueFormatter||n.valueFormatter||function(x){return x=j2(x)?x:[x],q2(x,function(A,C){return IA(A,j2(f)?f[C]:f,u)})};if(!(a&&o)){var d=s?"":n.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),h=a?"":IA(l,"ordinal",u),f=e.valueType,p=o?[]:c(e.value,e.dataIndex),m=!s||!a,v=!s&&a,g=jX(i,r),_=g.nameStyle,S=g.valueStyle;return r==="richText"?(s?"":d)+(a?"":XX(n,h,_))+(o?"":Q4e(n,p,m,v,S)):BA(i,(s?"":d)+(a?"":Z4e(h,!s,_))+(o?"":J4e(p,m,v,S)),t)}}function jk(n,e,t,i,r,a){if(n){var o=$X(n),s={useUTC:r,renderMode:t,orderMode:i,markupStyleCreator:e,valueFormatter:n.valueFormatter};return o(s,n,0,a)}}function K4e(n){return{html:$4e[n],richText:q4e[n]}}function BA(n,e,t){var i='<div style="clear:both"></div>',r="margin: "+t+"px 0 0",a=WX(n);return'<div style="'+r+";"+a+';">'+e+i+"</div>"}function Z4e(n,e,t){var i=e?"margin-left:2px":"";return'<span style="'+t+";"+i+'">'+ai(n)+"</span>"}function J4e(n,e,t,i){var r=t?"10px":"20px",a=e?"float:right;margin-left:"+r:"";return n=j2(n)?n:[n],'<span style="'+a+";"+i+'">'+q2(n,function(o){return ai(o)}).join(" ")+"</span>"}function XX(n,e,t){return n.markupStyleCreator.wrapRichTextStyle(e,t)}function Q4e(n,e,t,i,r){var a=[r],o=i?10:20;return t&&a.push({padding:[0,0,0,o],align:"right"}),n.markupStyleCreator.wrapRichTextStyle(j2(e)?e.join(" "):e,a)}function YX(n,e){var t=n.getData().getItemVisual(e,"style"),i=t[n.visualDrawType];return z8(i)}function KX(n,e){var t=n.get("padding");return t!=null?t:e==="richText"?[8,10]:10}var jb=function(){function n(){this.richTextStyles={},this._nextStyleNameId=K$()}return n.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},n.prototype.makeTooltipMarker=function(e,t,i){var r=i==="richText"?this._generateStyleName():null,a=G8e({color:t,type:e,renderMode:i,markerId:r});return xt(a)?a:(this.richTextStyles[r]=a.style,a.content)},n.prototype.wrapRichTextStyle=function(e,t){var i={};j2(t)?ne(t,function(a){return I2(i,a)}):I2(i,t);var r=this._generateStyleName();return this.richTextStyles[r]=i,"{"+r+"|"+e+"}"},n}();function ZX(n){var e=n.series,t=n.dataIndex,i=n.multipleSeries,r=e.getData(),a=r.mapDimensionsAll("defaultedTooltip"),o=a.length,s=e.getRawValue(t),l=j2(s),u=YX(e,t),c,d,h,f;if(o>1||l&&!o){var p=ele(s,e,t,a,u);c=p.inlineValues,d=p.inlineValueTypes,h=p.blocks,f=p.inlineValues[0]}else if(o){var m=r.getDimensionInfo(a[0]);f=c=h7(r,t,a[0]),d=m.type}else f=c=l?s[0]:s;var v=oE(e),g=v&&e.name||"",_=r.getName(t),S=i?g:_;return _n("section",{header:g,noHeader:i||!v,sortParam:f,blocks:[_n("nameValue",{markerType:"item",markerColor:u,name:S,noName:!Ya(S),value:c,valueType:d,dataIndex:t})].concat(h||[])})}function ele(n,e,t,i,r){var a=e.getData(),o=Yo(n,function(d,h,f){var p=a.getDimensionInfo(f);return d=d||p&&p.tooltip!==!1&&p.displayName!=null},!1),s=[],l=[],u=[];i.length?ne(i,function(d){c(h7(a,t,d),d)}):ne(n,c);function c(d,h){var f=a.getDimensionInfo(h);!f||f.otherDims.tooltip===!1||(o?u.push(_n("nameValue",{markerType:"subItem",markerColor:r,name:f.displayName,value:d,valueType:f.type})):(s.push(d),l.push(f.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var M6=G3();function np(n,e){return n.getName(e)||n.getId(e)}var sm="__universalTransitionEnabled",Vy=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t._selectedDataIndicesMap={},t}return e.prototype.init=function(t,i,r){this.seriesIndex=this.componentIndex,this.dataTask=qc({count:nle,reset:ile}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,r);var a=M6(this).sourceManager=new HX(this);a.prepareSource();var o=this.getInitialData(t,r);qk(o,this),this.dataTask.context.data=o,M6(this).dataBeforeProcessed=o,$k(this),this._initSelectedMapFromData(o)},e.prototype.mergeDefaultAndTheme=function(t,i){var r=Id(this),a=r?W7(t):{},o=this.subType;$3.hasClass(o)&&(o+="Series"),u3(t,i.getTheme().get(this.subType)),u3(t,this.getDefaultOption()),k8(t,"label",["show"]),this.fillDataTextStyle(t.data),r&&R5(t,a,r)},e.prototype.mergeOption=function(t,i){t=u3(this.option,t,!0),this.fillDataTextStyle(t.data);var r=Id(this);r&&R5(this.option,t,r);var a=M6(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(t,i);qk(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,M6(this).dataBeforeProcessed=o,$k(this),this._initSelectedMapFromData(o)},e.prototype.fillDataTextStyle=function(t){if(t&&!or(t))for(var i=["show"],r=0;r<t.length;r++)t[r]&&t[r].label&&k8(t[r],"label",i)},e.prototype.getInitialData=function(t,i){},e.prototype.appendData=function(t){var i=this.getRawData();i.appendData(t.data)},e.prototype.getData=function(t){var i=zA(this);if(i){var r=i.context.data;return t==null||!r.getLinkedData?r:r.getLinkedData(t)}else return M6(this).data},e.prototype.getAllData=function(){var t=this.getData();return t&&t.getLinkedDataAll?t.getLinkedDataAll():[{data:t}]},e.prototype.setData=function(t){var i=zA(this);if(i){var r=i.context;r.outputData=t,i!==this.dataTask&&(r.data=t)}M6(this).data=t},e.prototype.getEncode=function(){var t=this.get("encode",!0);if(t)return Rt(t)},e.prototype.getSourceManager=function(){return M6(this).sourceManager},e.prototype.getSource=function(){return this.getSourceManager().getSource()},e.prototype.getRawData=function(){return M6(this).dataBeforeProcessed},e.prototype.getColorBy=function(){var t=this.get("colorBy");return t||"series"},e.prototype.isColorBySeries=function(){return this.getColorBy()==="series"},e.prototype.getBaseAxis=function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},e.prototype.formatTooltip=function(t,i,r){return ZX({series:this,dataIndex:t,multipleSeries:i})},e.prototype.isAnimationEnabled=function(){var t=this.ecModel;if(q3.node&&!(t&&t.ssr))return!1;var i=this.getShallow("animation");return i&&this.getData().count()>this.getShallow("animationThreshold")&&(i=!1),!!i},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,i,r){var a=this.ecModel,o=LE.prototype.getColorFromPalette.call(this,t,i,r);return o||(o=a.getColorFromPalette(t,i,r)),o},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,i){this._innerSelect(this.getData(i),t)},e.prototype.unselect=function(t,i){var r=this.option.selectedMap;if(r){var a=this.option.selectedMode,o=this.getData(i);if(a==="series"||r==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s<t.length;s++){var l=t[s],u=np(o,l);r[u]=!1,this._selectedDataIndicesMap[u]=-1}}},e.prototype.toggleSelect=function(t,i){for(var r=[],a=0;a<t.length;a++)r[0]=t[a],this.isSelected(t[a],i)?this.unselect(r,i):this.select(r,i)},e.prototype.getSelectedDataIndices=function(){if(this.option.selectedMap==="all")return[].slice.call(this.getData().getIndices());for(var t=this._selectedDataIndicesMap,i=L3(t),r=[],a=0;a<i.length;a++){var o=t[i[a]];o>=0&&r.push(o)}return r},e.prototype.isSelected=function(t,i){var r=this.option.selectedMap;if(!r)return!1;var a=this.getData(i);return(r==="all"||r[np(a,t)])&&!a.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[sm])return!0;var t=this.option.universalTransition;return t?t===!0?!0:t&&t.enabled:!1},e.prototype._innerSelect=function(t,i){var r,a,o=this.option,s=o.selectedMode,l=i.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){Kt(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,c=0;c<l;c++){var d=i[c],h=np(t,d);u[h]=!0,this._selectedDataIndicesMap[h]=t.getRawIndex(d)}}else if(s==="single"||s===!0){var f=i[l-1],h=np(t,f);o.selectedMap=(r={},r[h]=!0,r),this._selectedDataIndicesMap=(a={},a[h]=t.getRawIndex(f),a)}}},e.prototype._initSelectedMapFromData=function(t){if(!this.option.selectedMap){var i=[];t.hasItemOption&&t.each(function(r){var a=t.getRawDataItem(r);a&&a.selected&&i.push(r)}),i.length>0&&this._innerSelect(t,i)}},e.registerClass=function(t){return $3.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}($3);K0(Vy,Gy);K0(Vy,LE);aq(Vy,$3);function $k(n){var e=n.name;oE(n)||(n.name=tle(n)||e)}function tle(n){var e=n.getRawData(),t=e.mapDimensionsAll("seriesName"),i=[];return ne(t,function(r){var a=e.getDimensionInfo(r);a.displayName&&i.push(a.displayName)}),i.join(" ")}function nle(n){return n.model.getRawData().count()}function ile(n){var e=n.model;return e.setData(e.getRawData().cloneShallow()),rle}function rle(n,e){e.outputData&&n.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function qk(n,e){ne(bd(n.CHANGABLE_METHODS,n.DOWNSAMPLE_METHODS),function(t){n.wrapMethod(t,s3(ale,e))})}function ale(n,e){var t=zA(n);return t&&t.setOutputEnd((e||this).count()),e}function zA(n){var e=(n.ecModel||{}).scheduler,t=e&&e.getPipeline(n.uid);if(t){var i=t.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(n.uid))}return i}}const f0=Vy;var FE=function(){function n(){this.group=new Qt,this.uid=V7("viewComponent")}return n.prototype.init=function(e,t){},n.prototype.render=function(e,t,i,r){},n.prototype.dispose=function(e,t){},n.prototype.updateView=function(e,t,i,r){},n.prototype.updateLayout=function(e,t,i,r){},n.prototype.updateVisual=function(e,t,i,r){},n.prototype.toggleBlurSeries=function(e,t,i){},n.prototype.eachRendered=function(e){var t=this.group;t&&t.traverse(e)},n}();lE(FE);xy(FE);const b0=FE;function q7(){var n=G3();return function(e){var t=n(e),i=e.pipelineContext,r=!!t.large,a=!!t.progressiveRender,o=t.large=!!(i&&i.large),s=t.progressiveRender=!!(i&&i.progressiveRender);return(r!==o||a!==s)&&"reset"}}var JX=G3(),ole=q7(),OE=function(){function n(){this.group=new Qt,this.uid=V7("viewChart"),this.renderTask=qc({plan:sle,reset:lle}),this.renderTask.context={view:this}}return n.prototype.init=function(e,t){},n.prototype.render=function(e,t,i,r){},n.prototype.highlight=function(e,t,i,r){var a=e.getData(r&&r.dataType);a&&Yk(a,r,"emphasis")},n.prototype.downplay=function(e,t,i,r){var a=e.getData(r&&r.dataType);a&&Yk(a,r,"normal")},n.prototype.remove=function(e,t){this.group.removeAll()},n.prototype.dispose=function(e,t){},n.prototype.updateView=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.updateLayout=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.updateVisual=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.eachRendered=function(e){G5(this.group,e)},n.markUpdateMethod=function(e,t){JX(e).updateMethod=t},n.protoInitialize=function(){var e=n.prototype;e.type="chart"}(),n}();function Xk(n,e,t){n&&Pd(n)&&(e==="emphasis"?$s:qs)(n,t)}function Yk(n,e,t){var i=F8(n,e),r=e&&e.highlightKey!=null?D9e(e.highlightKey):null;i!=null?ne(T1(i),function(a){Xk(n.getItemGraphicEl(a),t,r)}):n.eachItemGraphicEl(function(a){Xk(a,t,r)})}lE(OE);xy(OE);function sle(n){return ole(n.model)}function lle(n){var e=n.model,t=n.ecModel,i=n.api,r=n.payload,a=e.pipelineContext.progressiveRender,o=n.view,s=r&&JX(r).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](e,t,i,r),ule[l]}var ule={incrementalPrepareRender:{progress:function(n,e){e.view.incrementalRender(n,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(n,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}};const q1=OE;var eg="\0__throttleOriginMethod",Kk="\0__throttleRate",Zk="\0__throttleType";function Hy(n,e,t){var i,r=0,a=0,o=null,s,l,u,c;e=e||0;function d(){a=new Date().getTime(),o=null,n.apply(l,u||[])}var h=function(){for(var f=[],p=0;p<arguments.length;p++)f[p]=arguments[p];i=new Date().getTime(),l=this,u=f;var m=c||e,v=c||t;c=null,s=i-(v?r:a)-m,clearTimeout(o),v?o=setTimeout(d,m):s>=0?d():o=setTimeout(d,-s),r=i};return h.clear=function(){o&&(clearTimeout(o),o=null)},h.debounceNextCall=function(f){c=f},h}function X7(n,e,t,i){var r=n[e];if(r){var a=r[eg]||r,o=r[Zk],s=r[Kk];if(s!==t||o!==i){if(t==null||!i)return n[e]=a;r=n[e]=Hy(a,t,i==="debounce"),r[eg]=a,r[Zk]=i,r[Kk]=t}return r}}function Nd(n,e){var t=n[e];t&&t[eg]&&(t.clear&&t.clear(),n[e]=t[eg])}var Jk=G3(),Qk={itemStyle:O8(nX,!0),lineStyle:O8(tX,!0)},cle={lineStyle:"stroke",itemStyle:"fill"};function QX(n,e){var t=n.visualStyleMapper||Qk[e];return t||(console.warn("Unknown style type '"+e+"'."),Qk.itemStyle)}function eY(n,e){var t=n.visualDrawType||cle[e];return t||(console.warn("Unknown style type '"+e+"'."),"fill")}var dle={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){var t=n.getData(),i=n.visualStyleAccessPath||"itemStyle",r=n.getModel(i),a=QX(n,i),o=a(r),s=r.getShallow("decal");s&&(t.setVisual("decal",s),s.dirty=!0);var l=eY(n,i),u=o[l],c=Wt(u)?u:null,d=o.fill==="auto"||o.stroke==="auto";if(!o[l]||c||d){var h=n.getColorFromPalette(n.name,null,e.getSeriesCount());o[l]||(o[l]=h,t.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||Wt(o.fill)?h:o.fill,o.stroke=o.stroke==="auto"||Wt(o.stroke)?h:o.stroke}if(t.setVisual("style",o),t.setVisual("drawType",l),!e.isSeriesFiltered(n)&&c)return t.setVisual("colorFromPalette",!1),{dataEach:function(f,p){var m=n.getDataParams(p),v=I2({},o);v[l]=c(m),f.setItemVisual(p,"style",v)}}}},Nu=new $1,hle={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){if(!(n.ignoreStyleOnData||e.isSeriesFiltered(n))){var t=n.getData(),i=n.visualStyleAccessPath||"itemStyle",r=QX(n,i),a=t.getVisual("drawType");return{dataEach:t.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[i]){Nu.option=l[i];var u=r(Nu),c=o.ensureUniqueItemVisual(s,"style");I2(c,u),Nu.option.decal&&(o.setItemVisual(s,"decal",Nu.option.decal),Nu.option.decal.dirty=!0),a in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},fle={performRawSeries:!0,overallReset:function(n){var e=Rt();n.eachSeries(function(t){var i=t.getColorBy();if(!t.isColorBySeries()){var r=t.type+"-"+i,a=e.get(r);a||(a={},e.set(r,a)),Jk(t).scope=a}}),n.eachSeries(function(t){if(!(t.isColorBySeries()||n.isSeriesFiltered(t))){var i=t.getRawData(),r={},a=t.getData(),o=Jk(t).scope,s=t.visualStyleAccessPath||"itemStyle",l=eY(t,s);a.each(function(u){var c=a.getRawIndex(u);r[c]=u}),i.each(function(u){var c=r[u],d=a.getItemVisual(c,"colorFromPalette");if(d){var h=a.ensureUniqueItemVisual(c,"style"),f=i.getName(u)||u+"",p=i.count();h[l]=t.getColorFromPalette(f,o,p)}})}})}},ip=Math.PI;function ple(n,e){e=e||{},qt(e,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var t=new Qt,i=new H3({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});t.add(i);var r=new X3({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new H3({style:{fill:"none"},textContent:r,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});t.add(a);var o;return e.showSpinner&&(o=new yE({shape:{startAngle:-ip/2,endAngle:-ip/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:ip*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:ip*3/2}).delay(300).start("circularInOut"),t.add(o)),t.resize=function(){var s=r.getBoundingRect().width,l=e.showSpinner?e.spinnerRadius:0,u=(n.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),c=n.getHeight()/2;e.showSpinner&&o.setShape({cx:u,cy:c}),a.setShape({x:u-l,y:c-l,width:l*2,height:l*2}),i.setShape({x:0,y:0,width:n.getWidth(),height:n.getHeight()})},t.resize(),t}var vle=function(){function n(e,t,i,r){this._stageTaskMap=Rt(),this.ecInstance=e,this.api=t,i=this._dataProcessorHandlers=i.slice(),r=this._visualHandlers=r.slice(),this._allHandlers=i.concat(r)}return n.prototype.restoreData=function(e,t){e.restoreData(t),this._stageTaskMap.each(function(i){var r=i.overallTask;r&&r.dirty()})},n.prototype.getPerformArgs=function(e,t){if(e.__pipeline){var i=this._pipelineMap.get(e.__pipeline.id),r=i.context,a=!t&&i.progressiveEnabled&&(!r||r.progressiveRender)&&e.__idxInPipeline>i.blockIndex,o=a?i.step:null,s=r&&r.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},n.prototype.getPipeline=function(e){return this._pipelineMap.get(e)},n.prototype.updateStreamModes=function(e,t){var i=this._pipelineMap.get(e.uid),r=e.getData(),a=r.count(),o=i.progressiveEnabled&&t.incrementalPrepareRender&&a>=i.threshold,s=e.get("large")&&a>=e.get("largeThreshold"),l=e.get("progressiveChunkMode")==="mod"?a:null;e.pipelineContext=i.context={progressiveRender:o,modDataCount:l,large:s}},n.prototype.restorePipelines=function(e){var t=this,i=t._pipelineMap=Rt();e.eachSeries(function(r){var a=r.getProgressive(),o=r.uid;i.set(o,{id:o,head:null,tail:null,threshold:r.getProgressiveThreshold(),progressiveEnabled:a&&!(r.preventIncremental&&r.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),t._pipe(r,r.dataTask)})},n.prototype.prepareStageTasks=function(){var e=this._stageTaskMap,t=this.api.getModel(),i=this.api;ne(this._allHandlers,function(r){var a=e.get(r.uid)||e.set(r.uid,{}),o="";Ri(!(r.reset&&r.overallReset),o),r.reset&&this._createSeriesStageTask(r,a,t,i),r.overallReset&&this._createOverallStageTask(r,a,t,i)},this)},n.prototype.prepareView=function(e,t,i,r){var a=e.renderTask,o=a.context;o.model=t,o.ecModel=i,o.api=r,a.__block=!e.incrementalPrepareRender,this._pipe(t,a)},n.prototype.performDataProcessorTasks=function(e,t){this._performStageTasks(this._dataProcessorHandlers,e,t,{block:!0})},n.prototype.performVisualTasks=function(e,t,i){this._performStageTasks(this._visualHandlers,e,t,i)},n.prototype._performStageTasks=function(e,t,i,r){r=r||{};var a=!1,o=this;ne(e,function(l,u){if(!(r.visualType&&r.visualType!==l.visualType)){var c=o._stageTaskMap.get(l.uid),d=c.seriesTaskMap,h=c.overallTask;if(h){var f,p=h.agentStubMap;p.each(function(v){s(r,v)&&(v.dirty(),f=!0)}),f&&h.dirty(),o.updatePayload(h,i);var m=o.getPerformArgs(h,r.block);p.each(function(v){v.perform(m)}),h.perform(m)&&(a=!0)}else d&&d.each(function(v,g){s(r,v)&&v.dirty();var _=o.getPerformArgs(v,r.block);_.skip=!l.performRawSeries&&t.isSeriesFiltered(v.context.model),o.updatePayload(v,i),v.perform(_)&&(a=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=a||this.unfinished},n.prototype.performSeriesTasks=function(e){var t;e.eachSeries(function(i){t=i.dataTask.perform()||t}),this.unfinished=t||this.unfinished},n.prototype.plan=function(){this._pipelineMap.each(function(e){var t=e.tail;do{if(t.__block){e.blockIndex=t.__idxInPipeline;break}t=t.getUpstream()}while(t)})},n.prototype.updatePayload=function(e,t){t!=="remain"&&(e.context.payload=t)},n.prototype._createSeriesStageTask=function(e,t,i,r){var a=this,o=t.seriesTaskMap,s=t.seriesTaskMap=Rt(),l=e.seriesType,u=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(c):l?i.eachRawSeriesByType(l,c):u&&u(i,r).each(c);function c(d){var h=d.uid,f=s.set(h,o&&o.get(h)||qc({plan:Sle,reset:ble,count:wle}));f.context={model:d,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:a},a._pipe(d,f)}},n.prototype._createOverallStageTask=function(e,t,i,r){var a=this,o=t.overallTask=t.overallTask||qc({reset:mle});o.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:a};var s=o.agentStubMap,l=o.agentStubMap=Rt(),u=e.seriesType,c=e.getTargetSeries,d=!0,h=!1,f="";Ri(!e.createOnAllSeries,f),u?i.eachRawSeriesByType(u,p):c?c(i,r).each(p):(d=!1,ne(i.getSeries(),p));function p(m){var v=m.uid,g=l.set(v,s&&s.get(v)||(h=!0,qc({reset:gle,onDirty:_le})));g.context={model:m,overallProgress:d},g.agent=o,g.__block=d,a._pipe(m,g)}h&&o.dirty()},n.prototype._pipe=function(e,t){var i=e.uid,r=this._pipelineMap.get(i);!r.head&&(r.head=t),r.tail&&r.tail.pipe(t),r.tail=t,t.__idxInPipeline=r.count++,t.__pipeline=r},n.wrapStageHandler=function(e,t){return Wt(e)&&(e={overallReset:e,seriesType:Tle(e)}),e.uid=V7("stageHandler"),t&&(e.visualType=t),e},n}();function mle(n){n.overallReset(n.ecModel,n.api,n.payload)}function gle(n){return n.overallProgress&&yle}function yle(){this.agent.dirty(),this.getDownstream().dirty()}function _le(){this.agent&&this.agent.dirty()}function Sle(n){return n.plan?n.plan(n.model,n.ecModel,n.api,n.payload):null}function ble(n){n.useClearVisual&&n.data.clearAllVisual();var e=n.resetDefines=T1(n.reset(n.model,n.ecModel,n.api,n.payload));return e.length>1?q2(e,function(t,i){return tY(i)}):xle}var xle=tY(0);function tY(n){return function(e,t){var i=t.data,r=t.resetDefines[n];if(r&&r.dataEach)for(var a=e.start;a<e.end;a++)r.dataEach(i,a);else r&&r.progress&&r.progress(e,i)}}function wle(n){return n.data.count()}function Tle(n){tg=null;try{n(kd,nY)}catch(e){}return tg}var kd={},nY={},tg;iY(kd,MX);iY(nY,EX);kd.eachSeriesByType=kd.eachRawSeriesByType=function(n){tg=n};kd.eachComponent=function(n){n.mainType==="series"&&n.subType&&(tg=n.subType)};function iY(n,e){for(var t in e.prototype)n[t]=O0}const rY=vle;var eF=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"];const Ale={color:eF,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],eF]};var ti="#B9B8CE",tF="#100C2A",rp=function(){return{axisLine:{lineStyle:{color:ti}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},nF=["#4992ff","#7cffb2","#fddd60","#ff6e76","#58d9f9","#05c091","#ff8a45","#8d48e3","#dd79ff"],aY={darkMode:!0,color:nF,backgroundColor:tF,axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:ti},pageTextStyle:{color:ti}},textStyle:{color:ti},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:ti}},dataZoom:{borderColor:"#71708A",textStyle:{color:ti},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:ti}},timeline:{lineStyle:{color:ti},label:{color:ti},controlStyle:{color:ti,borderColor:ti}},calendar:{itemStyle:{color:tF},dayLabel:{color:ti},monthLabel:{color:ti},yearLabel:{color:ti}},timeAxis:rp(),logAxis:rp(),valueAxis:rp(),categoryAxis:rp(),line:{symbol:"circle"},graph:{color:nF},gauge:{title:{color:ti},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:ti},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};aY.categoryAxis.splitLine.show=!1;const Cle=aY;var Mle=function(){function n(){}return n.prototype.normalizeQuery=function(e){var t={},i={},r={};if(xt(e)){var a=zo(e);t.mainType=a.main||null,t.subType=a.sub||null}else{var o=["Index","Name","Id"],s={name:1,dataIndex:1,dataType:1};ne(e,function(l,u){for(var c=!1,d=0;d<o.length;d++){var h=o[d],f=u.lastIndexOf(h);if(f>0&&f===u.length-h.length){var p=u.slice(0,f);p!=="data"&&(t.mainType=p,t[h.toLowerCase()]=l,c=!0)}}s.hasOwnProperty(u)&&(i[u]=l,c=!0),c||(r[u]=l)})}return{cptQuery:t,dataQuery:i,otherQuery:r}},n.prototype.filter=function(e,t){var i=this.eventInfo;if(!i)return!0;var r=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=t.cptQuery,u=t.dataQuery;return c(l,o,"mainType")&&c(l,o,"subType")&&c(l,o,"index","componentIndex")&&c(l,o,"name")&&c(l,o,"id")&&c(u,a,"name")&&c(u,a,"dataIndex")&&c(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(e,t.otherQuery,r,a));function c(d,h,f,p){return d[f]==null||h[p||f]===d[f]}},n.prototype.afterTrigger=function(){this.eventInfo=null},n}(),GA=["symbol","symbolSize","symbolRotate","symbolOffset"],iF=GA.concat(["symbolKeepAspect"]),Ele={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){var t=n.getData();if(n.legendIcon&&t.setVisual("legendIcon",n.legendIcon),!n.hasSymbolVisual)return;for(var i={},r={},a=!1,o=0;o<GA.length;o++){var s=GA[o],l=n.get(s);Wt(l)?(a=!0,r[s]=l):i[s]=l}if(i.symbol=i.symbol||n.defaultSymbol,t.setVisual(I2({legendIcon:n.legendIcon||i.symbol,symbolKeepAspect:n.get("symbolKeepAspect")},i)),e.isSeriesFiltered(n))return;var u=L3(r);function c(d,h){for(var f=n.getRawValue(h),p=n.getDataParams(h),m=0;m<u.length;m++){var v=u[m];d.setItemVisual(h,v,r[v](f,p))}}return{dataEach:a?c:null}}},Ple={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){if(!n.hasSymbolVisual||e.isSeriesFiltered(n))return;var t=n.getData();function i(r,a){for(var o=r.getItemModel(a),s=0;s<iF.length;s++){var l=iF[s],u=o.getShallow(l,!0);u!=null&&r.setItemVisual(a,l,u)}}return{dataEach:t.hasItemOption?i:null}}};function BE(n,e,t){switch(t){case"color":var i=n.getItemVisual(e,"style");return i[n.getVisual("drawType")];case"opacity":return n.getItemVisual(e,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return n.getItemVisual(e,t)}}function xh(n,e){switch(e){case"color":var t=n.getVisual("style");return t[n.getVisual("drawType")];case"opacity":return n.getVisual("style").opacity;case"symbol":case"symbolSize":case"liftZ":return n.getVisual(e)}}function oY(n,e,t,i){switch(t){case"color":var r=n.ensureUniqueItemVisual(e,"style");r[n.getVisual("drawType")]=i,n.setItemVisual(e,"colorFromPalette",!1);break;case"opacity":n.ensureUniqueItemVisual(e,"style").opacity=i;break;case"symbol":case"symbolSize":case"liftZ":n.setItemVisual(e,t,i);break}}function sY(n,e){function t(i,r){var a=[];return i.eachComponent({mainType:"series",subType:n,query:r},function(o){a.push(o.seriesIndex)}),a}ne([[n+"ToggleSelect","toggleSelect"],[n+"Select","select"],[n+"UnSelect","unselect"]],function(i){e(i[0],function(r,a,o){r=I2({},r),o.dispatchAction(I2(r,{type:i[1],seriesIndex:t(a,r)}))})})}function N4(n,e,t,i,r){var a=n+e;t.isSilent(a)||i.eachComponent({mainType:"series",subType:"pie"},function(o){for(var s=o.seriesIndex,l=o.option.selectedMap,u=r.selected,c=0;c<u.length;c++)if(u[c].seriesIndex===s){var d=o.getData(),h=F8(d,r.fromActionPayload);t.trigger(a,{type:a,seriesId:o.id,name:j2(h)?d.getName(h[0]):d.getName(h),selected:xt(l)?l:I2({},l)})}})}function Rle(n,e,t){n.on("selectchanged",function(i){var r=t.getModel();i.isFromClick?(N4("map","selectchanged",e,r,i),N4("pie","selectchanged",e,r,i)):i.fromAction==="select"?(N4("map","selected",e,r,i),N4("pie","selected",e,r,i)):i.fromAction==="unselect"&&(N4("map","unselected",e,r,i),N4("pie","unselected",e,r,i))})}function o8(n,e,t){for(var i;n&&!(e(n)&&(i=n,t));)n=n.__hostTarget||n.parent;return i}var Lle=Math.round(Math.random()*9),Ile=typeof Object.defineProperty=="function",Dle=function(){function n(){this._id="__ec_inner_"+Lle++}return n.prototype.get=function(e){return this._guard(e)[this._id]},n.prototype.set=function(e,t){var i=this._guard(e);return Ile?Object.defineProperty(i,this._id,{value:t,enumerable:!1,configurable:!0}):i[this._id]=t,this},n.prototype.delete=function(e){return this.has(e)?(delete this._guard(e)[this._id],!0):!1},n.prototype.has=function(e){return!!this._guard(e)[this._id]},n.prototype._guard=function(e){if(e!==Object(e))throw TypeError("Value of WeakMap is not a non-null object.");return e},n}();const Nle=Dle;var kle=E3.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(n,e){var t=e.cx,i=e.cy,r=e.width/2,a=e.height/2;n.moveTo(t,i-a),n.lineTo(t+r,i+a),n.lineTo(t-r,i+a),n.closePath()}}),Fle=E3.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(n,e){var t=e.cx,i=e.cy,r=e.width/2,a=e.height/2;n.moveTo(t,i-a),n.lineTo(t+r,i),n.lineTo(t,i+a),n.lineTo(t-r,i),n.closePath()}}),Ole=E3.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(n,e){var t=e.x,i=e.y,r=e.width/5*3,a=Math.max(r,e.height),o=r/2,s=o*o/(a-o),l=i-a+o+s,u=Math.asin(s/o),c=Math.cos(u)*o,d=Math.sin(u),h=Math.cos(u),f=o*.6,p=o*.7;n.moveTo(t-c,l+s),n.arc(t,l,o,Math.PI-u,Math.PI*2+u),n.bezierCurveTo(t+c-d*f,l+s+h*f,t,i-p,t,i),n.bezierCurveTo(t,i-p,t-c+d*f,l+s+h*f,t-c,l+s),n.closePath()}}),Ble=E3.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(n,e){var t=e.height,i=e.width,r=e.x,a=e.y,o=i/3*2;n.moveTo(r,a),n.lineTo(r+o,a+t),n.lineTo(r,a+t/4*3),n.lineTo(r-o,a+t),n.lineTo(r,a),n.closePath()}}),zle={line:Rn,rect:H3,roundRect:H3,square:H3,circle:z5,diamond:Fle,pin:Ole,arrow:Ble,triangle:kle},Gle={line:function(n,e,t,i,r){r.x1=n,r.y1=e+i/2,r.x2=n+t,r.y2=e+i/2},rect:function(n,e,t,i,r){r.x=n,r.y=e,r.width=t,r.height=i},roundRect:function(n,e,t,i,r){r.x=n,r.y=e,r.width=t,r.height=i,r.r=Math.min(t,i)/4},square:function(n,e,t,i,r){var a=Math.min(t,i);r.x=n,r.y=e,r.width=a,r.height=a},circle:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.r=Math.min(t,i)/2},diamond:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.width=t,r.height=i},pin:function(n,e,t,i,r){r.x=n+t/2,r.y=e+i/2,r.width=t,r.height=i},arrow:function(n,e,t,i,r){r.x=n+t/2,r.y=e+i/2,r.width=t,r.height=i},triangle:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.width=t,r.height=i}},ng={};ne(zle,function(n,e){ng[e]=new n});var Ule=E3.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(n,e,t){var i=jm(n,e,t),r=this.shape;return r&&r.symbolType==="pin"&&e.position==="inside"&&(i.y=t.y+t.height*.4),i},buildPath:function(n,e,t){var i=e.symbolType;if(i!=="none"){var r=ng[i];r||(i="rect",r=ng[i]),Gle[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(n,r.shape,t)}}});function Vle(n,e){if(this.type!=="image"){var t=this.style;this.__isEmptyBrush?(t.stroke=n,t.fill=e||"#fff",t.lineWidth=2):this.shape.symbolType==="line"?t.stroke=n:t.fill=n,this.markRedraw()}}function X0(n,e,t,i,r,a,o){var s=n.indexOf("empty")===0;s&&(n=n.substr(5,1).toLowerCase()+n.substr(6));var l;return n.indexOf("image://")===0?l=qq(n.slice(8),new g3(e,t,i,r),o?"center":"cover"):n.indexOf("path://")===0?l=Ry(n.slice(7),{},new g3(e,t,i,r),o?"center":"cover"):l=new Ule({shape:{symbolType:n,x:e,y:t,width:i,height:r}}),l.__isEmptyBrush=s,l.setColor=Vle,a&&l.setColor(a),l}function Y7(n){return j2(n)||(n=[+n,+n]),[n[0]||0,n[1]||0]}function e4(n,e){if(n!=null)return j2(n)||(n=[n,n]),[mt(n[0],e[0])||0,mt(a3(n[1],n[0]),e[1])||0]}function s8(n){return isFinite(n)}function Hle(n,e,t){var i=e.x==null?0:e.x,r=e.x2==null?1:e.x2,a=e.y==null?0:e.y,o=e.y2==null?0:e.y2;e.global||(i=i*t.width+t.x,r=r*t.width+t.x,a=a*t.height+t.y,o=o*t.height+t.y),i=s8(i)?i:0,r=s8(r)?r:1,a=s8(a)?a:0,o=s8(o)?o:0;var s=n.createLinearGradient(i,a,r,o);return s}function Wle(n,e,t){var i=t.width,r=t.height,a=Math.min(i,r),o=e.x==null?.5:e.x,s=e.y==null?.5:e.y,l=e.r==null?.5:e.r;e.global||(o=o*i+t.x,s=s*r+t.y,l=l*a),o=s8(o)?o:.5,s=s8(s)?s:.5,l=l>=0&&s8(l)?l:.5;var u=n.createRadialGradient(o,s,0,o,s,l);return u}function UA(n,e,t){for(var i=e.type==="radial"?Wle(n,e,t):Hle(n,e,t),r=e.colorStops,a=0;a<r.length;a++)i.addColorStop(r[a].offset,r[a].color);return i}function jle(n,e){if(n===e||!n&&!e)return!1;if(!n||!e||n.length!==e.length)return!0;for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!0;return!1}function ap(n){return parseInt(n,10)}function Rl(n,e,t){var i=["width","height"][e],r=["clientWidth","clientHeight"][e],a=["paddingLeft","paddingTop"][e],o=["paddingRight","paddingBottom"][e];if(t[i]!=null&&t[i]!=="auto")return parseFloat(t[i]);var s=document.defaultView.getComputedStyle(n);return(n[r]||ap(s[i])||ap(n.style[i]))-(ap(s[a])||0)-(ap(s[o])||0)|0}function $le(n,e){return!n||n==="solid"||!(e>0)?null:n==="dashed"?[4*e,2*e]:n==="dotted"?[e]:Y3(n)?[n]:j2(n)?n:null}function zE(n){var e=n.style,t=e.lineDash&&e.lineWidth>0&&$le(e.lineDash,e.lineWidth),i=e.lineDashOffset;if(t){var r=e.strokeNoScale&&n.getLineScale?n.getLineScale():1;r&&r!==1&&(t=q2(t,function(a){return a/r}),i/=r)}return[t,i]}var qle=new Qo(!0);function ig(n){var e=n.stroke;return!(e==null||e==="none"||!(n.lineWidth>0))}function rF(n){return typeof n=="string"&&n!=="none"}function rg(n){var e=n.fill;return e!=null&&e!=="none"}function aF(n,e){if(e.fillOpacity!=null&&e.fillOpacity!==1){var t=n.globalAlpha;n.globalAlpha=e.fillOpacity*e.opacity,n.fill(),n.globalAlpha=t}else n.fill()}function oF(n,e){if(e.strokeOpacity!=null&&e.strokeOpacity!==1){var t=n.globalAlpha;n.globalAlpha=e.strokeOpacity*e.opacity,n.stroke(),n.globalAlpha=t}else n.stroke()}function VA(n,e,t){var i=uE(e.image,e.__image,t);if(wy(i)){var r=n.createPattern(i,e.repeat||"repeat");if(typeof DOMMatrix=="function"&&r&&r.setTransform){var a=new DOMMatrix;a.translateSelf(e.x||0,e.y||0),a.rotateSelf(0,0,(e.rotation||0)*qv),a.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(a)}return r}}function Xle(n,e,t,i){var r,a=ig(t),o=rg(t),s=t.strokePercent,l=s<1,u=!e.path;(!e.silent||l)&&u&&e.createPathProxy();var c=e.path||qle,d=e.__dirty;if(!i){var h=t.fill,f=t.stroke,p=o&&!!h.colorStops,m=a&&!!f.colorStops,v=o&&!!h.image,g=a&&!!f.image,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0;(p||m)&&(C=e.getBoundingRect()),p&&(_=d?UA(n,h,C):e.__canvasFillGradient,e.__canvasFillGradient=_),m&&(S=d?UA(n,f,C):e.__canvasStrokeGradient,e.__canvasStrokeGradient=S),v&&(x=d||!e.__canvasFillPattern?VA(n,h,e):e.__canvasFillPattern,e.__canvasFillPattern=x),g&&(A=d||!e.__canvasStrokePattern?VA(n,f,e):e.__canvasStrokePattern,e.__canvasStrokePattern=x),p?n.fillStyle=_:v&&(x?n.fillStyle=x:o=!1),m?n.strokeStyle=S:g&&(A?n.strokeStyle=A:a=!1)}var M=e.getGlobalScale();c.setScale(M[0],M[1],e.segmentIgnoreThreshold);var I,D;n.setLineDash&&t.lineDash&&(r=zE(e),I=r[0],D=r[1]);var E=!0;(u||d&ml)&&(c.setDPR(n.dpr),l?c.setContext(null):(c.setContext(n),E=!1),c.reset(),e.buildPath(c,e.shape,i),c.toStatic(),e.pathUpdated()),E&&c.rebuildPath(n,l?s:1),I&&(n.setLineDash(I),n.lineDashOffset=D),i||(t.strokeFirst?(a&&oF(n,t),o&&aF(n,t)):(o&&aF(n,t),a&&oF(n,t))),I&&n.setLineDash([])}function Yle(n,e,t){var i=e.__image=uE(t.image,e.__image,e,e.onload);if(!(!i||!wy(i))){var r=t.x||0,a=t.y||0,o=e.getWidth(),s=e.getHeight(),l=i.width/i.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=i.width,s=i.height),t.sWidth&&t.sHeight){var u=t.sx||0,c=t.sy||0;n.drawImage(i,u,c,t.sWidth,t.sHeight,r,a,o,s)}else if(t.sx&&t.sy){var u=t.sx,c=t.sy,d=o-u,h=s-c;n.drawImage(i,u,c,d,h,r,a,o,s)}else n.drawImage(i,r,a,o,s)}}function Kle(n,e,t){var i,r=t.text;if(r!=null&&(r+=""),r){n.font=t.font||C5,n.textAlign=t.textAlign,n.textBaseline=t.textBaseline;var a=void 0,o=void 0;n.setLineDash&&t.lineDash&&(i=zE(e),a=i[0],o=i[1]),a&&(n.setLineDash(a),n.lineDashOffset=o),t.strokeFirst?(ig(t)&&n.strokeText(r,t.x,t.y),rg(t)&&n.fillText(r,t.x,t.y)):(rg(t)&&n.fillText(r,t.x,t.y),ig(t)&&n.strokeText(r,t.x,t.y)),a&&n.setLineDash([])}}var sF=["shadowBlur","shadowOffsetX","shadowOffsetY"],lF=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function lY(n,e,t,i,r){var a=!1;if(!i&&(t=t||{},e===t))return!1;if(i||e.opacity!==t.opacity){qi(n,r),a=!0;var o=Math.max(Math.min(e.opacity,1),0);n.globalAlpha=isNaN(o)?S8.opacity:o}(i||e.blend!==t.blend)&&(a||(qi(n,r),a=!0),n.globalCompositeOperation=e.blend||S8.blend);for(var s=0;s<sF.length;s++){var l=sF[s];(i||e[l]!==t[l])&&(a||(qi(n,r),a=!0),n[l]=n.dpr*(e[l]||0))}return(i||e.shadowColor!==t.shadowColor)&&(a||(qi(n,r),a=!0),n.shadowColor=e.shadowColor||S8.shadowColor),a}function uF(n,e,t,i,r){var a=Fd(e,r.inHover),o=i?null:t&&Fd(t,r.inHover)||{};if(a===o)return!1;var s=lY(n,a,o,i,r);if((i||a.fill!==o.fill)&&(s||(qi(n,r),s=!0),rF(a.fill)&&(n.fillStyle=a.fill)),(i||a.stroke!==o.stroke)&&(s||(qi(n,r),s=!0),rF(a.stroke)&&(n.strokeStyle=a.stroke)),(i||a.opacity!==o.opacity)&&(s||(qi(n,r),s=!0),n.globalAlpha=a.opacity==null?1:a.opacity),e.hasStroke()){var l=a.lineWidth,u=l/(a.strokeNoScale&&e.getLineScale?e.getLineScale():1);n.lineWidth!==u&&(s||(qi(n,r),s=!0),n.lineWidth=u)}for(var c=0;c<lF.length;c++){var d=lF[c],h=d[0];(i||a[h]!==o[h])&&(s||(qi(n,r),s=!0),n[h]=a[h]||d[1])}return s}function Zle(n,e,t,i,r){return lY(n,Fd(e,r.inHover),t&&Fd(t,r.inHover),i,r)}function uY(n,e){var t=e.transform,i=n.dpr||1;t?n.setTransform(i*t[0],i*t[1],i*t[2],i*t[3],i*t[4],i*t[5]):n.setTransform(i,0,0,i,0,0)}function Jle(n,e,t){for(var i=!1,r=0;r<n.length;r++){var a=n[r];i=i||a.isZeroArea(),uY(e,a),e.beginPath(),a.buildPath(e,a.shape),e.clip()}t.allClipped=i}function Qle(n,e){return n&&e?n[0]!==e[0]||n[1]!==e[1]||n[2]!==e[2]||n[3]!==e[3]||n[4]!==e[4]||n[5]!==e[5]:!(!n&&!e)}var cF=1,dF=2,hF=3,fF=4;function e7e(n){var e=rg(n),t=ig(n);return!(n.lineDash||!(+e^+t)||e&&typeof n.fill!="string"||t&&typeof n.stroke!="string"||n.strokePercent<1||n.strokeOpacity<1||n.fillOpacity<1)}function qi(n,e){e.batchFill&&n.fill(),e.batchStroke&&n.stroke(),e.batchFill="",e.batchStroke=""}function Fd(n,e){return e&&n.__hoverStyle||n.style}function cY(n,e){l8(n,e,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function l8(n,e,t,i){var r=e.transform;if(!e.shouldBePainted(t.viewWidth,t.viewHeight,!1,!1)){e.__dirty&=~Mr,e.__isRendered=!1;return}var a=e.__clipPaths,o=t.prevElClipPaths,s=!1,l=!1;if((!o||jle(a,o))&&(o&&o.length&&(qi(n,t),n.restore(),l=s=!0,t.prevElClipPaths=null,t.allClipped=!1,t.prevEl=null),a&&a.length&&(qi(n,t),n.save(),Jle(a,n,t),s=!0),t.prevElClipPaths=a),t.allClipped){e.__isRendered=!1;return}e.beforeBrush&&e.beforeBrush(),e.innerBeforeBrush();var u=t.prevEl;u||(l=s=!0);var c=e instanceof E3&&e.autoBatch&&e7e(e.style);s||Qle(r,u.transform)?(qi(n,t),uY(n,e)):c||qi(n,t);var d=Fd(e,t.inHover);e instanceof E3?(t.lastDrawType!==cF&&(l=!0,t.lastDrawType=cF),uF(n,e,u,l,t),(!c||!t.batchFill&&!t.batchStroke)&&n.beginPath(),Xle(n,e,d,c),c&&(t.batchFill=d.fill||"",t.batchStroke=d.stroke||"")):e instanceof Md?(t.lastDrawType!==hF&&(l=!0,t.lastDrawType=hF),uF(n,e,u,l,t),Kle(n,e,d)):e instanceof $n?(t.lastDrawType!==dF&&(l=!0,t.lastDrawType=dF),Zle(n,e,u,l,t),Yle(n,e,d)):e.getTemporalDisplayables&&(t.lastDrawType!==fF&&(l=!0,t.lastDrawType=fF),t7e(n,e,t)),c&&i&&qi(n,t),e.innerAfterBrush(),e.afterBrush&&e.afterBrush(),t.prevEl=e,e.__dirty=0,e.__isRendered=!0}function t7e(n,e,t){var i=e.getDisplayables(),r=e.getTemporalDisplayables();n.save();var a={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:t.viewWidth,viewHeight:t.viewHeight,inHover:t.inHover},o,s;for(o=e.getCursor(),s=i.length;o<s;o++){var l=i[o];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),l8(n,l,a,o===s-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),a.prevEl=l}for(var u=0,c=r.length;u<c;u++){var l=r[u];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),l8(n,l,a,u===c-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),a.prevEl=l}e.clearTemporalDisplayables(),e.notClear=!0,n.restore()}var $b=new Nle,pF=new vh(100),vF=["symbol","symbolSize","symbolKeepAspect","color","backgroundColor","dashArrayX","dashArrayY","maxTileWidth","maxTileHeight"];function f7(n,e){if(n==="none")return null;var t=e.getDevicePixelRatio(),i=e.getZr(),r=i.painter.type==="svg";n.dirty&&$b.delete(n);var a=$b.get(n);if(a)return a;var o=qt(n,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});o.backgroundColor==="none"&&(o.backgroundColor=null);var s={repeat:"repeat"};return l(s),s.rotation=o.rotation,s.scaleX=s.scaleY=r?1:1/t,$b.set(n,s),n.dirty=!1,s;function l(u){for(var c=[t],d=!0,h=0;h<vF.length;++h){var f=o[vF[h]];if(f!=null&&!j2(f)&&!xt(f)&&!Y3(f)&&typeof f!="boolean"){d=!1;break}c.push(f)}var p;if(d){p=c.join(",")+(r?"-svg":"");var m=pF.get(p);m&&(r?u.svgElement=m:u.image=m)}var v=hY(o.dashArrayX),g=n7e(o.dashArrayY),_=dY(o.symbol),S=i7e(v),x=fY(g),A=!r&&M5.createCanvas(),C=r&&{tag:"g",attrs:{},key:"dcl",children:[]},M=D(),I;A&&(A.width=M.width*t,A.height=M.height*t,I=A.getContext("2d")),E(),d&&pF.put(p,A||C),u.image=A,u.svgElement=C,u.svgWidth=M.width,u.svgHeight=M.height;function D(){for(var P=1,F=0,V=S.length;F<V;++F)P=IN(P,S[F]);for(var G=1,F=0,V=_.length;F<V;++F)G=IN(G,_[F].length);P*=G;var W=x*S.length*_.length;return{width:Math.max(1,Math.min(P,o.maxTileWidth)),height:Math.max(1,Math.min(W,o.maxTileHeight))}}function E(){I&&(I.clearRect(0,0,A.width,A.height),o.backgroundColor&&(I.fillStyle=o.backgroundColor,I.fillRect(0,0,A.width,A.height)));for(var P=0,F=0;F<g.length;++F)P+=g[F];if(P<=0)return;for(var V=-x,G=0,W=0,Y=0;V<M.height;){if(G%2===0){for(var Q=W/2%_.length,K=0,ae=0,ie=0;K<M.width*2;){for(var he=0,F=0;F<v[Y].length;++F)he+=v[Y][F];if(he<=0)break;if(ae%2===0){var Ee=(1-o.symbolSize)*.5,je=K+v[Y][ae]*Ee,xe=V+g[G]*Ee,Oe=v[Y][ae]*o.symbolSize,f2=g[G]*o.symbolSize,B2=ie/2%_[Q].length;S2(je,xe,Oe,f2,_[Q][B2])}K+=v[Y][ae],++ie,++ae,ae===v[Y].length&&(ae=0)}++Y,Y===v.length&&(Y=0)}V+=g[G],++W,++G,G===g.length&&(G=0)}function S2(p2,X2,w2,Ce,R2){var v2=r?1:t,O2=X0(R2,p2*v2,X2*v2,w2*v2,Ce*v2,o.color,o.symbolKeepAspect);if(r){var k=i.painter.renderOneToVNode(O2);k&&C.children.push(k)}else cY(I,O2)}}}}function dY(n){if(!n||n.length===0)return[["rect"]];if(xt(n))return[[n]];for(var e=!0,t=0;t<n.length;++t)if(!xt(n[t])){e=!1;break}if(e)return dY([n]);for(var i=[],t=0;t<n.length;++t)xt(n[t])?i.push([n[t]]):i.push(n[t]);return i}function hY(n){if(!n||n.length===0)return[[0,0]];if(Y3(n)){var e=Math.ceil(n);return[[e,e]]}for(var t=!0,i=0;i<n.length;++i)if(!Y3(n[i])){t=!1;break}if(t)return hY([n]);for(var r=[],i=0;i<n.length;++i)if(Y3(n[i])){var e=Math.ceil(n[i]);r.push([e,e])}else{var e=q2(n[i],function(s){return Math.ceil(s)});e.length%2===1?r.push(e.concat(e)):r.push(e)}return r}function n7e(n){if(!n||typeof n=="object"&&n.length===0)return[0,0];if(Y3(n)){var e=Math.ceil(n);return[e,e]}var t=q2(n,function(i){return Math.ceil(i)});return n.length%2?t.concat(t):t}function i7e(n){return q2(n,function(e){return fY(e)})}function fY(n){for(var e=0,t=0;t<n.length;++t)e+=n[t];return n.length%2===1?e*2:e}function r7e(n,e){n.eachRawSeries(function(t){if(!n.isSeriesFiltered(t)){var i=t.getData();i.hasItemVisual()&&i.each(function(o){var s=i.getItemVisual(o,"decal");if(s){var l=i.ensureUniqueItemVisual(o,"style");l.decal=f7(s,e)}});var r=i.getVisual("decal");if(r){var a=i.getVisual("style");a.decal=f7(r,e)}}})}var a7e=new Ea;const Wa=a7e;var pY={};function o7e(n,e){pY[n]=e}function s7e(n){return pY[n]}var l7e=1,u7e=800,c7e=900,d7e=1e3,h7e=2e3,f7e=5e3,vY=1e3,p7e=1100,GE=2e3,mY=3e3,v7e=4e3,Wy=4500,m7e=4600,g7e=5e3,y7e=6e3,gY=7e3,_7e={PROCESSOR:{FILTER:d7e,SERIES_FILTER:u7e,STATISTIC:f7e},VISUAL:{LAYOUT:vY,PROGRESSIVE_LAYOUT:p7e,GLOBAL:GE,CHART:mY,POST_CHART_LAYOUT:m7e,COMPONENT:v7e,BRUSH:g7e,CHART_ITEM:Wy,ARIA:y7e,DECAL:gY}},Jn="__flagInMainProcess",Bi="__pendingUpdate",qb="__needsUpdateStatus",mF=/^[a-zA-Z0-9_]+$/,Xb="__connectUpdateStatus",gF=0,S7e=1,b7e=2;function yY(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(this.isDisposed()){this.id;return}return SY(this,n,e)}}function _Y(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return SY(this,n,e)}}function SY(n,e,t){return t[0]=t[0]&&t[0].toLowerCase(),Ea.prototype[e].apply(n,t)}var bY=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Ea),xY=bY.prototype;xY.on=_Y("on");xY.off=_Y("off");var k4,Yb,op,E6,Kb,Zb,Jb,ku,Fu,yF,_F,Qb,SF,sp,bF,wY,Xr,xF,TY=function(n){o2(e,n);function e(t,i,r){var a=n.call(this,new Mle)||this;a._chartsViews=[],a._chartsMap={},a._componentsViews=[],a._componentsMap={},a._pendingActions=[],r=r||{},xt(i)&&(i=AY[i]),a._dom=t;var o="canvas",s="auto",l=!1;r.ssr&&e5e(function(h){var f=t3(h),p=f.dataIndex;if(p!=null){var m=Rt();return m.set("series_index",f.seriesIndex),m.set("data_index",p),f.ssrType&&m.set("ssr_type",f.ssrType),m}});var u=a._zr=EN(t,{renderer:r.renderer||o,devicePixelRatio:r.devicePixelRatio,width:r.width,height:r.height,ssr:r.ssr,useDirtyRect:a3(r.useDirtyRect,l),useCoarsePointer:a3(r.useCoarsePointer,s),pointerSize:r.pointerSize});a._ssr=r.ssr,a._throttledZrFlush=Hy(Tt(u.flush,u),17),i=Zt(i),i&&RX(i,!0),a._theme=i,a._locale=D8e(r.locale||iX),a._coordSysMgr=new bh;var c=a._api=bF(a);function d(h,f){return h.__prio-f.__prio}return Kv(og,d),Kv(HA,d),a._scheduler=new rY(a,c,HA,og),a._messageCenter=new bY,a._initEvents(),a.resize=Tt(a.resize,a),u.animation.on("frame",a._onframe,a),yF(u,a),_F(u,a),Bm(a),a}return e.prototype._onframe=function(){if(!this._disposed){xF(this);var t=this._scheduler;if(this[Bi]){var i=this[Bi].silent;this[Jn]=!0;try{k4(this),E6.update.call(this,null,this[Bi].updateParams)}catch(l){throw this[Jn]=!1,this[Bi]=null,l}this._zr.flush(),this[Jn]=!1,this[Bi]=null,ku.call(this,i),Fu.call(this,i)}else if(t.unfinished){var r=l7e,a=this._model,o=this._api;t.unfinished=!1;do{var s=+new Date;t.performSeriesTasks(a),t.performDataProcessorTasks(a),Zb(this,a),t.performVisualTasks(a),sp(this,this._model,o,"remain",{}),r-=+new Date-s}while(r>0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,i,r){if(!this[Jn]){if(this._disposed){this.id;return}var a,o,s;if(Kt(i)&&(r=i.lazyUpdate,a=i.silent,o=i.replaceMerge,s=i.transition,i=i.notMerge),this[Jn]=!0,!this._model||i){var l=new d4e(this._api),u=this._theme,c=this._model=new MX;c.scheduler=this._scheduler,c.ssr=this._ssr,c.init(null,null,null,u,this._locale,l)}this._model.setOption(t,{replaceMerge:o},WA);var d={seriesTransition:s,optionChanged:!0};if(r)this[Bi]={silent:a,updateParams:d},this[Jn]=!1,this.getZr().wakeUp();else{try{k4(this),E6.update.call(this,null,d)}catch(h){throw this[Bi]=null,this[Jn]=!1,h}this._ssr||this._zr.flush(),this[Bi]=null,this[Jn]=!1,ku.call(this,a),Fu.call(this,a)}}},e.prototype.setTheme=function(){},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||q3.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var i=this._zr.painter;return i.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var i=this._zr.painter;return i.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(q3.svgSupported){var t=this._zr,i=t.storage.getDisplayList();return ne(i,function(r){r.stopAnimation(null,!0)}),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(this._disposed){this.id;return}t=t||{};var i=t.excludeComponents,r=this._model,a=[],o=this;ne(i,function(l){r.eachComponent({mainType:l},function(u){var c=o._componentsMap[u.__viewId];c.group.ignore||(a.push(c),c.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return ne(a,function(l){l.group.ignore=!1}),s},e.prototype.getConnectedDataURL=function(t){if(this._disposed){this.id;return}var i=t.type==="svg",r=this.group,a=Math.min,o=Math.max,s=1/0;if(wF[r]){var l=s,u=s,c=-s,d=-s,h=[],f=t&&t.pixelRatio||this.getDevicePixelRatio();ne(Yc,function(S,x){if(S.group===r){var A=i?S.getZr().painter.getSvgDom().innerHTML:S.renderToCanvas(Zt(t)),C=S.getDom().getBoundingClientRect();l=a(C.left,l),u=a(C.top,u),c=o(C.right,c),d=o(C.bottom,d),h.push({dom:A,left:C.left,top:C.top})}}),l*=f,u*=f,c*=f,d*=f;var p=c-l,m=d-u,v=M5.createCanvas(),g=EN(v,{renderer:i?"svg":"canvas"});if(g.resize({width:p,height:m}),i){var _="";return ne(h,function(S){var x=S.left-l,A=S.top-u;_+='<g transform="translate('+x+","+A+')">'+S.dom+"</g>"}),g.painter.getSvgRoot().innerHTML=_,t.connectedBackgroundColor&&g.painter.setBackgroundColor(t.connectedBackgroundColor),g.refreshImmediately(),g.painter.toDataURL()}else return t.connectedBackgroundColor&&g.add(new H3({shape:{x:0,y:0,width:p,height:m},style:{fill:t.connectedBackgroundColor}})),ne(h,function(S){var x=new $n({style:{x:S.left*f-l,y:S.top*f-u,image:S.dom}});g.add(x)}),g.refreshImmediately(),v.toDataURL("image/"+(t&&t.type||"png"))}else return this.getDataURL(t)},e.prototype.convertToPixel=function(t,i){return Kb(this,"convertToPixel",t,i)},e.prototype.convertFromPixel=function(t,i){return Kb(this,"convertFromPixel",t,i)},e.prototype.containPixel=function(t,i){if(this._disposed){this.id;return}var r=this._model,a,o=Vc(r,t);return ne(o,function(s,l){l.indexOf("Models")>=0&&ne(s,function(u){var c=u.coordinateSystem;if(c&&c.containPoint)a=a||!!c.containPoint(i);else if(l==="seriesModels"){var d=this._chartsMap[u.__viewId];d&&d.containPoint&&(a=a||d.containPoint(i,u))}},this)},this),!!a},e.prototype.getVisual=function(t,i){var r=this._model,a=Vc(r,t,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),l=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return l!=null?BE(s,l,i):xh(s,i)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t=this;ne(x7e,function(i){var r=function(a){var o=t.getModel(),s=a.target,l,u=i==="globalout";if(u?l={}:s&&o8(s,function(p){var m=t3(p);if(m&&m.dataIndex!=null){var v=m.dataModel||o.getSeriesByIndex(m.seriesIndex);return l=v&&v.getDataParams(m.dataIndex,m.dataType,s)||{},!0}else if(m.eventData)return l=I2({},m.eventData),!0},!0),l){var c=l.componentType,d=l.componentIndex;(c==="markLine"||c==="markPoint"||c==="markArea")&&(c="series",d=l.seriesIndex);var h=c&&d!=null&&o.getComponent(c,d),f=h&&t[h.mainType==="series"?"_chartsMap":"_componentsMap"][h.__viewId];l.event=a,l.type=i,t._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:h,view:f},t.trigger(i,l)}};r.zrEventfulCallAtLast=!0,t._zr.on(i,r,t)}),ne(Xc,function(i,r){t._messageCenter.on(r,function(a){this.trigger(r,a)},t)}),ne(["selectchanged"],function(i){t._messageCenter.on(i,function(r){this.trigger(i,r)},t)}),Rle(this._messageCenter,this,this._api)},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var t=this.getDom();t&&nq(this.getDom(),VE,"");var i=this,r=i._api,a=i._model;ne(i._componentsViews,function(o){o.dispose(a,r)}),ne(i._chartsViews,function(o){o.dispose(a,r)}),i._zr.dispose(),i._dom=i._model=i._chartsMap=i._componentsMap=i._chartsViews=i._componentsViews=i._scheduler=i._api=i._zr=i._throttledZrFlush=i._theme=i._coordSysMgr=i._messageCenter=null,delete Yc[i.id]},e.prototype.resize=function(t){if(!this[Jn]){if(this._disposed){this.id;return}this._zr.resize(t);var i=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!i){var r=i.resetOption("media"),a=t&&t.silent;this[Bi]&&(a==null&&(a=this[Bi].silent),r=!0,this[Bi]=null),this[Jn]=!0;try{r&&k4(this),E6.update.call(this,{type:"resize",animation:I2({duration:0},t&&t.animation)})}catch(o){throw this[Jn]=!1,o}this[Jn]=!1,ku.call(this,a),Fu.call(this,a)}}},e.prototype.showLoading=function(t,i){if(this._disposed){this.id;return}if(Kt(t)&&(i=t,t=""),t=t||"default",this.hideLoading(),!!jA[t]){var r=jA[t](this._api,i),a=this._zr;this._loadingFX=r,a.add(r)}},e.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},e.prototype.makeActionFromEvent=function(t){var i=I2({},t);return i.type=Xc[t.type],i},e.prototype.dispatchAction=function(t,i){if(this._disposed){this.id;return}if(Kt(i)||(i={silent:!!i}),!!ag[t.type]&&this._model){if(this[Jn]){this._pendingActions.push(t);return}var r=i.silent;Jb.call(this,t,r);var a=i.flush;a?this._zr.flush():a!==!1&&q3.browser.weChat&&this._throttledZrFlush(),ku.call(this,r),Fu.call(this,r)}},e.prototype.updateLabelLayout=function(){Wa.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed){this.id;return}var i=t.seriesIndex,r=this.getModel(),a=r.getSeriesByIndex(i);a.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()},e.internalField=function(){k4=function(d){var h=d._scheduler;h.restorePipelines(d._model),h.prepareStageTasks(),Yb(d,!0),Yb(d,!1),h.plan()},Yb=function(d,h){for(var f=d._model,p=d._scheduler,m=h?d._componentsViews:d._chartsViews,v=h?d._componentsMap:d._chartsMap,g=d._zr,_=d._api,S=0;S<m.length;S++)m[S].__alive=!1;h?f.eachComponent(function(C,M){C!=="series"&&x(M)}):f.eachSeries(x);function x(C){var M=C.__requireNewView;C.__requireNewView=!1;var I="_ec_"+C.id+"_"+C.type,D=!M&&v[I];if(!D){var E=zo(C.type),P=h?b0.getClass(E.main,E.sub):q1.getClass(E.sub);D=new P,D.init(f,_),v[I]=D,m.push(D),g.add(D.group)}C.__viewId=D.__id=I,D.__alive=!0,D.__model=C,D.group.__ecComponentInfo={mainType:C.mainType,index:C.componentIndex},!h&&p.prepareView(D,C,f,_)}for(var S=0;S<m.length;){var A=m[S];A.__alive?S++:(!h&&A.renderTask.dispose(),g.remove(A.group),A.dispose(f,_),m.splice(S,1),v[A.__id]===A&&delete v[A.__id],A.__id=A.group.__ecComponentInfo=null)}},op=function(d,h,f,p,m){var v=d._model;if(v.setUpdatePayload(f),!p){ne([].concat(d._componentsViews).concat(d._chartsViews),A);return}var g={};g[p+"Id"]=f[p+"Id"],g[p+"Index"]=f[p+"Index"],g[p+"Name"]=f[p+"Name"];var _={mainType:p,query:g};m&&(_.subType=m);var S=f.excludeSeriesId,x;S!=null&&(x=Rt(),ne(T1(S),function(C){var M=ln(C,null);M!=null&&x.set(M,!0)})),v&&v.eachComponent(_,function(C){var M=x&&x.get(C.id)!=null;if(!M)if(rk(f))if(C instanceof f0)f.type===b8&&!f.notBlur&&!C.get(["emphasis","disabled"])&&A9e(C,f,d._api);else{var I=vE(C.mainType,C.componentIndex,f.name,d._api),D=I.focusSelf,E=I.dispatchers;f.type===b8&&D&&!f.notBlur&&AA(C.mainType,C.componentIndex,d._api),E&&ne(E,function(P){f.type===b8?$s(P):qs(P)})}else MA(f)&&C instanceof f0&&(E9e(C,f,d._api),nk(C),Xr(d))},d),v&&v.eachComponent(_,function(C){var M=x&&x.get(C.id)!=null;M||A(d[p==="series"?"_chartsMap":"_componentsMap"][C.__viewId])},d);function A(C){C&&C.__alive&&C[h]&&C[h](C.__model,v,d._api,f)}},E6={prepareAndUpdate:function(d){k4(this),E6.update.call(this,d,{optionChanged:d.newOption!=null})},update:function(d,h){var f=this._model,p=this._api,m=this._zr,v=this._coordSysMgr,g=this._scheduler;if(f){f.setUpdatePayload(d),g.restoreData(f,d),g.performSeriesTasks(f),v.create(f,p),g.performDataProcessorTasks(f,d),Zb(this,f),v.update(f,p),t(f),g.performVisualTasks(f,d),Qb(this,f,p,d,h);var _=f.get("backgroundColor")||"transparent",S=f.get("darkMode");m.setBackgroundColor(_),S!=null&&S!=="auto"&&m.setDarkMode(S),Wa.trigger("afterupdate",f,p)}},updateTransform:function(d){var h=this,f=this._model,p=this._api;if(f){f.setUpdatePayload(d);var m=[];f.eachComponent(function(g,_){if(g!=="series"){var S=h.getViewOfComponentModel(_);if(S&&S.__alive)if(S.updateTransform){var x=S.updateTransform(_,f,p,d);x&&x.update&&m.push(S)}else m.push(S)}});var v=Rt();f.eachSeries(function(g){var _=h._chartsMap[g.__viewId];if(_.updateTransform){var S=_.updateTransform(g,f,p,d);S&&S.update&&v.set(g.uid,1)}else v.set(g.uid,1)}),t(f),this._scheduler.performVisualTasks(f,d,{setDirty:!0,dirtyMap:v}),sp(this,f,p,d,{},v),Wa.trigger("afterupdate",f,p)}},updateView:function(d){var h=this._model;h&&(h.setUpdatePayload(d),q1.markUpdateMethod(d,"updateView"),t(h),this._scheduler.performVisualTasks(h,d,{setDirty:!0}),Qb(this,h,this._api,d,{}),Wa.trigger("afterupdate",h,this._api))},updateVisual:function(d){var h=this,f=this._model;f&&(f.setUpdatePayload(d),f.eachSeries(function(p){p.getData().clearAllVisual()}),q1.markUpdateMethod(d,"updateVisual"),t(f),this._scheduler.performVisualTasks(f,d,{visualType:"visual",setDirty:!0}),f.eachComponent(function(p,m){if(p!=="series"){var v=h.getViewOfComponentModel(m);v&&v.__alive&&v.updateVisual(m,f,h._api,d)}}),f.eachSeries(function(p){var m=h._chartsMap[p.__viewId];m.updateVisual(p,f,h._api,d)}),Wa.trigger("afterupdate",f,this._api))},updateLayout:function(d){E6.update.call(this,d)}},Kb=function(d,h,f,p){if(d._disposed){d.id;return}for(var m=d._model,v=d._coordSysMgr.getCoordinateSystems(),g,_=Vc(m,f),S=0;S<v.length;S++){var x=v[S];if(x[h]&&(g=x[h](m,_,p))!=null)return g}},Zb=function(d,h){var f=d._chartsMap,p=d._scheduler;h.eachSeries(function(m){p.updateStreamModes(m,f[m.__viewId])})},Jb=function(d,h){var f=this,p=this.getModel(),m=d.type,v=d.escapeConnect,g=ag[m],_=g.actionInfo,S=(_.update||"update").split(":"),x=S.pop(),A=S[0]!=null&&zo(S[0]);this[Jn]=!0;var C=[d],M=!1;d.batch&&(M=!0,C=q2(d.batch,function(G){return G=qt(I2({},G),d),G.batch=null,G}));var I=[],D,E=MA(d),P=rk(d);if(P&&Mq(this._api),ne(C,function(G){if(D=g.action(G,f._model,f._api),D=D||I2({},G),D.type=_.event||D.type,I.push(D),P){var W=sE(d),Y=W.queryOptionMap,Q=W.mainTypeSpecified,K=Q?Y.keys()[0]:"series";op(f,x,G,K),Xr(f)}else E?(op(f,x,G,"series"),Xr(f)):A&&op(f,x,G,A.main,A.sub)}),x!=="none"&&!P&&!E&&!A)try{this[Bi]?(k4(this),E6.update.call(this,d),this[Bi]=null):E6[x].call(this,d)}catch(G){throw this[Jn]=!1,G}if(M?D={type:_.event||m,escapeConnect:v,batch:I}:D=I[0],this[Jn]=!1,!h){var F=this._messageCenter;if(F.trigger(D.type,D),E){var V={type:"selectchanged",escapeConnect:v,selected:P9e(p),isFromClick:d.isFromClick||!1,fromAction:d.type,fromActionPayload:d};F.trigger(V.type,V)}}},ku=function(d){for(var h=this._pendingActions;h.length;){var f=h.shift();Jb.call(this,f,d)}},Fu=function(d){!d&&this.trigger("updated")},yF=function(d,h){d.on("rendered",function(f){h.trigger("rendered",f),d.animation.isFinished()&&!h[Bi]&&!h._scheduler.unfinished&&!h._pendingActions.length&&h.trigger("finished")})},_F=function(d,h){d.on("mouseover",function(f){var p=f.target,m=o8(p,Pd);m&&(C9e(m,f,h._api),Xr(h))}).on("mouseout",function(f){var p=f.target,m=o8(p,Pd);m&&(M9e(m,f,h._api),Xr(h))}).on("click",function(f){var p=f.target,m=o8(p,function(_){return t3(_).dataIndex!=null},!0);if(m){var v=m.selected?"unselect":"select",g=t3(m);h._api.dispatchAction({type:v,dataType:g.dataType,dataIndexInside:g.dataIndex,seriesIndex:g.seriesIndex,isFromClick:!0})}})};function t(d){d.clearColorPalette(),d.eachSeries(function(h){h.clearColorPalette()})}function i(d){var h=[],f=[],p=!1;if(d.eachComponent(function(_,S){var x=S.get("zlevel")||0,A=S.get("z")||0,C=S.getZLevelKey();p=p||!!C,(_==="series"?f:h).push({zlevel:x,z:A,idx:S.componentIndex,type:_,key:C})}),p){var m=h.concat(f),v,g;Kv(m,function(_,S){return _.zlevel===S.zlevel?_.z-S.z:_.zlevel-S.zlevel}),ne(m,function(_){var S=d.getComponent(_.type,_.idx),x=_.zlevel,A=_.key;v!=null&&(x=Math.max(v,x)),A?(x===v&&A!==g&&x++,g=A):g&&(x===v&&x++,g=""),v=x,S.setZLevel(x)})}}Qb=function(d,h,f,p,m){i(h),SF(d,h,f,p,m),ne(d._chartsViews,function(v){v.__alive=!1}),sp(d,h,f,p,m),ne(d._chartsViews,function(v){v.__alive||v.remove(h,f)})},SF=function(d,h,f,p,m,v){ne(v||d._componentsViews,function(g){var _=g.__model;u(_,g),g.render(_,h,f,p),s(_,g),c(_,g)})},sp=function(d,h,f,p,m,v){var g=d._scheduler;m=I2(m||{},{updatedSeries:h.getSeries()}),Wa.trigger("series:beforeupdate",h,f,m);var _=!1;h.eachSeries(function(S){var x=d._chartsMap[S.__viewId];x.__alive=!0;var A=x.renderTask;g.updatePayload(A,p),u(S,x),v&&v.get(S.uid)&&A.dirty(),A.perform(g.getPerformArgs(A))&&(_=!0),x.group.silent=!!S.get("silent"),o(S,x),nk(S)}),g.unfinished=_||g.unfinished,Wa.trigger("series:layoutlabels",h,f,m),Wa.trigger("series:transition",h,f,m),h.eachSeries(function(S){var x=d._chartsMap[S.__viewId];s(S,x),c(S,x)}),a(d,h),Wa.trigger("series:afterupdate",h,f,m)},Xr=function(d){d[qb]=!0,d.getZr().wakeUp()},xF=function(d){d[qb]&&(d.getZr().storage.traverse(function(h){$l(h)||r(h)}),d[qb]=!1)};function r(d){for(var h=[],f=d.currentStates,p=0;p<f.length;p++){var m=f[p];m==="emphasis"||m==="blur"||m==="select"||h.push(m)}d.selected&&d.states.select&&h.push("select"),d.hoverState===Cy&&d.states.emphasis?h.push("emphasis"):d.hoverState===yh&&d.states.blur&&h.push("blur"),d.useStates(h)}function a(d,h){var f=d._zr,p=f.storage,m=0;p.traverse(function(v){v.isGroup||m++}),m>h.get("hoverLayerThreshold")&&!q3.node&&!q3.worker&&h.eachSeries(function(v){if(!v.preventUsingHoverLayer){var g=d._chartsMap[v.__viewId];g.__alive&&g.eachRendered(function(_){_.states.emphasis&&(_.states.emphasis.hoverLayer=!0)})}})}function o(d,h){var f=d.get("blendMode")||null;h.eachRendered(function(p){p.isGroup||(p.style.blend=f)})}function s(d,h){if(!d.preventAutoZ){var f=d.get("z")||0,p=d.get("zlevel")||0;h.eachRendered(function(m){return l(m,f,p,-1/0),!0})}}function l(d,h,f,p){var m=d.getTextContent(),v=d.getTextGuideLine(),g=d.isGroup;if(g)for(var _=d.childrenRef(),S=0;S<_.length;S++)p=Math.max(l(_[S],h,f,p),p);else d.z=h,d.zlevel=f,p=Math.max(d.z2,p);if(m&&(m.z=h,m.zlevel=f,isFinite(p)&&(m.z2=p+2)),v){var x=d.textGuideLineConfig;v.z=h,v.zlevel=f,isFinite(p)&&(v.z2=p+(x&&x.showAbove?1:-1))}return p}function u(d,h){h.eachRendered(function(f){if(!$l(f)){var p=f.getTextContent(),m=f.getTextGuideLine();f.stateTransition&&(f.stateTransition=null),p&&p.stateTransition&&(p.stateTransition=null),m&&m.stateTransition&&(m.stateTransition=null),f.hasState()?(f.prevStates=f.currentStates,f.clearStates()):f.prevStates&&(f.prevStates=null)}})}function c(d,h){var f=d.getModel("stateAnimation"),p=d.isAnimationEnabled(),m=f.get("duration"),v=m>0?{duration:m,delay:f.get("delay"),easing:f.get("easing")}:null;h.eachRendered(function(g){if(g.states&&g.states.emphasis){if($l(g))return;if(g instanceof E3&&N9e(g),g.__dirty){var _=g.prevStates;_&&g.useStates(_)}if(p){g.stateTransition=v;var S=g.getTextContent(),x=g.getTextGuideLine();S&&(S.stateTransition=v),x&&(x.stateTransition=v)}g.__dirty&&r(g)}})}bF=function(d){return new(function(h){o2(f,h);function f(){return h!==null&&h.apply(this,arguments)||this}return f.prototype.getCoordinateSystems=function(){return d._coordSysMgr.getCoordinateSystems()},f.prototype.getComponentByElement=function(p){for(;p;){var m=p.__ecComponentInfo;if(m!=null)return d._model.getComponent(m.mainType,m.index);p=p.parent}},f.prototype.enterEmphasis=function(p,m){$s(p,m),Xr(d)},f.prototype.leaveEmphasis=function(p,m){qs(p,m),Xr(d)},f.prototype.enterBlur=function(p){wq(p),Xr(d)},f.prototype.leaveBlur=function(p){pE(p),Xr(d)},f.prototype.enterSelect=function(p){Tq(p),Xr(d)},f.prototype.leaveSelect=function(p){Aq(p),Xr(d)},f.prototype.getModel=function(){return d.getModel()},f.prototype.getViewOfComponentModel=function(p){return d.getViewOfComponentModel(p)},f.prototype.getViewOfSeriesModel=function(p){return d.getViewOfSeriesModel(p)},f}(EX))(d)},wY=function(d){function h(f,p){for(var m=0;m<f.length;m++){var v=f[m];v[Xb]=p}}ne(Xc,function(f,p){d._messageCenter.on(p,function(m){if(wF[d.group]&&d[Xb]!==gF){if(m&&m.escapeConnect)return;var v=d.makeActionFromEvent(m),g=[];ne(Yc,function(_){_!==d&&_.group===d.group&&g.push(_)}),h(g,gF),ne(g,function(_){_[Xb]!==S7e&&_.dispatchAction(v)}),h(g,b7e)}})})}}(),e}(Ea),UE=TY.prototype;UE.on=yY("on");UE.off=yY("off");UE.one=function(n,e,t){var i=this;function r(){for(var a=[],o=0;o<arguments.length;o++)a[o]=arguments[o];e&&e.apply&&e.apply(this,a),i.off(n,r)}this.on.call(this,n,r,t)};var x7e=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];var ag={},Xc={},HA=[],WA=[],og=[],AY={},jA={},Yc={},wF={},w7e=+new Date-0,VE="_echarts_instance_";function T7e(n,e,t){var i=!(t&&t.ssr);if(i){var r=A7e(n);if(r)return r}var a=new TY(n,e,t);return a.id="ec_"+w7e++,Yc[a.id]=a,i&&nq(n,VE,a.id),wY(a),Wa.trigger("afterinit",a),a}function A7e(n){return Yc[S5e(n,VE)]}function CY(n,e){AY[n]=e}function MY(n){x3(WA,n)<0&&WA.push(n)}function EY(n,e){WE(HA,n,e,h7e)}function C7e(n){HE("afterinit",n)}function M7e(n){HE("afterupdate",n)}function HE(n,e){Wa.on(n,e)}function ns(n,e,t){Wt(e)&&(t=e,e="");var i=Kt(n)?n.type:[n,n={event:e}][0];n.event=(n.event||i).toLowerCase(),e=n.event,!Xc[e]&&(Ri(mF.test(i)&&mF.test(e)),ag[i]||(ag[i]={action:t,actionInfo:n}),Xc[e]=i)}function E7e(n,e){bh.register(n,e)}function P7e(n,e){WE(og,n,e,vY,"layout")}function t4(n,e){WE(og,n,e,mY,"visual")}var TF=[];function WE(n,e,t,i,r){if((Wt(e)||Kt(e))&&(t=e,e=i),!(x3(TF,t)>=0)){TF.push(t);var a=rY.wrapStageHandler(t,r);a.__prio=e,a.__raw=t,n.push(a)}}function PY(n,e){jA[n]=e}function R7e(n,e,t){var i=s7e("registerMap");i&&i(n,e,t)}var L7e=z4e;t4(GE,dle);t4(Wy,hle);t4(Wy,fle);t4(GE,Ele);t4(Wy,Ple);t4(gY,r7e);MY(RX);EY(c7e,_4e);PY("default",ple);ns({type:b8,event:b8,update:b8},O0);ns({type:nm,event:nm,update:nm},O0);ns({type:Hc,event:Hc,update:Hc},O0);ns({type:im,event:im,update:im},O0);ns({type:Wc,event:Wc,update:Wc},O0);CY("light",Ale);CY("dark",Cle);var AF=[],I7e={registerPreprocessor:MY,registerProcessor:EY,registerPostInit:C7e,registerPostUpdate:M7e,registerUpdateLifecycle:HE,registerAction:ns,registerCoordinateSystem:E7e,registerLayout:P7e,registerVisual:t4,registerTransform:L7e,registerLoading:PY,registerMap:R7e,registerImpl:o7e,PRIORITY:_7e,ComponentModel:$3,ComponentView:b0,SeriesModel:f0,ChartView:q1,registerComponentModel:function(n){$3.registerClass(n)},registerComponentView:function(n){b0.registerClass(n)},registerSeriesModel:function(n){f0.registerClass(n)},registerChartView:function(n){q1.registerClass(n)},registerSubTypeDefaulter:function(n,e){$3.registerSubTypeDefaulter(n,e)},registerPainter:function(n,e){J6e(n,e)}};function C3(n){if(j2(n)){ne(n,function(e){C3(e)});return}x3(AF,n)>=0||(AF.push(n),Wt(n)&&(n={install:n}),n.install(I7e))}function Ou(n){return n==null?0:n.length||1}function CF(n){return n}var D7e=function(){function n(e,t,i,r,a,o){this._old=e,this._new=t,this._oldKeyGetter=i||CF,this._newKeyGetter=r||CF,this.context=a,this._diffModeMultiple=o==="multiple"}return n.prototype.add=function(e){return this._add=e,this},n.prototype.update=function(e){return this._update=e,this},n.prototype.updateManyToOne=function(e){return this._updateManyToOne=e,this},n.prototype.updateOneToMany=function(e){return this._updateOneToMany=e,this},n.prototype.updateManyToMany=function(e){return this._updateManyToMany=e,this},n.prototype.remove=function(e){return this._remove=e,this},n.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},n.prototype._executeOneToOne=function(){var e=this._old,t=this._new,i={},r=new Array(e.length),a=new Array(t.length);this._initIndexMap(e,null,r,"_oldKeyGetter"),this._initIndexMap(t,i,a,"_newKeyGetter");for(var o=0;o<e.length;o++){var s=r[o],l=i[s],u=Ou(l);if(u>1){var c=l.shift();l.length===1&&(i[s]=l[0]),this._update&&this._update(c,o)}else u===1?(i[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(a,i)},n.prototype._executeMultiple=function(){var e=this._old,t=this._new,i={},r={},a=[],o=[];this._initIndexMap(e,i,a,"_oldKeyGetter"),this._initIndexMap(t,r,o,"_newKeyGetter");for(var s=0;s<a.length;s++){var l=a[s],u=i[l],c=r[l],d=Ou(u),h=Ou(c);if(d>1&&h===1)this._updateManyToOne&&this._updateManyToOne(c,u),r[l]=null;else if(d===1&&h>1)this._updateOneToMany&&this._updateOneToMany(c,u),r[l]=null;else if(d===1&&h===1)this._update&&this._update(c,u),r[l]=null;else if(d>1&&h>1)this._updateManyToMany&&this._updateManyToMany(c,u),r[l]=null;else if(d>1)for(var f=0;f<d;f++)this._remove&&this._remove(u[f]);else this._remove&&this._remove(u)}this._performRestAdd(o,r)},n.prototype._performRestAdd=function(e,t){for(var i=0;i<e.length;i++){var r=e[i],a=t[r],o=Ou(a);if(o>1)for(var s=0;s<o;s++)this._add&&this._add(a[s]);else o===1&&this._add&&this._add(a);t[r]=null}},n.prototype._initIndexMap=function(e,t,i,r){for(var a=this._diffModeMultiple,o=0;o<e.length;o++){var s="_ec_"+this[r](e[o],o);if(a||(i[o]=s),!!t){var l=t[s],u=Ou(l);u===0?(t[s]=o,a&&i.push(s)):u===1?t[s]=[l,o]:l.push(o)}}},n}();const Xs=D7e;var N7e=function(){function n(e,t){this._encode=e,this._schema=t}return n.prototype.get=function(){return{fullDimensions:this._getFullDimensionNames(),encode:this._encode}},n.prototype._getFullDimensionNames=function(){return this._cachedDimNames||(this._cachedDimNames=this._schema?this._schema.makeOutputDimensionNames():[]),this._cachedDimNames},n}();function k7e(n,e){var t={},i=t.encode={},r=Rt(),a=[],o=[],s={};ne(n.dimensions,function(h){var f=n.getDimensionInfo(h),p=f.coordDim;if(p){var m=f.coordDimIndex;ex(i,p)[m]=h,f.isExtraCoord||(r.set(p,1),F7e(f.type)&&(a[0]=h),ex(s,p)[m]=n.getDimensionIndex(f.name)),f.defaultTooltip&&o.push(h)}_X.each(function(v,g){var _=ex(i,g),S=f.otherDims[g];S!=null&&S!==!1&&(_[S]=f.name)})});var l=[],u={};r.each(function(h,f){var p=i[f];u[f]=p[0],l=l.concat(p)}),t.dataDimsOnCoord=l,t.dataDimIndicesOnCoord=q2(l,function(h){return n.getDimensionInfo(h).storeDimIndex}),t.encodeFirstDimNotExtra=u;var c=i.label;c&&c.length&&(a=c.slice());var d=i.tooltip;return d&&d.length?o=d.slice():o.length||(o=a.slice()),i.defaultedLabel=a,i.defaultedTooltip=o,t.userOutput=new N7e(s,e),t}function ex(n,e){return n.hasOwnProperty(e)||(n[e]=[]),n[e]}function sg(n){return n==="category"?"ordinal":n==="time"?"time":"float"}function F7e(n){return!(n==="ordinal"||n==="time")}var O7e=function(){function n(e){this.otherDims={},e!=null&&I2(this,e)}return n}();const lm=O7e;var B7e=G3(),z7e={float:"f",int:"i",ordinal:"o",number:"n",time:"t"},RY=function(){function n(e){this.dimensions=e.dimensions,this._dimOmitted=e.dimensionOmitted,this.source=e.source,this._fullDimCount=e.fullDimensionCount,this._updateDimOmitted(e.dimensionOmitted)}return n.prototype.isDimensionOmitted=function(){return this._dimOmitted},n.prototype._updateDimOmitted=function(e){this._dimOmitted=e,e&&(this._dimNameMap||(this._dimNameMap=DY(this.source)))},n.prototype.getSourceDimensionIndex=function(e){return a3(this._dimNameMap.get(e),-1)},n.prototype.getSourceDimension=function(e){var t=this.source.dimensionsDefine;if(t)return t[e]},n.prototype.makeStoreSchema=function(){for(var e=this._fullDimCount,t=IX(this.source),i=!NY(e),r="",a=[],o=0,s=0;o<e;o++){var l=void 0,u=void 0,c=void 0,d=this.dimensions[s];if(d&&d.storeDimIndex===o)l=t?d.name:null,u=d.type,c=d.ordinalMeta,s++;else{var h=this.getSourceDimension(o);h&&(l=t?h.name:null,u=h.type)}a.push({property:l,type:u,ordinalMeta:c}),t&&l!=null&&(!d||!d.isCalculationCoord)&&(r+=i?l.replace(/\`/g,"`1").replace(/\$/g,"`2"):l),r+="$",r+=z7e[u]||"f",c&&(r+=c.uid),r+="$"}var f=this.source,p=[f.seriesLayoutBy,f.startIndex,r].join("$$");return{dimensions:a,hash:p}},n.prototype.makeOutputDimensionNames=function(){for(var e=[],t=0,i=0;t<this._fullDimCount;t++){var r=void 0,a=this.dimensions[i];if(a&&a.storeDimIndex===t)a.isCalculationCoord||(r=a.name),i++;else{var o=this.getSourceDimension(t);o&&(r=o.name)}e.push(r)}return e},n.prototype.appendCalculationDimension=function(e){this.dimensions.push(e),e.isCalculationCoord=!0,this._fullDimCount++,this._updateDimOmitted(!0)},n}();function LY(n){return n instanceof RY}function IY(n){for(var e=Rt(),t=0;t<(n||[]).length;t++){var i=n[t],r=Kt(i)?i.name:i;r!=null&&e.get(r)==null&&e.set(r,t)}return e}function DY(n){var e=B7e(n);return e.dimNameMap||(e.dimNameMap=IY(n.dimensionsDefine))}function NY(n){return n>30}var Bu=Kt,P6=q2,G7e=typeof Int32Array=="undefined"?Array:Int32Array,U7e="e\0\0",MF=-1,V7e=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],H7e=["_approximateExtent"],EF,lp,zu,Gu,tx,Uu,nx,W7e=function(){function n(e,t){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var i,r=!1;LY(e)?(i=e.dimensions,this._dimOmitted=e.isDimensionOmitted(),this._schema=e):(r=!0,i=e),i=i||["x","y"];for(var a={},o=[],s={},l=!1,u={},c=0;c<i.length;c++){var d=i[c],h=xt(d)?new lm({name:d}):d instanceof lm?d:new lm(d),f=h.name;h.type=h.type||"float",h.coordDim||(h.coordDim=f,h.coordDimIndex=0);var p=h.otherDims=h.otherDims||{};o.push(f),a[f]=h,u[f]!=null&&(l=!0),h.createInvertedIndices&&(s[f]=[]),p.itemName===0&&(this._nameDimIdx=c),p.itemId===0&&(this._idDimIdx=c),r&&(h.storeDimIndex=c)}if(this.dimensions=o,this._dimInfos=a,this._initGetDimensionInfo(l),this.hostModel=t,this._invertedIndicesMap=s,this._dimOmitted){var m=this._dimIdxToName=Rt();ne(o,function(v){m.set(a[v].storeDimIndex,v)})}}return n.prototype.getDimension=function(e){var t=this._recognizeDimIndex(e);if(t==null)return e;if(t=e,!this._dimOmitted)return this.dimensions[t];var i=this._dimIdxToName.get(t);if(i!=null)return i;var r=this._schema.getSourceDimension(t);if(r)return r.name},n.prototype.getDimensionIndex=function(e){var t=this._recognizeDimIndex(e);if(t!=null)return t;if(e==null)return-1;var i=this._getDimInfo(e);return i?i.storeDimIndex:this._dimOmitted?this._schema.getSourceDimensionIndex(e):-1},n.prototype._recognizeDimIndex=function(e){if(Y3(e)||e!=null&&!isNaN(e)&&!this._getDimInfo(e)&&(!this._dimOmitted||this._schema.getSourceDimensionIndex(e)<0))return+e},n.prototype._getStoreDimIndex=function(e){var t=this.getDimensionIndex(e);return t},n.prototype.getDimensionInfo=function(e){return this._getDimInfo(this.getDimension(e))},n.prototype._initGetDimensionInfo=function(e){var t=this._dimInfos;this._getDimInfo=e?function(i){return t.hasOwnProperty(i)?t[i]:void 0}:function(i){return t[i]}},n.prototype.getDimensionsOnCoord=function(){return this._dimSummary.dataDimsOnCoord.slice()},n.prototype.mapDimension=function(e,t){var i=this._dimSummary;if(t==null)return i.encodeFirstDimNotExtra[e];var r=i.encode[e];return r?r[t]:null},n.prototype.mapDimensionsAll=function(e){var t=this._dimSummary,i=t.encode[e];return(i||[]).slice()},n.prototype.getStore=function(){return this._store},n.prototype.initData=function(e,t,i){var r=this,a;if(e instanceof FA&&(a=e),!a){var o=this.dimensions,s=IE(e)||ci(e)?new DX(e,o.length):e;a=new FA;var l=P6(o,function(u){return{type:r._dimInfos[u].type,property:u}});a.initData(s,l,i)}this._store=a,this._nameList=(t||[]).slice(),this._idList=[],this._nameRepeatCount={},this._doInit(0,a.count()),this._dimSummary=k7e(this,this._schema),this.userOutput=this._dimSummary.userOutput},n.prototype.appendData=function(e){var t=this._store.appendData(e);this._doInit(t[0],t[1])},n.prototype.appendValues=function(e,t){var i=this._store.appendValues(e,t&&t.length),r=i.start,a=i.end,o=this._shouldMakeIdFromName();if(this._updateOrdinalMeta(),t)for(var s=r;s<a;s++){var l=s-r;this._nameList[s]=t[l],o&&nx(this,s)}},n.prototype._updateOrdinalMeta=function(){for(var e=this._store,t=this.dimensions,i=0;i<t.length;i++){var r=this._dimInfos[t[i]];r.ordinalMeta&&e.collectOrdinalMeta(r.storeDimIndex,r.ordinalMeta)}},n.prototype._shouldMakeIdFromName=function(){var e=this._store.getProvider();return this._idDimIdx==null&&e.getSource().sourceFormat!==m5&&!e.fillStorage},n.prototype._doInit=function(e,t){if(!(e>=t)){var i=this._store,r=i.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=r.getSource().sourceFormat,l=s===Pa;if(l&&!r.pure)for(var u=[],c=e;c<t;c++){var d=r.getItem(c,u);if(!this.hasItemOption&&s5e(d)&&(this.hasItemOption=!0),d){var h=d.name;a[c]==null&&h!=null&&(a[c]=ln(h,null));var f=d.id;o[c]==null&&f!=null&&(o[c]=ln(f,null))}}if(this._shouldMakeIdFromName())for(var c=e;c<t;c++)nx(this,c);EF(this)}},n.prototype.getApproximateExtent=function(e){return this._approximateExtent[e]||this._store.getDataExtent(this._getStoreDimIndex(e))},n.prototype.setApproximateExtent=function(e,t){t=this.getDimension(t),this._approximateExtent[t]=e.slice()},n.prototype.getCalculationInfo=function(e){return this._calculationInfo[e]},n.prototype.setCalculationInfo=function(e,t){Bu(e)?I2(this._calculationInfo,e):this._calculationInfo[e]=t},n.prototype.getName=function(e){var t=this.getRawIndex(e),i=this._nameList[t];return i==null&&this._nameDimIdx!=null&&(i=zu(this,this._nameDimIdx,t)),i==null&&(i=""),i},n.prototype._getCategory=function(e,t){var i=this._store.get(e,t),r=this._store.getOrdinalMeta(e);return r?r.categories[i]:i},n.prototype.getId=function(e){return lp(this,this.getRawIndex(e))},n.prototype.count=function(){return this._store.count()},n.prototype.get=function(e,t){var i=this._store,r=this._dimInfos[e];if(r)return i.get(r.storeDimIndex,t)},n.prototype.getByRawIndex=function(e,t){var i=this._store,r=this._dimInfos[e];if(r)return i.getByRawIndex(r.storeDimIndex,t)},n.prototype.getIndices=function(){return this._store.getIndices()},n.prototype.getDataExtent=function(e){return this._store.getDataExtent(this._getStoreDimIndex(e))},n.prototype.getSum=function(e){return this._store.getSum(this._getStoreDimIndex(e))},n.prototype.getMedian=function(e){return this._store.getMedian(this._getStoreDimIndex(e))},n.prototype.getValues=function(e,t){var i=this,r=this._store;return j2(e)?r.getValues(P6(e,function(a){return i._getStoreDimIndex(a)}),t):r.getValues(e)},n.prototype.hasValue=function(e){for(var t=this._dimSummary.dataDimIndicesOnCoord,i=0,r=t.length;i<r;i++)if(isNaN(this._store.get(t[i],e)))return!1;return!0},n.prototype.indexOfName=function(e){for(var t=0,i=this._store.count();t<i;t++)if(this.getName(t)===e)return t;return-1},n.prototype.getRawIndex=function(e){return this._store.getRawIndex(e)},n.prototype.indexOfRawIndex=function(e){return this._store.indexOfRawIndex(e)},n.prototype.rawIndexOf=function(e,t){var i=e&&this._invertedIndicesMap[e],r=i&&i[t];return r==null||isNaN(r)?MF:r},n.prototype.indicesOfNearest=function(e,t,i){return this._store.indicesOfNearest(this._getStoreDimIndex(e),t,i)},n.prototype.each=function(e,t,i){Wt(e)&&(i=t,t=e,e=[]);var r=i||this,a=P6(Gu(e),this._getStoreDimIndex,this);this._store.each(a,r?Tt(t,r):t)},n.prototype.filterSelf=function(e,t,i){Wt(e)&&(i=t,t=e,e=[]);var r=i||this,a=P6(Gu(e),this._getStoreDimIndex,this);return this._store=this._store.filter(a,r?Tt(t,r):t),this},n.prototype.selectRange=function(e){var t=this,i={},r=L3(e);return ne(r,function(a){var o=t._getStoreDimIndex(a);i[o]=e[a]}),this._store=this._store.selectRange(i),this},n.prototype.mapArray=function(e,t,i){Wt(e)&&(i=t,t=e,e=[]),i=i||this;var r=[];return this.each(e,function(){r.push(t&&t.apply(this,arguments))},i),r},n.prototype.map=function(e,t,i,r){var a=i||r||this,o=P6(Gu(e),this._getStoreDimIndex,this),s=Uu(this);return s._store=this._store.map(o,a?Tt(t,a):t),s},n.prototype.modify=function(e,t,i,r){var a=i||r||this,o=P6(Gu(e),this._getStoreDimIndex,this);this._store.modify(o,a?Tt(t,a):t)},n.prototype.downSample=function(e,t,i,r){var a=Uu(this);return a._store=this._store.downSample(this._getStoreDimIndex(e),t,i,r),a},n.prototype.minmaxDownSample=function(e,t){var i=Uu(this);return i._store=this._store.minmaxDownSample(this._getStoreDimIndex(e),t),i},n.prototype.lttbDownSample=function(e,t){var i=Uu(this);return i._store=this._store.lttbDownSample(this._getStoreDimIndex(e),t),i},n.prototype.getRawDataItem=function(e){return this._store.getRawDataItem(e)},n.prototype.getItemModel=function(e){var t=this.hostModel,i=this.getRawDataItem(e);return new $1(i,t,t&&t.ecModel)},n.prototype.diff=function(e){var t=this;return new Xs(e?e.getStore().getIndices():[],this.getStore().getIndices(),function(i){return lp(e,i)},function(i){return lp(t,i)})},n.prototype.getVisual=function(e){var t=this._visual;return t&&t[e]},n.prototype.setVisual=function(e,t){this._visual=this._visual||{},Bu(e)?I2(this._visual,e):this._visual[e]=t},n.prototype.getItemVisual=function(e,t){var i=this._itemVisuals[e],r=i&&i[t];return r==null?this.getVisual(t):r},n.prototype.hasItemVisual=function(){return this._itemVisuals.length>0},n.prototype.ensureUniqueItemVisual=function(e,t){var i=this._itemVisuals,r=i[e];r||(r=i[e]={});var a=r[t];return a==null&&(a=this.getVisual(t),j2(a)?a=a.slice():Bu(a)&&(a=I2({},a)),r[t]=a),a},n.prototype.setItemVisual=function(e,t,i){var r=this._itemVisuals[e]||{};this._itemVisuals[e]=r,Bu(t)?I2(r,t):r[t]=i},n.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},n.prototype.setLayout=function(e,t){Bu(e)?I2(this._layout,e):this._layout[e]=t},n.prototype.getLayout=function(e){return this._layout[e]},n.prototype.getItemLayout=function(e){return this._itemLayouts[e]},n.prototype.setItemLayout=function(e,t,i){this._itemLayouts[e]=i?I2(this._itemLayouts[e]||{},t):t},n.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},n.prototype.setItemGraphicEl=function(e,t){var i=this.hostModel&&this.hostModel.seriesIndex;wA(i,this.dataType,e,t),this._graphicEls[e]=t},n.prototype.getItemGraphicEl=function(e){return this._graphicEls[e]},n.prototype.eachItemGraphicEl=function(e,t){ne(this._graphicEls,function(i,r){i&&e&&e.call(t,i,r)})},n.prototype.cloneShallow=function(e){return e||(e=new n(this._schema?this._schema:P6(this.dimensions,this._getDimInfo,this),this.hostModel)),tx(e,this),e._store=this._store,e},n.prototype.wrapMethod=function(e,t){var i=this[e];Wt(i)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(e),this[e]=function(){var r=i.apply(this,arguments);return t.apply(this,[r].concat(KM(arguments)))})},n.internalField=function(){EF=function(e){var t=e._invertedIndicesMap;ne(t,function(i,r){var a=e._dimInfos[r],o=a.ordinalMeta,s=e._store;if(o){i=t[r]=new G7e(o.categories.length);for(var l=0;l<i.length;l++)i[l]=MF;for(var l=0;l<s.count();l++)i[s.get(a.storeDimIndex,l)]=l}})},zu=function(e,t,i){return ln(e._getCategory(t,i),null)},lp=function(e,t){var i=e._idList[t];return i==null&&e._idDimIdx!=null&&(i=zu(e,e._idDimIdx,t)),i==null&&(i=U7e+t),i},Gu=function(e){return j2(e)||(e=e!=null?[e]:[]),e},Uu=function(e){var t=new n(e._schema?e._schema:P6(e.dimensions,e._getDimInfo,e),e.hostModel);return tx(t,e),t},tx=function(e,t){ne(V7e.concat(t.__wrappedMethods||[]),function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e.__wrappedMethods=t.__wrappedMethods,ne(H7e,function(i){e[i]=Zt(t[i])}),e._calculationInfo=I2({},t._calculationInfo)},nx=function(e,t){var i=e._nameList,r=e._idList,a=e._nameDimIdx,o=e._idDimIdx,s=i[t],l=r[t];if(s==null&&a!=null&&(i[t]=s=zu(e,a,t)),l==null&&o!=null&&(r[t]=l=zu(e,o,t)),l==null&&s!=null){var u=e._nameRepeatCount,c=u[s]=(u[s]||0)+1;l=s,c>1&&(l+="__ec__"+c),r[t]=l}}}(),n}();const Pi=W7e;function wh(n,e){IE(n)||(n=DE(n)),e=e||{};var t=e.coordDimensions||[],i=e.dimensionsDefine||n.dimensionsDefine||[],r=Rt(),a=[],o=$7e(n,t,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&NY(o),l=i===n.dimensionsDefine,u=l?DY(n):IY(i),c=e.encodeDefine;!c&&e.encodeDefaulter&&(c=e.encodeDefaulter(n,o));for(var d=Rt(c),h=new UX(o),f=0;f<h.length;f++)h[f]=-1;function p(D){var E=h[D];if(E<0){var P=i[D],F=Kt(P)?P:{name:P},V=new lm,G=F.name;G!=null&&u.get(G)!=null&&(V.name=V.displayName=G),F.type!=null&&(V.type=F.type),F.displayName!=null&&(V.displayName=F.displayName);var W=a.length;return h[D]=W,V.storeDimIndex=D,a.push(V),V}return a[E]}if(!s)for(var f=0;f<o;f++)p(f);d.each(function(D,E){var P=T1(D).slice();if(P.length===1&&!xt(P[0])&&P[0]<0){d.set(E,!1);return}var F=d.set(E,[]);ne(P,function(V,G){var W=xt(V)?u.get(V):V;W!=null&&W<o&&(F[G]=W,v(p(W),E,G))})});var m=0;ne(t,function(D){var E,P,F,V;if(xt(D))E=D,V={};else{V=D,E=V.name;var G=V.ordinalMeta;V.ordinalMeta=null,V=I2({},V),V.ordinalMeta=G,P=V.dimsDef,F=V.otherDims,V.name=V.coordDim=V.coordDimIndex=V.dimsDef=V.otherDims=null}var W=d.get(E);if(W!==!1){if(W=T1(W),!W.length)for(var Y=0;Y<(P&&P.length||1);Y++){for(;m<o&&p(m).coordDim!=null;)m++;m<o&&W.push(m++)}ne(W,function(Q,K){var ae=p(Q);if(l&&V.type!=null&&(ae.type=V.type),v(qt(ae,V),E,K),ae.name==null&&P){var ie=P[K];!Kt(ie)&&(ie={name:ie}),ae.name=ae.displayName=ie.name,ae.defaultTooltip=ie.defaultTooltip}F&&qt(ae.otherDims,F)})}});function v(D,E,P){_X.get(E)!=null?D.otherDims[E]=P:(D.coordDim=E,D.coordDimIndex=P,r.set(E,!0))}var g=e.generateCoord,_=e.generateCoordCount,S=_!=null;_=g?_||1:0;var x=g||"value";function A(D){D.name==null&&(D.name=D.coordDim)}if(s)ne(a,function(D){A(D)}),a.sort(function(D,E){return D.storeDimIndex-E.storeDimIndex});else for(var C=0;C<o;C++){var M=p(C),I=M.coordDim;I==null&&(M.coordDim=q7e(x,r,S),M.coordDimIndex=0,(!g||_<=0)&&(M.isExtraCoord=!0),_--),A(M),M.type==null&&(wX(n,C)===zn.Must||M.isExtraCoord&&(M.otherDims.itemName!=null||M.otherDims.seriesName!=null))&&(M.type="ordinal")}return j7e(a),new RY({source:n,dimensions:a,fullDimensionCount:o,dimensionOmitted:s})}function j7e(n){for(var e=Rt(),t=0;t<n.length;t++){var i=n[t],r=i.name,a=e.get(r)||0;a>0&&(i.name=r+(a-1)),a++,e.set(r,a)}}function $7e(n,e,t,i){var r=Math.max(n.dimensionsDetectedCount||1,e.length,t.length,i||0);return ne(e,function(a){var o;Kt(a)&&(o=a.dimsDef)&&(r=Math.max(r,o.length))}),r}function q7e(n,e,t){if(t||e.hasKey(n)){for(var i=0;e.hasKey(n+i);)i++;n+=i}return e.set(n,!0),n}var X7e=function(){function n(e){this.coordSysDims=[],this.axisMap=Rt(),this.categoryAxisMap=Rt(),this.coordSysName=e}return n}();function Y7e(n){var e=n.get("coordinateSystem"),t=new X7e(e),i=K7e[e];if(i)return i(n,t,t.axisMap,t.categoryAxisMap),t}var K7e={cartesian2d:function(n,e,t,i){var r=n.getReferringComponents("xAxis",q0).models[0],a=n.getReferringComponents("yAxis",q0).models[0];e.coordSysDims=["x","y"],t.set("x",r),t.set("y",a),F4(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),F4(a)&&(i.set("y",a),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},singleAxis:function(n,e,t,i){var r=n.getReferringComponents("singleAxis",q0).models[0];e.coordSysDims=["single"],t.set("single",r),F4(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(n,e,t,i){var r=n.getReferringComponents("polar",q0).models[0],a=r.findAxisModel("radiusAxis"),o=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],t.set("radius",a),t.set("angle",o),F4(a)&&(i.set("radius",a),e.firstCategoryDimIndex=0),F4(o)&&(i.set("angle",o),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},geo:function(n,e,t,i){e.coordSysDims=["lng","lat"]},parallel:function(n,e,t,i){var r=n.ecModel,a=r.getComponent("parallel",n.get("parallelIndex")),o=e.coordSysDims=a.dimensions.slice();ne(a.parallelAxisIndex,function(s,l){var u=r.getComponent("parallelAxis",s),c=o[l];t.set(c,u),F4(u)&&(i.set(c,u),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=l))})}};function F4(n){return n.get("type")==="category"}function Z7e(n,e,t){t=t||{};var i=t.byIndex,r=t.stackedCoordDimension,a,o,s;J7e(e)?a=e:(o=e.schema,a=o.dimensions,s=e.store);var l=!!(n&&n.get("stack")),u,c,d,h;if(ne(a,function(_,S){xt(_)&&(a[S]=_={name:_}),l&&!_.isExtraCoord&&(!i&&!u&&_.ordinalMeta&&(u=_),!c&&_.type!=="ordinal"&&_.type!=="time"&&(!r||r===_.coordDim)&&(c=_))}),c&&!i&&!u&&(i=!0),c){d="__\0ecstackresult_"+n.id,h="__\0ecstackedover_"+n.id,u&&(u.createInvertedIndices=!0);var f=c.coordDim,p=c.type,m=0;ne(a,function(_){_.coordDim===f&&m++});var v={name:d,coordDim:f,coordDimIndex:m,type:p,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},g={name:h,coordDim:h,coordDimIndex:m+1,type:p,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(v.storeDimIndex=s.ensureCalculationDimension(h,p),g.storeDimIndex=s.ensureCalculationDimension(d,p)),o.appendCalculationDimension(v),o.appendCalculationDimension(g)):(a.push(v),a.push(g))}return{stackedDimension:c&&c.name,stackedByDimension:u&&u.name,isStackedByIndex:i,stackedOverDimension:h,stackResultDimension:d}}function J7e(n){return!LY(n.schema)}function L5(n,e){return!!e&&e===n.getCalculationInfo("stackedDimension")}function kY(n,e){return L5(n,e)?n.getCalculationInfo("stackResultDimension"):e}function Q7e(n,e){var t=n.get("coordinateSystem"),i=bh.get(t),r;return e&&e.coordSysDims&&(r=q2(e.coordSysDims,function(a){var o={name:a},s=e.axisMap.get(a);if(s){var l=s.get("type");o.type=sg(l)}return o})),r||(r=i&&(i.getDimensionsInfo?i.getDimensionsInfo():i.dimensions.slice())||["x","y"]),r}function eue(n,e,t){var i,r;return t&&ne(n,function(a,o){var s=a.coordDim,l=t.categoryAxisMap.get(s);l&&(i==null&&(i=o),a.ordinalMeta=l.getOrdinalMeta(),e&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(r=!0)}),!r&&i!=null&&(n[i].otherDims.itemName=0),i}function n6(n,e,t){t=t||{};var i=e.getSourceManager(),r,a=!1;n?(a=!0,r=DE(n)):(r=i.getSource(),a=r.sourceFormat===Pa);var o=Y7e(e),s=Q7e(e,o),l=t.useEncodeDefaulter,u=Wt(l)?l:l?s3(xX,s,e):null,c={coordDimensions:s,generateCoord:t.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!a},d=wh(r,c),h=eue(d.dimensions,t.createInvertedIndices,o),f=a?null:i.getSharedDataStore(d),p=Z7e(e,{schema:d,store:f}),m=new Pi(d,e);m.setCalculationInfo(p);var v=h!=null&&tue(r)?function(g,_,S,x){return x===h?S:this.defaultDimValueGetter(g,_,S,x)}:null;return m.hasItemOption=!1,m.initData(a?r:f,null,v),m}function tue(n){if(n.sourceFormat===Pa){var e=nue(n.data||[]);return!j2(B7(e))}}function nue(n){for(var e=0;e<n.length&&n[e]==null;)e++;return n[e]}var FY=function(){function n(e){this._setting=e||{},this._extent=[1/0,-1/0]}return n.prototype.getSetting=function(e){return this._setting[e]},n.prototype.unionExtent=function(e){var t=this._extent;e[0]<t[0]&&(t[0]=e[0]),e[1]>t[1]&&(t[1]=e[1])},n.prototype.unionExtentFromData=function(e,t){this.unionExtent(e.getApproximateExtent(t))},n.prototype.getExtent=function(){return this._extent.slice()},n.prototype.setExtent=function(e,t){var i=this._extent;isNaN(e)||(i[0]=e),isNaN(t)||(i[1]=t)},n.prototype.isInExtentRange=function(e){return this._extent[0]<=e&&this._extent[1]>=e},n.prototype.isBlank=function(){return this._isBlank},n.prototype.setBlank=function(e){this._isBlank=e},n}();xy(FY);const i6=FY;var iue=0,rue=function(){function n(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this.uid=++iue}return n.createByAxisModel=function(e){var t=e.option,i=t.data,r=i&&q2(i,aue);return new n({categories:r,needCollect:!r,deduplication:t.dedplication!==!1})},n.prototype.getOrdinal=function(e){return this._getOrCreateMap().get(e)},n.prototype.parseAndCollect=function(e){var t,i=this._needCollect;if(!xt(e)&&!i)return e;if(i&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var r=this._getOrCreateMap();return t=r.get(e),t==null&&(i?(t=this.categories.length,this.categories[t]=e,r.set(e,t)):t=NaN),t},n.prototype._getOrCreateMap=function(){return this._map||(this._map=Rt(this.categories))},n}();function aue(n){return Kt(n)&&n.value!=null?n.value:n+""}const $A=rue;function qA(n){return n.type==="interval"||n.type==="log"}function oue(n,e,t,i){var r={},a=n[1]-n[0],o=r.interval=X$(a/e,!0);t!=null&&o<t&&(o=r.interval=t),i!=null&&o>i&&(o=r.interval=i);var s=r.intervalPrecision=OY(o),l=r.niceTickExtent=[P0(Math.ceil(n[0]/o)*o,s),P0(Math.floor(n[1]/o)*o,s)];return sue(l,n),r}function ix(n){var e=Math.pow(10,aE(n)),t=n/e;return t?t===2?t=3:t===3?t=5:t*=2:t=1,P0(t*e)}function OY(n){return Bo(n)+2}function PF(n,e,t){n[e]=Math.max(Math.min(n[e],t[1]),t[0])}function sue(n,e){!isFinite(n[0])&&(n[0]=e[0]),!isFinite(n[1])&&(n[1]=e[1]),PF(n,0,e),PF(n,1,e),n[0]>n[1]&&(n[0]=n[1])}function jy(n,e){return n>=e[0]&&n<=e[1]}function $y(n,e){return e[1]===e[0]?.5:(n-e[0])/(e[1]-e[0])}function qy(n,e){return n*(e[1]-e[0])+e[0]}var BY=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;i.type="ordinal";var r=i.getSetting("ordinalMeta");return r||(r=new $A({})),j2(r)&&(r=new $A({categories:q2(r,function(a){return Kt(a)?a.value:a})})),i._ordinalMeta=r,i._extent=i.getSetting("extent")||[0,r.categories.length-1],i}return e.prototype.parse=function(t){return t==null?NaN:xt(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return t=this.parse(t),jy(t,this._extent)&&this._ordinalMeta.categories[t]!=null},e.prototype.normalize=function(t){return t=this._getTickNumber(this.parse(t)),$y(t,this._extent)},e.prototype.scale=function(t){return t=Math.round(qy(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],i=this._extent,r=i[0];r<=i[1];)t.push({value:r}),r++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(t==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var i=t.ordinalNumbers,r=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,i.length);o<l;++o){var u=i[o];r[o]=u,a[u]=o}for(var c=0;o<s;++o){for(;a[c]!=null;)c++;r.push(c),a[c]=o}},e.prototype._getTickNumber=function(t){var i=this._ticksByOrdinalNumber;return i&&t>=0&&t<i.length?i[t]:t},e.prototype.getRawOrdinalNumber=function(t){var i=this._ordinalNumbersByTick;return i&&t>=0&&t<i.length?i[t]:t},e.prototype.getLabel=function(t){if(!this.isBlank()){var i=this.getRawOrdinalNumber(t.value),r=this._ordinalMeta.categories[i];return r==null?"":r+""}},e.prototype.count=function(){return this._extent[1]-this._extent[0]+1},e.prototype.unionExtentFromData=function(t,i){this.unionExtent(t.getApproximateExtent(i))},e.prototype.isInExtentRange=function(t){return t=this._getTickNumber(t),this._extent[0]<=t&&this._extent[1]>=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(i6);i6.registerClass(BY);const jE=BY;var M9=P0,zY=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="interval",t._interval=0,t._intervalPrecision=2,t}return e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return jy(t,this._extent)},e.prototype.normalize=function(t){return $y(t,this._extent)},e.prototype.scale=function(t){return qy(t,this._extent)},e.prototype.setExtent=function(t,i){var r=this._extent;isNaN(t)||(r[0]=parseFloat(t)),isNaN(i)||(r[1]=parseFloat(i))},e.prototype.unionExtent=function(t){var i=this._extent;t[0]<i[0]&&(i[0]=t[0]),t[1]>i[1]&&(i[1]=t[1]),this.setExtent(i[0],i[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=OY(t)},e.prototype.getTicks=function(t){var i=this._interval,r=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!i)return s;var l=1e4;r[0]<a[0]&&(t?s.push({value:M9(a[0]-i,o)}):s.push({value:r[0]}));for(var u=a[0];u<=a[1]&&(s.push({value:u}),u=M9(u+i,o),u!==s[s.length-1].value);)if(s.length>l)return[];var c=s.length?s[s.length-1].value:a[1];return r[1]>c&&(t?s.push({value:M9(c+i,o)}):s.push({value:r[1]})),s},e.prototype.getMinorTicks=function(t){for(var i=this.getTicks(!0),r=[],a=this.getExtent(),o=1;o<i.length;o++){for(var s=i[o],l=i[o-1],u=0,c=[],d=s.value-l.value,h=d/t;u<t-1;){var f=M9(l.value+(u+1)*h);f>a[0]&&f<a[1]&&c.push(f),u++}r.push(c)}return r},e.prototype.getLabel=function(t,i){if(t==null)return"";var r=i&&i.precision;r==null?r=Bo(t.value)||0:r==="auto"&&(r=this._intervalPrecision);var a=M9(t.value,r,!0);return fX(a)},e.prototype.calcNiceTicks=function(t,i,r){t=t||5;var a=this._extent,o=a[1]-a[0];if(isFinite(o)){o<0&&(o=-o,a.reverse());var s=oue(a,t,i,r);this._intervalPrecision=s.intervalPrecision,this._interval=s.interval,this._niceExtent=s.niceTickExtent}},e.prototype.calcNiceExtent=function(t){var i=this._extent;if(i[0]===i[1])if(i[0]!==0){var r=Math.abs(i[0]);t.fixMax||(i[1]+=r/2),i[0]-=r/2}else i[1]=1;var a=i[1]-i[0];isFinite(a)||(i[0]=0,i[1]=1),this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(i[0]=M9(Math.floor(i[0]/o)*o)),t.fixMax||(i[1]=M9(Math.ceil(i[1]/o)*o))},e.prototype.setNiceExtent=function(t,i){this._niceExtent=[t,i]},e.type="interval",e}(i6);i6.registerClass(zY);const I5=zY;var GY=typeof Float32Array!="undefined",lue=GY?Float32Array:Array;function Go(n){return j2(n)?GY?new Float32Array(n):n:new lue(n)}var XA="__ec_stack_";function $E(n){return n.get("stack")||XA+n.seriesIndex}function qE(n){return n.dim+n.index}function uue(n){var e=[],t=n.axis,i="axis0";if(t.type==="category"){for(var r=t.getBandWidth(),a=0;a<n.count;a++)e.push(qt({bandWidth:r,axisKey:i,stackId:XA+a},n));for(var o=HY(e),s=[],a=0;a<n.count;a++){var l=o[i][XA+a];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function UY(n,e){var t=[];return e.eachSeriesByType(n,function(i){$Y(i)&&t.push(i)}),t}function cue(n){var e={};ne(n,function(l){var u=l.coordinateSystem,c=u.getBaseAxis();if(!(c.type!=="time"&&c.type!=="value"))for(var d=l.getData(),h=c.dim+"_"+c.index,f=d.getDimensionIndex(d.mapDimension(c.dim)),p=d.getStore(),m=0,v=p.count();m<v;++m){var g=p.get(f,m);e[h]?e[h].push(g):e[h]=[g]}});var t={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i];if(r){r.sort(function(l,u){return l-u});for(var a=null,o=1;o<r.length;++o){var s=r[o]-r[o-1];s>0&&(a=a===null?s:Math.min(a,s))}t[i]=a}}return t}function VY(n){var e=cue(n),t=[];return ne(n,function(i){var r=i.coordinateSystem,a=r.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=e[l],c=Math.abs(o[1]-o[0]),d=a.scale.getExtent(),h=Math.abs(d[1]-d[0]);s=u?c/h*u:c}else{var f=i.getData();s=Math.abs(o[1]-o[0])/f.count()}var p=mt(i.get("barWidth"),s),m=mt(i.get("barMaxWidth"),s),v=mt(i.get("barMinWidth")||(qY(i)?.5:1),s),g=i.get("barGap"),_=i.get("barCategoryGap");t.push({bandWidth:s,barWidth:p,barMaxWidth:m,barMinWidth:v,barGap:g,barCategoryGap:_,axisKey:qE(a),stackId:$E(i)})}),HY(t)}function HY(n){var e={};ne(n,function(i,r){var a=i.axisKey,o=i.bandWidth,s=e[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;e[a]=s;var u=i.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var c=i.barWidth;c&&!l[u].width&&(l[u].width=c,c=Math.min(s.remainedWidth,c),s.remainedWidth-=c);var d=i.barMaxWidth;d&&(l[u].maxWidth=d);var h=i.barMinWidth;h&&(l[u].minWidth=h);var f=i.barGap;f!=null&&(s.gap=f);var p=i.barCategoryGap;p!=null&&(s.categoryGap=p)});var t={};return ne(e,function(i,r){t[r]={};var a=i.stacks,o=i.bandWidth,s=i.categoryGap;if(s==null){var l=L3(a).length;s=Math.max(35-l*4,15)+"%"}var u=mt(s,o),c=mt(i.gap,1),d=i.remainedWidth,h=i.autoWidthCount,f=(d-u)/(h+(h-1)*c);f=Math.max(f,0),ne(a,function(g){var _=g.maxWidth,S=g.minWidth;if(g.width){var x=g.width;_&&(x=Math.min(x,_)),S&&(x=Math.max(x,S)),g.width=x,d-=x+c*x,h--}else{var x=f;_&&_<x&&(x=Math.min(_,d)),S&&S>x&&(x=S),x!==f&&(g.width=x,d-=x+c*x,h--)}}),f=(d-u)/(h+(h-1)*c),f=Math.max(f,0);var p=0,m;ne(a,function(g,_){g.width||(g.width=f),m=g,p+=g.width*(1+c)}),m&&(p-=m.width*c);var v=-p/2;ne(a,function(g,_){t[r][_]=t[r][_]||{bandWidth:o,offset:v,width:g.width},v+=g.width*(1+c)})}),t}function due(n,e,t){if(n&&e){var i=n[qE(e)];return i!=null&&t!=null?i[$E(t)]:i}}function WY(n,e){var t=UY(n,e),i=VY(t);ne(t,function(r){var a=r.getData(),o=r.coordinateSystem,s=o.getBaseAxis(),l=$E(r),u=i[qE(s)][l],c=u.offset,d=u.width;a.setLayout({bandWidth:u.bandWidth,offset:c,size:d})})}function jY(n){return{seriesType:n,plan:q7(),reset:function(e){if($Y(e)){var t=e.getData(),i=e.coordinateSystem,r=i.getBaseAxis(),a=i.getOtherAxis(r),o=t.getDimensionIndex(t.mapDimension(a.dim)),s=t.getDimensionIndex(t.mapDimension(r.dim)),l=e.get("showBackground",!0),u=t.mapDimension(a.dim),c=t.getCalculationInfo("stackResultDimension"),d=L5(t,u)&&!!t.getCalculationInfo("stackedOnSeries"),h=a.isHorizontal(),f=hue(r,a),p=qY(e),m=e.get("barMinHeight")||0,v=c&&t.getDimensionIndex(c),g=t.getLayout("size"),_=t.getLayout("offset");return{progress:function(S,x){for(var A=S.count,C=p&&Go(A*3),M=p&&l&&Go(A*3),I=p&&Go(A),D=i.master.getRect(),E=h?D.width:D.height,P,F=x.getStore(),V=0;(P=S.next())!=null;){var G=F.get(d?v:o,P),W=F.get(s,P),Y=f,Q=void 0;d&&(Q=+G-F.get(o,P));var K=void 0,ae=void 0,ie=void 0,he=void 0;if(h){var Ee=i.dataToPoint([G,W]);if(d){var je=i.dataToPoint([Q,W]);Y=je[0]}K=Y,ae=Ee[1]+_,ie=Ee[0]-Y,he=g,Math.abs(ie)<m&&(ie=(ie<0?-1:1)*m)}else{var Ee=i.dataToPoint([W,G]);if(d){var je=i.dataToPoint([W,Q]);Y=je[1]}K=Ee[0]+_,ae=Y,ie=g,he=Ee[1]-Y,Math.abs(he)<m&&(he=(he<=0?-1:1)*m)}p?(C[V]=K,C[V+1]=ae,C[V+2]=h?ie:he,M&&(M[V]=h?D.x:K,M[V+1]=h?ae:D.y,M[V+2]=E),I[P]=P):x.setItemLayout(P,{x:K,y:ae,width:ie,height:he}),V+=3}p&&x.setLayout({largePoints:C,largeDataIndices:I,largeBackgroundPoints:M,valueAxisHorizontal:h})}}}}}}function $Y(n){return n.coordinateSystem&&n.coordinateSystem.type==="cartesian2d"}function qY(n){return n.pipelineContext&&n.pipelineContext.large}function hue(n,e){var t=e.model.get("startValue");return t||(t=0),e.toGlobalCoord(e.dataToCoord(e.type==="log"?t>0?t:1:t))}var fue=function(n,e,t,i){for(;t<i;){var r=t+i>>>1;n[r][1]<e?t=r+1:i=r}return t},XY=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="time",i}return e.prototype.getLabel=function(t){var i=this.getSetting("useUTC");return Dy(t.value,_k[F8e(Xl(this._minLevelUnit))]||_k.second,i,this.getSetting("locale"))},e.prototype.getFormattedLabel=function(t,i,r){var a=this.getSetting("useUTC"),o=this.getSetting("locale");return O8e(t,i,r,o,a)},e.prototype.getTicks=function(){var t=this._interval,i=this._extent,r=[];if(!t)return r;r.push({value:i[0],level:0});var a=this.getSetting("useUTC"),o=Sue(this._minLevelUnit,this._approxInterval,a,i);return r=r.concat(o),r.push({value:i[1],level:0}),r},e.prototype.calcNiceExtent=function(t){var i=this._extent;if(i[0]===i[1]&&(i[0]-=ma,i[1]+=ma),i[1]===-1/0&&i[0]===1/0){var r=new Date;i[1]=+new Date(r.getFullYear(),r.getMonth(),r.getDate()),i[0]=i[1]-ma}this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval)},e.prototype.calcNiceTicks=function(t,i,r){t=t||10;var a=this._extent,o=a[1]-a[0];this._approxInterval=o/t,i!=null&&this._approxInterval<i&&(this._approxInterval=i),r!=null&&this._approxInterval>r&&(this._approxInterval=r);var s=up.length,l=Math.min(fue(up,this._approxInterval,0,s),s-1);this._interval=up[l][1],this._minLevelUnit=up[Math.max(l-1,0)][0]},e.prototype.parse=function(t){return Y3(t)?t:+Jo(t)},e.prototype.contain=function(t){return jy(this.parse(t),this._extent)},e.prototype.normalize=function(t){return $y(this.parse(t),this._extent)},e.prototype.scale=function(t){return qy(t,this._extent)},e.type="time",e}(I5),up=[["second",AE],["minute",CE],["hour",$c],["quarter-day",$c*6],["half-day",$c*12],["day",ma*1.2],["half-week",ma*3.5],["week",ma*7],["month",ma*31],["quarter",ma*95],["half-year",yk/2],["year",yk]];function pue(n,e,t,i){var r=Jo(e),a=Jo(t),o=function(p){return Sk(r,p,i)===Sk(a,p,i)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},c=function(){return u()&&o("hour")},d=function(){return c()&&o("minute")},h=function(){return d()&&o("second")},f=function(){return h()&&o("millisecond")};switch(n){case"year":return s();case"month":return l();case"day":return u();case"hour":return c();case"minute":return d();case"second":return h();case"millisecond":return f()}}function vue(n,e){return n/=ma,n>16?16:n>7.5?7:n>3.5?4:n>1.5?2:1}function mue(n){var e=30*ma;return n/=e,n>6?6:n>3?3:n>2?2:1}function gue(n){return n/=$c,n>12?12:n>6?6:n>3.5?4:n>2?2:1}function RF(n,e){return n/=e?CE:AE,n>30?30:n>20?20:n>15?15:n>10?10:n>5?5:n>2?2:1}function yue(n){return X$(n,!0)}function _ue(n,e,t){var i=new Date(n);switch(Xl(e)){case"year":case"month":i[sX(t)](0);case"day":i[lX(t)](1);case"hour":i[uX(t)](0);case"minute":i[cX(t)](0);case"second":i[dX(t)](0),i[hX(t)](0)}return i.getTime()}function Sue(n,e,t,i){var r=1e4,a=aX,o=0;function s(E,P,F,V,G,W,Y){for(var Q=new Date(P),K=P,ae=Q[V]();K<F&&K<=i[1];)Y.push({value:K}),ae+=E,Q[G](ae),K=Q.getTime();Y.push({value:K,notAdd:!0})}function l(E,P,F){var V=[],G=!P.length;if(!pue(Xl(E),i[0],i[1],t)){G&&(P=[{value:_ue(new Date(i[0]),E,t)},{value:i[1]}]);for(var W=0;W<P.length-1;W++){var Y=P[W].value,Q=P[W+1].value;if(Y!==Q){var K=void 0,ae=void 0,ie=void 0,he=!1;switch(E){case"year":K=Math.max(1,Math.round(e/ma/365)),ae=ME(t),ie=B8e(t);break;case"half-year":case"quarter":case"month":K=mue(e),ae=Yl(t),ie=sX(t);break;case"week":case"half-week":case"day":K=vue(e),ae=Ny(t),ie=lX(t),he=!0;break;case"half-day":case"quarter-day":case"hour":K=gue(e),ae=Ld(t),ie=uX(t);break;case"minute":K=RF(e,!0),ae=ky(t),ie=cX(t);break;case"second":K=RF(e,!1),ae=Fy(t),ie=dX(t);break;case"millisecond":K=yue(e),ae=Oy(t),ie=hX(t);break}s(K,Y,Q,ae,ie,he,V),E==="year"&&F.length>1&&W===0&&F.unshift({value:F[0].value-K})}}for(var W=0;W<V.length;W++)F.push(V[W]);return V}}for(var u=[],c=[],d=0,h=0,f=0;f<a.length&&o++<r;++f){var p=Xl(a[f]);if(k8e(a[f])){l(a[f],u[u.length-1]||[],c);var m=a[f+1]?Xl(a[f+1]):null;if(p!==m){if(c.length){h=d,c.sort(function(E,P){return E.value-P.value});for(var v=[],g=0;g<c.length;++g){var _=c[g].value;(g===0||c[g-1].value!==_)&&(v.push(c[g]),_>=i[0]&&_<=i[1]&&d++)}var S=(i[1]-i[0])/e;if(d>S*1.5&&h>S/1.5||(u.push(v),d>S||n===a[f]))break}c=[]}}}for(var x=c1(q2(u,function(E){return c1(E,function(P){return P.value>=i[0]&&P.value<=i[1]&&!P.notAdd})}),function(E){return E.length>0}),A=[],C=x.length-1,f=0;f<x.length;++f)for(var M=x[f],I=0;I<M.length;++I)A.push({value:M[I].value,level:C-f});A.sort(function(E,P){return E.value-P.value});for(var D=[],f=0;f<A.length;++f)(f===0||A[f].value!==A[f-1].value)&&D.push(A[f]);return D}i6.registerClass(XY);const YY=XY;var LF=i6.prototype,Kc=I5.prototype,bue=P0,xue=Math.floor,wue=Math.ceil,cp=Math.pow,Ba=Math.log,XE=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="log",t.base=10,t._originalScale=new I5,t._interval=0,t}return e.prototype.getTicks=function(t){var i=this._originalScale,r=this._extent,a=i.getExtent(),o=Kc.getTicks.call(this,t);return q2(o,function(s){var l=s.value,u=P0(cp(this.base,l));return u=l===r[0]&&this._fixMin?dp(u,a[0]):u,u=l===r[1]&&this._fixMax?dp(u,a[1]):u,{value:u}},this)},e.prototype.setExtent=function(t,i){var r=Ba(this.base);t=Ba(Math.max(0,t))/r,i=Ba(Math.max(0,i))/r,Kc.setExtent.call(this,t,i)},e.prototype.getExtent=function(){var t=this.base,i=LF.getExtent.call(this);i[0]=cp(t,i[0]),i[1]=cp(t,i[1]);var r=this._originalScale,a=r.getExtent();return this._fixMin&&(i[0]=dp(i[0],a[0])),this._fixMax&&(i[1]=dp(i[1],a[1])),i},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var i=this.base;t[0]=Ba(t[0])/Ba(i),t[1]=Ba(t[1])/Ba(i),LF.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,i){this.unionExtent(t.getApproximateExtent(i))},e.prototype.calcNiceTicks=function(t){t=t||10;var i=this._extent,r=i[1]-i[0];if(!(r===1/0||r<=0)){var a=o5e(r),o=t/r*a;for(o<=.5&&(a*=10);!isNaN(a)&&Math.abs(a)<1&&Math.abs(a)>0;)a*=10;var s=[P0(wue(i[0]/a)*a),P0(xue(i[1]/a)*a)];this._interval=a,this._niceExtent=s}},e.prototype.calcNiceExtent=function(t){Kc.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return t=Ba(t)/Ba(this.base),jy(t,this._extent)},e.prototype.normalize=function(t){return t=Ba(t)/Ba(this.base),$y(t,this._extent)},e.prototype.scale=function(t){return t=qy(t,this._extent),cp(this.base,t)},e.type="log",e}(i6),KY=XE.prototype;KY.getMinorTicks=Kc.getMinorTicks;KY.getLabel=Kc.getLabel;function dp(n,e){return bue(n,Bo(e))}i6.registerClass(XE);const Tue=XE;var Aue=function(){function n(e,t,i){this._prepareParams(e,t,i)}return n.prototype._prepareParams=function(e,t,i){i[1]<i[0]&&(i=[NaN,NaN]),this._dataMin=i[0],this._dataMax=i[1];var r=this._isOrdinal=e.type==="ordinal";this._needCrossZero=e.type==="interval"&&t.getNeedCrossZero&&t.getNeedCrossZero();var a=t.get("min",!0);a==null&&(a=t.get("startValue",!0));var o=this._modelMinRaw=a;Wt(o)?this._modelMinNum=hp(e,o({min:i[0],max:i[1]})):o!=="dataMin"&&(this._modelMinNum=hp(e,o));var s=this._modelMaxRaw=t.get("max",!0);if(Wt(s)?this._modelMaxNum=hp(e,s({min:i[0],max:i[1]})):s!=="dataMax"&&(this._modelMaxNum=hp(e,s)),r)this._axisDataLen=t.getCategories().length;else{var l=t.get("boundaryGap"),u=j2(l)?l:[l||0,l||0];typeof u[0]=="boolean"||typeof u[1]=="boolean"?this._boundaryGapInner=[0,0]:this._boundaryGapInner=[to(u[0],1),to(u[1],1)]}},n.prototype.calculate=function(){var e=this._isOrdinal,t=this._dataMin,i=this._dataMax,r=this._axisDataLen,a=this._boundaryGapInner,o=e?null:i-t||Math.abs(t),s=this._modelMinRaw==="dataMin"?t:this._modelMinNum,l=this._modelMaxRaw==="dataMax"?i:this._modelMaxNum,u=s!=null,c=l!=null;s==null&&(s=e?r?0:NaN:t-a[0]*o),l==null&&(l=e?r?r-1:NaN:i+a[1]*o),(s==null||!isFinite(s))&&(s=NaN),(l==null||!isFinite(l))&&(l=NaN);var d=Sd(s)||Sd(l)||e&&!r;this._needCrossZero&&(s>0&&l>0&&!u&&(s=0),s<0&&l<0&&!c&&(l=0));var h=this._determinedMin,f=this._determinedMax;return h!=null&&(s=h,u=!0),f!=null&&(l=f,c=!0),{min:s,max:l,minFixed:u,maxFixed:c,isBlank:d}},n.prototype.modifyDataMinMax=function(e,t){this[Mue[e]]=t},n.prototype.setDeterminedMinMax=function(e,t){var i=Cue[e];this[i]=t},n.prototype.freeze=function(){this.frozen=!0},n}(),Cue={min:"_determinedMin",max:"_determinedMax"},Mue={min:"_dataMin",max:"_dataMax"};function ZY(n,e,t){var i=n.rawExtentInfo;return i||(i=new Aue(n,e,t),n.rawExtentInfo=i,i)}function hp(n,e){return e==null?null:Sd(e)?NaN:n.parse(e)}function JY(n,e){var t=n.type,i=ZY(n,e,n.getExtent()).calculate();n.setBlank(i.isBlank);var r=i.min,a=i.max,o=e.ecModel;if(o&&t==="time"){var s=UY("bar",o),l=!1;if(ne(s,function(d){l=l||d.getBaseAxis()===e.axis}),l){var u=VY(s),c=Eue(r,a,e,u);r=c.min,a=c.max}}return{extent:[r,a],fixMin:i.minFixed,fixMax:i.maxFixed}}function Eue(n,e,t,i){var r=t.axis.getExtent(),a=Math.abs(r[1]-r[0]),o=due(i,t.axis);if(o===void 0)return{min:n,max:e};var s=1/0;ne(o,function(f){s=Math.min(f.offset,s)});var l=-1/0;ne(o,function(f){l=Math.max(f.offset+f.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,c=e-n,d=1-(s+l)/a,h=c/d-c;return e+=h*(l/u),n-=h*(s/u),{min:n,max:e}}function p7(n,e){var t=e,i=JY(n,t),r=i.extent,a=t.get("splitNumber");n instanceof Tue&&(n.base=t.get("logBase"));var o=n.type,s=t.get("interval"),l=o==="interval"||o==="time";n.setExtent(r[0],r[1]),n.calcNiceExtent({splitNumber:a,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?t.get("minInterval"):null,maxInterval:l?t.get("maxInterval"):null}),s!=null&&n.setInterval&&n.setInterval(s)}function Xy(n,e){if(e=e||n.get("type"),e)switch(e){case"category":return new jE({ordinalMeta:n.getOrdinalMeta?n.getOrdinalMeta():n.getCategories(),extent:[1/0,-1/0]});case"time":return new YY({locale:n.ecModel.getLocaleModel(),useUTC:n.ecModel.get("useUTC")});default:return new(i6.getClass(e)||I5)}}function Pue(n){var e=n.scale.getExtent(),t=e[0],i=e[1];return!(t>0&&i>0||t<0&&i<0)}function K7(n){var e=n.getLabelModel().get("formatter"),t=n.type==="category"?n.scale.getExtent()[0]:null;return n.scale.type==="time"?function(i){return function(r,a){return n.scale.getFormattedLabel(r,a,i)}}(e):xt(e)?function(i){return function(r){var a=n.scale.getLabel(r),o=i.replace("{value}",a!=null?a:"");return o}}(e):Wt(e)?function(i){return function(r,a){return t!=null&&(a=r.value-t),i(YE(n,r),a,r.level!=null?{level:r.level}:null)}}(e):function(i){return n.scale.getLabel(i)}}function YE(n,e){return n.type==="category"?n.scale.getLabel(e):e.value}function Rue(n){var e=n.model,t=n.scale;if(!(!e.get(["axisLabel","show"])||t.isBlank())){var i,r,a=t.getExtent();t instanceof jE?r=t.count():(i=t.getTicks(),r=i.length);var o=n.getLabelModel(),s=K7(n),l,u=1;r>40&&(u=Math.ceil(r/40));for(var c=0;c<r;c+=u){var d=i?i[c]:{value:a[0]+c},h=s(d,c),f=o.getTextRect(h),p=Lue(f,o.get("rotate")||0);l?l.union(p):l=p}return l}}function Lue(n,e){var t=e*Math.PI/180,i=n.width,r=n.height,a=i*Math.abs(Math.cos(t))+Math.abs(r*Math.sin(t)),o=i*Math.abs(Math.sin(t))+Math.abs(r*Math.cos(t)),s=new g3(n.x,n.y,a,o);return s}function KE(n){var e=n.get("interval");return e==null?"auto":e}function QY(n){return n.type==="category"&&KE(n.getLabelModel())===0}function lg(n,e){var t={};return ne(n.mapDimensionsAll(e),function(i){t[kY(n,i)]=!0}),L3(t)}function Iue(n,e,t){e&&ne(lg(e,t),function(i){var r=e.getApproximateExtent(i);r[0]<n[0]&&(n[0]=r[0]),r[1]>n[1]&&(n[1]=r[1])})}var Th=function(){function n(){}return n.prototype.getNeedCrossZero=function(){var e=this.option;return!e.scale},n.prototype.getCoordSysModel=function(){},n}(),Due=1e-8;function IF(n,e){return Math.abs(n-e)<Due}function K9(n,e,t){var i=0,r=n[0];if(!r)return!1;for(var a=1;a<n.length;a++){var o=n[a];i+=Ps(r[0],r[1],o[0],o[1],e,t),r=o}var s=n[0];return(!IF(r[0],s[0])||!IF(r[1],s[1]))&&(i+=Ps(r[0],r[1],s[0],s[1],e,t)),i!==0}var Nue=[];function rx(n,e){for(var t=0;t<n.length;t++)Vn(n[t],n[t],e)}function DF(n,e,t,i){for(var r=0;r<n.length;r++){var a=n[r];i&&(a=i.project(a)),a&&isFinite(a[0])&&isFinite(a[1])&&(t5(e,e,a),n5(t,t,a))}}function kue(n){for(var e=0,t=0,i=0,r=n.length,a=n[r-1][0],o=n[r-1][1],s=0;s<r;s++){var l=n[s][0],u=n[s][1],c=a*u-l*o;e+=c,t+=(a+l)*c,i+=(o+u)*c,a=l,o=u}return e?[t/e/3,i/e/3,e]:[n[0][0]||0,n[0][1]||0]}var eK=function(){function n(e){this.name=e}return n.prototype.setCenter=function(e){this._center=e},n.prototype.getCenter=function(){var e=this._center;return e||(e=this._center=this.calcCenter()),e},n}(),NF=function(){function n(e,t){this.type="polygon",this.exterior=e,this.interiors=t}return n}(),kF=function(){function n(e){this.type="linestring",this.points=e}return n}(),tK=function(n){o2(e,n);function e(t,i,r){var a=n.call(this,t)||this;return a.type="geoJSON",a.geometries=i,a._center=r&&[r[0],r[1]],a}return e.prototype.calcCenter=function(){for(var t=this.geometries,i,r=0,a=0;a<t.length;a++){var o=t[a],s=o.exterior,l=s&&s.length;l>r&&(i=o,r=l)}if(i)return kue(i.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},e.prototype.getBoundingRect=function(t){var i=this._rect;if(i&&!t)return i;var r=[1/0,1/0],a=[-1/0,-1/0],o=this.geometries;return ne(o,function(s){s.type==="polygon"?DF(s.exterior,r,a,t):ne(s.points,function(l){DF(l,r,a,t)})}),isFinite(r[0])&&isFinite(r[1])&&isFinite(a[0])&&isFinite(a[1])||(r[0]=r[1]=a[0]=a[1]=0),i=new g3(r[0],r[1],a[0]-r[0],a[1]-r[1]),t||(this._rect=i),i},e.prototype.contain=function(t){var i=this.getBoundingRect(),r=this.geometries;if(!i.contain(t[0],t[1]))return!1;e:for(var a=0,o=r.length;a<o;a++){var s=r[a];if(s.type==="polygon"){var l=s.exterior,u=s.interiors;if(K9(l,t[0],t[1])){for(var c=0;c<(u?u.length:0);c++)if(K9(u[c],t[0],t[1]))continue e;return!0}}}return!1},e.prototype.transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=o.width/o.height;r?a||(a=r/s):r=s*a;for(var l=new g3(t,i,r,a),u=o.calculateTransform(l),c=this.geometries,d=0;d<c.length;d++){var h=c[d];h.type==="polygon"?(rx(h.exterior,u),ne(h.interiors,function(f){rx(f,u)})):ne(h.points,function(f){rx(f,u)})}o=this._rect,o.copy(l),this._center=[o.x+o.width/2,o.y+o.height/2]},e.prototype.cloneShallow=function(t){t==null&&(t=this.name);var i=new e(t,this.geometries,this._center);return i._rect=this._rect,i.transformTo=null,i},e}(eK),Fue=function(n){o2(e,n);function e(t,i){var r=n.call(this,t)||this;return r.type="geoSVG",r._elOnlyForCalculate=i,r}return e.prototype.calcCenter=function(){for(var t=this._elOnlyForCalculate,i=t.getBoundingRect(),r=[i.x+i.width/2,i.y+i.height/2],a=_y(Nue),o=t;o&&!o.isGeoSVGGraphicRoot;)Bs(a,o.getLocalTransform(),a),o=o.parent;return O7(a,a),Vn(r,r,a),r},e}(eK);function Oue(n){if(!n.UTF8Encoding)return n;var e=n,t=e.UTF8Scale;t==null&&(t=1024);var i=e.features;return ne(i,function(r){var a=r.geometry,o=a.encodeOffsets,s=a.coordinates;if(o)switch(a.type){case"LineString":a.coordinates=nK(s,o,t);break;case"Polygon":ax(s,o,t);break;case"MultiLineString":ax(s,o,t);break;case"MultiPolygon":ne(s,function(l,u){return ax(l,o[u],t)})}}),e.UTF8Encoding=!1,e}function ax(n,e,t){for(var i=0;i<n.length;i++)n[i]=nK(n[i],e[i],t)}function nK(n,e,t){for(var i=[],r=e[0],a=e[1],o=0;o<n.length;o+=2){var s=n.charCodeAt(o)-64,l=n.charCodeAt(o+1)-64;s=s>>1^-(s&1),l=l>>1^-(l&1),s+=r,l+=a,r=s,a=l,i.push([s/t,l/t])}return i}function Bue(n,e){return n=Oue(n),q2(c1(n.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var i=t.properties,r=t.geometry,a=[];switch(r.type){case"Polygon":var o=r.coordinates;a.push(new NF(o[0],o.slice(1)));break;case"MultiPolygon":ne(r.coordinates,function(l){l[0]&&a.push(new NF(l[0],l.slice(1)))});break;case"LineString":a.push(new kF([r.coordinates]));break;case"MultiLineString":a.push(new kF(r.coordinates))}var s=new tK(i[e||"name"],a,i.cp);return s.properties=i,s})}var Od=G3();function iK(n,e){var t=q2(e,function(i){return n.scale.parse(i)});return n.type==="time"&&t.length>0&&(t.sort(),t.unshift(t[0]),t.push(t[t.length-1])),t}function zue(n){var e=n.getLabelModel().get("customValues");if(e){var t=K7(n),i=n.scale.getExtent(),r=iK(n,e),a=c1(r,function(o){return o>=i[0]&&o<=i[1]});return{labels:q2(a,function(o){var s={value:o};return{formattedLabel:t(s),rawLabel:n.scale.getLabel(s),tickValue:o}})}}return n.type==="category"?Uue(n):Hue(n)}function Gue(n,e){var t=n.getTickModel().get("customValues");if(t){var i=n.scale.getExtent(),r=iK(n,t);return{ticks:c1(r,function(a){return a>=i[0]&&a<=i[1]})}}return n.type==="category"?Vue(n,e):{ticks:q2(n.scale.getTicks(),function(a){return a.value})}}function Uue(n){var e=n.getLabelModel(),t=rK(n,e);return!e.get("show")||n.scale.isBlank()?{labels:[],labelCategoryInterval:t.labelCategoryInterval}:t}function rK(n,e){var t=aK(n,"labels"),i=KE(e),r=oK(t,i);if(r)return r;var a,o;return Wt(i)?a=uK(n,i):(o=i==="auto"?Wue(n):i,a=lK(n,o)),sK(t,i,{labels:a,labelCategoryInterval:o})}function Vue(n,e){var t=aK(n,"ticks"),i=KE(e),r=oK(t,i);if(r)return r;var a,o;if((!e.get("show")||n.scale.isBlank())&&(a=[]),Wt(i))a=uK(n,i,!0);else if(i==="auto"){var s=rK(n,n.getLabelModel());o=s.labelCategoryInterval,a=q2(s.labels,function(l){return l.tickValue})}else o=i,a=lK(n,o,!0);return sK(t,i,{ticks:a,tickCategoryInterval:o})}function Hue(n){var e=n.scale.getTicks(),t=K7(n);return{labels:q2(e,function(i,r){return{level:i.level,formattedLabel:t(i,r),rawLabel:n.scale.getLabel(i),tickValue:i.value}})}}function aK(n,e){return Od(n)[e]||(Od(n)[e]=[])}function oK(n,e){for(var t=0;t<n.length;t++)if(n[t].key===e)return n[t].value}function sK(n,e,t){return n.push({key:e,value:t}),t}function Wue(n){var e=Od(n).autoInterval;return e!=null?e:Od(n).autoInterval=n.calculateCategoryInterval()}function jue(n){var e=$ue(n),t=K7(n),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=n.scale,a=r.getExtent(),o=r.count();if(a[1]-a[0]<1)return 0;var s=1;o>40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=n.dataToCoord(l+1)-n.dataToCoord(l),c=Math.abs(u*Math.cos(i)),d=Math.abs(u*Math.sin(i)),h=0,f=0;l<=a[1];l+=s){var p=0,m=0,v=mh(t({value:l}),e.font,"center","top");p=v.width*1.3,m=v.height*1.3,h=Math.max(h,p,7),f=Math.max(f,m,7)}var g=h/c,_=f/d;isNaN(g)&&(g=1/0),isNaN(_)&&(_=1/0);var S=Math.max(0,Math.floor(Math.min(g,_))),x=Od(n.model),A=n.getExtent(),C=x.lastAutoInterval,M=x.lastTickCount;return C!=null&&M!=null&&Math.abs(C-S)<=1&&Math.abs(M-o)<=1&&C>S&&x.axisExtent0===A[0]&&x.axisExtent1===A[1]?S=C:(x.lastTickCount=o,x.lastAutoInterval=S,x.axisExtent0=A[0],x.axisExtent1=A[1]),S}function $ue(n){var e=n.getLabelModel();return{axisRotate:n.getRotate?n.getRotate():n.isHorizontal&&!n.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function lK(n,e,t){var i=K7(n),r=n.scale,a=r.getExtent(),o=n.getLabelModel(),s=[],l=Math.max((e||0)+1,1),u=a[0],c=r.count();u!==0&&l>1&&c/l>2&&(u=Math.round(Math.ceil(u/l)*l));var d=QY(n),h=o.get("showMinLabel")||d,f=o.get("showMaxLabel")||d;h&&u!==a[0]&&m(a[0]);for(var p=u;p<=a[1];p+=l)m(p);f&&p-l!==a[1]&&m(a[1]);function m(v){var g={value:v};s.push(t?v:{formattedLabel:i(g),rawLabel:r.getLabel(g),tickValue:v})}return s}function uK(n,e,t){var i=n.scale,r=K7(n),a=[];return ne(i.getTicks(),function(o){var s=i.getLabel(o),l=o.value;e(o.value,s)&&a.push(t?l:{formattedLabel:r(o),rawLabel:s,tickValue:l})}),a}var FF=[0,1],que=function(){function n(e,t,i){this.onBand=!1,this.inverse=!1,this.dim=e,this.scale=t,this._extent=i||[0,0]}return n.prototype.contain=function(e){var t=this._extent,i=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]);return e>=i&&e<=r},n.prototype.containData=function(e){return this.scale.contain(e)},n.prototype.getExtent=function(){return this._extent.slice()},n.prototype.getPixelPrecision=function(e){return $$(e||this.scale.getExtent(),this._extent)},n.prototype.setExtent=function(e,t){var i=this._extent;i[0]=e,i[1]=t},n.prototype.dataToCoord=function(e,t){var i=this._extent,r=this.scale;return e=r.normalize(e),this.onBand&&r.type==="ordinal"&&(i=i.slice(),OF(i,r.count())),f1(e,FF,i,t)},n.prototype.coordToData=function(e,t){var i=this._extent,r=this.scale;this.onBand&&r.type==="ordinal"&&(i=i.slice(),OF(i,r.count()));var a=f1(e,i,FF,t);return this.scale.scale(a)},n.prototype.pointToData=function(e,t){},n.prototype.getTicksCoords=function(e){e=e||{};var t=e.tickModel||this.getTickModel(),i=Gue(this,t),r=i.ticks,a=q2(r,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=t.get("alignWithLabel");return Xue(this,a,o,e.clamp),a},n.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var e=this.model.getModel("minorTick"),t=e.get("splitNumber");t>0&&t<100||(t=5);var i=this.scale.getMinorTicks(t),r=q2(i,function(a){return q2(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return r},n.prototype.getViewLabels=function(){return zue(this).labels},n.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},n.prototype.getTickModel=function(){return this.model.getModel("axisTick")},n.prototype.getBandWidth=function(){var e=this._extent,t=this.scale.getExtent(),i=t[1]-t[0]+(this.onBand?1:0);i===0&&(i=1);var r=Math.abs(e[1]-e[0]);return Math.abs(r)/i},n.prototype.calculateCategoryInterval=function(){return jue(this)},n}();function OF(n,e){var t=n[1]-n[0],i=e,r=t/i/2;n[0]+=r,n[1]-=r}function Xue(n,e,t,i){var r=e.length;if(!n.onBand||t||!r)return;var a=n.getExtent(),o,s;if(r===1)e[0].coord=a[0],o=e[1]={coord:a[1],tickValue:e[0].tickValue};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;ne(e,function(f){f.coord-=u/2});var c=n.scale.getExtent();s=1+c[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*s,tickValue:c[1]+1},e.push(o)}var d=a[0]>a[1];h(e[0].coord,a[0])&&(i?e[0].coord=a[0]:e.shift()),i&&h(a[0],e[0].coord)&&e.unshift({coord:a[0]}),h(a[1],o.coord)&&(i?o.coord=a[1]:e.pop()),i&&h(o.coord,a[1])&&e.push({coord:a[1]});function h(f,p){return f=P0(f),p=P0(p),d?f>p:f<p}}const ao=que;var Vu=Math.PI*2,E9=Qo.CMD,Yue=["top","right","bottom","left"];function Kue(n,e,t,i,r){var a=t.width,o=t.height;switch(n){case"top":i.set(t.x+a/2,t.y-e),r.set(0,-1);break;case"bottom":i.set(t.x+a/2,t.y+o+e),r.set(0,1);break;case"left":i.set(t.x-e,t.y+o/2),r.set(-1,0);break;case"right":i.set(t.x+a+e,t.y+o/2),r.set(1,0);break}}function Zue(n,e,t,i,r,a,o,s,l){o-=n,s-=e;var u=Math.sqrt(o*o+s*s);o/=u,s/=u;var c=o*t+n,d=s*t+e;if(Math.abs(i-r)%Vu<1e-4)return l[0]=c,l[1]=d,u-t;if(a){var h=i;i=Rr(r),r=Rr(h)}else i=Rr(i),r=Rr(r);i>r&&(r+=Vu);var f=Math.atan2(s,o);if(f<0&&(f+=Vu),f>=i&&f<=r||f+Vu>=i&&f+Vu<=r)return l[0]=c,l[1]=d,u-t;var p=t*Math.cos(i)+n,m=t*Math.sin(i)+e,v=t*Math.cos(r)+n,g=t*Math.sin(r)+e,_=(p-o)*(p-o)+(m-s)*(m-s),S=(v-o)*(v-o)+(g-s)*(g-s);return _<S?(l[0]=p,l[1]=m,Math.sqrt(_)):(l[0]=v,l[1]=g,Math.sqrt(S))}function ug(n,e,t,i,r,a,o,s){var l=r-n,u=a-e,c=t-n,d=i-e,h=Math.sqrt(c*c+d*d);c/=h,d/=h;var f=l*c+u*d,p=f/h;s&&(p=Math.min(Math.max(p,0),1)),p*=h;var m=o[0]=n+p*c,v=o[1]=e+p*d;return Math.sqrt((m-r)*(m-r)+(v-a)*(v-a))}function cK(n,e,t,i,r,a,o){t<0&&(n=n+t,t=-t),i<0&&(e=e+i,i=-i);var s=n+t,l=e+i,u=o[0]=Math.min(Math.max(r,n),s),c=o[1]=Math.min(Math.max(a,e),l);return Math.sqrt((u-r)*(u-r)+(c-a)*(c-a))}var ja=[];function Jue(n,e,t){var i=cK(e.x,e.y,e.width,e.height,n.x,n.y,ja);return t.set(ja[0],ja[1]),i}function Que(n,e,t){for(var i=0,r=0,a=0,o=0,s,l,u=1/0,c=e.data,d=n.x,h=n.y,f=0;f<c.length;){var p=c[f++];f===1&&(i=c[f],r=c[f+1],a=i,o=r);var m=u;switch(p){case E9.M:a=c[f++],o=c[f++],i=a,r=o;break;case E9.L:m=ug(i,r,c[f],c[f+1],d,h,ja,!0),i=c[f++],r=c[f++];break;case E9.C:m=C$(i,r,c[f++],c[f++],c[f++],c[f++],c[f],c[f+1],d,h,ja),i=c[f++],r=c[f++];break;case E9.Q:m=E$(i,r,c[f++],c[f++],c[f],c[f+1],d,h,ja),i=c[f++],r=c[f++];break;case E9.A:var v=c[f++],g=c[f++],_=c[f++],S=c[f++],x=c[f++],A=c[f++];f+=1;var C=!!(1-c[f++]);s=Math.cos(x)*_+v,l=Math.sin(x)*S+g,f<=1&&(a=s,o=l);var M=(d-v)*S/_+v;m=Zue(v,g,S,x,x+A,C,M,h,ja),i=Math.cos(x+A)*_+v,r=Math.sin(x+A)*S+g;break;case E9.R:a=i=c[f++],o=r=c[f++];var I=c[f++],D=c[f++];m=cK(a,o,I,D,d,h,ja);break;case E9.Z:m=ug(i,r,a,o,d,h,ja,!0),i=a,r=o;break}m<u&&(u=m,t.set(ja[0],ja[1]))}return u}var Ka=new h3,V1=new h3,D0=new h3,Uo=new h3,Do=new h3;function BF(n,e){if(n){var t=n.getTextGuideLine(),i=n.getTextContent();if(i&&t){var r=n.textGuideLineConfig||{},a=[[0,0],[0,0],[0,0]],o=r.candidates||Yue,s=i.getBoundingRect().clone();s.applyTransform(i.getComputedTransform());var l=1/0,u=r.anchor,c=n.getComputedTransform(),d=c&&O7([],c),h=e.get("length2")||0;u&&D0.copy(u);for(var f=0;f<o.length;f++){var p=o[f];Kue(p,0,s,Ka,Uo),h3.scaleAndAdd(V1,Ka,Uo,h),V1.transform(d);var m=n.getBoundingRect(),v=u?u.distance(V1):n instanceof E3?Que(V1,n.path,D0):Jue(V1,m,D0);v<l&&(l=v,V1.transform(c),D0.transform(c),D0.toArray(a[0]),V1.toArray(a[1]),Ka.toArray(a[2]))}dK(a,e.get("minTurnAngle")),t.setShape({points:a})}}}var cg=[],Ci=new h3;function dK(n,e){if(e<=180&&e>0){e=e/180*Math.PI,Ka.fromArray(n[0]),V1.fromArray(n[1]),D0.fromArray(n[2]),h3.sub(Uo,Ka,V1),h3.sub(Do,D0,V1);var t=Uo.len(),i=Do.len();if(!(t<.001||i<.001)){Uo.scale(1/t),Do.scale(1/i);var r=Uo.dot(Do),a=Math.cos(e);if(a<r){var o=ug(V1.x,V1.y,D0.x,D0.y,Ka.x,Ka.y,cg,!1);Ci.fromArray(cg),Ci.scaleAndAdd(Do,o/Math.tan(Math.PI-e));var s=D0.x!==V1.x?(Ci.x-V1.x)/(D0.x-V1.x):(Ci.y-V1.y)/(D0.y-V1.y);if(isNaN(s))return;s<0?h3.copy(Ci,V1):s>1&&h3.copy(Ci,D0),Ci.toArray(n[1])}}}}function ece(n,e,t){if(t<=180&&t>0){t=t/180*Math.PI,Ka.fromArray(n[0]),V1.fromArray(n[1]),D0.fromArray(n[2]),h3.sub(Uo,V1,Ka),h3.sub(Do,D0,V1);var i=Uo.len(),r=Do.len();if(!(i<.001||r<.001)){Uo.scale(1/i),Do.scale(1/r);var a=Uo.dot(e),o=Math.cos(t);if(a<o){var s=ug(V1.x,V1.y,D0.x,D0.y,Ka.x,Ka.y,cg,!1);Ci.fromArray(cg);var l=Math.PI/2,u=Math.acos(Do.dot(e)),c=l+u-t;if(c>=l)h3.copy(Ci,D0);else{Ci.scaleAndAdd(Do,s/Math.tan(Math.PI/2-c));var d=D0.x!==V1.x?(Ci.x-V1.x)/(D0.x-V1.x):(Ci.y-V1.y)/(D0.y-V1.y);if(isNaN(d))return;d<0?h3.copy(Ci,V1):d>1&&h3.copy(Ci,D0)}Ci.toArray(n[1])}}}}function ox(n,e,t,i){var r=t==="normal",a=r?n:n.ensureState(t);a.ignore=e;var o=i.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=i.getModel("lineStyle").getLineStyle();r?n.useStyle(s):a.style=s}function tce(n,e){var t=e.smooth,i=e.points;if(i)if(n.moveTo(i[0][0],i[0][1]),t>0&&i.length>=3){var r=e5(i[0],i[1]),a=e5(i[1],i[2]);if(!r||!a){n.lineTo(i[1][0],i[1][1]),n.lineTo(i[2][0],i[2][1]);return}var o=Math.min(r,a)*t,s=Yv([],i[1],i[0],o/r),l=Yv([],i[1],i[2],o/a),u=Yv([],s,l,.5);n.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),n.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var c=1;c<i.length;c++)n.lineTo(i[c][0],i[c][1])}function ZE(n,e,t){var i=n.getTextGuideLine(),r=n.getTextContent();if(!r){i&&n.removeTextGuideLine();return}for(var a=e.normal,o=a.get("show"),s=r.ignore,l=0;l<Ed.length;l++){var u=Ed[l],c=e[u],d=u==="normal";if(c){var h=c.get("show"),f=d?s:a3(r.states[u]&&r.states[u].ignore,s);if(f||!a3(h,o)){var p=d?i:i&&i.states[u];p&&(p.ignore=!0),i&&ox(i,!0,u,c);continue}i||(i=new dr,n.setTextGuideLine(i),!d&&(s||!o)&&ox(i,!0,"normal",e.normal),n.stateProxy&&(i.stateProxy=n.stateProxy)),ox(i,!1,u,c)}}if(i){qt(i.style,t),i.style.fill=null;var m=a.get("showAbove"),v=n.textGuideLineConfig=n.textGuideLineConfig||{};v.showAbove=m||!1,i.buildPath=tce}}function JE(n,e){e=e||"labelLine";for(var t={normal:n.getModel(e)},i=0;i<Li.length;i++){var r=Li[i];t[r]=n.getModel([r,e])}return t}function hK(n){for(var e=[],t=0;t<n.length;t++){var i=n[t];if(!i.defaultAttr.ignore){var r=i.label,a=r.getComputedTransform(),o=r.getBoundingRect(),s=!a||a[1]<1e-5&&a[2]<1e-5,l=r.style.margin||0,u=o.clone();u.applyTransform(a),u.x-=l/2,u.y-=l/2,u.width+=l,u.height+=l;var c=s?new Xm(o,a):null;e.push({label:r,labelLine:i.labelLine,rect:u,localRect:o,obb:c,priority:i.priority,defaultAttr:i.defaultAttr,layoutOption:i.computedLayoutOption,axisAligned:s,transform:a})}}return e}function fK(n,e,t,i,r,a){var o=n.length;if(o<2)return;n.sort(function(I,D){return I.rect[e]-D.rect[e]});for(var s=0,l,u=!1,c=0,d=0;d<o;d++){var h=n[d],f=h.rect;l=f[e]-s,l<0&&(f[e]-=l,h.label[e]-=l,u=!0);var p=Math.max(-l,0);c+=p,s=f[e]+f[t]}c>0&&a&&A(-c/o,0,o);var m=n[0],v=n[o-1],g,_;S(),g<0&&C(-g,.8),_<0&&C(_,.8),S(),x(g,_,1),x(_,g,-1),S(),g<0&&M(-g),_<0&&M(_);function S(){g=m.rect[e]-i,_=r-v.rect[e]-v.rect[t]}function x(I,D,E){if(I<0){var P=Math.min(D,-I);if(P>0){A(P*E,0,o);var F=P+I;F<0&&C(-F*E,1)}else C(-I*E,1)}}function A(I,D,E){I!==0&&(u=!0);for(var P=D;P<E;P++){var F=n[P],V=F.rect;V[e]+=I,F.label[e]+=I}}function C(I,D){for(var E=[],P=0,F=1;F<o;F++){var V=n[F-1].rect,G=Math.max(n[F].rect[e]-V[e]-V[t],0);E.push(G),P+=G}if(P){var W=Math.min(Math.abs(I)/P,D);if(I>0)for(var F=0;F<o-1;F++){var Y=E[F]*W;A(Y,0,F+1)}else for(var F=o-1;F>0;F--){var Y=E[F-1]*W;A(-Y,F,o)}}}function M(I){var D=I<0?-1:1;I=Math.abs(I);for(var E=Math.ceil(I/(o-1)),P=0;P<o-1;P++)if(D>0?A(E,0,P+1):A(-E,o-P-1,o),I-=E,I<=0)return}return u}function nce(n,e,t,i){return fK(n,"x","width",e,t,i)}function pK(n,e,t,i){return fK(n,"y","height",e,t,i)}function vK(n){var e=[];n.sort(function(m,v){return v.priority-m.priority});var t=new g3(0,0,0,0);function i(m){if(!m.ignore){var v=m.ensureState("emphasis");v.ignore==null&&(v.ignore=!1)}m.ignore=!0}for(var r=0;r<n.length;r++){var a=n[r],o=a.axisAligned,s=a.localRect,l=a.transform,u=a.label,c=a.labelLine;t.copy(a.rect),t.width-=.1,t.height-=.1,t.x+=.05,t.y+=.05;for(var d=a.obb,h=!1,f=0;f<e.length;f++){var p=e[f];if(t.intersect(p.rect)){if(o&&p.axisAligned){h=!0;break}if(p.obb||(p.obb=new Xm(p.localRect,p.transform)),d||(d=new Xm(s,l)),d.intersect(p.obb)){h=!0;break}}}h?(i(u),c&&i(c)):(u.attr("ignore",a.defaultAttr.ignore),c&&c.attr("ignore",a.defaultAttr.labelGuideIgnore),e.push(a))}}function ice(n){if(n){for(var e=[],t=0;t<n.length;t++)e.push(n[t].slice());return e}}function rce(n,e){var t=n.label,i=e&&e.getTextGuideLine();return{dataIndex:n.dataIndex,dataType:n.dataType,seriesIndex:n.seriesModel.seriesIndex,text:n.label.style.text,rect:n.hostRect,labelRect:n.rect,align:t.style.align,verticalAlign:t.style.verticalAlign,labelLinePoints:ice(i&&i.shape.points)}}var zF=["align","verticalAlign","width","height","fontSize"],Si=new Ds,sx=G3(),ace=G3();function fp(n,e,t){for(var i=0;i<t.length;i++){var r=t[i];e[r]!=null&&(n[r]=e[r])}}var pp=["x","y","rotation"],oce=function(){function n(){this._labelList=[],this._chartViewList=[]}return n.prototype.clearLabels=function(){this._labelList=[],this._chartViewList=[]},n.prototype._addLabel=function(e,t,i,r,a){var o=r.style,s=r.__hostTarget,l=s.textConfig||{},u=r.getComputedTransform(),c=r.getBoundingRect().plain();g3.applyTransform(c,c,u),u?Si.setLocalTransform(u):(Si.x=Si.y=Si.rotation=Si.originX=Si.originY=0,Si.scaleX=Si.scaleY=1),Si.rotation=Rr(Si.rotation);var d=r.__hostTarget,h;if(d){h=d.getBoundingRect().plain();var f=d.getComputedTransform();g3.applyTransform(h,h,f)}var p=h&&d.getTextGuideLine();this._labelList.push({label:r,labelLine:p,seriesModel:i,dataIndex:e,dataType:t,layoutOption:a,computedLayoutOption:null,rect:c,hostRect:h,priority:h?h.width*h.height:0,defaultAttr:{ignore:r.ignore,labelGuideIgnore:p&&p.ignore,x:Si.x,y:Si.y,scaleX:Si.scaleX,scaleY:Si.scaleY,rotation:Si.rotation,style:{x:o.x,y:o.y,align:o.align,verticalAlign:o.verticalAlign,width:o.width,height:o.height,fontSize:o.fontSize},cursor:r.cursor,attachedPos:l.position,attachedRot:l.rotation}})},n.prototype.addLabelsOfSeries=function(e){var t=this;this._chartViewList.push(e);var i=e.__model,r=i.get("labelLayout");(Wt(r)||L3(r).length)&&e.group.traverse(function(a){if(a.ignore)return!0;var o=a.getTextContent(),s=t3(a);o&&!o.disableLabelLayout&&t._addLabel(s.dataIndex,s.dataType,i,o,r)})},n.prototype.updateLayoutConfig=function(e){var t=e.getWidth(),i=e.getHeight();function r(S,x){return function(){BF(S,x)}}for(var a=0;a<this._labelList.length;a++){var o=this._labelList[a],s=o.label,l=s.__hostTarget,u=o.defaultAttr,c=void 0;Wt(o.layoutOption)?c=o.layoutOption(rce(o,l)):c=o.layoutOption,c=c||{},o.computedLayoutOption=c;var d=Math.PI/180;l&&l.setTextConfig({local:!1,position:c.x!=null||c.y!=null?null:u.attachedPos,rotation:c.rotate!=null?c.rotate*d:u.attachedRot,offset:[c.dx||0,c.dy||0]});var h=!1;if(c.x!=null?(s.x=mt(c.x,t),s.setStyle("x",0),h=!0):(s.x=u.x,s.setStyle("x",u.style.x)),c.y!=null?(s.y=mt(c.y,i),s.setStyle("y",0),h=!0):(s.y=u.y,s.setStyle("y",u.style.y)),c.labelLinePoints){var f=l.getTextGuideLine();f&&(f.setShape({points:c.labelLinePoints}),h=!1)}var p=sx(s);p.needsUpdateLabelLine=h,s.rotation=c.rotate!=null?c.rotate*d:u.rotation,s.scaleX=u.scaleX,s.scaleY=u.scaleY;for(var m=0;m<zF.length;m++){var v=zF[m];s.setStyle(v,c[v]!=null?c[v]:u.style[v])}if(c.draggable){if(s.draggable=!0,s.cursor="move",l){var g=o.seriesModel;if(o.dataIndex!=null){var _=o.seriesModel.getData(o.dataType);g=_.getItemModel(o.dataIndex)}s.on("drag",r(l,g.getModel("labelLine")))}}else s.off("drag"),s.cursor=u.cursor}},n.prototype.layout=function(e){var t=e.getWidth(),i=e.getHeight(),r=hK(this._labelList),a=c1(r,function(l){return l.layoutOption.moveOverlap==="shiftX"}),o=c1(r,function(l){return l.layoutOption.moveOverlap==="shiftY"});nce(a,0,t),pK(o,0,i);var s=c1(r,function(l){return l.layoutOption.hideOverlap});vK(s)},n.prototype.processLabelsOverall=function(){var e=this;ne(this._chartViewList,function(t){var i=t.__model,r=t.ignoreLabelLineUpdate,a=i.isAnimationEnabled();t.group.traverse(function(o){if(o.ignore&&!o.forceLabelAnimation)return!0;var s=!r,l=o.getTextContent();!s&&l&&(s=sx(l).needsUpdateLabelLine),s&&e._updateLabelLine(o,i),a&&e._animateLabels(o,i)})})},n.prototype._updateLabelLine=function(e,t){var i=e.getTextContent(),r=t3(e),a=r.dataIndex;if(i&&a!=null){var o=t.getData(r.dataType),s=o.getItemModel(a),l={},u=o.getItemVisual(a,"style");if(u){var c=o.getVisual("drawType");l.stroke=u[c]}var d=s.getModel("labelLine");ZE(e,JE(s),l),BF(e,d)}},n.prototype._animateLabels=function(e,t){var i=e.getTextContent(),r=e.getTextGuideLine();if(i&&(e.forceLabelAnimation||!i.ignore&&!i.invisible&&!e.disableLabelAnimation&&!$l(e))){var a=sx(i),o=a.oldLayout,s=t3(e),l=s.dataIndex,u={x:i.x,y:i.y,rotation:i.rotation},c=t.getData(s.dataType);if(o){i.attr(o);var h=e.prevStates;h&&(x3(h,"select")>=0&&i.attr(a.oldLayoutSelect),x3(h,"emphasis")>=0&&i.attr(a.oldLayoutEmphasis)),Q3(i,u,t,l)}else if(i.attr(u),!U7(i).valueAnimation){var d=a3(i.style.opacity,1);i.style.opacity=0,o0(i,{style:{opacity:d}},t,l)}if(a.oldLayout=u,i.states.select){var f=a.oldLayoutSelect={};fp(f,u,pp),fp(f,i.states.select,pp)}if(i.states.emphasis){var p=a.oldLayoutEmphasis={};fp(p,u,pp),fp(p,i.states.emphasis,pp)}eX(i,l,c,t,t)}if(r&&!r.ignore&&!r.invisible){var a=ace(r),o=a.oldLayout,m={points:r.shape.points};o?(r.attr({shape:o}),Q3(r,{shape:m},t)):(r.setShape(m),r.style.strokePercent=0,o0(r,{style:{strokePercent:1}},t)),a.oldLayout=m}},n}();const sce=oce;var lx=G3();function lce(n){n.registerUpdateLifecycle("series:beforeupdate",function(e,t,i){var r=lx(t).labelManager;r||(r=lx(t).labelManager=new sce),r.clearLabels()}),n.registerUpdateLifecycle("series:layoutlabels",function(e,t,i){var r=lx(t).labelManager;i.updatedSeries.forEach(function(a){r.addLabelsOfSeries(t.getViewOfSeriesModel(a))}),r.updateLayoutConfig(t),r.layout(t),r.processLabelsOverall()})}var ux=Math.sin,cx=Math.cos,mK=Math.PI,P9=Math.PI*2,uce=180/mK,cce=function(){function n(){}return n.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},n.prototype.moveTo=function(e,t){this._add("M",e,t)},n.prototype.lineTo=function(e,t){this._add("L",e,t)},n.prototype.bezierCurveTo=function(e,t,i,r,a,o){this._add("C",e,t,i,r,a,o)},n.prototype.quadraticCurveTo=function(e,t,i,r){this._add("Q",e,t,i,r)},n.prototype.arc=function(e,t,i,r,a,o){this.ellipse(e,t,i,i,0,r,a,o)},n.prototype.ellipse=function(e,t,i,r,a,o,s,l){var u=s-o,c=!l,d=Math.abs(u),h=a5(d-P9)||(c?u>=P9:-u>=P9),f=u>0?u%P9:u%P9+P9,p=!1;h?p=!0:a5(d)?p=!1:p=f>=mK==!!c;var m=e+i*cx(o),v=t+r*ux(o);this._start&&this._add("M",m,v);var g=Math.round(a*uce);if(h){var _=1/this._p,S=(c?1:-1)*(P9-_);this._add("A",i,r,g,1,+c,e+i*cx(o+S),t+r*ux(o+S)),_>.01&&this._add("A",i,r,g,0,+c,m,v)}else{var x=e+i*cx(s),A=t+r*ux(s);this._add("A",i,r,g,+p,+c,x,A)}},n.prototype.rect=function(e,t,i,r){this._add("M",e,t),this._add("l",i,0),this._add("l",0,r),this._add("l",-i,0),this._add("Z")},n.prototype.closePath=function(){this._d.length>0&&this._add("Z")},n.prototype._add=function(e,t,i,r,a,o,s,l,u){for(var c=[],d=this._p,h=1;h<arguments.length;h++){var f=arguments[h];if(isNaN(f)){this._invalid=!0;return}c.push(Math.round(f*d)/d)}this._d.push(e+c.join(" ")),this._start=e==="Z"},n.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(""),this._d=[]},n.prototype.getStr=function(){return this._str},n}();const gK=cce;var Zc="none",dce=Math.round;function hce(n){var e=n.fill;return e!=null&&e!==Zc}function fce(n){var e=n.stroke;return e!=null&&e!==Zc}var YA=["lineCap","miterLimit","lineJoin"],pce=q2(YA,function(n){return"stroke-"+n.toLowerCase()});function vce(n,e,t,i){var r=e.opacity==null?1:e.opacity;if(t instanceof $n){n("opacity",r);return}if(hce(e)){var a=Td(e.fill);n("fill",a.color);var o=e.fillOpacity!=null?e.fillOpacity*a.opacity*r:a.opacity*r;(i||o<1)&&n("fill-opacity",o)}else n("fill",Zc);if(fce(e)){var s=Td(e.stroke);n("stroke",s.color);var l=e.strokeNoScale?t.getLineScale():1,u=l?(e.lineWidth||0)/l:0,c=e.strokeOpacity!=null?e.strokeOpacity*s.opacity*r:s.opacity*r,d=e.strokeFirst;if((i||u!==1)&&n("stroke-width",u),(i||d)&&n("paint-order",d?"stroke":"fill"),(i||c<1)&&n("stroke-opacity",c),e.lineDash){var h=zE(t),f=h[0],p=h[1];f&&(p=dce(p||0),n("stroke-dasharray",f.join(",")),(p||i)&&n("stroke-dashoffset",p))}else i&&n("stroke-dasharray",Zc);for(var m=0;m<YA.length;m++){var v=YA[m];if(i||e[v]!==$m[v]){var g=e[v]||$m[v];g&&n(pce[m],g)}}}else i&&n("stroke",Zc)}var yK="http://www.w3.org/2000/svg",_K="http://www.w3.org/1999/xlink",mce="http://www.w3.org/2000/xmlns/",gce="http://www.w3.org/XML/1998/namespace",GF="ecmeta_";function SK(n){return document.createElementNS(yK,n)}function mn(n,e,t,i,r){return{tag:n,attrs:t||{},children:i,text:r,key:e}}function yce(n,e){var t=[];if(e)for(var i in e){var r=e[i],a=i;r!==!1&&(r!==!0&&r!=null&&(a+='="'+r+'"'),t.push(a))}return"<"+n+" "+t.join(" ")+">"}function _ce(n){return"</"+n+">"}function QE(n,e){e=e||{};var t=e.newline?` |
|
|
`:"";function i(r){var a=r.children,o=r.tag,s=r.attrs,l=r.text;return yce(o,s)+(o!=="style"?ai(l):l||"")+(a?""+t+q2(a,function(u){return i(u)}).join(t)+t:"")+_ce(o)}return i(n)}function Sce(n,e,t){t=t||{};var i=t.newline?` |
|
|
`:"",r=" {"+i,a=i+"}",o=q2(L3(n),function(l){return l+r+q2(L3(n[l]),function(u){return u+":"+n[l][u]+";"}).join(i)+a}).join(i),s=q2(L3(e),function(l){return"@keyframes "+l+r+q2(L3(e[l]),function(u){return u+r+q2(L3(e[l][u]),function(c){var d=e[l][u][c];return c==="d"&&(d='path("'+d+'")'),c+":"+d+";"}).join(i)+a}).join(i)+a}).join(i);return!o&&!s?"":["<![CDATA[",o,s,"]]>"].join(i)}function KA(n){return{zrId:n,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function UF(n,e,t,i){return mn("svg","root",{width:n,height:e,xmlns:yK,"xmlns:xlink":_K,version:"1.1",baseProfile:"full",viewBox:i?"0 0 "+n+" "+e:!1},t)}var bce=0;function bK(){return bce++}var VF={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"},G9="transform-origin";function xce(n,e,t){var i=I2({},n.shape);I2(i,e),n.buildPath(t,i);var r=new gK;return r.reset(k$(n)),t.rebuildPath(r,1),r.generateStr(),r.getStr()}function wce(n,e){var t=e.originX,i=e.originY;(t||i)&&(n[G9]=t+"px "+i+"px")}var Tce={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function xK(n,e){var t=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[t]=n,t}function Ace(n,e,t){var i=n.shape.paths,r={},a,o;if(ne(i,function(l){var u=KA(t.zrId);u.animation=!0,Yy(l,{},u,!0);var c=u.cssAnims,d=u.cssNodes,h=L3(c),f=h.length;if(f){o=h[f-1];var p=c[o];for(var m in p){var v=p[m];r[m]=r[m]||{d:""},r[m].d+=v.d||""}for(var g in d){var _=d[g].animation;_.indexOf(o)>=0&&(a=_)}}}),!!a){e.d=!1;var s=xK(r,t);return a.replace(o,s)}}function HF(n){return xt(n)?VF[n]?"cubic-bezier("+VF[n]+")":tE(n)?n:"":""}function Yy(n,e,t,i){var r=n.animators,a=r.length,o=[];if(n instanceof _E){var s=Ace(n,e,t);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var l={},u=0;u<a;u++){var c=r[u],d=[c.getMaxTime()/1e3+"s"],h=HF(c.getClip().easing),f=c.getDelay();h?d.push(h):d.push("linear"),f&&d.push(f/1e3+"s"),c.getLoop()&&d.push("infinite");var p=d.join(" ");l[p]=l[p]||[p,[]],l[p][1].push(c)}function m(_){var S=_[1],x=S.length,A={},C={},M={},I="animation-timing-function";function D(S2,p2,X2){for(var w2=S2.getTracks(),Ce=S2.getMaxTime(),R2=0;R2<w2.length;R2++){var v2=w2[R2];if(v2.needsAnimate()){var O2=v2.keyframes,k=v2.propName;if(X2&&(k=X2(k)),k)for(var _2=0;_2<O2.length;_2++){var A2=O2[_2],Z=Math.round(A2.time/Ce*100)+"%",ee=HF(A2.easing),Ge=A2.rawValue;(xt(Ge)||Y3(Ge))&&(p2[Z]=p2[Z]||{},p2[Z][k]=A2.rawValue,ee&&(p2[Z][I]=ee))}}}}for(var E=0;E<x;E++){var P=S[E],F=P.targetName;F?F==="shape"&&D(P,C):!i&&D(P,A)}for(var V in A){var G={};G$(G,n),I2(G,A[V]);var W=F$(G),Y=A[V][I];M[V]=W?{transform:W}:{},wce(M[V],G),Y&&(M[V][I]=Y)}var Q,K=!0;for(var V in C){M[V]=M[V]||{};var ae=!Q,Y=C[V][I];ae&&(Q=new Qo);var ie=Q.len();Q.reset(),M[V].d=xce(n,C[V],Q);var he=Q.len();if(!ae&&ie!==he){K=!1;break}Y&&(M[V][I]=Y)}if(!K)for(var V in M)delete M[V].d;if(!i)for(var E=0;E<x;E++){var P=S[E],F=P.targetName;F==="style"&&D(P,M,function(w2){return Tce[w2]})}for(var Ee=L3(M),je=!0,xe,E=1;E<Ee.length;E++){var Oe=Ee[E-1],f2=Ee[E];if(M[Oe][G9]!==M[f2][G9]){je=!1;break}xe=M[Oe][G9]}if(je&&xe){for(var V in M)M[V][G9]&&delete M[V][G9];e[G9]=xe}if(c1(Ee,function(S2){return L3(M[S2]).length>0}).length){var B2=xK(M,t);return B2+" "+_[0]+" both"}}for(var v in l){var s=m(l[v]);s&&o.push(s)}if(o.length){var g=t.zrId+"-cls-"+bK();t.cssNodes["."+g]={animation:o.join(",")},e.class=g}}function Cce(n,e,t){if(!n.ignore)if(n.isSilent()){var i={"pointer-events":"none"};WF(i,e,t,!0)}else{var r=n.states.emphasis&&n.states.emphasis.style?n.states.emphasis.style:{},a=r.fill;if(!a){var o=n.style&&n.style.fill,s=n.states.select&&n.states.select.style&&n.states.select.style.fill,l=n.currentStates.indexOf("select")>=0&&s||o;l&&(a=lA(l))}var u=r.lineWidth;if(u){var c=!r.strokeNoScale&&n.transform?n.transform[0]:1;u=u/c}var i={cursor:"pointer"};a&&(i.fill=a),r.stroke&&(i.stroke=r.stroke),u&&(i["stroke-width"]=u),WF(i,e,t,!0)}}function WF(n,e,t,i){var r=JSON.stringify(n),a=t.cssStyleCache[r];a||(a=t.zrId+"-cls-"+bK(),t.cssStyleCache[r]=a,t.cssNodes["."+a+(i?":hover":"")]=n),e.class=e.class?e.class+" "+a:a}var Bd=Math.round;function wK(n){return n&&xt(n.src)}function TK(n){return n&&Wt(n.toDataURL)}function eP(n,e,t,i){vce(function(r,a){var o=r==="fill"||r==="stroke";o&&N$(a)?CK(e,n,r,i):o&&nE(a)?MK(t,n,r,i):n[r]=a,o&&i.ssr&&a==="none"&&(n["pointer-events"]="visible")},e,t,!1),Dce(t,n,i)}function tP(n,e){var t=Q6e(e);t&&(t.each(function(i,r){i!=null&&(n[(GF+r).toLowerCase()]=i+"")}),e.isSilent()&&(n[GF+"silent"]="true"))}function jF(n){return a5(n[0]-1)&&a5(n[1])&&a5(n[2])&&a5(n[3]-1)}function Mce(n){return a5(n[4])&&a5(n[5])}function nP(n,e,t){if(e&&!(Mce(e)&&jF(e))){var i=t?10:1e4;n.transform=jF(e)?"translate("+Bd(e[4]*i)/i+" "+Bd(e[5]*i)/i+")":_6e(e)}}function $F(n,e,t){for(var i=n.points,r=[],a=0;a<i.length;a++)r.push(Bd(i[a][0]*t)/t),r.push(Bd(i[a][1]*t)/t);e.points=r.join(" ")}function qF(n){return!n.smooth}function Ece(n){var e=q2(n,function(t){return typeof t=="string"?[t,t]:t});return function(t,i,r){for(var a=0;a<e.length;a++){var o=e[a],s=t[o[0]];s!=null&&(i[o[1]]=Bd(s*r)/r)}}}var Pce={circle:[Ece(["cx","cy","r"])],polyline:[$F,qF],polygon:[$F,qF]};function Rce(n){for(var e=n.animators,t=0;t<e.length;t++)if(e[t].targetName==="shape")return!0;return!1}function AK(n,e){var t=n.style,i=n.shape,r=Pce[n.type],a={},o=e.animation,s="path",l=n.style.strokePercent,u=e.compress&&k$(n)||4;if(r&&!e.willUpdate&&!(r[1]&&!r[1](i))&&!(o&&Rce(n))&&!(l<1)){s=n.type;var c=Math.pow(10,u);r[0](i,a,c)}else{var d=!n.path||n.shapeChanged();n.path||n.createPathProxy();var h=n.path;d&&(h.beginPath(),n.buildPath(h,n.shape),n.pathUpdated());var f=h.getVersion(),p=n,m=p.__svgPathBuilder;(p.__svgPathVersion!==f||!m||l!==p.__svgPathStrokePercent)&&(m||(m=p.__svgPathBuilder=new gK),m.reset(u),h.rebuildPath(m,l),m.generateStr(),p.__svgPathVersion=f,p.__svgPathStrokePercent=l),a.d=m.getStr()}return nP(a,n.transform),eP(a,t,n,e),tP(a,n),e.animation&&Yy(n,a,e),e.emphasis&&Cce(n,a,e),mn(s,n.id+"",a)}function Lce(n,e){var t=n.style,i=t.image;if(i&&!xt(i)&&(wK(i)?i=i.src:TK(i)&&(i=i.toDataURL())),!!i){var r=t.x||0,a=t.y||0,o=t.width,s=t.height,l={href:i,width:o,height:s};return r&&(l.x=r),a&&(l.y=a),nP(l,n.transform),eP(l,t,n,e),tP(l,n),e.animation&&Yy(n,l,e),mn("image",n.id+"",l)}}function Ice(n,e){var t=n.style,i=t.text;if(i!=null&&(i+=""),!(!i||isNaN(t.x)||isNaN(t.y))){var r=t.font||C5,a=t.x||0,o=b6e(t.y||0,by(r),t.textBaseline),s=S6e[t.textAlign]||t.textAlign,l={"dominant-baseline":"central","text-anchor":s};if(yq(t)){var u="",c=t.fontStyle,d=gq(t.fontSize);if(!parseFloat(d))return;var h=t.fontFamily||u$,f=t.fontWeight;u+="font-size:"+d+";font-family:"+h+";",c&&c!=="normal"&&(u+="font-style:"+c+";"),f&&f!=="normal"&&(u+="font-weight:"+f+";"),l.style=u}else l.style="font: "+r;return i.match(/\s/)&&(l["xml:space"]="preserve"),a&&(l.x=a),o&&(l.y=o),nP(l,n.transform),eP(l,t,n,e),tP(l,n),e.animation&&Yy(n,l,e),mn("text",n.id+"",l,void 0,i)}}function XF(n,e){if(n instanceof E3)return AK(n,e);if(n instanceof $n)return Lce(n,e);if(n instanceof Md)return Ice(n,e)}function Dce(n,e,t){var i=n.style;if(x6e(i)){var r=w6e(n),a=t.shadowCache,o=a[r];if(!o){var s=n.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var c=i.shadowOffsetX||0,d=i.shadowOffsetY||0,h=i.shadowBlur,f=Td(i.shadowColor),p=f.opacity,m=f.color,v=h/2/l,g=h/2/u,_=v+" "+g;o=t.zrId+"-s"+t.shadowIdx++,t.defs[o]=mn("filter",o,{id:o,x:"-100%",y:"-100%",width:"300%",height:"300%"},[mn("feDropShadow","",{dx:c/l,dy:d/u,stdDeviation:_,"flood-color":m,"flood-opacity":p})]),a[r]=o}e.filter=Sy(o)}}function CK(n,e,t,i){var r=n[t],a,o={gradientUnits:r.global?"userSpaceOnUse":"objectBoundingBox"};if(I$(r))a="linearGradient",o.x1=r.x,o.y1=r.y,o.x2=r.x2,o.y2=r.y2;else if(D$(r))a="radialGradient",o.cx=a3(r.x,.5),o.cy=a3(r.y,.5),o.r=a3(r.r,.5);else return;for(var s=r.colorStops,l=[],u=0,c=s.length;u<c;++u){var d=uA(s[u].offset)*100+"%",h=s[u].color,f=Td(h),p=f.color,m=f.opacity,v={offset:d};v["stop-color"]=p,m<1&&(v["stop-opacity"]=m),l.push(mn("stop",u+"",v))}var g=mn(a,"",o,l),_=QE(g),S=i.gradientCache,x=S[_];x||(x=i.zrId+"-g"+i.gradientIdx++,S[_]=x,o.id=x,i.defs[x]=mn(a,x,o,l)),e[t]=Sy(x)}function MK(n,e,t,i){var r=n.style[t],a=n.getBoundingRect(),o={},s=r.repeat,l=s==="no-repeat",u=s==="repeat-x",c=s==="repeat-y",d;if(L$(r)){var h=r.imageWidth,f=r.imageHeight,p=void 0,m=r.image;if(xt(m)?p=m:wK(m)?p=m.src:TK(m)&&(p=m.toDataURL()),typeof Image=="undefined"){var v="Image width/height must been given explictly in svg-ssr renderer.";Ri(h,v),Ri(f,v)}else if(h==null||f==null){var g=function(E,P){if(E){var F=E.elm,V=h||P.width,G=f||P.height;E.tag==="pattern"&&(u?(G=1,V/=a.width):c&&(V=1,G/=a.height)),E.attrs.width=V,E.attrs.height=G,F&&(F.setAttribute("width",V),F.setAttribute("height",G))}},_=uE(p,null,n,function(E){l||g(C,E),g(d,E)});_&&_.width&&_.height&&(h=h||_.width,f=f||_.height)}d=mn("image","img",{href:p,width:h,height:f}),o.width=h,o.height=f}else r.svgElement&&(d=Zt(r.svgElement),o.width=r.svgWidth,o.height=r.svgHeight);if(d){var S,x;l?S=x=1:u?(x=1,S=o.width/a.width):c?(S=1,x=o.height/a.height):o.patternUnits="userSpaceOnUse",S!=null&&!isNaN(S)&&(o.width=S),x!=null&&!isNaN(x)&&(o.height=x);var A=F$(r);A&&(o.patternTransform=A);var C=mn("pattern","",o,[d]),M=QE(C),I=i.patternCache,D=I[M];D||(D=i.zrId+"-p"+i.patternIdx++,I[M]=D,o.id=D,C=i.defs[D]=mn("pattern",D,o,[d])),e[t]=Sy(D)}}function Nce(n,e,t){var i=t.clipPathCache,r=t.defs,a=i[n.id];if(!a){a=t.zrId+"-c"+t.clipPathIdx++;var o={id:a};i[n.id]=a,r[a]=mn("clipPath",a,o,[AK(n,t)])}e["clip-path"]=Sy(a)}function YF(n){return document.createTextNode(n)}function Z9(n,e,t){n.insertBefore(e,t)}function KF(n,e){n.removeChild(e)}function ZF(n,e){n.appendChild(e)}function EK(n){return n.parentNode}function PK(n){return n.nextSibling}function dx(n,e){n.textContent=e}var JF=58,kce=120,Fce=mn("","");function ZA(n){return n===void 0}function Po(n){return n!==void 0}function Oce(n,e,t){for(var i={},r=e;r<=t;++r){var a=n[r].key;a!==void 0&&(i[a]=r)}return i}function Tc(n,e){var t=n.key===e.key,i=n.tag===e.tag;return i&&t}function zd(n){var e,t=n.children,i=n.tag;if(Po(i)){var r=n.elm=SK(i);if(iP(Fce,n),j2(t))for(e=0;e<t.length;++e){var a=t[e];a!=null&&ZF(r,zd(a))}else Po(n.text)&&!Kt(n.text)&&ZF(r,YF(n.text))}else n.elm=YF(n.text);return n.elm}function RK(n,e,t,i,r){for(;i<=r;++i){var a=t[i];a!=null&&Z9(n,zd(a),e)}}function dg(n,e,t,i){for(;t<=i;++t){var r=e[t];if(r!=null)if(Po(r.tag)){var a=EK(r.elm);KF(a,r.elm)}else KF(n,r.elm)}}function iP(n,e){var t,i=e.elm,r=n&&n.attrs||{},a=e.attrs||{};if(r!==a){for(t in a){var o=a[t],s=r[t];s!==o&&(o===!0?i.setAttribute(t,""):o===!1?i.removeAttribute(t):t==="style"?i.style.cssText=o:t.charCodeAt(0)!==kce?i.setAttribute(t,o):t==="xmlns:xlink"||t==="xmlns"?i.setAttributeNS(mce,t,o):t.charCodeAt(3)===JF?i.setAttributeNS(gce,t,o):t.charCodeAt(5)===JF?i.setAttributeNS(_K,t,o):i.setAttribute(t,o))}for(t in r)t in a||i.removeAttribute(t)}}function Bce(n,e,t){for(var i=0,r=0,a=e.length-1,o=e[0],s=e[a],l=t.length-1,u=t[0],c=t[l],d,h,f,p;i<=a&&r<=l;)o==null?o=e[++i]:s==null?s=e[--a]:u==null?u=t[++r]:c==null?c=t[--l]:Tc(o,u)?(yl(o,u),o=e[++i],u=t[++r]):Tc(s,c)?(yl(s,c),s=e[--a],c=t[--l]):Tc(o,c)?(yl(o,c),Z9(n,o.elm,PK(s.elm)),o=e[++i],c=t[--l]):Tc(s,u)?(yl(s,u),Z9(n,s.elm,o.elm),s=e[--a],u=t[++r]):(ZA(d)&&(d=Oce(e,i,a)),h=d[u.key],ZA(h)?Z9(n,zd(u),o.elm):(f=e[h],f.tag!==u.tag?Z9(n,zd(u),o.elm):(yl(f,u),e[h]=void 0,Z9(n,f.elm,o.elm))),u=t[++r]);(i<=a||r<=l)&&(i>a?(p=t[l+1]==null?null:t[l+1].elm,RK(n,p,t,r,l)):dg(n,e,i,a))}function yl(n,e){var t=e.elm=n.elm,i=n.children,r=e.children;n!==e&&(iP(n,e),ZA(e.text)?Po(i)&&Po(r)?i!==r&&Bce(t,i,r):Po(r)?(Po(n.text)&&dx(t,""),RK(t,null,r,0,r.length-1)):Po(i)?dg(t,i,0,i.length-1):Po(n.text)&&dx(t,""):n.text!==e.text&&(Po(i)&&dg(t,i,0,i.length-1),dx(t,e.text)))}function zce(n,e){if(Tc(n,e))yl(n,e);else{var t=n.elm,i=EK(t);zd(e),i!==null&&(Z9(i,e.elm,PK(t)),dg(i,[n],0,0))}return e}var Gce=0,Uce=function(){function n(e,t,i){if(this.type="svg",this.refreshHover=QF(),this.configLayer=QF(),this.storage=t,this._opts=i=I2({},i),this.root=e,this._id="zr"+Gce++,this._oldVNode=UF(i.width,i.height),e&&!i.ssr){var r=this._viewport=document.createElement("div");r.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=SK("svg");iP(null,this._oldVNode),r.appendChild(a),e.appendChild(r)}this.resize(i.width,i.height)}return n.prototype.getType=function(){return this.type},n.prototype.getViewportRoot=function(){return this._viewport},n.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},n.prototype.getSvgDom=function(){return this._svgDom},n.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",zce(this._oldVNode,e),this._oldVNode=e}},n.prototype.renderOneToVNode=function(e){return XF(e,KA(this._id))},n.prototype.renderToVNode=function(e){e=e||{};var t=this.storage.getDisplayList(!0),i=this._width,r=this._height,a=KA(this._id);a.animation=e.animation,a.willUpdate=e.willUpdate,a.compress=e.compress,a.emphasis=e.emphasis,a.ssr=this._opts.ssr;var o=[],s=this._bgVNode=Vce(i,r,this._backgroundColor,a);s&&o.push(s);var l=e.compress?null:this._mainVNode=mn("g","main",{},[]);this._paintList(t,a,l?l.children:o),l&&o.push(l);var u=q2(L3(a.defs),function(h){return a.defs[h]});if(u.length&&o.push(mn("defs","defs",{},u)),e.animation){var c=Sce(a.cssNodes,a.cssAnims,{newline:!0});if(c){var d=mn("style","stl",{},[],c);o.push(d)}}return UF(i,r,o,e.useViewBox)},n.prototype.renderToString=function(e){return e=e||{},QE(this.renderToVNode({animation:a3(e.cssAnimation,!0),emphasis:a3(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:a3(e.useViewBox,!0)}),{newline:!0})},n.prototype.setBackgroundColor=function(e){this._backgroundColor=e},n.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},n.prototype._paintList=function(e,t,i){for(var r=e.length,a=[],o=0,s,l,u=0,c=0;c<r;c++){var d=e[c];if(!d.invisible){var h=d.__clipPaths,f=h&&h.length||0,p=l&&l.length||0,m=void 0;for(m=Math.max(f-1,p-1);m>=0&&!(h&&l&&h[m]===l[m]);m--);for(var v=p-1;v>m;v--)o--,s=a[o-1];for(var g=m+1;g<f;g++){var _={};Nce(h[g],_,t);var S=mn("g","clip-g-"+u++,_,[]);(s?s.children:i).push(S),a[o++]=S,s=S}l=h;var x=XF(d,t);x&&(s?s.children:i).push(x)}}},n.prototype.resize=function(e,t){var i=this._opts,r=this.root,a=this._viewport;if(e!=null&&(i.width=e),t!=null&&(i.height=t),r&&a&&(a.style.display="none",e=Rl(r,0,i),t=Rl(r,1,i),a.style.display=""),this._width!==e||this._height!==t){if(this._width=e,this._height=t,a){var o=a.style;o.width=e+"px",o.height=t+"px"}if(nE(this._backgroundColor))this.refresh();else{var s=this._svgDom;s&&(s.setAttribute("width",e),s.setAttribute("height",t));var l=this._bgVNode&&this._bgVNode.elm;l&&(l.setAttribute("width",e),l.setAttribute("height",t))}}},n.prototype.getWidth=function(){return this._width},n.prototype.getHeight=function(){return this._height},n.prototype.dispose=function(){this.root&&(this.root.innerHTML=""),this._svgDom=this._viewport=this.storage=this._oldVNode=this._bgVNode=this._mainVNode=null},n.prototype.clear=function(){this._svgDom&&(this._svgDom.innerHTML=null),this._oldVNode=null},n.prototype.toDataURL=function(e){var t=this.renderToString(),i="data:image/svg+xml;";return e?(t=A6e(t),t&&i+"base64,"+t):i+"charset=UTF-8,"+encodeURIComponent(t)},n}();function QF(n){return function(){}}function Vce(n,e,t,i){var r;if(t&&t!=="none")if(r=mn("rect","bg",{width:n,height:e,x:"0",y:"0"}),N$(t))CK({fill:t},r.attrs,"fill",i);else if(nE(t))MK({style:{fill:t},dirty:O0,getBoundingRect:function(){return{width:n,height:e}}},r.attrs,"fill",i);else{var a=Td(t),o=a.color,s=a.opacity;r.attrs.fill=o,s<1&&(r.attrs["fill-opacity"]=s)}return r}const Hce=Uce;function Wce(n){n.registerPainter("svg",Hce)}function eO(n,e,t){var i=M5.createCanvas(),r=e.getWidth(),a=e.getHeight(),o=i.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=r+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",n)),i.width=r*t,i.height=a*t,i}var jce=function(n){o2(e,n);function e(t,i,r){var a=n.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;r=r||Wm,typeof t=="string"?o=eO(t,i,r):Kt(t)&&(o=t,t=o.id),a.id=t,a.dom=o;var s=o.style;return s&&(v$(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=i,a.dpr=r,a}return e.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},e.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},e.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},e.prototype.setUnpainted=function(){this.__firstTimePaint=!0},e.prototype.createBackBuffer=function(){var t=this.dpr;this.domBack=eO("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),t!==1&&this.ctxBack.scale(t,t)},e.prototype.createRepaintRects=function(t,i,r,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new g3(0,0,0,0);function c(_){if(!(!_.isFinite()||_.isZero()))if(o.length===0){var S=new g3(0,0,0,0);S.copy(_),o.push(S)}else{for(var x=!1,A=1/0,C=0,M=0;M<o.length;++M){var I=o[M];if(I.intersect(_)){var D=new g3(0,0,0,0);D.copy(I),D.union(_),o[M]=D,x=!0;break}else if(l){u.copy(_),u.union(I);var E=_.width*_.height,P=I.width*I.height,F=u.width*u.height,V=F-E-P;V<A&&(A=V,C=M)}}if(l&&(o[C].union(_),x=!0),!x){var S=new g3(0,0,0,0);S.copy(_),o.push(S)}l||(l=o.length>=s)}}for(var d=this.__startIndex;d<this.__endIndex;++d){var h=t[d];if(h){var f=h.shouldBePainted(r,a,!0,!0),p=h.__isRendered&&(h.__dirty&Mr||!f)?h.getPrevPaintRect():null;p&&c(p);var m=f&&(h.__dirty&Mr||!h.__isRendered)?h.getPaintRect():null;m&&c(m)}}for(var d=this.__prevStartIndex;d<this.__prevEndIndex;++d){var h=i[d],f=h&&h.shouldBePainted(r,a,!0,!0);if(h&&(!f||!h.__zr)&&h.__isRendered){var p=h.getPrevPaintRect();p&&c(p)}}var v;do{v=!1;for(var d=0;d<o.length;){if(o[d].isZero()){o.splice(d,1);continue}for(var g=d+1;g<o.length;)o[d].intersect(o[g])?(v=!0,o[d].union(o[g]),o.splice(g,1)):g++;d++}}while(v);return this._paintRects=o,o},e.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()},e.prototype.resize=function(t,i){var r=this.dpr,a=this.dom,o=a.style,s=this.domBack;o&&(o.width=t+"px",o.height=i+"px"),a.width=t*r,a.height=i*r,s&&(s.width=t*r,s.height=i*r,r!==1&&this.ctxBack.scale(r,r))},e.prototype.clear=function(t,i,r){var a=this.dom,o=this.ctx,s=a.width,l=a.height;i=i||this.clearColor;var u=this.motionBlur&&!t,c=this.lastFrameAlpha,d=this.dpr,h=this;u&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(a,0,0,s/d,l/d));var f=this.domBack;function p(m,v,g,_){if(o.clearRect(m,v,g,_),i&&i!=="transparent"){var S=void 0;if(gy(i)){var x=i.global||i.__width===g&&i.__height===_;S=x&&i.__canvasGradient||UA(o,i,{x:0,y:0,width:g,height:_}),i.__canvasGradient=S,i.__width=g,i.__height=_}else Ase(i)&&(i.scaleX=i.scaleX||d,i.scaleY=i.scaleY||d,S=VA(o,i,{dirty:function(){h.setUnpainted(),h.painter.refresh()}}));o.save(),o.fillStyle=S||i,o.fillRect(m,v,g,_),o.restore()}u&&(o.save(),o.globalAlpha=c,o.drawImage(f,m,v,g,_),o.restore())}!r||u?p(0,0,s,l):r.length&&ne(r,function(m){p(m.x*d,m.y*d,m.width*d,m.height*d)})},e}(Ea);const hx=jce;var tO=1e5,R9=314159,vp=.01,$ce=.001;function qce(n){return n?n.__builtin__?!0:!(typeof n.resize!="function"||typeof n.refresh!="function"):!1}function Xce(n,e){var t=document.createElement("div");return t.style.cssText=["position:relative","width:"+n+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",t}var Yce=function(){function n(e,t,i,r){this.type="canvas",this._zlevelList=[],this._prevDisplayList=[],this._layers={},this._layerConfig={},this._needsManuallyCompositing=!1,this.type="canvas";var a=!e.nodeName||e.nodeName.toUpperCase()==="CANVAS";this._opts=i=I2({},i||{}),this.dpr=i.devicePixelRatio||Wm,this._singleCanvas=a,this.root=e;var o=e.style;o&&(v$(e),e.innerHTML=""),this.storage=t;var s=this._zlevelList;this._prevDisplayList=[];var l=this._layers;if(a){var c=e,d=c.width,h=c.height;i.width!=null&&(d=i.width),i.height!=null&&(h=i.height),this.dpr=i.devicePixelRatio||1,c.width=d*this.dpr,c.height=h*this.dpr,this._width=d,this._height=h;var f=new hx(c,this,this.dpr);f.__builtin__=!0,f.initContext(),l[R9]=f,f.zlevel=R9,s.push(R9),this._domRoot=e}else{this._width=Rl(e,0,i),this._height=Rl(e,1,i);var u=this._domRoot=Xce(this._width,this._height);e.appendChild(u)}}return n.prototype.getType=function(){return"canvas"},n.prototype.isSingleCanvas=function(){return this._singleCanvas},n.prototype.getViewportRoot=function(){return this._domRoot},n.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},n.prototype.refresh=function(e){var t=this.storage.getDisplayList(!0),i=this._prevDisplayList,r=this._zlevelList;this._redrawId=Math.random(),this._paintList(t,i,e,this._redrawId);for(var a=0;a<r.length;a++){var o=r[a],s=this._layers[o];if(!s.__builtin__&&s.refresh){var l=a===0?this._backgroundColor:null;s.refresh(l)}}return this._opts.useDirtyRect&&(this._prevDisplayList=t.slice()),this},n.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))},n.prototype._paintHoverList=function(e){var t=e.length,i=this._hoverlayer;if(i&&i.clear(),!!t){for(var r={inHover:!0,viewWidth:this._width,viewHeight:this._height},a,o=0;o<t;o++){var s=e[o];s.__inHover&&(i||(i=this._hoverlayer=this.getLayer(tO)),a||(a=i.ctx,a.save()),l8(a,s,r,o===t-1))}a&&a.restore()}},n.prototype.getHoverLayer=function(){return this.getLayer(tO)},n.prototype.paintOne=function(e,t){cY(e,t)},n.prototype._paintList=function(e,t,i,r){if(this._redrawId===r){i=i||!1,this._updateLayerStatus(e);var a=this._doPaintList(e,t,i),o=a.finished,s=a.needsRefreshHover;if(this._needsManuallyCompositing&&this._compositeManually(),s&&this._paintHoverList(e),o)this.eachLayer(function(u){u.afterBrush&&u.afterBrush()});else{var l=this;iA(function(){l._paintList(e,t,i,r)})}}},n.prototype._compositeManually=function(){var e=this.getLayer(R9).ctx,t=this._domRoot.width,i=this._domRoot.height;e.clearRect(0,0,t,i),this.eachBuiltinLayer(function(r){r.virtual&&e.drawImage(r.dom,0,0,t,i)})},n.prototype._doPaintList=function(e,t,i){for(var r=this,a=[],o=this._opts.useDirtyRect,s=0;s<this._zlevelList.length;s++){var l=this._zlevelList[s],u=this._layers[l];u.__builtin__&&u!==this._hoverlayer&&(u.__dirty||i)&&a.push(u)}for(var c=!0,d=!1,h=function(m){var v=a[m],g=v.ctx,_=o&&v.createRepaintRects(e,t,f._width,f._height),S=i?v.__startIndex:v.__drawIndex,x=!i&&v.incremental&&Date.now,A=x&&Date.now(),C=v.zlevel===f._zlevelList[0]?f._backgroundColor:null;if(v.__startIndex===v.__endIndex)v.clear(!1,C,_);else if(S===v.__startIndex){var M=e[S];(!M.incremental||!M.notClear||i)&&v.clear(!1,C,_)}S===-1&&(console.error("For some unknown reason. drawIndex is -1"),S=v.__startIndex);var I,D=function(V){var G={inHover:!1,allClipped:!1,prevEl:null,viewWidth:r._width,viewHeight:r._height};for(I=S;I<v.__endIndex;I++){var W=e[I];if(W.__inHover&&(d=!0),r._doPaintEl(W,v,o,V,G,I===v.__endIndex-1),x){var Y=Date.now()-A;if(Y>15)break}}G.prevElClipPaths&&g.restore()};if(_)if(_.length===0)I=v.__endIndex;else for(var E=f.dpr,P=0;P<_.length;++P){var F=_[P];g.save(),g.beginPath(),g.rect(F.x*E,F.y*E,F.width*E,F.height*E),g.clip(),D(F),g.restore()}else g.save(),D(),g.restore();v.__drawIndex=I,v.__drawIndex<v.__endIndex&&(c=!1)},f=this,p=0;p<a.length;p++)h(p);return q3.wxa&&ne(this._layers,function(m){m&&m.ctx&&m.ctx.draw&&m.ctx.draw()}),{finished:c,needsRefreshHover:d}},n.prototype._doPaintEl=function(e,t,i,r,a,o){var s=t.ctx;if(i){var l=e.getPaintRect();(!r||l&&l.intersect(r))&&(l8(s,e,a,o),e.setPrevPaintRect(l))}else l8(s,e,a,o)},n.prototype.getLayer=function(e,t){this._singleCanvas&&!this._needsManuallyCompositing&&(e=R9);var i=this._layers[e];return i||(i=new hx("zr_"+e,this,this.dpr),i.zlevel=e,i.__builtin__=!0,this._layerConfig[e]?u3(i,this._layerConfig[e],!0):this._layerConfig[e-vp]&&u3(i,this._layerConfig[e-vp],!0),t&&(i.virtual=t),this.insertLayer(e,i),i.initContext()),i},n.prototype.insertLayer=function(e,t){var i=this._layers,r=this._zlevelList,a=r.length,o=this._domRoot,s=null,l=-1;if(!i[e]&&qce(t)){if(a>0&&e>r[0]){for(l=0;l<a-1&&!(r[l]<e&&r[l+1]>e);l++);s=i[r[l]]}if(r.splice(l+1,0,e),i[e]=t,!t.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(t.dom,u.nextSibling):o.appendChild(t.dom)}else o.firstChild?o.insertBefore(t.dom,o.firstChild):o.appendChild(t.dom);t.painter||(t.painter=this)}},n.prototype.eachLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r];e.call(t,this._layers[a],a)}},n.prototype.eachBuiltinLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r],o=this._layers[a];o.__builtin__&&e.call(t,o,a)}},n.prototype.eachOtherLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r],o=this._layers[a];o.__builtin__||e.call(t,o,a)}},n.prototype.getLayers=function(){return this._layers},n.prototype._updateLayerStatus=function(e){this.eachBuiltinLayer(function(d,h){d.__dirty=d.__used=!1});function t(d){a&&(a.__endIndex!==d&&(a.__dirty=!0),a.__endIndex=d)}if(this._singleCanvas)for(var i=1;i<e.length;i++){var r=e[i];if(r.zlevel!==e[i-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}}var a=null,o=0,s,l;for(l=0;l<e.length;l++){var r=e[l],u=r.zlevel,c=void 0;s!==u&&(s=u,o=0),r.incremental?(c=this.getLayer(u+$ce,this._needsManuallyCompositing),c.incremental=!0,o=1):c=this.getLayer(u+(o>0?vp:0),this._needsManuallyCompositing),c.__builtin__||XM("ZLevel "+u+" has been used by unkown layer "+c.id),c!==a&&(c.__used=!0,c.__startIndex!==l&&(c.__dirty=!0),c.__startIndex=l,c.incremental?c.__drawIndex=-1:c.__drawIndex=l,t(l),a=c),r.__dirty&Mr&&!r.__inHover&&(c.__dirty=!0,c.incremental&&c.__drawIndex<0&&(c.__drawIndex=l))}t(l),this.eachBuiltinLayer(function(d,h){!d.__used&&d.getElementCount()>0&&(d.__dirty=!0,d.__startIndex=d.__endIndex=d.__drawIndex=0),d.__dirty&&d.__drawIndex<0&&(d.__drawIndex=d.__startIndex)})},n.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},n.prototype._clearLayer=function(e){e.clear()},n.prototype.setBackgroundColor=function(e){this._backgroundColor=e,ne(this._layers,function(t){t.setUnpainted()})},n.prototype.configLayer=function(e,t){if(t){var i=this._layerConfig;i[e]?u3(i[e],t,!0):i[e]=t;for(var r=0;r<this._zlevelList.length;r++){var a=this._zlevelList[r];if(a===e||a===e+vp){var o=this._layers[a];u3(o,i[e],!0)}}}},n.prototype.delLayer=function(e){var t=this._layers,i=this._zlevelList,r=t[e];r&&(r.dom.parentNode.removeChild(r.dom),delete t[e],i.splice(x3(i,e),1))},n.prototype.resize=function(e,t){if(this._domRoot.style){var i=this._domRoot;i.style.display="none";var r=this._opts,a=this.root;if(e!=null&&(r.width=e),t!=null&&(r.height=t),e=Rl(a,0,r),t=Rl(a,1,r),i.style.display="",this._width!==e||t!==this._height){i.style.width=e+"px",i.style.height=t+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(e,t);this.refresh(!0)}this._width=e,this._height=t}else{if(e==null||t==null)return;this._width=e,this._height=t,this.getLayer(R9).resize(e,t)}return this},n.prototype.clearLayer=function(e){var t=this._layers[e];t&&t.clear()},n.prototype.dispose=function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},n.prototype.getRenderedCanvas=function(e){if(e=e||{},this._singleCanvas&&!this._compositeManually)return this._layers[R9].dom;var t=new hx("image",this,e.pixelRatio||this.dpr);t.initContext(),t.clear(!1,e.backgroundColor||this._backgroundColor);var i=t.ctx;if(e.pixelRatio<=this.dpr){this.refresh();var r=t.dom.width,a=t.dom.height;this.eachLayer(function(d){d.__builtin__?i.drawImage(d.dom,0,0,r,a):d.renderToCanvas&&(i.save(),d.renderToCanvas(i),i.restore())})}else for(var o={inHover:!1,viewWidth:this._width,viewHeight:this._height},s=this.storage.getDisplayList(!0),l=0,u=s.length;l<u;l++){var c=s[l];l8(i,c,o,l===u-1)}return t.dom},n.prototype.getWidth=function(){return this._width},n.prototype.getHeight=function(){return this._height},n}();const Kce=Yce;function Zce(n){n.registerPainter("canvas",Kce)}var Jce=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t){return n6(null,this,{useEncodeDefaulter:!0})},e.prototype.getLegendIcon=function(t){var i=new Qt,r=X0("line",0,t.itemHeight/2,t.itemWidth,0,t.lineStyle.stroke,!1);i.add(r),r.setStyle(t.lineStyle);var a=this.getData().getVisual("symbol"),o=this.getData().getVisual("symbolRotate"),s=a==="none"?"circle":a,l=t.itemHeight*.8,u=X0(s,(t.itemWidth-l)/2,(t.itemHeight-l)/2,l,l,t.itemStyle.fill);i.add(u),u.setStyle(t.itemStyle);var c=t.iconRotate==="inherit"?o:t.iconRotate||0;return u.rotation=c*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),i},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(f0);const Qce=Jce;function v7(n,e){var t=n.mapDimensionsAll("defaultedLabel"),i=t.length;if(i===1){var r=h7(n,e,t[0]);return r!=null?r+"":null}else if(i){for(var a=[],o=0;o<t.length;o++)a.push(h7(n,e,t[o]));return a.join(" ")}}function LK(n,e){var t=n.mapDimensionsAll("defaultedLabel");if(!j2(e))return e+"";for(var i=[],r=0;r<t.length;r++){var a=n.getDimensionIndex(t[r]);a>=0&&i.push(e[a])}return i.join(" ")}var ede=function(n){o2(e,n);function e(t,i,r,a){var o=n.call(this)||this;return o.updateData(t,i,r,a),o}return e.prototype._createSymbol=function(t,i,r,a,o){this.removeAll();var s=X0(t,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=tde,this._symbolType=t,this.add(s)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){$s(this.childAt(0))},e.prototype.downplay=function(){qs(this.childAt(0))},e.prototype.setZ=function(t,i){var r=this.childAt(0);r.zlevel=t,r.z=i},e.prototype.setDraggable=function(t,i){var r=this.childAt(0);r.draggable=t,r.cursor=!i&&t?"move":r.cursor},e.prototype.updateData=function(t,i,r,a){this.silent=!1;var o=t.getItemVisual(i,"symbol")||"circle",s=t.hostModel,l=e.getSymbolSize(t,i),u=o!==this._symbolType,c=a&&a.disableAnimation;if(u){var d=t.getItemVisual(i,"symbolKeepAspect");this._createSymbol(o,t,i,l,d)}else{var h=this.childAt(0);h.silent=!1;var f={scaleX:l[0]/2,scaleY:l[1]/2};c?h.attr(f):Q3(h,f,s,i),no(h)}if(this._updateCommon(t,i,l,r,a),u){var h=this.childAt(0);if(!c){var f={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:h.style.opacity}};h.scaleX=h.scaleY=0,h.style.opacity=0,o0(h,f,s,i)}}c&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,i,r,a,o){var s=this.childAt(0),l=t.hostModel,u,c,d,h,f,p,m,v,g;if(a&&(u=a.emphasisItemStyle,c=a.blurItemStyle,d=a.selectItemStyle,h=a.focus,f=a.blurScope,m=a.labelStatesModels,v=a.hoverScale,g=a.cursorStyle,p=a.emphasisDisabled),!a||t.hasItemOption){var _=a&&a.itemModel?a.itemModel:t.getItemModel(i),S=_.getModel("emphasis");u=S.getModel("itemStyle").getItemStyle(),d=_.getModel(["select","itemStyle"]).getItemStyle(),c=_.getModel(["blur","itemStyle"]).getItemStyle(),h=S.get("focus"),f=S.get("blurScope"),p=S.get("disabled"),m=yn(_),v=S.getShallow("scale"),g=_.getShallow("cursor")}var x=t.getItemVisual(i,"symbolRotate");s.attr("rotation",(x||0)*Math.PI/180||0);var A=e4(t.getItemVisual(i,"symbolOffset"),r);A&&(s.x=A[0],s.y=A[1]),g&&s.attr("cursor",g);var C=t.getItemVisual(i,"style"),M=C.fill;if(s instanceof $n){var I=s.style;s.useStyle(I2({image:I.image,x:I.x,y:I.y,width:I.width,height:I.height},C))}else s.__isEmptyBrush?s.useStyle(I2({},C)):s.useStyle(C),s.style.decal=null,s.setColor(M,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var D=t.getItemVisual(i,"liftZ"),E=this._z2;D!=null?E==null&&(this._z2=s.z2,s.z2+=D):E!=null&&(s.z2=E,this._z2=null);var P=o&&o.useNameLabel;jn(s,m,{labelFetcher:l,labelDataIndex:i,defaultText:F,inheritColor:M,defaultOpacity:C.opacity});function F(W){return P?t.getName(W):v7(t,W)}this._sizeX=r[0]/2,this._sizeY=r[1]/2;var V=s.ensureState("emphasis");V.style=u,s.ensureState("select").style=d,s.ensureState("blur").style=c;var G=v==null||v===!0?Math.max(1.1,3/this._sizeY):isFinite(v)&&v>0?+v:1;V.scaleX=this._sizeX*G,V.scaleY=this._sizeY*G,this.setSymbolScale(1),g0(this,h,f,p)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,i,r){var a=this.childAt(0),o=t3(this).dataIndex,s=r&&r.animation;if(this.silent=a.silent=!0,r&&r.fadeLabel){var l=a.getTextContent();l&&P5(l,{style:{opacity:0}},i,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();P5(a,{style:{opacity:0},scaleX:0,scaleY:0},i,{dataIndex:o,cb:t,removeOpt:s})},e.getSymbolSize=function(t,i){return Y7(t.getItemVisual(i,"symbolSize"))},e}(Qt);function tde(n,e){this.parent.drift(n,e)}const Ah=ede;function fx(n,e,t,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(t))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&n.getItemVisual(t,"symbol")!=="none"}function nO(n){return n!=null&&!Kt(n)&&(n={isIgnore:n}),n||{}}function iO(n){var e=n.hostModel,t=e.getModel("emphasis");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:yn(e),cursorStyle:e.get("cursor")}}var nde=function(){function n(e){this.group=new Qt,this._SymbolCtor=e||Ah}return n.prototype.updateData=function(e,t){this._progressiveEls=null,t=nO(t);var i=this.group,r=e.hostModel,a=this._data,o=this._SymbolCtor,s=t.disableAnimation,l=iO(e),u={disableAnimation:s},c=t.getSymbolPoint||function(d){return e.getItemLayout(d)};a||i.removeAll(),e.diff(a).add(function(d){var h=c(d);if(fx(e,h,d,t)){var f=new o(e,d,l,u);f.setPosition(h),e.setItemGraphicEl(d,f),i.add(f)}}).update(function(d,h){var f=a.getItemGraphicEl(h),p=c(d);if(!fx(e,p,d,t)){i.remove(f);return}var m=e.getItemVisual(d,"symbol")||"circle",v=f&&f.getSymbolType&&f.getSymbolType();if(!f||v&&v!==m)i.remove(f),f=new o(e,d,l,u),f.setPosition(p);else{f.updateData(e,d,l,u);var g={x:p[0],y:p[1]};s?f.attr(g):Q3(f,g,r)}i.add(f),e.setItemGraphicEl(d,f)}).remove(function(d){var h=a.getItemGraphicEl(d);h&&h.fadeOut(function(){i.remove(h)},r)}).execute(),this._getSymbolPoint=c,this._data=e},n.prototype.updateLayout=function(){var e=this,t=this._data;t&&t.eachItemGraphicEl(function(i,r){var a=e._getSymbolPoint(r);i.setPosition(a),i.markRedraw()})},n.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=iO(e),this._data=null,this.group.removeAll()},n.prototype.incrementalUpdate=function(e,t,i){this._progressiveEls=[],i=nO(i);function r(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=e.start;a<e.end;a++){var o=t.getItemLayout(a);if(fx(t,o,a,i)){var s=new this._SymbolCtor(t,a,this._seriesScope);s.traverse(r),s.setPosition(o),this.group.add(s),t.setItemGraphicEl(a,s),this._progressiveEls.push(s)}}},n.prototype.eachRendered=function(e){G5(this._progressiveEls||this.group,e)},n.prototype.remove=function(e){var t=this.group,i=this._data;i&&e?i.eachItemGraphicEl(function(r){r.fadeOut(function(){t.remove(r)},i.hostModel)}):t.removeAll()},n}();const Ch=nde;function IK(n,e,t){var i=n.getBaseAxis(),r=n.getOtherAxis(i),a=ide(r,t),o=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(o),c=s==="x"||s==="radius"?1:0,d=q2(n.dimensions,function(p){return e.mapDimension(p)}),h=!1,f=e.getCalculationInfo("stackResultDimension");return L5(e,d[0])&&(h=!0,d[0]=f),L5(e,d[1])&&(h=!0,d[1]=f),{dataDimsForPoint:d,valueStart:a,valueAxisDim:s,baseAxisDim:o,stacked:!!h,valueDim:l,baseDim:u,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function ide(n,e){var t=0,i=n.scale.getExtent();return e==="start"?t=i[0]:e==="end"?t=i[1]:Y3(e)&&!isNaN(e)?t=e:i[0]>0?t=i[0]:i[1]<0&&(t=i[1]),t}function DK(n,e,t,i){var r=NaN;n.stacked&&(r=t.get(t.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=n.valueStart);var a=n.baseDataOffset,o=[];return o[a]=t.get(n.baseDim,i),o[1-a]=r,e.dataToPoint(o)}function rde(n,e){var t=[];return e.diff(n).add(function(i){t.push({cmd:"+",idx:i})}).update(function(i,r){t.push({cmd:"=",idx:r,idx1:i})}).remove(function(i){t.push({cmd:"-",idx:i})}).execute(),t}function ade(n,e,t,i,r,a,o,s){for(var l=rde(n,e),u=[],c=[],d=[],h=[],f=[],p=[],m=[],v=IK(r,e,o),g=n.getLayout("points")||[],_=e.getLayout("points")||[],S=0;S<l.length;S++){var x=l[S],A=!0,C=void 0,M=void 0;switch(x.cmd){case"=":C=x.idx*2,M=x.idx1*2;var I=g[C],D=g[C+1],E=_[M],P=_[M+1];(isNaN(I)||isNaN(D))&&(I=E,D=P),u.push(I,D),c.push(E,P),d.push(t[C],t[C+1]),h.push(i[M],i[M+1]),m.push(e.getRawIndex(x.idx1));break;case"+":var F=x.idx,V=v.dataDimsForPoint,G=r.dataToPoint([e.get(V[0],F),e.get(V[1],F)]);M=F*2,u.push(G[0],G[1]),c.push(_[M],_[M+1]);var W=DK(v,r,e,F);d.push(W[0],W[1]),h.push(i[M],i[M+1]),m.push(e.getRawIndex(F));break;case"-":A=!1}A&&(f.push(x),p.push(p.length))}p.sort(function(Oe,f2){return m[Oe]-m[f2]});for(var Y=u.length,Q=Go(Y),K=Go(Y),ae=Go(Y),ie=Go(Y),he=[],S=0;S<p.length;S++){var Ee=p[S],je=S*2,xe=Ee*2;Q[je]=u[xe],Q[je+1]=u[xe+1],K[je]=c[xe],K[je+1]=c[xe+1],ae[je]=d[xe],ae[je+1]=d[xe+1],ie[je]=h[xe],ie[je+1]=h[xe+1],he[S]=f[Ee]}return{current:Q,next:K,stackedOnCurrent:ae,stackedOnNext:ie,status:he}}var R6=Math.min,L6=Math.max;function A8(n,e){return isNaN(n)||isNaN(e)}function JA(n,e,t,i,r,a,o,s,l){for(var u,c,d,h,f,p,m=t,v=0;v<i;v++){var g=e[m*2],_=e[m*2+1];if(m>=r||m<0)break;if(A8(g,_)){if(l){m+=a;continue}break}if(m===t)n[a>0?"moveTo":"lineTo"](g,_),d=g,h=_;else{var S=g-u,x=_-c;if(S*S+x*x<.5){m+=a;continue}if(o>0){for(var A=m+a,C=e[A*2],M=e[A*2+1];C===g&&M===_&&v<i;)v++,A+=a,m+=a,C=e[A*2],M=e[A*2+1],g=e[m*2],_=e[m*2+1],S=g-u,x=_-c;var I=v+1;if(l)for(;A8(C,M)&&I<i;)I++,A+=a,C=e[A*2],M=e[A*2+1];var D=.5,E=0,P=0,F=void 0,V=void 0;if(I>=i||A8(C,M))f=g,p=_;else{E=C-u,P=M-c;var G=g-u,W=C-g,Y=_-c,Q=M-_,K=void 0,ae=void 0;if(s==="x"){K=Math.abs(G),ae=Math.abs(W);var ie=E>0?1:-1;f=g-ie*K*o,p=_,F=g+ie*ae*o,V=_}else if(s==="y"){K=Math.abs(Y),ae=Math.abs(Q);var he=P>0?1:-1;f=g,p=_-he*K*o,F=g,V=_+he*ae*o}else K=Math.sqrt(G*G+Y*Y),ae=Math.sqrt(W*W+Q*Q),D=ae/(ae+K),f=g-E*o*(1-D),p=_-P*o*(1-D),F=g+E*o*D,V=_+P*o*D,F=R6(F,L6(C,g)),V=R6(V,L6(M,_)),F=L6(F,R6(C,g)),V=L6(V,R6(M,_)),E=F-g,P=V-_,f=g-E*K/ae,p=_-P*K/ae,f=R6(f,L6(u,g)),p=R6(p,L6(c,_)),f=L6(f,R6(u,g)),p=L6(p,R6(c,_)),E=g-f,P=_-p,F=g+E*ae/K,V=_+P*ae/K}n.bezierCurveTo(d,h,f,p,g,_),d=F,h=V}else n.lineTo(g,_)}u=g,c=_,m+=a}return v}var NK=function(){function n(){this.smooth=0,this.smoothConstraint=!0}return n}(),ode=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-polyline",i}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new NK},e.prototype.buildPath=function(t,i){var r=i.points,a=0,o=r.length/2;if(i.connectNulls){for(;o>0&&A8(r[o*2-2],r[o*2-1]);o--);for(;a<o&&A8(r[a*2],r[a*2+1]);a++);}for(;a<o;)a+=JA(t,r,a,o,o,1,i.smooth,i.smoothMonotone,i.connectNulls)+1},e.prototype.getPointOn=function(t,i){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var r=this.path,a=r.data,o=Qo.CMD,s,l,u=i==="x",c=[],d=0;d<a.length;){var h=a[d++],f=void 0,p=void 0,m=void 0,v=void 0,g=void 0,_=void 0,S=void 0;switch(h){case o.M:s=a[d++],l=a[d++];break;case o.L:if(f=a[d++],p=a[d++],S=u?(t-s)/(f-s):(t-l)/(p-l),S<=1&&S>=0){var x=u?(p-l)*S+l:(f-s)*S+s;return u?[t,x]:[x,t]}s=f,l=p;break;case o.C:f=a[d++],p=a[d++],m=a[d++],v=a[d++],g=a[d++],_=a[d++];var A=u?Gm(s,f,m,g,t,c):Gm(l,p,v,_,t,c);if(A>0)for(var C=0;C<A;C++){var M=c[C];if(M<=1&&M>=0){var x=u?pn(l,p,v,_,M):pn(s,f,m,g,M);return u?[t,x]:[x,t]}}s=g,l=_;break}}},e}(E3),sde=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(NK),kK=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-polygon",i}return e.prototype.getDefaultShape=function(){return new sde},e.prototype.buildPath=function(t,i){var r=i.points,a=i.stackedOnPoints,o=0,s=r.length/2,l=i.smoothMonotone;if(i.connectNulls){for(;s>0&&A8(r[s*2-2],r[s*2-1]);s--);for(;o<s&&A8(r[o*2],r[o*2+1]);o++);}for(;o<s;){var u=JA(t,r,o,s,s,1,i.smooth,l,i.connectNulls);JA(t,a,o+u-1,u,s,-1,i.stackedOnSmooth,l,i.connectNulls),o+=u+1,t.closePath()}},e}(E3);function FK(n,e,t,i,r){var a=n.getArea(),o=a.x,s=a.y,l=a.width,u=a.height,c=t.get(["lineStyle","width"])||0;o-=c/2,s-=c/2,l+=c,u+=c,l=Math.ceil(l),o!==Math.floor(o)&&(o=Math.floor(o),l++);var d=new H3({shape:{x:o,y:s,width:l,height:u}});if(e){var h=n.getBaseAxis(),f=h.isHorizontal(),p=h.inverse;f?(p&&(d.shape.x+=l),d.shape.width=0):(p||(d.shape.y+=u),d.shape.height=0);var m=Wt(r)?function(v){r(v,d)}:null;o0(d,{shape:{width:l,height:u,x:o,y:s}},t,null,i,m)}return d}function OK(n,e,t){var i=n.getArea(),r=P0(i.r0,1),a=P0(i.r,1),o=new sr({shape:{cx:P0(n.cx,1),cy:P0(n.cy,1),r0:r,r:a,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}});if(e){var s=n.getBaseAxis().dim==="angle";s?o.shape.endAngle=i.startAngle:o.shape.r=r,o0(o,{shape:{endAngle:i.endAngle,r:a}},t)}return o}function Mh(n,e,t,i,r){if(n){if(n.type==="polar")return OK(n,e,t);if(n.type==="cartesian2d")return FK(n,e,t,i,r)}else return null;return null}function n4(n,e){return n.type===e}function rO(n,e){if(n.length===e.length){for(var t=0;t<n.length;t++)if(n[t]!==e[t])return;return!0}}function aO(n){for(var e=1/0,t=1/0,i=-1/0,r=-1/0,a=0;a<n.length;){var o=n[a++],s=n[a++];isNaN(o)||(e=Math.min(o,e),i=Math.max(o,i)),isNaN(s)||(t=Math.min(s,t),r=Math.max(s,r))}return[[e,t],[i,r]]}function oO(n,e){var t=aO(n),i=t[0],r=t[1],a=aO(e),o=a[0],s=a[1];return Math.max(Math.abs(i[0]-o[0]),Math.abs(i[1]-o[1]),Math.abs(r[0]-s[0]),Math.abs(r[1]-s[1]))}function sO(n){return Y3(n)?n:n?.5:0}function lde(n,e,t){if(!t.valueDim)return[];for(var i=e.count(),r=Go(i*2),a=0;a<i;a++){var o=DK(t,n,e,a);r[a*2]=o[0],r[a*2+1]=o[1]}return r}function I6(n,e,t,i,r){var a=t.getBaseAxis(),o=a.dim==="x"||a.dim==="radius"?0:1,s=[],l=0,u=[],c=[],d=[],h=[];if(r){for(l=0;l<n.length;l+=2){var f=e||n;!isNaN(f[l])&&!isNaN(f[l+1])&&h.push(n[l],n[l+1])}n=h}for(l=0;l<n.length-2;l+=2)switch(d[0]=n[l+2],d[1]=n[l+3],c[0]=n[l],c[1]=n[l+1],s.push(c[0],c[1]),i){case"end":u[o]=d[o],u[1-o]=c[1-o],s.push(u[0],u[1]);break;case"middle":var p=(c[o]+d[o])/2,m=[];u[o]=m[o]=p,u[1-o]=c[1-o],m[1-o]=d[1-o],s.push(u[0],u[1]),s.push(m[0],m[1]);break;default:u[o]=c[o],u[1-o]=d[1-o],s.push(u[0],u[1])}return s.push(n[l++],n[l++]),s}function ude(n,e){var t=[],i=n.length,r,a;function o(c,d,h){var f=c.coord,p=(h-f)/(d.coord-f),m=y6e(p,[c.color,d.color]);return{coord:h,color:m}}for(var s=0;s<i;s++){var l=n[s],u=l.coord;if(u<0)r=l;else if(u>e){a?t.push(o(a,l,e)):r&&t.push(o(r,l,0),o(r,l,e));break}else r&&(t.push(o(r,l,0)),r=null),t.push(l),a=l}return t}function cde(n,e,t){var i=n.getVisual("visualMeta");if(!(!i||!i.length||!n.count())&&e.type==="cartesian2d"){for(var r,a,o=i.length-1;o>=0;o--){var s=n.getDimensionInfo(i[o].dimension);if(r=s&&s.coordDim,r==="x"||r==="y"){a=i[o];break}}if(a){var l=e.getAxis(r),u=q2(a.stops,function(S){return{coord:l.toGlobalCoord(l.dataToCoord(S.value)),color:S.color}}),c=u.length,d=a.outerColors.slice();c&&u[0].coord>u[c-1].coord&&(u.reverse(),d.reverse());var h=ude(u,r==="x"?t.getWidth():t.getHeight()),f=h.length;if(!f&&c)return u[0].coord<0?d[1]?d[1]:u[c-1].color:d[0]?d[0]:u[0].color;var p=10,m=h[0].coord-p,v=h[f-1].coord+p,g=v-m;if(g<.001)return"transparent";ne(h,function(S){S.offset=(S.coord-m)/g}),h.push({offset:f?h[f-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:f?h[0].offset:.5,color:d[0]||"transparent"});var _=new fn(0,0,0,0,h,!0);return _[r]=m,_[r+"2"]=v,_}}}function dde(n,e,t){var i=n.get("showAllSymbol"),r=i==="auto";if(!(i&&!r)){var a=t.getAxesByScale("ordinal")[0];if(a&&!(r&&hde(a,e))){var o=e.mapDimension(a.dim),s={};return ne(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(e.get(o,l))}}}}function hde(n,e){var t=n.getExtent(),i=Math.abs(t[1]-t[0])/n.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),a=Math.max(1,Math.round(r/5)),o=0;o<r;o+=a)if(Ah.getSymbolSize(e,o)[n.isHorizontal()?1:0]*1.5>i)return!1;return!0}function fde(n,e){return isNaN(n)||isNaN(e)}function pde(n){for(var e=n.length/2;e>0&&fde(n[e*2-2],n[e*2-1]);e--);return e-1}function lO(n,e){return[n[e*2],n[e*2+1]]}function vde(n,e,t){for(var i=n.length/2,r=t==="x"?0:1,a,o,s=0,l=-1,u=0;u<i;u++)if(o=n[u*2+r],!(isNaN(o)||isNaN(n[u*2+1-r]))){if(u===0){a=o;continue}if(a<=e&&o>=e||a>=e&&o<=e){l=u;break}s=u,a=o}return{range:[s,l],t:(e-a)/(o-a)}}function BK(n){if(n.get(["endLabel","show"]))return!0;for(var e=0;e<Li.length;e++)if(n.get([Li[e],"endLabel","show"]))return!0;return!1}function px(n,e,t,i){if(n4(e,"cartesian2d")){var r=i.getModel("endLabel"),a=r.get("valueAnimation"),o=i.getData(),s={lastFrameIndex:0},l=BK(i)?function(f,p){n._endLabelOnDuring(f,p,o,s,a,r,e)}:null,u=e.getBaseAxis().isHorizontal(),c=FK(e,t,i,function(){var f=n._endLabel;f&&t&&s.originalX!=null&&f.attr({x:s.originalX,y:s.originalY})},l);if(!i.get("clip",!0)){var d=c.shape,h=Math.max(d.width,d.height);u?(d.y-=h,d.height+=h*2):(d.x-=h,d.width+=h*2)}return l&&l(1,c),c}else return OK(e,t,i)}function mde(n,e){var t=e.getBaseAxis(),i=t.isHorizontal(),r=t.inverse,a=i?r?"right":"left":"center",o=i?"middle":r?"top":"bottom";return{normal:{align:n.get("align")||a,verticalAlign:n.get("verticalAlign")||o}}}var gde=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(){var t=new Qt,i=new Ch;this.group.add(i.group),this._symbolDraw=i,this._lineGroup=t,this._changePolyState=Tt(this._changePolyState,this)},e.prototype.render=function(t,i,r){var a=t.coordinateSystem,o=this.group,s=t.getData(),l=t.getModel("lineStyle"),u=t.getModel("areaStyle"),c=s.getLayout("points")||[],d=a.type==="polar",h=this._coordSys,f=this._symbolDraw,p=this._polyline,m=this._polygon,v=this._lineGroup,g=!i.ssr&&t.get("animation"),_=!u.isEmpty(),S=u.get("origin"),x=IK(a,s,S),A=_&&lde(a,s,x),C=t.get("showSymbol"),M=t.get("connectNulls"),I=C&&!d&&dde(t,s,a),D=this._data;D&&D.eachItemGraphicEl(function(Oe,f2){Oe.__temp&&(o.remove(Oe),D.setItemGraphicEl(f2,null))}),C||f.remove(),o.add(v);var E=d?!1:t.get("step"),P;a&&a.getArea&&t.get("clip",!0)&&(P=a.getArea(),P.width!=null?(P.x-=.1,P.y-=.1,P.width+=.2,P.height+=.2):P.r0&&(P.r0-=.5,P.r+=.5)),this._clipShapeForSymbol=P;var F=cde(s,a,r)||s.getVisual("style")[s.getVisual("drawType")];if(!(p&&h.type===a.type&&E===this._step))C&&f.updateData(s,{isIgnore:I,clipShape:P,disableAnimation:!0,getSymbolPoint:function(Oe){return[c[Oe*2],c[Oe*2+1]]}}),g&&this._initSymbolLabelAnimation(s,a,P),E&&(A&&(A=I6(A,c,a,E,M)),c=I6(c,null,a,E,M)),p=this._newPolyline(c),_?m=this._newPolygon(c,A):m&&(v.remove(m),m=this._polygon=null),d||this._initOrUpdateEndLabel(t,a,z8(F)),v.setClipPath(px(this,a,!0,t));else{_&&!m?m=this._newPolygon(c,A):m&&!_&&(v.remove(m),m=this._polygon=null),d||this._initOrUpdateEndLabel(t,a,z8(F));var V=v.getClipPath();if(V){var G=px(this,a,!1,t);o0(V,{shape:G.shape},t)}else v.setClipPath(px(this,a,!0,t));C&&f.updateData(s,{isIgnore:I,clipShape:P,disableAnimation:!0,getSymbolPoint:function(Oe){return[c[Oe*2],c[Oe*2+1]]}}),(!rO(this._stackedOnPoints,A)||!rO(this._points,c))&&(g?this._doUpdateAnimation(s,A,a,r,E,S,M):(E&&(A&&(A=I6(A,c,a,E,M)),c=I6(c,null,a,E,M)),p.setShape({points:c}),m&&m.setShape({points:c,stackedOnPoints:A})))}var W=t.getModel("emphasis"),Y=W.get("focus"),Q=W.get("blurScope"),K=W.get("disabled");if(p.useStyle(qt(l.getLineStyle(),{fill:"none",stroke:F,lineJoin:"bevel"})),Wn(p,t,"lineStyle"),p.style.lineWidth>0&&t.get(["emphasis","lineStyle","width"])==="bolder"){var ae=p.getState("emphasis").style;ae.lineWidth=+p.style.lineWidth+1}t3(p).seriesIndex=t.seriesIndex,g0(p,Y,Q,K);var ie=sO(t.get("smooth")),he=t.get("smoothMonotone");if(p.setShape({smooth:ie,smoothMonotone:he,connectNulls:M}),m){var Ee=s.getCalculationInfo("stackedOnSeries"),je=0;m.useStyle(qt(u.getAreaStyle(),{fill:F,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),Ee&&(je=sO(Ee.get("smooth"))),m.setShape({smooth:ie,stackedOnSmooth:je,smoothMonotone:he,connectNulls:M}),Wn(m,t,"areaStyle"),t3(m).seriesIndex=t.seriesIndex,g0(m,Y,Q,K)}var xe=this._changePolyState;s.eachItemGraphicEl(function(Oe){Oe&&(Oe.onHoverStateChange=xe)}),this._polyline.onHoverStateChange=xe,this._data=s,this._coordSys=a,this._stackedOnPoints=A,this._points=c,this._step=E,this._valueOrigin=S,t.get("triggerLineEvent")&&(this.packEventData(t,p),m&&this.packEventData(t,m))},e.prototype.packEventData=function(t,i){t3(i).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,i,r,a){var o=t.getData(),s=F8(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var c=l[s*2],d=l[s*2+1];if(isNaN(c)||isNaN(d)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(c,d))return;var h=t.get("zlevel")||0,f=t.get("z")||0;u=new Ah(o,s),u.x=c,u.y=d,u.setZ(h,f);var p=u.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=f,p.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else q1.prototype.highlight.call(this,t,i,r,a)},e.prototype.downplay=function(t,i,r,a){var o=t.getData(),s=F8(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else q1.prototype.downplay.call(this,t,i,r,a)},e.prototype._changePolyState=function(t){var i=this._polygon;qm(this._polyline,t),i&&qm(i,t)},e.prototype._newPolyline=function(t){var i=this._polyline;return i&&this._lineGroup.remove(i),i=new ode({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(i),this._polyline=i,i},e.prototype._newPolygon=function(t,i){var r=this._polygon;return r&&this._lineGroup.remove(r),r=new kK({shape:{points:t,stackedOnPoints:i},segmentIgnoreThreshold:2}),this._lineGroup.add(r),this._polygon=r,r},e.prototype._initSymbolLabelAnimation=function(t,i,r){var a,o,s=i.getBaseAxis(),l=s.inverse;i.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):i.type==="polar"&&(a=s.dim==="angle",o=!0);var u=t.hostModel,c=u.get("animationDuration");Wt(c)&&(c=c(null));var d=u.get("animationDelay")||0,h=Wt(d)?d(null):d;t.eachItemGraphicEl(function(f,p){var m=f;if(m){var v=[f.x,f.y],g=void 0,_=void 0,S=void 0;if(r)if(o){var x=r,A=i.pointToCoord(v);a?(g=x.startAngle,_=x.endAngle,S=-A[1]/180*Math.PI):(g=x.r0,_=x.r,S=A[0])}else{var C=r;a?(g=C.x,_=C.x+C.width,S=f.x):(g=C.y+C.height,_=C.y,S=f.y)}var M=_===g?0:(S-g)/(_-g);l&&(M=1-M);var I=Wt(d)?d(p):c*M+h,D=m.getSymbolPath(),E=D.getTextContent();m.attr({scaleX:0,scaleY:0}),m.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:I}),E&&E.animateFrom({style:{opacity:0}},{duration:300,delay:I}),D.disableLabelAnimation=!0}})},e.prototype._initOrUpdateEndLabel=function(t,i,r){var a=t.getModel("endLabel");if(BK(t)){var o=t.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new X3({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var c=pde(l);c>=0&&(jn(s,yn(t,"endLabel"),{inheritColor:r,labelFetcher:t,labelDataIndex:c,defaultText:function(d,h,f){return f!=null?LK(o,f):v7(o,d)},enableTextSetter:!0},mde(a,i)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,i,r,a,o,s,l){var u=this._endLabel,c=this._polyline;if(u){t<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var d=r.getLayout("points"),h=r.hostModel,f=h.get("connectNulls"),p=s.get("precision"),m=s.get("distance")||0,v=l.getBaseAxis(),g=v.isHorizontal(),_=v.inverse,S=i.shape,x=_?g?S.x:S.y+S.height:g?S.x+S.width:S.y,A=(g?m:0)*(_?-1:1),C=(g?0:-m)*(_?-1:1),M=g?"x":"y",I=vde(d,x,M),D=I.range,E=D[1]-D[0],P=void 0;if(E>=1){if(E>1&&!f){var F=lO(d,D[0]);u.attr({x:F[0]+A,y:F[1]+C}),o&&(P=h.getRawValue(D[0]))}else{var F=c.getPointOn(x,M);F&&u.attr({x:F[0]+A,y:F[1]+C});var V=h.getRawValue(D[0]),G=h.getRawValue(D[1]);o&&(P=iq(r,p,V,G,I.t))}a.lastFrameIndex=D[0]}else{var W=t===1||a.lastFrameIndex>0?D[0]:0,F=lO(d,W);o&&(P=h.getRawValue(W)),u.attr({x:F[0]+A,y:F[1]+C})}if(o){var Y=U7(u);typeof Y.setLabelText=="function"&&Y.setLabelText(P)}}},e.prototype._doUpdateAnimation=function(t,i,r,a,o,s,l){var u=this._polyline,c=this._polygon,d=t.hostModel,h=ade(this._data,t,this._stackedOnPoints,i,this._coordSys,r,this._valueOrigin),f=h.current,p=h.stackedOnCurrent,m=h.next,v=h.stackedOnNext;if(o&&(p=I6(h.stackedOnCurrent,h.current,r,o,l),f=I6(h.current,null,r,o,l),v=I6(h.stackedOnNext,h.next,r,o,l),m=I6(h.next,null,r,o,l)),oO(f,m)>3e3||c&&oO(p,v)>3e3){u.stopAnimation(),u.setShape({points:m}),c&&(c.stopAnimation(),c.setShape({points:m,stackedOnPoints:v}));return}u.shape.__points=h.current,u.shape.points=f;var g={shape:{points:m}};h.current!==f&&(g.shape.__points=h.next),u.stopAnimation(),Q3(u,g,d),c&&(c.setShape({points:f,stackedOnPoints:p}),c.stopAnimation(),Q3(c,{shape:{stackedOnPoints:v}},d),u.shape.points!==c.shape.points&&(c.shape.points=u.shape.points));for(var _=[],S=h.status,x=0;x<S.length;x++){var A=S[x].cmd;if(A==="="){var C=t.getItemGraphicEl(S[x].idx1);C&&_.push({el:C,ptIdx:x})}}u.animators&&u.animators.length&&u.animators[0].during(function(){c&&c.dirtyShape();for(var M=u.shape.__points,I=0;I<_.length;I++){var D=_[I].el,E=_[I].ptIdx*2;D.x=M[E],D.y=M[E+1],D.markRedraw()}})},e.prototype.remove=function(t){var i=this.group,r=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),r&&r.eachItemGraphicEl(function(a,o){a.__temp&&(i.remove(a),r.setItemGraphicEl(o,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null},e.type="line",e}(q1);const yde=gde;function Eh(n,e){return{seriesType:n,plan:q7(),reset:function(t){var i=t.getData(),r=t.coordinateSystem,a=t.pipelineContext,o=e||a.large;if(r){var s=q2(r.dimensions,function(f){return i.mapDimension(f)}).slice(0,2),l=s.length,u=i.getCalculationInfo("stackResultDimension");L5(i,s[0])&&(s[0]=u),L5(i,s[1])&&(s[1]=u);var c=i.getStore(),d=i.getDimensionIndex(s[0]),h=i.getDimensionIndex(s[1]);return l&&{progress:function(f,p){for(var m=f.end-f.start,v=o&&Go(m*l),g=[],_=[],S=f.start,x=0;S<f.end;S++){var A=void 0;if(l===1){var C=c.get(d,S);A=r.dataToPoint(C,null,_)}else g[0]=c.get(d,S),g[1]=c.get(h,S),A=r.dataToPoint(g,null,_);o?(v[x++]=A[0],v[x++]=A[1]):p.setItemLayout(S,A.slice())}o&&p.setLayout("points",v)}}}}}}var _de={average:function(n){for(var e=0,t=0,i=0;i<n.length;i++)isNaN(n[i])||(e+=n[i],t++);return t===0?NaN:e/t},sum:function(n){for(var e=0,t=0;t<n.length;t++)e+=n[t]||0;return e},max:function(n){for(var e=-1/0,t=0;t<n.length;t++)n[t]>e&&(e=n[t]);return isFinite(e)?e:NaN},min:function(n){for(var e=1/0,t=0;t<n.length;t++)n[t]<e&&(e=n[t]);return isFinite(e)?e:NaN},nearest:function(n){return n[0]}},Sde=function(n){return Math.round(n.length/2)};function zK(n){return{seriesType:n,reset:function(e,t,i){var r=e.getData(),a=e.get("sampling"),o=e.coordinateSystem,s=r.count();if(s>10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),c=l.getExtent(),d=i.getDevicePixelRatio(),h=Math.abs(c[1]-c[0])*(d||1),f=Math.round(s/h);if(isFinite(f)&&f>1){a==="lttb"?e.setData(r.lttbDownSample(r.mapDimension(u.dim),1/f)):a==="minmax"&&e.setData(r.minmaxDownSample(r.mapDimension(u.dim),1/f));var p=void 0;xt(a)?p=_de[a]:Wt(a)&&(p=a),p&&e.setData(r.downSample(r.mapDimension(u.dim),1/f,p,Sde))}}}}}function bde(n){n.registerChartView(yde),n.registerSeriesModel(Qce),n.registerLayout(Eh("line",!0)),n.registerVisual({seriesType:"line",reset:function(e){var t=e.getData(),i=e.getModel("lineStyle").getLineStyle();i&&!i.stroke&&(i.stroke=t.getVisual("style").fill),t.setVisual("legendLineStyle",i)}}),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,zK("line"))}var GK=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){return n6(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,i,r){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(t),s=a.dataToPoint(o);if(r)ne(a.getAxes(),function(h,f){if(h.type==="category"&&i!=null){var p=h.getTicksCoords(),m=h.getTickModel().get("alignWithLabel"),v=o[f],g=i[f]==="x1"||i[f]==="y1";if(g&&!m&&(v+=1),p.length<2)return;if(p.length===2){s[f]=h.toGlobalCoord(h.getExtent()[g?1:0]);return}for(var _=void 0,S=void 0,x=1,A=0;A<p.length;A++){var C=p[A].coord,M=A===p.length-1?p[A-1].tickValue+x:p[A].tickValue;if(M===v){S=C;break}else if(M<v)_=C;else if(_!=null&&M>v){S=(C+_)/2;break}A===1&&(x=M-p[0].tickValue)}S==null&&(_?_&&(S=p[p.length-1].coord):S=p[0].coord),s[f]=h.toGlobalCoord(S)}});else{var l=this.getData(),u=l.getLayout("offset"),c=l.getLayout("size"),d=a.getBaseAxis().isHorizontal()?0:1;s[d]+=u+c/2}return s}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(f0);f0.registerClass(GK);const hg=GK;var xde=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(){return n6(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),i=this.get("largeThreshold");return i>t&&(t=i),t},e.prototype.brushSelector=function(t,i,r){return r.rect(i.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=U5(hg.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,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:!1}),e}(hg);const wde=xde;var Tde=function(){function n(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return n}(),Ade=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="sausage",i}return e.prototype.getDefaultShape=function(){return new Tde},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.max(i.r0||0,0),s=Math.max(i.r,0),l=(s-o)*.5,u=o+l,c=i.startAngle,d=i.endAngle,h=i.clockwise,f=Math.PI*2,p=h?d-c<f:c-d<f;p||(c=d-(h?f:-f));var m=Math.cos(c),v=Math.sin(c),g=Math.cos(d),_=Math.sin(d);p?(t.moveTo(m*o+r,v*o+a),t.arc(m*u+r,v*u+a,l,-Math.PI+c,c,!h)):t.moveTo(m*s+r,v*s+a),t.arc(r,a,s,c,d,!h),t.arc(g*u+r,_*u+a,l,d-Math.PI*2,d-Math.PI,!h),o!==0&&t.arc(r,a,o,d,c,h)},e}(E3);const fg=Ade;function Cde(n,e){e=e||{};var t=e.isRoundCap;return function(i,r,a){var o=r.position;if(!o||o instanceof Array)return jm(i,r,a);var s=n(o),l=r.distance!=null?r.distance:5,u=this.shape,c=u.cx,d=u.cy,h=u.r,f=u.r0,p=(h+f)/2,m=u.startAngle,v=u.endAngle,g=(m+v)/2,_=t?Math.abs(h-f)/2:0,S=Math.cos,x=Math.sin,A=c+h*S(m),C=d+h*x(m),M="left",I="top";switch(s){case"startArc":A=c+(f-l)*S(g),C=d+(f-l)*x(g),M="center",I="top";break;case"insideStartArc":A=c+(f+l)*S(g),C=d+(f+l)*x(g),M="center",I="bottom";break;case"startAngle":A=c+p*S(m)+mp(m,l+_,!1),C=d+p*x(m)+gp(m,l+_,!1),M="right",I="middle";break;case"insideStartAngle":A=c+p*S(m)+mp(m,-l+_,!1),C=d+p*x(m)+gp(m,-l+_,!1),M="left",I="middle";break;case"middle":A=c+p*S(g),C=d+p*x(g),M="center",I="middle";break;case"endArc":A=c+(h+l)*S(g),C=d+(h+l)*x(g),M="center",I="bottom";break;case"insideEndArc":A=c+(h-l)*S(g),C=d+(h-l)*x(g),M="center",I="top";break;case"endAngle":A=c+p*S(v)+mp(v,l+_,!0),C=d+p*x(v)+gp(v,l+_,!0),M="left",I="middle";break;case"insideEndAngle":A=c+p*S(v)+mp(v,-l+_,!0),C=d+p*x(v)+gp(v,-l+_,!0),M="right",I="middle";break;default:return jm(i,r,a)}return i=i||{},i.x=A,i.y=C,i.align=M,i.verticalAlign=I,i}}function Mde(n,e,t,i){if(Y3(i)){n.setTextConfig({rotation:i});return}else if(j2(e)){n.setTextConfig({rotation:0});return}var r=n.shape,a=r.clockwise?r.startAngle:r.endAngle,o=r.clockwise?r.endAngle:r.startAngle,s=(a+o)/2,l,u=t(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":l=s;break;case"startAngle":case"insideStartAngle":l=a;break;case"endAngle":case"insideEndAngle":l=o;break;default:n.setTextConfig({rotation:0});return}var c=Math.PI*1.5-l;u==="middle"&&c>Math.PI/2&&c<Math.PI*1.5&&(c-=Math.PI),n.setTextConfig({rotation:c})}function mp(n,e,t){return e*Math.sin(n)*(t?-1:1)}function gp(n,e,t){return e*Math.cos(n)*(t?1:-1)}function u8(n,e,t){var i=n.get("borderRadius");if(i==null)return t?{cornerRadius:0}:null;j2(i)||(i=[i,i,i,i]);var r=Math.abs(e.r||0-e.r0||0);return{cornerRadius:q2(i,function(a){return to(a,r)})}}var vx=Math.max,mx=Math.min;function Ede(n,e){var t=n.getArea&&n.getArea();if(n4(n,"cartesian2d")){var i=n.getBaseAxis();if(i.type!=="category"||!i.onBand){var r=e.getLayout("bandWidth");i.isHorizontal()?(t.x-=r,t.width+=r*2):(t.y-=r,t.height+=r*2)}}return t}var Pde=function(n){o2(e,n);function e(){var t=n.call(this)||this;return t.type=e.type,t._isFirstFrame=!0,t}return e.prototype.render=function(t,i,r,a){this._model=t,this._removeOnRenderedListener(r),this._updateDrawMode(t);var o=t.get("coordinateSystem");(o==="cartesian2d"||o==="polar")&&(this._progressiveEls=null,this._isLargeDraw?this._renderLarge(t,i,r):this._renderNormal(t,i,r,a))},e.prototype.incrementalPrepareRender=function(t){this._clear(),this._updateDrawMode(t),this._updateLargeClip(t)},e.prototype.incrementalRender=function(t,i){this._progressiveEls=[],this._incrementalRenderLarge(t,i)},e.prototype.eachRendered=function(t){G5(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var i=t.pipelineContext.large;(this._isLargeDraw==null||i!==this._isLargeDraw)&&(this._isLargeDraw=i,this._clear())},e.prototype._renderNormal=function(t,i,r,a){var o=this.group,s=t.getData(),l=this._data,u=t.coordinateSystem,c=u.getBaseAxis(),d;u.type==="cartesian2d"?d=c.isHorizontal():u.type==="polar"&&(d=c.dim==="angle");var h=t.isAnimationEnabled()?t:null,f=Rde(t,u);f&&this._enableRealtimeSort(f,s,r);var p=t.get("clip",!0)||f,m=Ede(u,s);o.removeClipPath();var v=t.get("roundCap",!0),g=t.get("showBackground",!0),_=t.getModel("backgroundStyle"),S=_.get("borderRadius")||0,x=[],A=this._backgroundEls,C=a&&a.isInitSort,M=a&&a.type==="changeAxisOrder";function I(P){var F=yp[u.type](s,P),V=Ode(u,d,F);return V.useStyle(_.getItemStyle()),u.type==="cartesian2d"?V.setShape("r",S):V.setShape("cornerRadius",S),x[P]=V,V}s.diff(l).add(function(P){var F=s.getItemModel(P),V=yp[u.type](s,P,F);if(g&&I(P),!(!s.hasValue(P)||!fO[u.type](V))){var G=!1;p&&(G=uO[u.type](m,V));var W=cO[u.type](t,s,P,V,d,h,c.model,!1,v);f&&(W.forceLabelAnimation=!0),pO(W,s,P,F,V,t,d,u.type==="polar"),C?W.attr({shape:V}):f?dO(f,h,W,V,P,d,!1,!1):o0(W,{shape:V},t,P),s.setItemGraphicEl(P,W),o.add(W),W.ignore=G}}).update(function(P,F){var V=s.getItemModel(P),G=yp[u.type](s,P,V);if(g){var W=void 0;A.length===0?W=I(F):(W=A[F],W.useStyle(_.getItemStyle()),u.type==="cartesian2d"?W.setShape("r",S):W.setShape("cornerRadius",S),x[P]=W);var Y=yp[u.type](s,P),Q=VK(d,Y,u);Q3(W,{shape:Q},h,P)}var K=l.getItemGraphicEl(F);if(!s.hasValue(P)||!fO[u.type](G)){o.remove(K);return}var ae=!1;if(p&&(ae=uO[u.type](m,G),ae&&o.remove(K)),K?no(K):K=cO[u.type](t,s,P,G,d,h,c.model,!!K,v),f&&(K.forceLabelAnimation=!0),M){var ie=K.getTextContent();if(ie){var he=U7(ie);he.prevValue!=null&&(he.prevValue=he.value)}}else pO(K,s,P,V,G,t,d,u.type==="polar");C?K.attr({shape:G}):f?dO(f,h,K,G,P,d,!0,M):Q3(K,{shape:G},t,P,null),s.setItemGraphicEl(P,K),K.ignore=ae,o.add(K)}).remove(function(P){var F=l.getItemGraphicEl(P);F&&Rd(F,t,P)}).execute();var D=this._backgroundGroup||(this._backgroundGroup=new Qt);D.removeAll();for(var E=0;E<x.length;++E)D.add(x[E]);o.add(D),this._backgroundEls=x,this._data=s},e.prototype._renderLarge=function(t,i,r){this._clear(),mO(t,this.group),this._updateLargeClip(t)},e.prototype._incrementalRenderLarge=function(t,i){this._removeBackground(),mO(i,this.group,this._progressiveEls,!0)},e.prototype._updateLargeClip=function(t){var i=t.get("clip",!0)&&Mh(t.coordinateSystem,!1,t),r=this.group;i?r.setClipPath(i):r.removeClipPath()},e.prototype._enableRealtimeSort=function(t,i,r){var a=this;if(i.count()){var o=t.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(i,t,r),this._isFirstFrame=!1;else{var s=function(l){var u=i.getItemGraphicEl(l),c=u&&u.shape;return c&&Math.abs(o.isHorizontal()?c.height:c.width)||0};this._onRendered=function(){a._updateSortWithinSameData(i,s,o,r)},r.getZr().on("rendered",this._onRendered)}}},e.prototype._dataSort=function(t,i,r){var a=[];return t.each(t.mapDimension(i.dim),function(o,s){var l=r(s);l=l==null?NaN:l,a.push({dataIndex:s,mappedValue:l,ordinalNumber:o})}),a.sort(function(o,s){return s.mappedValue-o.mappedValue}),{ordinalNumbers:q2(a,function(o){return o.ordinalNumber})}},e.prototype._isOrderChangedWithinSameData=function(t,i,r){for(var a=r.scale,o=t.mapDimension(r.dim),s=Number.MAX_VALUE,l=0,u=a.getOrdinalMeta().categories.length;l<u;++l){var c=t.rawIndexOf(o,a.getRawOrdinalNumber(l)),d=c<0?Number.MIN_VALUE:i(t.indexOfRawIndex(c));if(d>s)return!0;s=d}return!1},e.prototype._isOrderDifferentInView=function(t,i){for(var r=i.scale,a=r.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],r.getOrdinalMeta().categories.length-1);o<=s;++o)if(t.ordinalNumbers[o]!==r.getRawOrdinalNumber(o))return!0},e.prototype._updateSortWithinSameData=function(t,i,r,a){if(this._isOrderChangedWithinSameData(t,i,r)){var o=this._dataSort(t,r,i);this._isOrderDifferentInView(o,r)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:r.dim+"Axis",axisId:r.index,sortInfo:o}))}},e.prototype._dispatchInitSort=function(t,i,r){var a=i.baseAxis,o=this._dataSort(t,a,function(s){return t.get(t.mapDimension(i.otherAxis.dim),s)});r.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},e.prototype.remove=function(t,i){this._clear(this._model),this._removeOnRenderedListener(i)},e.prototype.dispose=function(t,i){this._removeOnRenderedListener(i)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var i=this.group,r=this._data;t&&t.isAnimationEnabled()&&r&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],r.eachItemGraphicEl(function(a){Rd(a,t,t3(a).dataIndex)})):i.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(q1),uO={cartesian2d:function(n,e){var t=e.width<0?-1:1,i=e.height<0?-1:1;t<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=n.x+n.width,a=n.y+n.height,o=vx(e.x,n.x),s=mx(e.x+e.width,r),l=vx(e.y,n.y),u=mx(e.y+e.height,a),c=s<o,d=u<l;return e.x=c&&o>r?s:o,e.y=d&&l>a?u:l,e.width=c?0:s-o,e.height=d?0:u-l,t<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),c||d},polar:function(n,e){var t=e.r0<=e.r?1:-1;if(t<0){var i=e.r;e.r=e.r0,e.r0=i}var r=mx(e.r,n.r),a=vx(e.r0,n.r0);e.r=r,e.r0=a;var o=r-a<0;if(t<0){var i=e.r;e.r=e.r0,e.r0=i}return o}},cO={cartesian2d:function(n,e,t,i,r,a,o,s,l){var u=new H3({shape:I2({},i),z2:1});if(u.__dataIndex=t,u.name="item",a){var c=u.shape,d=r?"height":"width";c[d]=0}return u},polar:function(n,e,t,i,r,a,o,s,l){var u=!r&&l?fg:sr,c=new u({shape:i,z2:1});c.name="item";var d=UK(r);if(c.calculateTextPosition=Cde(d,{isRoundCap:u===fg}),a){var h=c.shape,f=r?"r":"endAngle",p={};h[f]=r?i.r0:i.startAngle,p[f]=i[f],(s?Q3:o0)(c,{shape:p},a)}return c}};function Rde(n,e){var t=n.get("realtimeSort",!0),i=e.getBaseAxis();if(t&&i.type==="category"&&e.type==="cartesian2d")return{baseAxis:i,otherAxis:e.getOtherAxis(i)}}function dO(n,e,t,i,r,a,o,s){var l,u;a?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(o?Q3:o0)(t,{shape:l},e,r,null);var c=e?n.baseAxis.model:null;(o?Q3:o0)(t,{shape:u},c,r)}function hO(n,e){for(var t=0;t<e.length;t++)if(!isFinite(n[e[t]]))return!0;return!1}var Lde=["x","y","width","height"],Ide=["cx","cy","r","startAngle","endAngle"],fO={cartesian2d:function(n){return!hO(n,Lde)},polar:function(n){return!hO(n,Ide)}},yp={cartesian2d:function(n,e,t){var i=n.getItemLayout(e),r=t?Nde(t,i):0,a=i.width>0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*r/2,y:i.y+o*r/2,width:i.width-a*r,height:i.height-o*r}},polar:function(n,e,t){var i=n.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function Dde(n){return n.startAngle!=null&&n.endAngle!=null&&n.startAngle===n.endAngle}function UK(n){return function(e){var t=e?"Arc":"Angle";return function(i){switch(i){case"start":case"insideStart":case"end":case"insideEnd":return i+t;default:return i}}}(n)}function pO(n,e,t,i,r,a,o,s){var l=e.getItemVisual(t,"style");if(s){if(!a.get("roundCap")){var c=n.shape,d=u8(i.getModel("itemStyle"),c,!0);I2(c,d),n.setShape(c)}}else{var u=i.get(["itemStyle","borderRadius"])||0;n.setShape("r",u)}n.useStyle(l);var h=i.getShallow("cursor");h&&n.attr("cursor",h);var f=s?o?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":o?r.height>=0?"bottom":"top":r.width>=0?"right":"left",p=yn(i);jn(n,p,{labelFetcher:a,labelDataIndex:t,defaultText:v7(a.getData(),t),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:f});var m=n.getTextContent();if(s&&m){var v=i.get(["label","position"]);n.textConfig.inside=v==="middle"?!0:null,Mde(n,v==="outside"?f:v,UK(o),i.get(["label","rotate"]))}Qq(m,p,a.getRawValue(t),function(_){return LK(e,_)});var g=i.getModel(["emphasis"]);g0(n,g.get("focus"),g.get("blurScope"),g.get("disabled")),Wn(n,i),Dde(r)&&(n.style.fill="none",n.style.stroke="none",ne(n.states,function(_){_.style&&(_.style.fill=_.style.stroke="none")}))}function Nde(n,e){var t=n.get(["itemStyle","borderColor"]);if(!t||t==="none")return 0;var i=n.get(["itemStyle","borderWidth"])||0,r=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),a=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(i,r,a)}var kde=function(){function n(){}return n}(),vO=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="largeBar",i}return e.prototype.getDefaultShape=function(){return new kde},e.prototype.buildPath=function(t,i){for(var r=i.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,c=0;c<r.length;c+=3)l[a]=u,l[o]=r[c+2],s[a]=r[c+a],s[o]=r[c+o],t.rect(s[0],s[1],l[0],l[1])},e}(E3);function mO(n,e,t,i){var r=n.getData(),a=r.getLayout("valueAxisHorizontal")?1:0,o=r.getLayout("largeDataIndices"),s=r.getLayout("size"),l=n.getModel("backgroundStyle"),u=r.getLayout("largeBackgroundPoints");if(u){var c=new vO({shape:{points:u},incremental:!!i,silent:!0,z2:0});c.baseDimIdx=a,c.largeDataIndices=o,c.barWidth=s,c.useStyle(l.getItemStyle()),e.add(c),t&&t.push(c)}var d=new vO({shape:{points:r.getLayout("largePoints")},incremental:!!i,ignoreCoarsePointer:!0,z2:1});d.baseDimIdx=a,d.largeDataIndices=o,d.barWidth=s,e.add(d),d.useStyle(r.getVisual("style")),d.style.stroke=null,t3(d).seriesIndex=n.seriesIndex,n.get("silent")||(d.on("mousedown",gO),d.on("mousemove",gO)),t&&t.push(d)}var gO=Hy(function(n){var e=this,t=Fde(e,n.offsetX,n.offsetY);t3(e).dataIndex=t>=0?t:null},30,!1);function Fde(n,e,t){for(var i=n.baseDimIdx,r=1-i,a=n.shape.points,o=n.largeDataIndices,s=[],l=[],u=n.barWidth,c=0,d=a.length/3;c<d;c++){var h=c*3;if(l[i]=u,l[r]=a[h+2],s[i]=a[h+i],s[r]=a[h+r],l[r]<0&&(s[r]+=l[r],l[r]=-l[r]),e>=s[0]&&e<=s[0]+l[0]&&t>=s[1]&&t<=s[1]+l[1])return o[c]}return-1}function VK(n,e,t){if(n4(t,"cartesian2d")){var i=e,r=t.getArea();return{x:n?i.x:r.x,y:n?r.y:i.y,width:n?i.width:r.width,height:n?r.height:i.height}}else{var r=t.getArea(),a=e;return{cx:r.cx,cy:r.cy,r0:n?r.r0:a.r0,r:n?r.r:a.r,startAngle:n?a.startAngle:0,endAngle:n?a.endAngle:Math.PI*2}}}function Ode(n,e,t){var i=n.type==="polar"?sr:H3;return new i({shape:VK(e,t,n),silent:!0,z2:0})}const Bde=Pde;function zde(n){n.registerChartView(Bde),n.registerSeriesModel(wde),n.registerLayout(n.PRIORITY.VISUAL.LAYOUT,s3(WY,"bar")),n.registerLayout(n.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,jY("bar")),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,zK("bar")),n.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(e,t){var i=e.componentType||"series";t.eachComponent({mainType:i,query:e},function(r){e.sortInfo&&r.axis.setCategorySortInfo(e.sortInfo)})})}var yO=Math.PI*2,_p=Math.PI/180;function HK(n,e){return un(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function WK(n,e){var t=HK(n,e),i=n.get("center"),r=n.get("radius");j2(r)||(r=[0,r]);var a=mt(t.width,e.getWidth()),o=mt(t.height,e.getHeight()),s=Math.min(a,o),l=mt(r[0],s/2),u=mt(r[1],s/2),c,d,h=n.coordinateSystem;if(h){var f=h.dataToPoint(i);c=f[0]||0,d=f[1]||0}else j2(i)||(i=[i,i]),c=mt(i[0],a)+t.x,d=mt(i[1],o)+t.y;return{cx:c,cy:d,r0:l,r:u}}function Gde(n,e,t){e.eachSeriesByType(n,function(i){var r=i.getData(),a=r.mapDimension("value"),o=HK(i,t),s=WK(i,t),l=s.cx,u=s.cy,c=s.r,d=s.r0,h=-i.get("startAngle")*_p,f=i.get("endAngle"),p=i.get("padAngle")*_p;f=f==="auto"?h-yO:-f*_p;var m=i.get("minAngle")*_p,v=m+p,g=0;r.each(a,function(Q){!isNaN(Q)&&g++});var _=r.getSum(a),S=Math.PI/(_||g)*2,x=i.get("clockwise"),A=i.get("roseType"),C=i.get("stillShowZeroSum"),M=r.getDataExtent(a);M[0]=0;var I=x?1:-1,D=[h,f],E=I*p/2;cE(D,!x),h=D[0],f=D[1];var P=jK(i);P.startAngle=h,P.endAngle=f,P.clockwise=x;var F=Math.abs(f-h),V=F,G=0,W=h;if(r.setLayout({viewRect:o,r:c}),r.each(a,function(Q,K){var ae;if(isNaN(Q)){r.setItemLayout(K,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:l,cy:u,r0:d,r:A?NaN:c});return}A!=="area"?ae=_===0&&C?S:Q*S:ae=F/g,ae<v?(ae=v,V-=v):G+=Q;var ie=W+I*ae,he=0,Ee=0;p>ae?(he=W+I*ae/2,Ee=he):(he=W+E,Ee=ie-E),r.setItemLayout(K,{angle:ae,startAngle:he,endAngle:Ee,clockwise:x,cx:l,cy:u,r0:d,r:A?f1(Q,M,[d,c]):c}),W=ie}),V<yO&&g)if(V<=.001){var Y=F/g;r.each(a,function(Q,K){if(!isNaN(Q)){var ae=r.getItemLayout(K);ae.angle=Y;var ie=0,he=0;Y<p?(ie=h+I*(K+1/2)*Y,he=ie):(ie=h+I*K*Y+E,he=h+I*(K+1)*Y-E),ae.startAngle=ie,ae.endAngle=he}})}else S=V/G,W=h,r.each(a,function(Q,K){if(!isNaN(Q)){var ae=r.getItemLayout(K),ie=ae.angle===v?v:Q*S,he=0,Ee=0;ie<p?(he=W+I*ie/2,Ee=he):(he=W+E,Ee=W+I*ie-E),ae.startAngle=he,ae.endAngle=Ee,W+=I*ie}})})}var jK=G3();function Ph(n){return{seriesType:n,reset:function(e,t){var i=t.findComponents({mainType:"legend"});if(!(!i||!i.length)){var r=e.getData();r.filterSelf(function(a){for(var o=r.getName(a),s=0;s<i.length;s++)if(!i[s].isSelected(o))return!1;return!0})}}}}var Ude=Math.PI/180;function _O(n,e,t,i,r,a,o,s,l,u){if(n.length<2)return;function c(m){for(var v=m.rB,g=v*v,_=0;_<m.list.length;_++){var S=m.list[_],x=Math.abs(S.label.y-t),A=i+S.len,C=A*A,M=Math.sqrt(Math.abs((1-x*x/g)*C)),I=e+(M+S.len2)*r,D=I-S.label.x,E=S.targetTextWidth-D*r;$K(S,E,!0),S.label.x=I}}function d(m){for(var v={list:[],maxY:0},g={list:[],maxY:0},_=0;_<m.length;_++)if(m[_].labelAlignTo==="none"){var S=m[_],x=S.label.y>t?g:v,A=Math.abs(S.label.y-t);if(A>=x.maxY){var C=S.label.x-e-S.len2*r,M=i+S.len,I=Math.abs(C)<M?Math.sqrt(A*A/(1-C*C/M/M)):M;x.rB=I,x.maxY=A}x.list.push(S)}c(v),c(g)}for(var h=n.length,f=0;f<h;f++)if(n[f].position==="outer"&&n[f].labelAlignTo==="labelLine"){var p=n[f].label.x-u;n[f].linePoints[1][0]+=p,n[f].label.x=u}pK(n,l,l+o)&&d(n)}function Vde(n,e,t,i,r,a,o,s){for(var l=[],u=[],c=Number.MAX_VALUE,d=-Number.MAX_VALUE,h=0;h<n.length;h++){var f=n[h].label;gx(n[h])||(f.x<e?(c=Math.min(c,f.x),l.push(n[h])):(d=Math.max(d,f.x),u.push(n[h])))}for(var h=0;h<n.length;h++){var p=n[h];if(!gx(p)&&p.linePoints){if(p.labelStyleWidth!=null)continue;var f=p.label,m=p.linePoints,v=void 0;p.labelAlignTo==="edge"?f.x<e?v=m[2][0]-p.labelDistance-o-p.edgeDistance:v=o+r-p.edgeDistance-m[2][0]-p.labelDistance:p.labelAlignTo==="labelLine"?f.x<e?v=c-o-p.bleedMargin:v=o+r-d-p.bleedMargin:f.x<e?v=f.x-o-p.bleedMargin:v=o+r-f.x-p.bleedMargin,p.targetTextWidth=v,$K(p,v)}}_O(u,e,t,i,1,r,a,o,s,d),_O(l,e,t,i,-1,r,a,o,s,c);for(var h=0;h<n.length;h++){var p=n[h];if(!gx(p)&&p.linePoints){var f=p.label,m=p.linePoints,g=p.labelAlignTo==="edge",_=f.style.padding,S=_?_[1]+_[3]:0,x=f.style.backgroundColor?0:S,A=p.rect.width+x,C=m[1][0]-m[2][0];g?f.x<e?m[2][0]=o+p.edgeDistance+A+p.labelDistance:m[2][0]=o+r-p.edgeDistance-A-p.labelDistance:(f.x<e?m[2][0]=f.x+p.labelDistance:m[2][0]=f.x-p.labelDistance,m[1][0]=m[2][0]+C),m[1][1]=m[2][1]=f.y}}}function $K(n,e,t){if(t===void 0&&(t=!1),n.labelStyleWidth==null){var i=n.label,r=i.style,a=n.rect,o=r.backgroundColor,s=r.padding,l=s?s[1]+s[3]:0,u=r.overflow,c=a.width+(o?0:l);if(e<c||t){var d=a.height;if(u&&u.match("break")){i.setStyle("backgroundColor",null),i.setStyle("width",e-l);var h=i.getBoundingRect();i.setStyle("width",Math.ceil(h.width)),i.setStyle("backgroundColor",o)}else{var f=e-l,p=e<c?f:t?f>n.unconstrainedWidth?null:f:null;i.setStyle("width",p)}var m=i.getBoundingRect();a.width=m.width;var v=(i.style.margin||0)+2.1;a.height=m.height+v,a.y-=(a.height-d)/2}}}function gx(n){return n.position==="center"}function Hde(n){var e=n.getData(),t=[],i,r,a=!1,o=(n.get("minShowLabelAngle")||0)*Ude,s=e.getLayout("viewRect"),l=e.getLayout("r"),u=s.width,c=s.x,d=s.y,h=s.height;function f(C){C.ignore=!0}function p(C){if(!C.ignore)return!0;for(var M in C.states)if(C.states[M].ignore===!1)return!0;return!1}e.each(function(C){var M=e.getItemGraphicEl(C),I=M.shape,D=M.getTextContent(),E=M.getTextGuideLine(),P=e.getItemModel(C),F=P.getModel("label"),V=F.get("position")||P.get(["emphasis","label","position"]),G=F.get("distanceToLabelLine"),W=F.get("alignTo"),Y=mt(F.get("edgeDistance"),u),Q=F.get("bleedMargin"),K=P.getModel("labelLine"),ae=K.get("length");ae=mt(ae,u);var ie=K.get("length2");if(ie=mt(ie,u),Math.abs(I.endAngle-I.startAngle)<o){ne(D.states,f),D.ignore=!0,E&&(ne(E.states,f),E.ignore=!0);return}if(p(D)){var he=(I.startAngle+I.endAngle)/2,Ee=Math.cos(he),je=Math.sin(he),xe,Oe,f2,B2;i=I.cx,r=I.cy;var S2=V==="inside"||V==="inner";if(V==="center")xe=I.cx,Oe=I.cy,B2="center";else{var p2=(S2?(I.r+I.r0)/2*Ee:I.r*Ee)+i,X2=(S2?(I.r+I.r0)/2*je:I.r*je)+r;if(xe=p2+Ee*3,Oe=X2+je*3,!S2){var w2=p2+Ee*(ae+l-I.r),Ce=X2+je*(ae+l-I.r),R2=w2+(Ee<0?-1:1)*ie,v2=Ce;W==="edge"?xe=Ee<0?c+Y:c+u-Y:xe=R2+(Ee<0?-G:G),Oe=v2,f2=[[p2,X2],[w2,Ce],[R2,v2]]}B2=S2?"center":W==="edge"?Ee>0?"right":"left":Ee>0?"left":"right"}var O2=Math.PI,k=0,_2=F.get("rotate");if(Y3(_2))k=_2*(O2/180);else if(V==="center")k=0;else if(_2==="radial"||_2===!0){var A2=Ee<0?-he+O2:-he;k=A2}else if(_2==="tangential"&&V!=="outside"&&V!=="outer"){var Z=Math.atan2(Ee,je);Z<0&&(Z=O2*2+Z);var ee=je>0;ee&&(Z=O2+Z),k=Z-O2}if(a=!!k,D.x=xe,D.y=Oe,D.rotation=k,D.setStyle({verticalAlign:"middle"}),S2){D.setStyle({align:B2});var z2=D.states.select;z2&&(z2.x+=D.x,z2.y+=D.y)}else{var Ge=D.getBoundingRect().clone();Ge.applyTransform(D.getComputedTransform());var T2=(D.style.margin||0)+2.1;Ge.y-=T2/2,Ge.height+=T2,t.push({label:D,labelLine:E,position:V,len:ae,len2:ie,minTurnAngle:K.get("minTurnAngle"),maxSurfaceAngle:K.get("maxSurfaceAngle"),surfaceNormal:new h3(Ee,je),linePoints:f2,textAlign:B2,labelDistance:G,labelAlignTo:W,edgeDistance:Y,bleedMargin:Q,rect:Ge,unconstrainedWidth:Ge.width,labelStyleWidth:D.style.width})}M.setTextConfig({inside:S2})}}),!a&&n.get("avoidLabelOverlap")&&Vde(t,i,r,l,u,h,c,d);for(var m=0;m<t.length;m++){var v=t[m],g=v.label,_=v.labelLine,S=isNaN(g.x)||isNaN(g.y);if(g){g.setStyle({align:v.textAlign}),S&&(ne(g.states,f),g.ignore=!0);var x=g.states.select;x&&(x.x+=g.x,x.y+=g.y)}if(_){var A=v.linePoints;S||!A?(ne(_.states,f),_.ignore=!0):(dK(A,v.minTurnAngle),ece(A,v.surfaceNormal,v.maxSurfaceAngle),_.setShape({points:A}),g.__hostTarget.textGuideLineConfig={anchor:new h3(A[0][0],A[0][1])})}}}var Wde=function(n){o2(e,n);function e(t,i,r){var a=n.call(this)||this;a.z2=2;var o=new X3;return a.setTextContent(o),a.updateData(t,i,r,!0),a}return e.prototype.updateData=function(t,i,r,a){var o=this,s=t.hostModel,l=t.getItemModel(i),u=l.getModel("emphasis"),c=t.getItemLayout(i),d=I2(u8(l.getModel("itemStyle"),c,!0),c);if(isNaN(d.startAngle)){o.setShape(d);return}if(a){o.setShape(d);var h=s.getShallow("animationType");s.ecModel.ssr?(o0(o,{scaleX:0,scaleY:0},s,{dataIndex:i,isFrom:!0}),o.originX=d.cx,o.originY=d.cy):h==="scale"?(o.shape.r=c.r0,o0(o,{shape:{r:c.r}},s,i)):r!=null?(o.setShape({startAngle:r,endAngle:r}),o0(o,{shape:{startAngle:c.startAngle,endAngle:c.endAngle}},s,i)):(o.shape.endAngle=c.startAngle,Q3(o,{shape:{endAngle:c.endAngle}},s,i))}else no(o),Q3(o,{shape:d},s,i);o.useStyle(t.getItemVisual(i,"style")),Wn(o,l);var f=(c.startAngle+c.endAngle)/2,p=s.get("selectedOffset"),m=Math.cos(f)*p,v=Math.sin(f)*p,g=l.getShallow("cursor");g&&o.attr("cursor",g),this._updateLabel(s,t,i),o.ensureState("emphasis").shape=I2({r:c.r+(u.get("scale")&&u.get("scaleSize")||0)},u8(u.getModel("itemStyle"),c)),I2(o.ensureState("select"),{x:m,y:v,shape:u8(l.getModel(["select","itemStyle"]),c)}),I2(o.ensureState("blur"),{shape:u8(l.getModel(["blur","itemStyle"]),c)});var _=o.getTextGuideLine(),S=o.getTextContent();_&&I2(_.ensureState("select"),{x:m,y:v}),I2(S.ensureState("select"),{x:m,y:v}),g0(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,i,r){var a=this,o=i.getItemModel(r),s=o.getModel("labelLine"),l=i.getItemVisual(r,"style"),u=l&&l.fill,c=l&&l.opacity;jn(a,yn(o),{labelFetcher:i.hostModel,labelDataIndex:r,inheritColor:u,defaultOpacity:c,defaultText:t.getFormattedLabel(r,"normal")||i.getName(r)});var d=a.getTextContent();a.setTextConfig({position:null,rotation:null}),d.attr({z2:10});var h=t.get(["label","position"]);if(h!=="outside"&&h!=="outer")a.removeTextGuideLine();else{var f=this.getTextGuideLine();f||(f=new dr,this.setTextGuideLine(f)),ZE(this,JE(o),{stroke:u,opacity:Ho(s.get(["lineStyle","opacity"]),c,1)})}},e}(sr),jde=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,i,r,a){var o=t.getData(),s=this._data,l=this.group,u;if(!s&&o.count()>0){for(var c=o.getItemLayout(0),d=1;isNaN(c&&c.startAngle)&&d<o.count();++d)c=o.getItemLayout(d);c&&(u=c.startAngle)}if(this._emptyCircleSector&&l.remove(this._emptyCircleSector),o.count()===0&&t.get("showEmptyCircle")){var h=jK(t),f=new sr({shape:I2(WK(t,r),h)});f.useStyle(t.getModel("emptyCircleStyle").getItemStyle()),this._emptyCircleSector=f,l.add(f)}o.diff(s).add(function(p){var m=new Wde(o,p,u);o.setItemGraphicEl(p,m),l.add(m)}).update(function(p,m){var v=s.getItemGraphicEl(m);v.updateData(o,p,u),v.off("click"),l.add(v),o.setItemGraphicEl(p,v)}).remove(function(p){var m=s.getItemGraphicEl(p);Rd(m,t,p)}).execute(),Hde(t),t.get("animationTypeUpdate")!=="expansion"&&(this._data=o)},e.prototype.dispose=function(){},e.prototype.containPoint=function(t,i){var r=i.getData(),a=r.getItemLayout(0);if(a){var o=t[0]-a.cx,s=t[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},e.type="pie",e}(q1);const $de=jde;function Z7(n,e,t){e=j2(e)&&{coordDimensions:e}||I2({encodeDefine:n.getEncode()},e);var i=n.getSource(),r=wh(i,e).dimensions,a=new Pi(r,n);return a.initData(i,t),a}var qde=function(){function n(e,t){this._getDataWithEncodedVisual=e,this._getRawData=t}return n.prototype.getAllNames=function(){var e=this._getRawData();return e.mapArray(e.getName)},n.prototype.containName=function(e){var t=this._getRawData();return t.indexOfName(e)>=0},n.prototype.indexOfName=function(e){var t=this._getDataWithEncodedVisual();return t.indexOfName(e)},n.prototype.getItemVisual=function(e,t){var i=this._getDataWithEncodedVisual();return i.getItemVisual(e,t)},n}();const Rh=qde;var Xde=G3(),Yde=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new Rh(Tt(this.getData,this),Tt(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.mergeOption=function(){n.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return Z7(this,{coordDimensions:["value"],encodeDefaulter:s3(PE,this)})},e.prototype.getDataParams=function(t){var i=this.getData(),r=Xde(i),a=r.seats;if(!a){var o=[];i.each(i.mapDimension("value"),function(l){o.push(l)}),a=r.seats=i5e(o,i.hostModel.get("percentPrecision"))}var s=n.prototype.getDataParams.call(this,t);return s.percent=a[t]||0,s.$vars.push("percent"),s},e.prototype._defaultLabelLine=function(t){k8(t,"labelLine",["show"]);var i=t.labelLine,r=t.emphasis.labelLine;i.show=i.show&&t.label.show,r.show=r.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(f0);const Kde=Yde;function Zde(n){return{seriesType:n,reset:function(e,t){var i=e.getData();i.filterSelf(function(r){var a=i.mapDimension("value"),o=i.get(a,r);return!(Y3(o)&&!isNaN(o)&&o<0)})}}}function Jde(n){n.registerChartView($de),n.registerSeriesModel(Kde),sY("pie",n.registerAction),n.registerLayout(s3(Gde,"pie")),n.registerProcessor(Ph("pie")),n.registerProcessor(Zde("pie"))}var Qde=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,i){return n6(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return t==null?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t==null?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,i,r){return r.point(i.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(f0);const ehe=Qde;var qK=4,the=function(){function n(){}return n}(),nhe=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i._off=0,i.hoverDataIdx=-1,i}return e.prototype.getDefaultShape=function(){return new the},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,i){var r=i.points,a=i.size,o=this.symbolProxy,s=o.shape,l=t.getContext?t.getContext():t,u=l&&a[0]<qK,c=this.softClipShape,d;if(u){this._ctx=l;return}for(this._ctx=null,d=this._off;d<r.length;){var h=r[d++],f=r[d++];isNaN(h)||isNaN(f)||c&&!c.contain(h,f)||(s.x=h-a[0]/2,s.y=f-a[1]/2,s.width=a[0],s.height=a[1],o.buildPath(t,s,!0))}this.incremental&&(this._off=d,this.notClear=!0)},e.prototype.afterBrush=function(){var t=this.shape,i=t.points,r=t.size,a=this._ctx,o=this.softClipShape,s;if(a){for(s=this._off;s<i.length;){var l=i[s++],u=i[s++];isNaN(l)||isNaN(u)||o&&!o.contain(l,u)||a.fillRect(l-r[0]/2,u-r[1]/2,r[0],r[1])}this.incremental&&(this._off=s,this.notClear=!0)}},e.prototype.findDataIndex=function(t,i){for(var r=this.shape,a=r.points,o=r.size,s=Math.max(o[0],4),l=Math.max(o[1],4),u=a.length/2-1;u>=0;u--){var c=u*2,d=a[c]-s/2,h=a[c+1]-l/2;if(t>=d&&i>=h&&t<=d+s&&i<=h+l)return u}return-1},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(t=r[0],i=r[1],a.contain(t,i)){var o=this.hoverDataIdx=this.findDataIndex(t,i);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var i=this.shape,r=i.points,a=i.size,o=a[0],s=a[1],l=1/0,u=1/0,c=-1/0,d=-1/0,h=0;h<r.length;){var f=r[h++],p=r[h++];l=Math.min(f,l),c=Math.max(f,c),u=Math.min(p,u),d=Math.max(p,d)}t=this._rect=new g3(l-o/2,u-s/2,c-l+o,d-u+s)}return t},e}(E3),ihe=function(){function n(){this.group=new Qt}return n.prototype.updateData=function(e,t){this._clear();var i=this._create();i.setShape({points:e.getLayout("points")}),this._setCommon(i,e,t)},n.prototype.updateLayout=function(e){var t=e.getLayout("points");this.group.eachChild(function(i){if(i.startIndex!=null){var r=(i.endIndex-i.startIndex)*2,a=i.startIndex*4*2;t=new Float32Array(t.buffer,a,r)}i.setShape("points",t),i.reset()})},n.prototype.incrementalPrepareUpdate=function(e){this._clear()},n.prototype.incrementalUpdate=function(e,t,i){var r=this._newAdded[0],a=t.getLayout("points"),o=r&&r.shape.points;if(o&&o.length<2e4){var s=o.length,l=new Float32Array(s+a.length);l.set(o),l.set(a,s),r.endIndex=e.end,r.setShape({points:l})}else{this._newAdded=[];var u=this._create();u.startIndex=e.start,u.endIndex=e.end,u.incremental=!0,u.setShape({points:a}),this._setCommon(u,t,i)}},n.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},n.prototype._create=function(){var e=new nhe({cursor:"default"});return e.ignoreCoarsePointer=!0,this.group.add(e),this._newAdded.push(e),e},n.prototype._setCommon=function(e,t,i){var r=t.hostModel;i=i||{};var a=t.getVisual("symbolSize");e.setShape("size",a instanceof Array?a:[a,a]),e.softClipShape=i.clipShape||null,e.symbolProxy=X0(t.getVisual("symbol"),0,0,0,0),e.setColor=e.symbolProxy.setColor;var o=e.shape.size[0]<qK;e.useStyle(r.getModel("itemStyle").getItemStyle(o?["color","shadowBlur","shadowColor"]:["color"]));var s=t.getVisual("style"),l=s&&s.fill;l&&e.setColor(l);var u=t3(e);u.seriesIndex=r.seriesIndex,e.on("mousemove",function(c){u.dataIndex=null;var d=e.hoverDataIdx;d>=0&&(u.dataIndex=d+(e.startIndex||0))})},n.prototype.remove=function(){this._clear()},n.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},n}();const rhe=ihe;var ahe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.updateData(a,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,i,r){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.incrementalPrepareUpdate(a),this._finished=!1},e.prototype.incrementalRender=function(t,i,r){this._symbolDraw.incrementalUpdate(t,i.getData(),{clipShape:this._getClipShape(i)}),this._finished=t.end===i.getData().count()},e.prototype.updateTransform=function(t,i,r){var a=t.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var o=Eh("").reset(t,i,r);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var i=t.coordinateSystem;return i&&i.getArea&&i.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,i){var r=this._symbolDraw,a=i.pipelineContext,o=a.large;return(!r||o!==this._isLargeDraw)&&(r&&r.remove(),r=this._symbolDraw=o?new rhe:new Ch,this._isLargeDraw=o,this.group.removeAll()),this.group.add(r.group),r},e.prototype.remove=function(t,i){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(q1);const ohe=ahe;var she=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}($3);const lhe=she;var QA=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",q0).models[0]},e.type="cartesian2dAxis",e}($3);K0(QA,Th);var XK={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},uhe=u3({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},XK),rP=u3({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},XK),che=u3({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},rP),dhe=qt({logBase:10},rP);const YK={category:uhe,value:rP,time:che,log:dhe};var hhe={value:1,category:1,time:1,log:1};function m7(n,e,t,i){ne(hhe,function(r,a){var o=u3(u3({},YK[a],!0),i,!0),s=function(l){o2(u,l);function u(){var c=l!==null&&l.apply(this,arguments)||this;return c.type=e+"Axis."+a,c}return u.prototype.mergeDefaultAndTheme=function(c,d){var h=Id(this),f=h?W7(c):{},p=d.getTheme();u3(c,p.get(a+"Axis")),u3(c,this.getDefaultOption()),c.type=SO(c),h&&R5(c,f,h)},u.prototype.optionUpdated=function(){var c=this.option;c.type==="category"&&(this.__ordinalMeta=$A.createByAxisModel(this))},u.prototype.getCategories=function(c){var d=this.option;if(d.type==="category")return c?d.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=e+"Axis."+a,u.defaultOption=o,u}(t);n.registerComponentModel(s)}),n.registerSubTypeDefaulter(e+"Axis",SO)}function SO(n){return n.type||(n.data?"category":"value")}var fhe=function(){function n(e){this.type="cartesian",this._dimList=[],this._axes={},this.name=e||""}return n.prototype.getAxis=function(e){return this._axes[e]},n.prototype.getAxes=function(){return q2(this._dimList,function(e){return this._axes[e]},this)},n.prototype.getAxesByScale=function(e){return e=e.toLowerCase(),c1(this.getAxes(),function(t){return t.scale.type===e})},n.prototype.addAxis=function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},n}();const phe=fhe;var eC=["x","y"];function bO(n){return n.type==="interval"||n.type==="time"}var vhe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="cartesian2d",t.dimensions=eC,t}return e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,i=this.getAxis("y").scale;if(!(!bO(t)||!bO(i))){var r=t.getExtent(),a=i.getExtent(),o=this.dataToPoint([r[0],a[0]]),s=this.dataToPoint([r[1],a[1]]),l=r[1]-r[0],u=a[1]-a[0];if(!(!l||!u)){var c=(s[0]-o[0])/l,d=(s[1]-o[1])/u,h=o[0]-r[0]*c,f=o[1]-a[0]*d,p=this._transform=[c,0,0,d,h,f];this._invTransform=O7([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var i=this.getAxis("x"),r=this.getAxis("y");return i.contain(i.toLocalCoord(t[0]))&&r.contain(r.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,i){var r=this.dataToPoint(t),a=this.dataToPoint(i),o=this.getArea(),s=new g3(r[0],r[1],a[0]-r[0],a[1]-r[1]);return o.intersect(s)},e.prototype.dataToPoint=function(t,i,r){r=r||[];var a=t[0],o=t[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return Vn(r,t,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return r[0]=s.toGlobalCoord(s.dataToCoord(a,i)),r[1]=l.toGlobalCoord(l.dataToCoord(o,i)),r},e.prototype.clampData=function(t,i){var r=this.getAxis("x").scale,a=this.getAxis("y").scale,o=r.getExtent(),s=a.getExtent(),l=r.parse(t[0]),u=a.parse(t[1]);return i=i||[],i[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),i[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),i},e.prototype.pointToData=function(t,i){var r=[];if(this._invTransform)return Vn(r,t,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return r[0]=a.coordToData(a.toLocalCoord(t[0]),i),r[1]=o.coordToData(o.toLocalCoord(t[1]),i),r},e.prototype.getOtherAxis=function(t){return this.getAxis(t.dim==="x"?"y":"x")},e.prototype.getArea=function(t){t=t||0;var i=this.getAxis("x").getGlobalExtent(),r=this.getAxis("y").getGlobalExtent(),a=Math.min(i[0],i[1])-t,o=Math.min(r[0],r[1])-t,s=Math.max(i[0],i[1])-a+t,l=Math.max(r[0],r[1])-o+t;return new g3(a,o,s,l)},e}(phe),mhe=function(n){o2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.getGlobalExtent=function(t){var i=this.getExtent();return i[0]=this.toGlobalCoord(i[0]),i[1]=this.toGlobalCoord(i[1]),t&&i[0]>i[1]&&i.reverse(),i},e.prototype.pointToData=function(t,i){return this.coordToData(this.toLocalCoord(t[this.dim==="x"?0:1]),i)},e.prototype.setCategorySortInfo=function(t){if(this.type!=="category")return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(ao);const ghe=mhe;function tC(n,e,t){t=t||{};var i=n.coordinateSystem,r=e.axis,a={},o=r.getAxesOnZeroOf()[0],s=r.position,l=o?"onZero":s,u=r.dim,c=i.getRect(),d=[c.x,c.x+c.width,c.y,c.y+c.height],h={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p=u==="x"?[d[2]-f,d[3]+f]:[d[0]-f,d[1]+f];if(o){var m=o.toGlobalCoord(o.dataToCoord(0));p[h.onZero]=Math.max(Math.min(m,p[1]),p[0])}a.position=[u==="y"?p[h[l]]:d[0],u==="x"?p[h[l]]:d[3]],a.rotation=Math.PI/2*(u==="x"?0:1);var v={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=v[s],a.labelOffset=o?p[h[s]]-p[h.onZero]:0,e.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),Pn(t.labelInside,e.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var g=e.get(["axisLabel","rotate"]);return a.labelRotate=l==="top"?-g:g,a.z2=1,a}function xO(n){return n.get("coordinateSystem")==="cartesian2d"}function wO(n){var e={xAxisModel:null,yAxisModel:null};return ne(e,function(t,i){var r=i.replace(/Model$/,""),a=n.getReferringComponents(r,q0).models[0];e[i]=a}),e}var yx=Math.log;function KK(n,e,t){var i=I5.prototype,r=i.getTicks.call(t),a=i.getTicks.call(t,!0),o=r.length-1,s=i.getInterval.call(t),l=JY(n,e),u=l.extent,c=l.fixMin,d=l.fixMax;if(n.type==="log"){var h=yx(n.base);u=[yx(u[0])/h,yx(u[1])/h]}n.setExtent(u[0],u[1]),n.calcNiceExtent({splitNumber:o,fixMin:c,fixMax:d});var f=i.getExtent.call(n);c&&(u[0]=f[0]),d&&(u[1]=f[1]);var p=i.getInterval.call(n),m=u[0],v=u[1];if(c&&d)p=(v-m)/o;else if(c)for(v=u[0]+p*o;v<u[1]&&isFinite(v)&&isFinite(u[1]);)p=ix(p),v=u[0]+p*o;else if(d)for(m=u[1]-p*o;m>u[0]&&isFinite(m)&&isFinite(u[0]);)p=ix(p),m=u[1]-p*o;else{var g=n.getTicks().length-1;g>o&&(p=ix(p));var _=p*o;v=Math.ceil(u[1]/p)*p,m=P0(v-_),m<0&&u[0]>=0?(m=0,v=P0(_)):v>0&&u[1]<=0&&(v=0,m=-P0(_))}var S=(r[0].value-a[0].value)/s,x=(r[o].value-a[o].value)/s;i.setExtent.call(n,m+p*S,v+p*x),i.setInterval.call(n,p),(S||x)&&i.setNiceExtent.call(n,m+p,v-p)}var yhe=function(){function n(e,t,i){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=eC,this._initCartesian(e,t,i),this.model=e}return n.prototype.getRect=function(){return this._rect},n.prototype.update=function(e,t){var i=this._axesMap;this._updateScale(e,this.model);function r(o){var s,l=L3(o),u=l.length;if(u){for(var c=[],d=u-1;d>=0;d--){var h=+l[d],f=o[h],p=f.model,m=f.scale;qA(m)&&p.get("alignTicks")&&p.get("interval")==null?c.push(f):(p7(m,p),qA(m)&&(s=f))}c.length&&(s||(s=c.pop(),p7(s.scale,s.model)),ne(c,function(v){KK(v.scale,v.model,s.scale)}))}}r(i.x),r(i.y);var a={};ne(i.x,function(o){TO(i,"y",o,a)}),ne(i.y,function(o){TO(i,"x",o,a)}),this.resize(this.model,t)},n.prototype.resize=function(e,t,i){var r=e.getBoxLayoutParams(),a=!i&&e.get("containLabel"),o=un(r,{width:t.getWidth(),height:t.getHeight()});this._rect=o;var s=this._axesList;l(),a&&(ne(s,function(u){if(!u.model.get(["axisLabel","inside"])){var c=Rue(u);if(c){var d=u.isHorizontal()?"height":"width",h=u.model.get(["axisLabel","margin"]);o[d]-=c[d]+h,u.position==="top"?o.y+=c.height+h:u.position==="left"&&(o.x+=c.width+h)}}}),l()),ne(this._coordsList,function(u){u.calcAffineTransform()});function l(){ne(s,function(u){var c=u.isHorizontal(),d=c?[0,o.width]:[0,o.height],h=u.inverse?1:0;u.setExtent(d[h],d[1-h]),_he(u,c?o.x:o.y)})}},n.prototype.getAxis=function(e,t){var i=this._axesMap[e];if(i!=null)return i[t||0]},n.prototype.getAxes=function(){return this._axesList.slice()},n.prototype.getCartesian=function(e,t){if(e!=null&&t!=null){var i="x"+e+"y"+t;return this._coordsMap[i]}Kt(e)&&(t=e.yAxisIndex,e=e.xAxisIndex);for(var r=0,a=this._coordsList;r<a.length;r++)if(a[r].getAxis("x").index===e||a[r].getAxis("y").index===t)return a[r]},n.prototype.getCartesians=function(){return this._coordsList.slice()},n.prototype.convertToPixel=function(e,t,i){var r=this._findConvertTarget(t);return r.cartesian?r.cartesian.dataToPoint(i):r.axis?r.axis.toGlobalCoord(r.axis.dataToCoord(i)):null},n.prototype.convertFromPixel=function(e,t,i){var r=this._findConvertTarget(t);return r.cartesian?r.cartesian.pointToData(i):r.axis?r.axis.coordToData(r.axis.toLocalCoord(i)):null},n.prototype._findConvertTarget=function(e){var t=e.seriesModel,i=e.xAxisModel||t&&t.getReferringComponents("xAxis",q0).models[0],r=e.yAxisModel||t&&t.getReferringComponents("yAxis",q0).models[0],a=e.gridModel,o=this._coordsList,s,l;if(t)s=t.coordinateSystem,x3(o,s)<0&&(s=null);else if(i&&r)s=this.getCartesian(i.componentIndex,r.componentIndex);else if(i)l=this.getAxis("x",i.componentIndex);else if(r)l=this.getAxis("y",r.componentIndex);else if(a){var u=a.coordinateSystem;u===this&&(s=this._coordsList[0])}return{cartesian:s,axis:l}},n.prototype.containPoint=function(e){var t=this._coordsList[0];if(t)return t.containPoint(e)},n.prototype._initCartesian=function(e,t,i){var r=this,a=this,o={left:!1,right:!1,top:!1,bottom:!1},s={x:{},y:{}},l={x:0,y:0};if(t.eachComponent("xAxis",u("x"),this),t.eachComponent("yAxis",u("y"),this),!l.x||!l.y){this._axesMap={},this._axesList=[];return}this._axesMap=s,ne(s.x,function(c,d){ne(s.y,function(h,f){var p="x"+d+"y"+f,m=new vhe(p);m.master=r,m.model=e,r._coordsMap[p]=m,r._coordsList.push(m),m.addAxis(c),m.addAxis(h)})});function u(c){return function(d,h){if(_x(d,e)){var f=d.get("position");c==="x"?f!=="top"&&f!=="bottom"&&(f=o.bottom?"top":"bottom"):f!=="left"&&f!=="right"&&(f=o.left?"right":"left"),o[f]=!0;var p=new ghe(c,Xy(d),[0,0],d.get("type"),f),m=p.type==="category";p.onBand=m&&d.get("boundaryGap"),p.inverse=d.get("inverse"),d.axis=p,p.model=d,p.grid=a,p.index=h,a._axesList.push(p),s[c][h]=p,l[c]++}}}},n.prototype._updateScale=function(e,t){ne(this._axesList,function(r){if(r.scale.setExtent(1/0,-1/0),r.type==="category"){var a=r.model.get("categorySortInfo");r.scale.setSortInfo(a)}}),e.eachSeries(function(r){if(xO(r)){var a=wO(r),o=a.xAxisModel,s=a.yAxisModel;if(!_x(o,t)||!_x(s,t))return;var l=this.getCartesian(o.componentIndex,s.componentIndex),u=r.getData(),c=l.getAxis("x"),d=l.getAxis("y");i(u,c),i(u,d)}},this);function i(r,a){ne(lg(r,a.dim),function(o){a.scale.unionExtentFromData(r,o)})}},n.prototype.getTooltipAxes=function(e){var t=[],i=[];return ne(this.getCartesians(),function(r){var a=e!=null&&e!=="auto"?r.getAxis(e):r.getBaseAxis(),o=r.getOtherAxis(a);x3(t,a)<0&&t.push(a),x3(i,o)<0&&i.push(o)}),{baseAxes:t,otherAxes:i}},n.create=function(e,t){var i=[];return e.eachComponent("grid",function(r,a){var o=new n(r,e,t);o.name="grid_"+a,o.resize(r,t,!0),r.coordinateSystem=o,i.push(o)}),e.eachSeries(function(r){if(xO(r)){var a=wO(r),o=a.xAxisModel,s=a.yAxisModel,l=o.getCoordSysModel(),u=l.coordinateSystem;r.coordinateSystem=u.getCartesian(o.componentIndex,s.componentIndex)}}),i},n.dimensions=eC,n}();function _x(n,e){return n.getCoordSysModel()===e}function TO(n,e,t,i){t.getAxesOnZeroOf=function(){return a?[a]:[]};var r=n[e],a,o=t.model,s=o.get(["axisLine","onZero"]),l=o.get(["axisLine","onZeroAxisIndex"]);if(!s)return;if(l!=null)AO(r[l])&&(a=r[l]);else for(var u in r)if(r.hasOwnProperty(u)&&AO(r[u])&&!i[c(r[u])]){a=r[u];break}a&&(i[c(a)]=!0);function c(d){return d.dim+"_"+d.index}}function AO(n){return n&&n.type!=="category"&&n.type!=="time"&&Pue(n)}function _he(n,e){var t=n.getExtent(),i=t[0]+t[1];n.toGlobalCoord=n.dim==="x"?function(r){return r+e}:function(r){return i-r+e},n.toLocalCoord=n.dim==="x"?function(r){return r-e}:function(r){return i-r+e}}const She=yhe;var o5=Math.PI,C8=function(){function n(e,t){this.group=new Qt,this.opt=t,this.axisModel=e,qt(t,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var i=new Qt({x:t.position[0],y:t.position[1],rotation:t.rotation});i.updateTransform(),this._transformGroup=i}return n.prototype.hasBuilder=function(e){return!!CO[e]},n.prototype.add=function(e){CO[e](this.opt,this.axisModel,this.group,this._transformGroup)},n.prototype.getGroup=function(){return this.group},n.innerTextLayout=function(e,t,i){var r=q$(t-e),a,o;return Ad(r)?(o=i>0?"top":"bottom",a="center"):Ad(r-o5)?(o=i>0?"bottom":"top",a="center"):(o="middle",r>0&&r<o5?a=i>0?"right":"left":a=i>0?"left":"right"),{rotation:r,textAlign:a,textVerticalAlign:o}},n.makeAxisEventDataBase=function(e){var t={componentType:e.mainType,componentIndex:e.componentIndex};return t[e.mainType+"Index"]=e.componentIndex,t},n.isLabelSilent=function(e){var t=e.get("tooltip");return e.get("silent")||!(e.get("triggerEvent")||t&&t.show)},n}(),CO={axisLine:function(n,e,t,i){var r=e.get(["axisLine","show"]);if(r==="auto"&&n.handleAutoShown&&(r=n.handleAutoShown("axisLine")),!!r){var a=e.axis.getExtent(),o=i.transform,s=[a[0],0],l=[a[1],0],u=s[0]>l[0];o&&(Vn(s,s,o),Vn(l,l,o));var c=I2({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),d=new Rn({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:c,strokeContainThreshold:n.strokeContainThreshold||5,silent:!0,z2:1});d7(d.shape,d.style.lineWidth),d.anid="line",t.add(d);var h=e.get(["axisLine","symbol"]);if(h!=null){var f=e.get(["axisLine","symbolSize"]);xt(h)&&(h=[h,h]),(xt(f)||Y3(f))&&(f=[f,f]);var p=e4(e.get(["axisLine","symbolOffset"])||0,f),m=f[0],v=f[1];ne([{rotate:n.rotation+Math.PI/2,offset:p[0],r:0},{rotate:n.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(g,_){if(h[_]!=="none"&&h[_]!=null){var S=X0(h[_],-m/2,-v/2,m,v,c.stroke,!0),x=g.r+g.offset,A=u?l:s;S.attr({rotation:g.rotate,x:A[0]+x*Math.cos(n.rotation),y:A[1]-x*Math.sin(n.rotation),silent:!0,z2:11}),t.add(S)}})}}},axisTickLabel:function(n,e,t,i){var r=whe(t,i,e,n),a=Ahe(t,i,e,n);if(xhe(e,a,r),The(t,i,e,n.tickDirection),e.get(["axisLabel","hideOverlap"])){var o=hK(q2(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));vK(o)}},axisName:function(n,e,t,i){var r=Pn(n.axisName,e.get("name"));if(r){var a=e.get("nameLocation"),o=n.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=e.axis.getExtent(),c=u[0]>u[1]?-1:1,d=[a==="start"?u[0]-c*l:a==="end"?u[1]+c*l:(u[0]+u[1])/2,EO(a)?n.labelOffset+o*l:0],h,f=e.get("nameRotate");f!=null&&(f=f*o5/180);var p;EO(a)?h=C8.innerTextLayout(n.rotation,f!=null?f:n.rotation,o):(h=bhe(n.rotation,a,f||0,u),p=n.axisNameAvailableWidth,p!=null&&(p=Math.abs(p/Math.sin(h.rotation)),!isFinite(p)&&(p=null)));var m=s.getFont(),v=e.get("nameTruncate",!0)||{},g=v.ellipsis,_=Pn(n.nameTruncateMaxWidth,v.maxWidth,p),S=new X3({x:d[0],y:d[1],rotation:h.rotation,silent:C8.isLabelSilent(e),style:j1(s,{text:r,font:m,overflow:"truncate",width:_,ellipsis:g,fill:s.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:s.get("align")||h.textAlign,verticalAlign:s.get("verticalAlign")||h.textVerticalAlign}),z2:1});if(Z8({el:S,componentModel:e,itemName:r}),S.__fullText=r,S.anid="name",e.get("triggerEvent")){var x=C8.makeAxisEventDataBase(e);x.targetType="axisName",x.name=r,t3(S).eventData=x}i.add(S),S.updateTransform(),t.add(S),S.decomposeTransform()}}};function bhe(n,e,t,i){var r=q$(t-n),a,o,s=i[0]>i[1],l=e==="start"&&!s||e!=="start"&&s;return Ad(r-o5/2)?(o=l?"bottom":"top",a="center"):Ad(r-o5*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",r<o5*1.5&&r>o5/2?a=l?"left":"right":a=l?"right":"left"),{rotation:r,textAlign:a,textVerticalAlign:o}}function xhe(n,e,t){if(!QY(n.axis)){var i=n.get(["axisLabel","showMinLabel"]),r=n.get(["axisLabel","showMaxLabel"]);e=e||[],t=t||[];var a=e[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=t[0],c=t[1],d=t[t.length-1],h=t[t.length-2];i===!1?(Yr(a),Yr(u)):MO(a,o)&&(i?(Yr(o),Yr(c)):(Yr(a),Yr(u))),r===!1?(Yr(s),Yr(d)):MO(l,s)&&(r?(Yr(l),Yr(h)):(Yr(s),Yr(d)))}}function Yr(n){n&&(n.ignore=!0)}function MO(n,e){var t=n&&n.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(!(!t||!i)){var r=_y([]);return K8(r,r,-n.rotation),t.applyTransform(Bs([],r,n.getLocalTransform())),i.applyTransform(Bs([],r,e.getLocalTransform())),t.intersect(i)}}function EO(n){return n==="middle"||n==="center"}function ZK(n,e,t,i,r){for(var a=[],o=[],s=[],l=0;l<n.length;l++){var u=n[l].coord;o[0]=u,o[1]=0,s[0]=u,s[1]=t,e&&(Vn(o,o,e),Vn(s,s,e));var c=new Rn({shape:{x1:o[0],y1:o[1],x2:s[0],y2:s[1]},style:i,z2:2,autoBatch:!0,silent:!0});d7(c.shape,c.style.lineWidth),c.anid=r+"_"+n[l].tickValue,a.push(c)}return a}function whe(n,e,t,i){var r=t.axis,a=t.getModel("axisTick"),o=a.get("show");if(o==="auto"&&i.handleAutoShown&&(o=i.handleAutoShown("axisTick")),!(!o||r.scale.isBlank())){for(var s=a.getModel("lineStyle"),l=i.tickDirection*a.get("length"),u=r.getTicksCoords(),c=ZK(u,e.transform,l,qt(s.getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])}),"ticks"),d=0;d<c.length;d++)n.add(c[d]);return c}}function The(n,e,t,i){var r=t.axis,a=t.getModel("minorTick");if(!(!a.get("show")||r.scale.isBlank())){var o=r.getMinorTicksCoords();if(o.length)for(var s=a.getModel("lineStyle"),l=i*a.get("length"),u=qt(s.getLineStyle(),qt(t.getModel("axisTick").getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])})),c=0;c<o.length;c++)for(var d=ZK(o[c],e.transform,l,u,"minorticks_"+c),h=0;h<d.length;h++)n.add(d[h])}}function Ahe(n,e,t,i){var r=t.axis,a=Pn(i.axisLabelShow,t.get(["axisLabel","show"]));if(!(!a||r.scale.isBlank())){var o=t.getModel("axisLabel"),s=o.get("margin"),l=r.getViewLabels(),u=(Pn(i.labelRotate,o.get("rotate"))||0)*o5/180,c=C8.innerTextLayout(i.rotation,u,i.labelDirection),d=t.getCategories&&t.getCategories(!0),h=[],f=C8.isLabelSilent(t),p=t.get("triggerEvent");return ne(l,function(m,v){var g=r.scale.type==="ordinal"?r.scale.getRawOrdinalNumber(m.tickValue):m.tickValue,_=m.formattedLabel,S=m.rawLabel,x=o;if(d&&d[g]){var A=d[g];Kt(A)&&A.textStyle&&(x=new $1(A.textStyle,o,t.ecModel))}var C=x.getTextColor()||t.get(["axisLine","lineStyle","color"]),M=r.dataToCoord(g),I=x.getShallow("align",!0)||c.textAlign,D=a3(x.getShallow("alignMinLabel",!0),I),E=a3(x.getShallow("alignMaxLabel",!0),I),P=x.getShallow("verticalAlign",!0)||x.getShallow("baseline",!0)||c.textVerticalAlign,F=a3(x.getShallow("verticalAlignMinLabel",!0),P),V=a3(x.getShallow("verticalAlignMaxLabel",!0),P),G=new X3({x:M,y:i.labelOffset+i.labelDirection*s,rotation:c.rotation,silent:f,z2:10+(m.level||0),style:j1(x,{text:_,align:v===0?D:v===l.length-1?E:I,verticalAlign:v===0?F:v===l.length-1?V:P,fill:Wt(C)?C(r.type==="category"?S:r.type==="value"?g+"":g,v):C})});if(G.anid="label_"+g,Z8({el:G,componentModel:t,itemName:_,formatterParamsExtra:{isTruncated:function(){return G.isTruncated},value:S,tickIndex:v}}),p){var W=C8.makeAxisEventDataBase(t);W.targetType="axisLabel",W.value=S,W.tickIndex=v,r.type==="category"&&(W.dataIndex=g),t3(G).eventData=W}e.add(G),G.updateTransform(),h.push(G),n.add(G),G.decomposeTransform()}),h}}const Ys=C8;function Che(n,e){var t={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return Mhe(t,n,e),t.seriesInvolved&&Phe(t,n),t}function Mhe(n,e,t){var i=e.getComponent("tooltip"),r=e.getComponent("axisPointer"),a=r.get("link",!0)||[],o=[];ne(t.getCoordinateSystems(),function(s){if(!s.axisPointerEnabled)return;var l=Gd(s.model),u=n.coordSysAxesInfo[l]={};n.coordSysMap[l]=s;var c=s.model,d=c.getModel("tooltip",i);if(ne(s.getAxes(),s3(m,!1,null)),s.getTooltipAxes&&i&&d.get("show")){var h=d.get("trigger")==="axis",f=d.get(["axisPointer","type"])==="cross",p=s.getTooltipAxes(d.get(["axisPointer","axis"]));(h||f)&&ne(p.baseAxes,s3(m,f?"cross":!0,h)),f&&ne(p.otherAxes,s3(m,"cross",!1))}function m(v,g,_){var S=_.model.getModel("axisPointer",r),x=S.get("show");if(!(!x||x==="auto"&&!v&&!nC(S))){g==null&&(g=S.get("triggerTooltip")),S=v?Ehe(_,d,r,e,v,g):S;var A=S.get("snap"),C=S.get("triggerEmphasis"),M=Gd(_.model),I=g||A||_.type==="category",D=n.axesInfo[M]={key:M,axis:_,coordSys:s,axisPointerModel:S,triggerTooltip:g,triggerEmphasis:C,involveSeries:I,snap:A,useHandle:nC(S),seriesModels:[],linkGroup:null};u[M]=D,n.seriesInvolved=n.seriesInvolved||I;var E=Rhe(a,_);if(E!=null){var P=o[E]||(o[E]={axesInfo:{}});P.axesInfo[M]=D,P.mapper=a[E].mapper,D.linkGroup=P}}}})}function Ehe(n,e,t,i,r,a){var o=e.getModel("axisPointer"),s=["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],l={};ne(s,function(h){l[h]=Zt(o.get(h))}),l.snap=n.type!=="category"&&!!a,o.get("type")==="cross"&&(l.type="line");var u=l.label||(l.label={});if(u.show==null&&(u.show=!1),r==="cross"){var c=o.get(["label","show"]);if(u.show=c!=null?c:!0,!a){var d=l.lineStyle=o.get("crossStyle");d&&qt(u,d.textStyle)}}return n.model.getModel("axisPointer",new $1(l,t,i))}function Phe(n,e){e.eachSeries(function(t){var i=t.coordinateSystem,r=t.get(["tooltip","trigger"],!0),a=t.get(["tooltip","show"],!0);!i||r==="none"||r===!1||r==="item"||a===!1||t.get(["axisPointer","show"],!0)===!1||ne(n.coordSysAxesInfo[Gd(i.model)],function(o){var s=o.axis;i.getAxis(s.dim)===s&&(o.seriesModels.push(t),o.seriesDataCount==null&&(o.seriesDataCount=0),o.seriesDataCount+=t.getData().count())})})}function Rhe(n,e){for(var t=e.model,i=e.dim,r=0;r<n.length;r++){var a=n[r]||{};if(Sx(a[i+"AxisId"],t.id)||Sx(a[i+"AxisIndex"],t.componentIndex)||Sx(a[i+"AxisName"],t.name))return r}}function Sx(n,e){return n==="all"||j2(n)&&x3(n,e)>=0||n===e}function Lhe(n){var e=aP(n);if(e){var t=e.axisPointerModel,i=e.axis.scale,r=t.option,a=t.get("status"),o=t.get("value");o!=null&&(o=i.parse(o));var s=nC(t);a==null&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o<l[0]&&(o=l[0]),r.value=o,s&&(r.status=e.axis.scale.isBlank()?"hide":"show")}}function aP(n){var e=(n.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[Gd(n)]}function Ihe(n){var e=aP(n);return e&&e.axisPointerModel}function nC(n){return!!n.get(["handle","show"])}function Gd(n){return n.type+"||"+n.id}var PO={},Dhe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this.axisPointerClass&&Lhe(t),n.prototype.render.apply(this,arguments),this._doUpdateAxisPointerClass(t,r,!0)},e.prototype.updateAxisPointer=function(t,i,r,a){this._doUpdateAxisPointerClass(t,r,!1)},e.prototype.remove=function(t,i){var r=this._axisPointer;r&&r.remove(i)},e.prototype.dispose=function(t,i){this._disposeAxisPointer(i),n.prototype.dispose.apply(this,arguments)},e.prototype._doUpdateAxisPointerClass=function(t,i,r){var a=e.getAxisPointerClass(this.axisPointerClass);if(a){var o=Ihe(t);o?(this._axisPointer||(this._axisPointer=new a)).render(t,o,i,r):this._disposeAxisPointer(i)}},e.prototype._disposeAxisPointer=function(t){this._axisPointer&&this._axisPointer.dispose(t),this._axisPointer=null},e.registerAxisPointerClass=function(t,i){PO[t]=i},e.getAxisPointerClass=function(t){return t&&PO[t]},e.type="axis",e}(b0);const i4=Dhe;var iC=G3();function JK(n,e,t,i){var r=t.axis;if(!r.scale.isBlank()){var a=t.getModel("splitArea"),o=a.getModel("areaStyle"),s=o.get("color"),l=i.coordinateSystem.getRect(),u=r.getTicksCoords({tickModel:a,clamp:!0});if(u.length){var c=s.length,d=iC(n).splitAreaColors,h=Rt(),f=0;if(d)for(var p=0;p<u.length;p++){var m=d.get(u[p].tickValue);if(m!=null){f=(m+(c-1)*p)%c;break}}var v=r.toGlobalCoord(u[0].coord),g=o.getAreaStyle();s=j2(s)?s:[s];for(var p=1;p<u.length;p++){var _=r.toGlobalCoord(u[p].coord),S=void 0,x=void 0,A=void 0,C=void 0;r.isHorizontal()?(S=v,x=l.y,A=_-S,C=l.height,v=S+A):(S=l.x,x=v,A=l.width,C=_-x,v=x+C);var M=u[p-1].tickValue;M!=null&&h.set(M,f),e.add(new H3({anid:M!=null?"area_"+M:null,shape:{x:S,y:x,width:A,height:C},style:qt({fill:s[f]},g),autoBatch:!0,silent:!0})),f=(f+1)%c}iC(n).splitAreaColors=h}}}function QK(n){iC(n).splitAreaColors=null}var Nhe=["axisLine","axisTickLabel","axisName"],khe=["splitArea","splitLine","minorSplitLine"],eZ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="CartesianAxisPointer",t}return e.prototype.render=function(t,i,r,a){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Qt,this.group.add(this._axisGroup),!!t.get("show")){var s=t.getCoordSysModel(),l=tC(s,t),u=new Ys(t,I2({handleAutoShown:function(d){for(var h=s.coordinateSystem.getCartesians(),f=0;f<h.length;f++)if(qA(h[f].getOtherAxis(t.axis).scale))return!0;return!1}},l));ne(Nhe,u.add,u),this._axisGroup.add(u.getGroup()),ne(khe,function(d){t.get([d,"show"])&&Fhe[d](this,this._axisGroup,t,s)},this);var c=a&&a.type==="changeAxisOrder"&&a.isInitSort;c||_h(o,this._axisGroup,t),n.prototype.render.call(this,t,i,r,a)}},e.prototype.remove=function(){QK(this)},e.type="cartesianAxis",e}(i4),Fhe={splitLine:function(n,e,t,i){var r=t.axis;if(!r.scale.isBlank()){var a=t.getModel("splitLine"),o=a.getModel("lineStyle"),s=o.get("color"),l=a.get("showMinLine")!==!1,u=a.get("showMaxLine")!==!1;s=j2(s)?s:[s];for(var c=i.coordinateSystem.getRect(),d=r.isHorizontal(),h=0,f=r.getTicksCoords({tickModel:a}),p=[],m=[],v=o.getLineStyle(),g=0;g<f.length;g++){var _=r.toGlobalCoord(f[g].coord);if(!(g===0&&!l||g===f.length-1&&!u)){var S=f[g].tickValue;d?(p[0]=_,p[1]=c.y,m[0]=_,m[1]=c.y+c.height):(p[0]=c.x,p[1]=_,m[0]=c.x+c.width,m[1]=_);var x=h++%s.length,A=new Rn({anid:S!=null?"line_"+S:null,autoBatch:!0,shape:{x1:p[0],y1:p[1],x2:m[0],y2:m[1]},style:qt({stroke:s[x]},v),silent:!0});d7(A.shape,v.lineWidth),e.add(A)}}}},minorSplitLine:function(n,e,t,i){var r=t.axis,a=t.getModel("minorSplitLine"),o=a.getModel("lineStyle"),s=i.coordinateSystem.getRect(),l=r.isHorizontal(),u=r.getMinorTicksCoords();if(u.length)for(var c=[],d=[],h=o.getLineStyle(),f=0;f<u.length;f++)for(var p=0;p<u[f].length;p++){var m=r.toGlobalCoord(u[f][p].coord);l?(c[0]=m,c[1]=s.y,d[0]=m,d[1]=s.y+s.height):(c[0]=s.x,c[1]=m,d[0]=s.x+s.width,d[1]=m);var v=new Rn({anid:"minor_line_"+u[f][p].tickValue,autoBatch:!0,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:h,silent:!0});d7(v.shape,h.lineWidth),e.add(v)}},splitArea:function(n,e,t,i){JK(n,e,t,i)}},tZ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="xAxis",e}(eZ),Ohe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=tZ.type,t}return e.type="yAxis",e}(eZ),Bhe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="grid",t}return e.prototype.render=function(t,i){this.group.removeAll(),t.get("show")&&this.group.add(new H3({shape:t.coordinateSystem.getRect(),style:qt({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))},e.type="grid",e}(b0),RO={offset:0};function nZ(n){n.registerComponentView(Bhe),n.registerComponentModel(lhe),n.registerCoordinateSystem("cartesian2d",She),m7(n,"x",QA,RO),m7(n,"y",QA,RO),n.registerComponentView(tZ),n.registerComponentView(Ohe),n.registerPreprocessor(function(e){e.xAxis&&e.yAxis&&!e.grid&&(e.grid={})})}function zhe(n){C3(nZ),n.registerSeriesModel(ehe),n.registerChartView(ohe),n.registerLayout(Eh("scatter"))}function Ghe(n){n.eachSeriesByType("radar",function(e){var t=e.getData(),i=[],r=e.coordinateSystem;if(r){var a=r.getIndicatorAxes();ne(a,function(o,s){t.each(t.mapDimension(a[s].dim),function(l,u){i[u]=i[u]||[];var c=r.dataToPoint(l,s);i[u][s]=LO(c)?c:IO(r)})}),t.each(function(o){var s=wse(i[o],function(l){return LO(l)})||IO(r);i[o].push(s.slice()),t.setItemLayout(o,i[o])})}})}function LO(n){return!isNaN(n[0])&&!isNaN(n[1])}function IO(n){return[n.cx,n.cy]}function Uhe(n){var e=n.polar;if(e){j2(e)||(e=[e]);var t=[];ne(e,function(i,r){i.indicator?(i.type&&!i.shape&&(i.shape=i.type),n.radar=n.radar||[],j2(n.radar)||(n.radar=[n.radar]),n.radar.push(i)):t.push(i)}),n.polar=t}ne(n.series,function(i){i&&i.type==="radar"&&i.polarIndex&&(i.radarIndex=i.polarIndex)})}var Vhe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.coordinateSystem,o=this.group,s=t.getData(),l=this._data;function u(h,f){var p=h.getItemVisual(f,"symbol")||"circle";if(p!=="none"){var m=Y7(h.getItemVisual(f,"symbolSize")),v=X0(p,-1,-1,2,2),g=h.getItemVisual(f,"symbolRotate")||0;return v.attr({style:{strokeNoScale:!0},z2:100,scaleX:m[0]/2,scaleY:m[1]/2,rotation:g*Math.PI/180||0}),v}}function c(h,f,p,m,v,g){p.removeAll();for(var _=0;_<f.length-1;_++){var S=u(m,v);S&&(S.__dimIdx=_,h[_]?(S.setPosition(h[_]),J8[g?"initProps":"updateProps"](S,{x:f[_][0],y:f[_][1]},t,v)):S.setPosition(f[_]),p.add(S))}}function d(h){return q2(h,function(f){return[a.cx,a.cy]})}s.diff(l).add(function(h){var f=s.getItemLayout(h);if(f){var p=new lr,m=new dr,v={shape:{points:f}};p.shape.points=d(f),m.shape.points=d(f),o0(p,v,t,h),o0(m,v,t,h);var g=new Qt,_=new Qt;g.add(m),g.add(p),g.add(_),c(m.shape.points,f,_,s,h,!0),s.setItemGraphicEl(h,g)}}).update(function(h,f){var p=l.getItemGraphicEl(f),m=p.childAt(0),v=p.childAt(1),g=p.childAt(2),_={shape:{points:s.getItemLayout(h)}};_.shape.points&&(c(m.shape.points,_.shape.points,g,s,h,!1),no(v),no(m),Q3(m,_,t),Q3(v,_,t),s.setItemGraphicEl(h,p))}).remove(function(h){o.remove(l.getItemGraphicEl(h))}).execute(),s.eachItemGraphicEl(function(h,f){var p=s.getItemModel(f),m=h.childAt(0),v=h.childAt(1),g=h.childAt(2),_=s.getItemVisual(f,"style"),S=_.fill;o.add(h),m.useStyle(qt(p.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:S})),Wn(m,p,"lineStyle"),Wn(v,p,"areaStyle");var x=p.getModel("areaStyle"),A=x.isEmpty()&&x.parentModel.isEmpty();v.ignore=A,ne(["emphasis","select","blur"],function(I){var D=p.getModel([I,"areaStyle"]),E=D.isEmpty()&&D.parentModel.isEmpty();v.ensureState(I).ignore=E&&A}),v.useStyle(qt(x.getAreaStyle(),{fill:S,opacity:.7,decal:_.decal}));var C=p.getModel("emphasis"),M=C.getModel("itemStyle").getItemStyle();g.eachChild(function(I){if(I instanceof $n){var D=I.style;I.useStyle(I2({image:D.image,x:D.x,y:D.y,width:D.width,height:D.height},_))}else I.useStyle(_),I.setColor(S),I.style.strokeNoScale=!0;var E=I.ensureState("emphasis");E.style=Zt(M);var P=s.getStore().get(s.getDimensionIndex(I.__dimIdx),f);(P==null||isNaN(P))&&(P=""),jn(I,yn(p),{labelFetcher:s.hostModel,labelDataIndex:f,labelDimIndex:I.__dimIdx,defaultText:P,inheritColor:S,defaultOpacity:_.opacity})}),g0(h,C.get("focus"),C.get("blurScope"),C.get("disabled"))}),this._data=s},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.type="radar",e}(q1);const Hhe=Vhe;var Whe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new Rh(Tt(this.getData,this),Tt(this.getRawData,this))},e.prototype.getInitialData=function(t,i){return Z7(this,{generateCoord:"indicator_",generateCoordCount:1/0})},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.coordinateSystem,s=o.getIndicatorAxes(),l=this.getData().getName(t),u=l===""?this.name:l,c=YX(this,t);return _n("section",{header:u,sortBlocks:!0,blocks:q2(s,function(d){var h=a.get(a.mapDimension(d.dim),t);return _n("nameValue",{markerType:"subItem",markerColor:c,name:d.name,value:h,sortParam:h})})})},e.prototype.getTooltipPosition=function(t){if(t!=null){for(var i=this.getData(),r=this.coordinateSystem,a=i.getValues(q2(r.dimensions,function(u){return i.mapDimension(u)}),t),o=0,s=a.length;o<s;o++)if(!isNaN(a[o])){var l=r.getIndicatorAxes();return r.coordToPoint(l[o].dataToCoord(a[o]),o)}}},e.type="series.radar",e.dependencies=["radar"],e.defaultOption={z:2,colorBy:"data",coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid",join:"round"},label:{position:"top"},symbolSize:8},e}(f0);const jhe=Whe;var Hu=YK.value;function Sp(n,e){return qt({show:e},n)}var $he=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){var t=this.get("boundaryGap"),i=this.get("splitNumber"),r=this.get("scale"),a=this.get("axisLine"),o=this.get("axisTick"),s=this.get("axisLabel"),l=this.get("axisName"),u=this.get(["axisName","show"]),c=this.get(["axisName","formatter"]),d=this.get("axisNameGap"),h=this.get("triggerEvent"),f=q2(this.get("indicator")||[],function(p){p.max!=null&&p.max>0&&!p.min?p.min=0:p.min!=null&&p.min<0&&!p.max&&(p.max=0);var m=l;p.color!=null&&(m=qt({color:p.color},l));var v=u3(Zt(p),{boundaryGap:t,splitNumber:i,scale:r,axisLine:a,axisTick:o,axisLabel:s,name:p.text,showName:u,nameLocation:"end",nameGap:d,nameTextStyle:m,triggerEvent:h},!1);if(xt(c)){var g=v.name;v.name=c.replace("{value}",g!=null?g:"")}else Wt(c)&&(v.name=c(v.name,v));var _=new $1(v,null,this.ecModel);return K0(_,Th.prototype),_.mainType="radar",_.componentIndex=this.componentIndex,_},this);this._indicatorModels=f},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:u3({lineStyle:{color:"#bbb"}},Hu.axisLine),axisLabel:Sp(Hu.axisLabel,!1),axisTick:Sp(Hu.axisTick,!1),splitLine:Sp(Hu.splitLine,!0),splitArea:Sp(Hu.splitArea,!0),indicator:[]},e}($3);const qhe=$he;var Xhe=["axisLine","axisTickLabel","axisName"],Yhe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group;a.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var i=t.coordinateSystem,r=i.getIndicatorAxes(),a=q2(r,function(o){var s=o.model.get("showName")?o.name:"",l=new Ys(o.model,{axisName:s,position:[i.cx,i.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});ne(a,function(o){ne(Xhe,o.add,o),this.group.add(o.getGroup())},this)},e.prototype._buildSplitLineAndArea=function(t){var i=t.coordinateSystem,r=i.getIndicatorAxes();if(!r.length)return;var a=t.get("shape"),o=t.getModel("splitLine"),s=t.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),c=o.get("show"),d=s.get("show"),h=l.get("color"),f=u.get("color"),p=j2(h)?h:[h],m=j2(f)?f:[f],v=[],g=[];function _(W,Y,Q){var K=Q%Y.length;return W[K]=W[K]||[],K}if(a==="circle")for(var S=r[0].getTicksCoords(),x=i.cx,A=i.cy,C=0;C<S.length;C++){if(c){var M=_(v,p,C);v[M].push(new z5({shape:{cx:x,cy:A,r:S[C].coord}}))}if(d&&C<S.length-1){var M=_(g,m,C);g[M].push(new Ey({shape:{cx:x,cy:A,r0:S[C].coord,r:S[C+1].coord}}))}}else for(var I,D=q2(r,function(W,Y){var Q=W.getTicksCoords();return I=I==null?Q.length-1:Math.min(Q.length-1,I),q2(Q,function(K){return i.coordToPoint(K.coord,Y)})}),E=[],C=0;C<=I;C++){for(var P=[],F=0;F<r.length;F++)P.push(D[F][C]);if(P[0]&&P.push(P[0].slice()),c){var M=_(v,p,C);v[M].push(new dr({shape:{points:P}}))}if(d&&E){var M=_(g,m,C-1);g[M].push(new lr({shape:{points:P.concat(E)}}))}E=P.slice().reverse()}var V=l.getLineStyle(),G=u.getAreaStyle();ne(g,function(W,Y){this.group.add(va(W,{style:qt({stroke:"none",fill:m[Y%m.length]},G),silent:!0}))},this),ne(v,function(W,Y){this.group.add(va(W,{style:qt({fill:"none",stroke:p[Y%p.length]},V),silent:!0}))},this)},e.type="radar",e}(b0);const Khe=Yhe;var Zhe=function(n){o2(e,n);function e(t,i,r){var a=n.call(this,t,i,r)||this;return a.type="value",a.angle=0,a.name="",a}return e}(ao);const Jhe=Zhe;var Qhe=function(){function n(e,t,i){this.dimensions=[],this._model=e,this._indicatorAxes=q2(e.getIndicatorModels(),function(r,a){var o="indicator_"+a,s=new Jhe(o,new I5);return s.name=r.get("name"),s.model=r,r.axis=s,this.dimensions.push(o),s},this),this.resize(e,i)}return n.prototype.getIndicatorAxes=function(){return this._indicatorAxes},n.prototype.dataToPoint=function(e,t){var i=this._indicatorAxes[t];return this.coordToPoint(i.dataToCoord(e),t)},n.prototype.coordToPoint=function(e,t){var i=this._indicatorAxes[t],r=i.angle,a=this.cx+e*Math.cos(r),o=this.cy-e*Math.sin(r);return[a,o]},n.prototype.pointToData=function(e){var t=e[0]-this.cx,i=e[1]-this.cy,r=Math.sqrt(t*t+i*i);t/=r,i/=r;for(var a=Math.atan2(-i,t),o=1/0,s,l=-1,u=0;u<this._indicatorAxes.length;u++){var c=this._indicatorAxes[u],d=Math.abs(a-c.angle);d<o&&(s=c,l=u,o=d)}return[l,+(s&&s.coordToData(r))]},n.prototype.resize=function(e,t){var i=e.get("center"),r=t.getWidth(),a=t.getHeight(),o=Math.min(r,a)/2;this.cx=mt(i[0],r),this.cy=mt(i[1],a),this.startAngle=e.get("startAngle")*Math.PI/180;var s=e.get("radius");(xt(s)||Y3(s))&&(s=[0,s]),this.r0=mt(s[0],o),this.r=mt(s[1],o),ne(this._indicatorAxes,function(l,u){l.setExtent(this.r0,this.r);var c=this.startAngle+u*Math.PI*2/this._indicatorAxes.length;c=Math.atan2(Math.sin(c),Math.cos(c)),l.angle=c},this)},n.prototype.update=function(e,t){var i=this._indicatorAxes,r=this._model;ne(i,function(s){s.scale.setExtent(1/0,-1/0)}),e.eachSeriesByType("radar",function(s,l){if(!(s.get("coordinateSystem")!=="radar"||e.getComponent("radar",s.get("radarIndex"))!==r)){var u=s.getData();ne(i,function(c){c.scale.unionExtentFromData(u,u.mapDimension(c.dim))})}},this);var a=r.get("splitNumber"),o=new I5;o.setExtent(0,a),o.setInterval(1),ne(i,function(s,l){KK(s.scale,s.model,o)})},n.prototype.convertToPixel=function(e,t,i){return console.warn("Not implemented."),null},n.prototype.convertFromPixel=function(e,t,i){return console.warn("Not implemented."),null},n.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},n.create=function(e,t){var i=[];return e.eachComponent("radar",function(r){var a=new n(r,e,t);i.push(a),r.coordinateSystem=a}),e.eachSeriesByType("radar",function(r){r.get("coordinateSystem")==="radar"&&(r.coordinateSystem=i[r.get("radarIndex")||0])}),i},n.dimensions=[],n}();const efe=Qhe;function tfe(n){n.registerCoordinateSystem("radar",efe),n.registerComponentModel(qhe),n.registerComponentView(Khe),n.registerVisual({seriesType:"radar",reset:function(e){var t=e.getData();t.each(function(i){t.setItemVisual(i,"legendIcon","roundRect")}),t.setVisual("legendIcon","roundRect")}})}function nfe(n){C3(tfe),n.registerChartView(Hhe),n.registerSeriesModel(jhe),n.registerLayout(Ghe),n.registerProcessor(Ph("radar")),n.registerPreprocessor(Uhe)}var DO="\0_ec_interaction_mutex";function ife(n,e,t){var i=oP(n);i[e]=t}function rfe(n,e,t){var i=oP(n),r=i[e];r===t&&(i[e]=null)}function NO(n,e){return!!oP(n)[e]}function oP(n){return n[DO]||(n[DO]={})}ns({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},O0);var afe=function(n){o2(e,n);function e(t){var i=n.call(this)||this;i._zr=t;var r=Tt(i._mousedownHandler,i),a=Tt(i._mousemoveHandler,i),o=Tt(i._mouseupHandler,i),s=Tt(i._mousewheelHandler,i),l=Tt(i._pinchHandler,i);return i.enable=function(u,c){this.disable(),this._opt=qt(Zt(c)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),u==null&&(u=!0),(u===!0||u==="move"||u==="pan")&&(t.on("mousedown",r),t.on("mousemove",a),t.on("mouseup",o)),(u===!0||u==="scale"||u==="zoom")&&(t.on("mousewheel",s),t.on("pinch",l))},i.disable=function(){t.off("mousedown",r),t.off("mousemove",a),t.off("mouseup",o),t.off("mousewheel",s),t.off("pinch",l)},i}return e.prototype.isDragging=function(){return this._dragging},e.prototype.isPinching=function(){return this._pinching},e.prototype.setPointerChecker=function(t){this.pointerChecker=t},e.prototype.dispose=function(){this.disable()},e.prototype._mousedownHandler=function(t){if(!oN(t)){for(var i=t.target;i;){if(i.draggable)return;i=i.__hostTarget||i.parent}var r=t.offsetX,a=t.offsetY;this.pointerChecker&&this.pointerChecker(t,r,a)&&(this._x=r,this._y=a,this._dragging=!0)}},e.prototype._mousemoveHandler=function(t){if(!(!this._dragging||!um("moveOnMouseMove",t,this._opt)||t.gestureEvent==="pinch"||NO(this._zr,"globalPan"))){var i=t.offsetX,r=t.offsetY,a=this._x,o=this._y,s=i-a,l=r-o;this._x=i,this._y=r,this._opt.preventDefaultMouseMove&&Ws(t.event),iZ(this,"pan","moveOnMouseMove",t,{dx:s,dy:l,oldX:a,oldY:o,newX:i,newY:r,isAvailableBehavior:null})}},e.prototype._mouseupHandler=function(t){oN(t)||(this._dragging=!1)},e.prototype._mousewheelHandler=function(t){var i=um("zoomOnMouseWheel",t,this._opt),r=um("moveOnMouseWheel",t,this._opt),a=t.wheelDelta,o=Math.abs(a),s=t.offsetX,l=t.offsetY;if(!(a===0||!i&&!r)){if(i){var u=o>3?1.4:o>1?1.2:1.1,c=a>0?u:1/u;bx(this,"zoom","zoomOnMouseWheel",t,{scale:c,originX:s,originY:l,isAvailableBehavior:null})}if(r){var d=Math.abs(a),h=(a>0?1:-1)*(d>3?.4:d>1?.15:.05);bx(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:h,originX:s,originY:l,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){if(!NO(this._zr,"globalPan")){var i=t.pinchScale>1?1.1:1/1.1;bx(this,"zoom",null,t,{scale:i,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})}},e}(Ea);function bx(n,e,t,i,r){n.pointerChecker&&n.pointerChecker(i,r.originX,r.originY)&&(Ws(i.event),iZ(n,e,t,i,r))}function iZ(n,e,t,i,r){r.isAvailableBehavior=Tt(um,null,t,i),n.trigger(e,r)}function um(n,e,t){var i=t[n];return!n||i&&(!xt(i)||e.event[i+"Key"])}const Lh=afe;function sP(n,e,t){var i=n.target;i.x+=e,i.y+=t,i.dirty()}function lP(n,e,t,i){var r=n.target,a=n.zoomLimit,o=n.zoom=n.zoom||1;if(o*=e,a){var s=a.min||0,l=a.max||1/0;o=Math.max(Math.min(l,o),s)}var u=o/n.zoom;n.zoom=o,r.x-=(t-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var ofe={axisPointer:1,tooltip:1,brush:1};function Ky(n,e,t){var i=e.getComponentByElement(n.topTarget),r=i&&i.coordinateSystem;return i&&i!==t&&!ofe.hasOwnProperty(i.mainType)&&r&&r.model!==t}function rZ(n){if(xt(n)){var e=new DOMParser;n=e.parseFromString(n,"text/xml")}var t=n;for(t.nodeType===9&&(t=t.firstChild);t.nodeName.toLowerCase()!=="svg"||t.nodeType!==1;)t=t.nextSibling;return t}var xx,pg={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"},kO=L3(pg),vg={"alignment-baseline":"textBaseline","stop-color":"stopColor"},FO=L3(vg),sfe=function(){function n(){this._defs={},this._root=null}return n.prototype.parse=function(e,t){t=t||{};var i=rZ(e);this._defsUsePending=[];var r=new Qt;this._root=r;var a=[],o=i.getAttribute("viewBox")||"",s=parseFloat(i.getAttribute("width")||t.width),l=parseFloat(i.getAttribute("height")||t.height);isNaN(s)&&(s=null),isNaN(l)&&(l=null),_r(i,r,null,!0,!1);for(var u=i.firstChild;u;)this._parseNode(u,r,a,null,!1,!1),u=u.nextSibling;cfe(this._defs,this._defsUsePending),this._defsUsePending=[];var c,d;if(o){var h=Zy(o);h.length>=4&&(c={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(c&&s!=null&&l!=null&&(d=oZ(c,{x:0,y:0,width:s,height:l}),!t.ignoreViewBox)){var f=r;r=new Qt,r.add(f),f.scaleX=f.scaleY=d.scale,f.x=d.x,f.y=d.y}return!t.ignoreRootClip&&s!=null&&l!=null&&r.setClipPath(new H3({shape:{x:0,y:0,width:s,height:l}})),{root:r,width:s,height:l,viewBoxRect:c,viewBoxTransform:d,named:a}},n.prototype._parseNode=function(e,t,i,r,a,o){var s=e.nodeName.toLowerCase(),l,u=r;if(s==="defs"&&(a=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=t;else{if(!a){var c=xx[s];if(c&&Ct(xx,s)){l=c.call(this,e,t);var d=e.getAttribute("name");if(d){var h={name:d,namedFrom:null,svgNodeTagLower:s,el:l};i.push(h),s==="g"&&(u=h)}else r&&i.push({name:r.name,namedFrom:r,svgNodeTagLower:s,el:l});t.add(l)}}var f=OO[s];if(f&&Ct(OO,s)){var p=f.call(this,e),m=e.getAttribute("id");m&&(this._defs[m]=p)}}if(l&&l.isGroup)for(var v=e.firstChild;v;)v.nodeType===1?this._parseNode(v,l,i,u,a,o):v.nodeType===3&&o&&this._parseText(v,l),v=v.nextSibling},n.prototype._parseText=function(e,t){var i=new Md({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),lfe(i,t);var r=i.style,a=r.fontSize;a&&a<9&&(r.fontSize=9,i.scaleX*=a/9,i.scaleY*=a/9);var o=(r.fontSize||r.fontFamily)&&[r.fontStyle,r.fontWeight,(r.fontSize||12)+"px",r.fontFamily||"sans-serif"].join(" ");r.font=o;var s=i.getBoundingRect();return this._textX+=s.width,t.add(i),i},n.internalField=function(){xx={g:function(e,t){var i=new Qt;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i},rect:function(e,t){var i=new H3;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i.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")}),i.silent=!0,i},circle:function(e,t){var i=new z5;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),r:parseFloat(e.getAttribute("r")||"0")}),i.silent=!0,i},line:function(e,t){var i=new Rn;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i.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")}),i.silent=!0,i},ellipse:function(e,t){var i=new gE;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i.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")}),i.silent=!0,i},polygon:function(e,t){var i=e.getAttribute("points"),r;i&&(r=GO(i));var a=new lr({shape:{points:r||[]},silent:!0});return Kr(t,a),_r(e,a,this._defsUsePending,!1,!1),a},polyline:function(e,t){var i=e.getAttribute("points"),r;i&&(r=GO(i));var a=new dr({shape:{points:r||[]},silent:!0});return Kr(t,a),_r(e,a,this._defsUsePending,!1,!1),a},image:function(e,t){var i=new $n;return Kr(t,i),_r(e,i,this._defsUsePending,!1,!1),i.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")}),i.silent=!0,i},text:function(e,t){var i=e.getAttribute("x")||"0",r=e.getAttribute("y")||"0",a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0";this._textX=parseFloat(i)+parseFloat(a),this._textY=parseFloat(r)+parseFloat(o);var s=new Qt;return Kr(t,s),_r(e,s,this._defsUsePending,!1,!0),s},tspan:function(e,t){var i=e.getAttribute("x"),r=e.getAttribute("y");i!=null&&(this._textX=parseFloat(i)),r!=null&&(this._textY=parseFloat(r));var a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0",s=new Qt;return Kr(t,s),_r(e,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(a),this._textY+=parseFloat(o),s},path:function(e,t){var i=e.getAttribute("d")||"",r=Iq(i);return Kr(t,r),_r(e,r,this._defsUsePending,!1,!1),r.silent=!0,r}}}(),n}(),OO={lineargradient:function(n){var e=parseInt(n.getAttribute("x1")||"0",10),t=parseInt(n.getAttribute("y1")||"0",10),i=parseInt(n.getAttribute("x2")||"10",10),r=parseInt(n.getAttribute("y2")||"0",10),a=new fn(e,t,i,r);return BO(n,a),zO(n,a),a},radialgradient:function(n){var e=parseInt(n.getAttribute("cx")||"0",10),t=parseInt(n.getAttribute("cy")||"0",10),i=parseInt(n.getAttribute("r")||"0",10),r=new jq(e,t,i);return BO(n,r),zO(n,r),r}};function BO(n,e){var t=n.getAttribute("gradientUnits");t==="userSpaceOnUse"&&(e.global=!0)}function zO(n,e){for(var t=n.firstChild;t;){if(t.nodeType===1&&t.nodeName.toLocaleLowerCase()==="stop"){var i=t.getAttribute("offset"),r=void 0;i&&i.indexOf("%")>0?r=parseInt(i,10)/100:i?r=parseFloat(i):r=0;var a={};aZ(t,a,a);var o=a.stopColor||t.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:r,color:o})}t=t.nextSibling}}function Kr(n,e){n&&n.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),qt(e.__inheritedStyle,n.__inheritedStyle))}function GO(n){for(var e=Zy(n),t=[],i=0;i<e.length;i+=2){var r=parseFloat(e[i]),a=parseFloat(e[i+1]);t.push([r,a])}return t}function _r(n,e,t,i,r){var a=e,o=a.__inheritedStyle=a.__inheritedStyle||{},s={};n.nodeType===1&&(ffe(n,e),aZ(n,o,s),i||pfe(n,o,s)),a.style=a.style||{},o.fill!=null&&(a.style.fill=UO(a,"fill",o.fill,t)),o.stroke!=null&&(a.style.stroke=UO(a,"stroke",o.stroke,t)),ne(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(l){o[l]!=null&&(a.style[l]=parseFloat(o[l]))}),ne(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign"],function(l){o[l]!=null&&(a.style[l]=o[l])}),r&&(a.__selfStyle=s),o.lineDash&&(a.style.lineDash=q2(Zy(o.lineDash),function(l){return parseFloat(l)})),(o.visibility==="hidden"||o.visibility==="collapse")&&(a.invisible=!0),o.display==="none"&&(a.ignore=!0)}function lfe(n,e){var t=e.__selfStyle;if(t){var i=t.textBaseline,r=i;!i||i==="auto"||i==="baseline"?r="alphabetic":i==="before-edge"||i==="text-before-edge"?r="top":i==="after-edge"||i==="text-after-edge"?r="bottom":(i==="central"||i==="mathematical")&&(r="middle"),n.style.textBaseline=r}var a=e.__inheritedStyle;if(a){var o=a.textAlign,s=o;o&&(o==="middle"&&(s="center"),n.style.textAlign=s)}}var ufe=/^url\(\s*#(.*?)\)/;function UO(n,e,t,i){var r=t&&t.match(ufe);if(r){var a=Ya(r[1]);i.push([n,e,a]);return}return t==="none"&&(t=null),t}function cfe(n,e){for(var t=0;t<e.length;t++){var i=e[t];i[0].style[i[1]]=n[i[2]]}}var dfe=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function Zy(n){return n.match(dfe)||[]}var hfe=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g,Tx=Math.PI/180;function ffe(n,e){var t=n.getAttribute("transform");if(t){t=t.replace(/,/g," ");var i=[],r=null;t.replace(hfe,function(d,h,f){return i.push(h,f),""});for(var a=i.length-1;a>0;a-=2){var o=i[a],s=i[a-1],l=Zy(o);switch(r=r||Ir(),s){case"translate":Ko(r,r,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":eE(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":K8(r,r,-parseFloat(l[0])*Tx,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*Tx);Bs(r,[1,0,u,1,0,0],r);break;case"skewY":var c=Math.tan(parseFloat(l[0])*Tx);Bs(r,[1,c,0,1,0,0],r);break;case"matrix":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5]);break}}e.setLocalTransform(r)}}var VO=/([^\s:;]+)\s*:\s*([^:;]+)/g;function aZ(n,e,t){var i=n.getAttribute("style");if(i){VO.lastIndex=0;for(var r;(r=VO.exec(i))!=null;){var a=r[1],o=Ct(pg,a)?pg[a]:null;o&&(e[o]=r[2]);var s=Ct(vg,a)?vg[a]:null;s&&(t[s]=r[2])}}}function pfe(n,e,t){for(var i=0;i<kO.length;i++){var r=kO[i],a=n.getAttribute(r);a!=null&&(e[pg[r]]=a)}for(var i=0;i<FO.length;i++){var r=FO[i],a=n.getAttribute(r);a!=null&&(t[vg[r]]=a)}}function oZ(n,e){var t=e.width/n.width,i=e.height/n.height,r=Math.min(t,i);return{scale:r,x:-(n.x+n.width/2)*r+(e.x+e.width/2),y:-(n.y+n.height/2)*r+(e.y+e.height/2)}}function vfe(n,e){var t=new sfe;return t.parse(n,e)}var mfe=Rt(["rect","circle","line","ellipse","polygon","polyline","path","text","tspan","g"]),gfe=function(){function n(e,t){this.type="geoSVG",this._usedGraphicMap=Rt(),this._freedGraphics=[],this._mapName=e,this._parsedXML=rZ(t)}return n.prototype.load=function(){var e=this._firstGraphic;if(!e){e=this._firstGraphic=this._buildGraphic(this._parsedXML),this._freedGraphics.push(e),this._boundingRect=this._firstGraphic.boundingRect.clone();var t=_fe(e.named),i=t.regions,r=t.regionsMap;this._regions=i,this._regionsMap=r}return{boundingRect:this._boundingRect,regions:this._regions,regionsMap:this._regionsMap}},n.prototype._buildGraphic=function(e){var t,i;try{t=e&&vfe(e,{ignoreViewBox:!0,ignoreRootClip:!0})||{},i=t.root,Ri(i!=null)}catch(v){throw new Error(`Invalid svg format |
|
|
`+v.message)}var r=new Qt;r.add(i),r.isGeoSVGGraphicRoot=!0;var a=t.width,o=t.height,s=t.viewBoxRect,l=this._boundingRect;if(!l){var u=void 0,c=void 0,d=void 0,h=void 0;if(a!=null?(u=0,d=a):s&&(u=s.x,d=s.width),o!=null?(c=0,h=o):s&&(c=s.y,h=s.height),u==null||c==null){var f=i.getBoundingRect();u==null&&(u=f.x,d=f.width),c==null&&(c=f.y,h=f.height)}l=this._boundingRect=new g3(u,c,d,h)}if(s){var p=oZ(s,l);i.scaleX=i.scaleY=p.scale,i.x=p.x,i.y=p.y}r.setClipPath(new H3({shape:l.plain()}));var m=[];return ne(t.named,function(v){mfe.get(v.svgNodeTagLower)!=null&&(m.push(v),yfe(v.el))}),{root:r,boundingRect:l,named:m}},n.prototype.useGraphic=function(e){var t=this._usedGraphicMap,i=t.get(e);return i||(i=this._freedGraphics.pop()||this._buildGraphic(this._parsedXML),t.set(e,i),i)},n.prototype.freeGraphic=function(e){var t=this._usedGraphicMap,i=t.get(e);i&&(t.removeKey(e),this._freedGraphics.push(i))},n}();function yfe(n){n.silent=!1,n.isGroup&&n.traverse(function(e){e.silent=!1})}function _fe(n){var e=[],t=Rt();return ne(n,function(i){if(i.namedFrom==null){var r=new Fue(i.name,i.el);e.push(r),t.set(i.name,r)}}),{regions:e,regionsMap:t}}var rC=[126,25],HO="南海诸岛",U9=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.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]]];for(var L9=0;L9<U9.length;L9++)for(var O4=0;O4<U9[L9].length;O4++)U9[L9][O4][0]/=10.5,U9[L9][O4][1]/=-10.5/.75,U9[L9][O4][0]+=rC[0],U9[L9][O4][1]+=rC[1];function Sfe(n,e){if(n==="china"){for(var t=0;t<e.length;t++)if(e[t].name===HO)return;e.push(new tK(HO,q2(U9,function(i){return{type:"polygon",exterior:i}}),rC))}}var bfe={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function xfe(n,e){if(n==="china"){var t=bfe[e.name];if(t){var i=e.getCenter();i[0]+=t[0]/10.5,i[1]+=-t[1]/(10.5/.75),e.setCenter(i)}}}var wfe=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function Tfe(n,e){n==="china"&&e.name==="台湾"&&e.geometries.push({type:"polygon",exterior:wfe[0]})}var Afe="name",Cfe=function(){function n(e,t,i){this.type="geoJSON",this._parsedMap=Rt(),this._mapName=e,this._specialAreas=i,this._geoJSON=Efe(t)}return n.prototype.load=function(e,t){t=t||Afe;var i=this._parsedMap.get(t);if(!i){var r=this._parseToRegions(t);i=this._parsedMap.set(t,{regions:r,boundingRect:Mfe(r)})}var a=Rt(),o=[];return ne(i.regions,function(s){var l=s.name;e&&Ct(e,l)&&(s=s.cloneShallow(l=e[l])),o.push(s),a.set(l,s)}),{regions:o,boundingRect:i.boundingRect||new g3(0,0,0,0),regionsMap:a}},n.prototype._parseToRegions=function(e){var t=this._mapName,i=this._geoJSON,r;try{r=i?Bue(i,e):[]}catch(a){throw new Error(`Invalid geoJson format |
|
|
`+a.message)}return Sfe(t,r),ne(r,function(a){var o=a.name;xfe(t,a),Tfe(t,a);var s=this._specialAreas&&this._specialAreas[o];s&&a.transformTo(s.left,s.top,s.width,s.height)},this),r},n.prototype.getMapForUser=function(){return{geoJson:this._geoJSON,geoJSON:this._geoJSON,specialAreas:this._specialAreas}},n}();function Mfe(n){for(var e,t=0;t<n.length;t++){var i=n[t].getBoundingRect();e=e||i.clone(),e.union(i)}return e}function Efe(n){return xt(n)?typeof JSON!="undefined"&&JSON.parse?JSON.parse(n):new Function("return ("+n+");")():n}var Wu=Rt();const Ks={registerMap:function(n,e,t){if(e.svg){var i=new gfe(n,e.svg);Wu.set(n,i)}else{var r=e.geoJson||e.geoJSON;r&&!e.features?t=e.specialAreas:r=e;var i=new Cfe(n,r,t);Wu.set(n,i)}},getGeoResource:function(n){return Wu.get(n)},getMapForUser:function(n){var e=Wu.get(n);return e&&e.type==="geoJSON"&&e.getMapForUser()},load:function(n,e,t){var i=Wu.get(n);if(i)return i.load(e,t)}};var uP=["rect","circle","line","ellipse","polygon","polyline","path"],Pfe=Rt(uP),Rfe=Rt(uP.concat(["g"])),Lfe=Rt(uP.concat(["g"])),sZ=G3();function bp(n){var e=n.getItemStyle(),t=n.get("areaColor");return t!=null&&(e.fill=t),e}function WO(n){var e=n.style;e&&(e.stroke=e.stroke||e.fill,e.fill=null)}var Ife=function(){function n(e){var t=new Qt;this.uid=V7("ec_map_draw"),this._controller=new Lh(e.getZr()),this._controllerHost={target:t},this.group=t,t.add(this._regionsGroup=new Qt),t.add(this._svgGroup=new Qt)}return n.prototype.draw=function(e,t,i,r,a){var o=e.mainType==="geo",s=e.getData&&e.getData();o&&t.eachComponent({mainType:"series",subType:"map"},function(g){!s&&g.getHostGeoModel()===e&&(s=g.getData())});var l=e.coordinateSystem,u=this._regionsGroup,c=this.group,d=l.getTransformInfo(),h=d.raw,f=d.roam,p=!u.childAt(0)||a;p?(c.x=f.x,c.y=f.y,c.scaleX=f.scaleX,c.scaleY=f.scaleY,c.dirty()):Q3(c,f,e);var m=s&&s.getVisual("visualMeta")&&s.getVisual("visualMeta").length>0,v={api:i,geo:l,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:m,isGeo:o,transformInfoRaw:h};l.resourceType==="geoJSON"?this._buildGeoJSON(v):l.resourceType==="geoSVG"&&this._buildSVG(v),this._updateController(e,t,i),this._updateMapSelectHandler(e,u,i,r)},n.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=Rt(),i=Rt(),r=this._regionsGroup,a=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,l=e.geo.projection,u=l&&l.stream;function c(f,p){return p&&(f=p(f)),f&&[f[0]*a.scaleX+a.x,f[1]*a.scaleY+a.y]}function d(f){for(var p=[],m=!u&&l&&l.project,v=0;v<f.length;++v){var g=c(f[v],m);g&&p.push(g)}return p}function h(f){return{shape:{points:d(f)}}}r.removeAll(),ne(e.geo.regions,function(f){var p=f.name,m=t.get(p),v=i.get(p)||{},g=v.dataIdx,_=v.regionModel;if(!m){m=t.set(p,new Qt),r.add(m),g=s?s.indexOfName(p):null,_=e.isGeo?o.getRegionModel(p):s?s.getItemModel(g):null;var S=_.get("silent",!0);S!=null&&(m.silent=S),i.set(p,{dataIdx:g,regionModel:_})}var x=[],A=[];ne(f.geometries,function(I){if(I.type==="polygon"){var D=[I.exterior].concat(I.interiors||[]);u&&(D=KO(D,u)),ne(D,function(P){x.push(new lr(h(P)))})}else{var E=I.points;u&&(E=KO(E,u,!0)),ne(E,function(P){A.push(new dr(h(P)))})}});var C=c(f.getCenter(),l&&l.project);function M(I,D){if(I.length){var E=new _E({culling:!0,segmentIgnoreThreshold:1,shape:{paths:I}});m.add(E),jO(e,E,g,_),$O(e,E,p,_,o,g,C),D&&(WO(E),ne(E.states,WO))}}M(x),M(A,!0)}),t.each(function(f,p){var m=i.get(p),v=m.dataIdx,g=m.regionModel;qO(e,f,p,g,o,v),XO(e,f,p,g,o),YO(e,f,p,g,o)},this)},n.prototype._buildSVG=function(e){var t=e.geo.map,i=e.transformInfoRaw;this._svgGroup.x=i.x,this._svgGroup.y=i.y,this._svgGroup.scaleX=i.scaleX,this._svgGroup.scaleY=i.scaleY,this._svgResourceChanged(t)&&(this._freeSVG(),this._useSVG(t));var r=this._svgDispatcherMap=Rt(),a=!1;ne(this._svgGraphicRecord.named,function(o){var s=o.name,l=e.mapOrGeoModel,u=e.data,c=o.svgNodeTagLower,d=o.el,h=u?u.indexOfName(s):null,f=l.getRegionModel(s);Pfe.get(c)!=null&&d instanceof Ca&&jO(e,d,h,f),d instanceof Ca&&(d.culling=!0);var p=f.get("silent",!0);if(p!=null&&(d.silent=p),d.z2EmphasisLift=0,!o.namedFrom&&(Lfe.get(c)!=null&&$O(e,d,s,f,l,h,null),qO(e,d,s,f,l,h),XO(e,d,s,f,l),Rfe.get(c)!=null)){var m=YO(e,d,s,f,l);m==="self"&&(a=!0);var v=r.get(s)||r.set(s,[]);v.push(d)}},this),this._enableBlurEntireSVG(a,e)},n.prototype._enableBlurEntireSVG=function(e,t){if(e&&t.isGeo){var i=t.mapOrGeoModel.getModel(["blur","itemStyle"]).getItemStyle(),r=i.opacity;this._svgGraphicRecord.root.traverse(function(a){if(!a.isGroup){B8(a);var o=a.ensureState("blur").style||{};o.opacity==null&&r!=null&&(o.opacity=r),a.ensureState("emphasis")}})}},n.prototype.remove=function(){this._regionsGroup.removeAll(),this._regionsGroupByName=null,this._svgGroup.removeAll(),this._freeSVG(),this._controller.dispose(),this._controllerHost=null},n.prototype.findHighDownDispatchers=function(e,t){if(e==null)return[];var i=t.coordinateSystem;if(i.resourceType==="geoJSON"){var r=this._regionsGroupByName;if(r){var a=r.get(e);return a?[a]:[]}}else if(i.resourceType==="geoSVG")return this._svgDispatcherMap&&this._svgDispatcherMap.get(e)||[]},n.prototype._svgResourceChanged=function(e){return this._svgMapName!==e},n.prototype._useSVG=function(e){var t=Ks.getGeoResource(e);if(t&&t.type==="geoSVG"){var i=t.useGraphic(this.uid);this._svgGroup.add(i.root),this._svgGraphicRecord=i,this._svgMapName=e}},n.prototype._freeSVG=function(){var e=this._svgMapName;if(e!=null){var t=Ks.getGeoResource(e);t&&t.type==="geoSVG"&&t.freeGraphic(this.uid),this._svgGraphicRecord=null,this._svgDispatcherMap=null,this._svgGroup.removeAll(),this._svgMapName=null}},n.prototype._updateController=function(e,t,i){var r=e.coordinateSystem,a=this._controller,o=this._controllerHost;o.zoomLimit=e.get("scaleLimit"),o.zoom=r.getZoom(),a.enable(e.get("roam")||!1);var s=e.mainType;function l(){var u={type:"geoRoam",componentType:s};return u[s+"Id"]=e.id,u}a.off("pan").on("pan",function(u){this._mouseDownFlag=!1,sP(o,u.dx,u.dy),i.dispatchAction(I2(l(),{dx:u.dx,dy:u.dy,animation:{duration:0}}))},this),a.off("zoom").on("zoom",function(u){this._mouseDownFlag=!1,lP(o,u.scale,u.originX,u.originY),i.dispatchAction(I2(l(),{totalZoom:o.zoom,zoom:u.scale,originX:u.originX,originY:u.originY,animation:{duration:0}}))},this),a.setPointerChecker(function(u,c,d){return r.containPoint([c,d])&&!Ky(u,i,e)})},n.prototype.resetForLabelLayout=function(){this.group.traverse(function(e){var t=e.getTextContent();t&&(t.ignore=sZ(t).ignore)})},n.prototype._updateMapSelectHandler=function(e,t,i,r){var a=this;t.off("mousedown"),t.off("click"),e.get("selectedMode")&&(t.on("mousedown",function(){a._mouseDownFlag=!0}),t.on("click",function(o){a._mouseDownFlag&&(a._mouseDownFlag=!1)}))},n}();function jO(n,e,t,i){var r=i.getModel("itemStyle"),a=i.getModel(["emphasis","itemStyle"]),o=i.getModel(["blur","itemStyle"]),s=i.getModel(["select","itemStyle"]),l=bp(r),u=bp(a),c=bp(s),d=bp(o),h=n.data;if(h){var f=h.getItemVisual(t,"style"),p=h.getItemVisual(t,"decal");n.isVisualEncodedByVisualMap&&f.fill&&(l.fill=f.fill),p&&(l.decal=f7(p,n.api))}e.setStyle(l),e.style.strokeNoScale=!0,e.ensureState("emphasis").style=u,e.ensureState("select").style=c,e.ensureState("blur").style=d,B8(e)}function $O(n,e,t,i,r,a,o){var s=n.data,l=n.isGeo,u=s&&isNaN(s.get(s.mapDimension("value"),a)),c=s&&s.getItemLayout(a);if(l||u||c&&c.showLabel){var d=l?t:a,h=void 0;(!s||a>=0)&&(h=r);var f=o?{normal:{align:"center",verticalAlign:"middle"}}:null;jn(e,yn(i),{labelFetcher:h,labelDataIndex:d,defaultText:t},f);var p=e.getTextContent();if(p&&(sZ(p).ignore=p.ignore,e.textConfig&&o)){var m=e.getBoundingRect().clone();e.textConfig.layoutRect=m,e.textConfig.position=[(o[0]-m.x)/m.width*100+"%",(o[1]-m.y)/m.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function qO(n,e,t,i,r,a){n.data?n.data.setItemGraphicEl(a,e):t3(e).eventData={componentType:"geo",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:t,region:i&&i.option||{}}}function XO(n,e,t,i,r){n.data||Z8({el:e,componentModel:r,itemName:t,itemTooltipOption:i.get("tooltip")})}function YO(n,e,t,i,r){e.highDownSilentOnTouch=!!r.get("selectedMode");var a=i.getModel("emphasis"),o=a.get("focus");return g0(e,o,a.get("blurScope"),a.get("disabled")),n.isGeo&&I9e(e,r,t),o}function KO(n,e,t){var i=[],r;function a(){r=[]}function o(){r.length&&(i.push(r),r=[])}var s=e({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&r.push([l,u])},sphere:function(){}});return!t&&s.polygonStart(),ne(n,function(l){s.lineStart();for(var u=0;u<l.length;u++)s.point(l[u][0],l[u][1]);s.lineEnd()}),!t&&s.polygonEnd(),i}const lZ=Ife;var Dfe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){if(!(a&&a.type==="mapToggleSelect"&&a.from===this.uid)){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(this._mapDraw&&a&&a.type==="geoRoam"&&this._mapDraw.resetForLabelLayout(),a&&a.type==="geoRoam"&&a.componentType==="series"&&a.seriesId===t.id){var s=this._mapDraw;s&&o.add(s.group)}else if(t.needsDrawMap){var s=this._mapDraw||new lZ(r);o.add(s.group),s.draw(t,i,r,this,a),this._mapDraw=s}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&i.getComponent("legend")&&this._renderSymbols(t,i,r)}}},e.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},e.prototype._renderSymbols=function(t,i,r){var a=t.originalData,o=this.group;a.each(a.mapDimension("value"),function(s,l){if(!isNaN(s)){var u=a.getItemLayout(l);if(!(!u||!u.point)){var c=u.point,d=u.offset,h=new z5({style:{fill:t.getData().getVisual("style").fill},shape:{cx:c[0]+d*9,cy:c[1],r:3},silent:!0,z2:8+(d?0:z7+1)});if(!d){var f=t.mainSeries.getData(),p=a.getName(l),m=f.indexOfName(p),v=a.getItemModel(l),g=v.getModel("label"),_=f.getItemGraphicEl(m);jn(h,yn(v),{labelFetcher:{getFormattedLabel:function(S,x){return t.getFormattedLabel(m,x)}},defaultText:p}),h.disableLabelAnimation=!0,g.get("position")||h.setTextConfig({position:"bottom"}),_.onHoverStateChange=function(S){qm(h,S)}}o.add(h)}}})},e.type="map",e}(q1);const Nfe=Dfe;var kfe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.needsDrawMap=!1,t.seriesGroup=[],t.getTooltipPosition=function(i){if(i!=null){var r=this.getData().getName(i),a=this.coordinateSystem,o=a.getRegion(r);return o&&a.dataToPoint(o.getCenter())}},t}return e.prototype.getInitialData=function(t){for(var i=Z7(this,{coordDimensions:["value"],encodeDefaulter:s3(PE,this)}),r=Rt(),a=[],o=0,s=i.count();o<s;o++){var l=i.getName(o);r.set(l,o)}var u=Ks.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);return ne(u.regions,function(c){var d=c.name,h=r.get(d),f=c.properties&&c.properties.echartsStyle,p;h==null?(p={name:d},a.push(p)):p=i.getRawDataItem(h),f&&u3(p,f)}),i.appendData(a),i},e.prototype.getHostGeoModel=function(){var t=this.option.geoIndex;return t!=null?this.ecModel.getComponent("geo",t):null},e.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map},e.prototype.getRawValue=function(t){var i=this.getData();return i.get(i.mapDimension("value"),t)},e.prototype.getRegionModel=function(t){var i=this.getData();return i.getItemModel(i.indexOfName(t))},e.prototype.formatTooltip=function(t,i,r){for(var a=this.getData(),o=this.getRawValue(t),s=a.getName(t),l=this.seriesGroup,u=[],c=0;c<l.length;c++){var d=l[c].originalData.indexOfName(s),h=a.mapDimension("value");isNaN(l[c].originalData.get(h,d))||u.push(l[c].name)}return _n("section",{header:u.join(", "),noHeader:!u.length,blocks:[_n("nameValue",{name:s,value:o})]})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.getLegendIcon=function(t){var i=t.icon||"roundRect",r=X0(i,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill);return r.setStyle(t.itemStyle),r.style.stroke="none",i.indexOf("empty")>-1&&(r.style.stroke=r.style.fill,r.style.fill="#fff",r.style.lineWidth=2),r},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(f0);const Ffe=kfe;function Ofe(n,e){var t={};return ne(n,function(i){i.each(i.mapDimension("value"),function(r,a){var o="ec-"+i.getName(a);t[o]=t[o]||[],isNaN(r)||t[o].push(r)})}),n[0].map(n[0].mapDimension("value"),function(i,r){for(var a="ec-"+n[0].getName(r),o=0,s=1/0,l=-1/0,u=t[a].length,c=0;c<u;c++)s=Math.min(s,t[a][c]),l=Math.max(l,t[a][c]),o+=t[a][c];var d;return e==="min"?d=s:e==="max"?d=l:e==="average"?d=o/u:d=o,u===0?NaN:d})}function Bfe(n){var e={};n.eachSeriesByType("map",function(t){var i=t.getHostGeoModel(),r=i?"o"+i.id:"i"+t.getMapType();(e[r]=e[r]||[]).push(t)}),ne(e,function(t,i){for(var r=Ofe(q2(t,function(o){return o.getData()}),t[0].get("mapValueCalculation")),a=0;a<t.length;a++)t[a].originalData=t[a].getData();for(var a=0;a<t.length;a++)t[a].seriesGroup=t,t[a].needsDrawMap=a===0&&!t[a].getHostGeoModel(),t[a].setData(r.cloneShallow()),t[a].mainSeries=t[0]})}function zfe(n){var e={};n.eachSeriesByType("map",function(t){var i=t.getMapType();if(!(t.getHostGeoModel()||e[i])){var r={};ne(t.seriesGroup,function(o){var s=o.coordinateSystem,l=o.originalData;o.get("showLegendSymbol")&&n.getComponent("legend")&&l.each(l.mapDimension("value"),function(u,c){var d=l.getName(c),h=s.getRegion(d);if(!(!h||isNaN(u))){var f=r[d]||0,p=s.dataToPoint(h.getCenter());r[d]=f+1,l.setItemLayout(c,{point:p,offset:f})}})});var a=t.getData();a.each(function(o){var s=a.getName(o),l=a.getItemLayout(o)||{};l.showLabel=!r[s],a.setItemLayout(o,l)}),e[i]=!0}})}var ZO=Vn,Gfe=function(n){o2(e,n);function e(t){var i=n.call(this)||this;return i.type="view",i.dimensions=["x","y"],i._roamTransformable=new Ds,i._rawTransformable=new Ds,i.name=t,i}return e.prototype.setBoundingRect=function(t,i,r,a){return this._rect=new g3(t,i,r,a),this._rect},e.prototype.getBoundingRect=function(){return this._rect},e.prototype.setViewRect=function(t,i,r,a){this._transformTo(t,i,r,a),this._viewRect=new g3(t,i,r,a)},e.prototype._transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=this._rawTransformable;s.transform=o.calculateTransform(new g3(t,i,r,a));var l=s.parent;s.parent=null,s.decomposeTransform(),s.parent=l,this._updateTransform()},e.prototype.setCenter=function(t,i){t&&(this._center=[mt(t[0],i.getWidth()),mt(t[1],i.getHeight())],this._updateCenterAndZoom())},e.prototype.setZoom=function(t){t=t||1;var i=this.zoomLimit;i&&(i.max!=null&&(t=Math.min(i.max,t)),i.min!=null&&(t=Math.max(i.min,t))),this._zoom=t,this._updateCenterAndZoom()},e.prototype.getDefaultCenter=function(){var t=this.getBoundingRect(),i=t.x+t.width/2,r=t.y+t.height/2;return[i,r]},e.prototype.getCenter=function(){return this._center||this.getDefaultCenter()},e.prototype.getZoom=function(){return this._zoom||1},e.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()},e.prototype._updateCenterAndZoom=function(){var t=this._rawTransformable.getLocalTransform(),i=this._roamTransformable,r=this.getDefaultCenter(),a=this.getCenter(),o=this.getZoom();a=Vn([],a,t),r=Vn([],r,t),i.originX=a[0],i.originY=a[1],i.x=r[0]-a[0],i.y=r[1]-a[1],i.scaleX=i.scaleY=o,this._updateTransform()},e.prototype._updateTransform=function(){var t=this._roamTransformable,i=this._rawTransformable;i.parent=t,t.updateTransform(),i.updateTransform(),QM(this.transform||(this.transform=[]),i.transform||Ir()),this._rawTransform=i.getLocalTransform(),this.invTransform=this.invTransform||[],O7(this.invTransform,this.transform),this.decomposeTransform()},e.prototype.getTransformInfo=function(){var t=this._rawTransformable,i=this._roamTransformable,r=new Ds;return r.transform=i.transform,r.decomposeTransform(),{roam:{x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY},raw:{x:t.x,y:t.y,scaleX:t.scaleX,scaleY:t.scaleY}}},e.prototype.getViewRect=function(){return this._viewRect},e.prototype.getViewRectAfterRoam=function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},e.prototype.dataToPoint=function(t,i,r){var a=i?this._rawTransform:this.transform;return r=r||[],a?ZO(r,t,a):wi(r,t)},e.prototype.pointToData=function(t){var i=this.invTransform;return i?ZO([],t,i):[t[0],t[1]]},e.prototype.convertToPixel=function(t,i,r){var a=JO(i);return a===this?a.dataToPoint(r):null},e.prototype.convertFromPixel=function(t,i,r){var a=JO(i);return a===this?a.pointToData(r):null},e.prototype.containPoint=function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])},e.dimensions=["x","y"],e}(Ds);function JO(n){var e=n.seriesModel;return e?e.coordinateSystem:null}const Ih=Gfe;var Ufe={geoJSON:{aspectScale:.75,invertLongitute:!0},geoSVG:{aspectScale:1,invertLongitute:!1}},uZ=["lng","lat"],cZ=function(n){o2(e,n);function e(t,i,r){var a=n.call(this,t)||this;a.dimensions=uZ,a.type="geo",a._nameCoordMap=Rt(),a.map=i;var o=r.projection,s=Ks.load(i,r.nameMap,r.nameProperty),l=Ks.getGeoResource(i);a.resourceType=l?l.type:null;var u=a.regions=s.regions,c=Ufe[l.type];a._regionsMap=s.regionsMap,a.regions=s.regions,a.projection=o;var d;if(o)for(var h=0;h<u.length;h++){var f=u[h].getBoundingRect(o);d=d||f.clone(),d.union(f)}else d=s.boundingRect;return a.setBoundingRect(d.x,d.y,d.width,d.height),a.aspectScale=o?1:a3(r.aspectScale,c.aspectScale),a._invertLongitute=o?!1:c.invertLongitute,a}return e.prototype._transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=this._invertLongitute;o=o.clone(),s&&(o.y=-o.y-o.height);var l=this._rawTransformable;l.transform=o.calculateTransform(new g3(t,i,r,a));var u=l.parent;l.parent=null,l.decomposeTransform(),l.parent=u,s&&(l.scaleY=-l.scaleY),this._updateTransform()},e.prototype.getRegion=function(t){return this._regionsMap.get(t)},e.prototype.getRegionByCoord=function(t){for(var i=this.regions,r=0;r<i.length;r++){var a=i[r];if(a.type==="geoJSON"&&a.contain(t))return i[r]}},e.prototype.addGeoCoord=function(t,i){this._nameCoordMap.set(t,i)},e.prototype.getGeoCoord=function(t){var i=this._regionsMap.get(t);return this._nameCoordMap.get(t)||i&&i.getCenter()},e.prototype.dataToPoint=function(t,i,r){if(xt(t)&&(t=this.getGeoCoord(t)),t){var a=this.projection;return a&&(t=a.project(t)),t&&this.projectedToPoint(t,i,r)}},e.prototype.pointToData=function(t){var i=this.projection;return i&&(t=i.unproject(t)),t&&this.pointToProjected(t)},e.prototype.pointToProjected=function(t){return n.prototype.pointToData.call(this,t)},e.prototype.projectedToPoint=function(t,i,r){return n.prototype.dataToPoint.call(this,t,i,r)},e.prototype.convertToPixel=function(t,i,r){var a=QO(i);return a===this?a.dataToPoint(r):null},e.prototype.convertFromPixel=function(t,i,r){var a=QO(i);return a===this?a.pointToData(r):null},e}(Ih);K0(cZ,Ih);function QO(n){var e=n.geoModel,t=n.seriesModel;return e?e.coordinateSystem:t?t.coordinateSystem||(t.getReferringComponents("geo",q0).models[0]||{}).coordinateSystem:null}const eB=cZ;function tB(n,e){var t=n.get("boundingCoords");if(t!=null){var i=t[0],r=t[1];if(isFinite(i[0])&&isFinite(i[1])&&isFinite(r[0])&&isFinite(r[1])){var a=this.projection;if(a){var o=i[0],s=i[1],l=r[0],u=r[1];i=[1/0,1/0],r=[-1/0,-1/0];var c=function(C,M,I,D){for(var E=I-C,P=D-M,F=0;F<=100;F++){var V=F/100,G=a.project([C+E*V,M+P*V]);t5(i,i,G),n5(r,r,G)}};c(o,s,l,s),c(l,s,l,u),c(l,u,o,u),c(o,u,l,s)}this.setBoundingRect(i[0],i[1],r[0]-i[0],r[1]-i[1])}}var d=this.getBoundingRect(),h=n.get("layoutCenter"),f=n.get("layoutSize"),p=e.getWidth(),m=e.getHeight(),v=d.width/d.height*this.aspectScale,g=!1,_,S;h&&f&&(_=[mt(h[0],p),mt(h[1],m)],S=mt(f,Math.min(p,m)),!isNaN(_[0])&&!isNaN(_[1])&&!isNaN(S)&&(g=!0));var x;if(g)x={},v>1?(x.width=S,x.height=S/v):(x.height=S,x.width=S*v),x.y=_[1]-x.height/2,x.x=_[0]-x.width/2;else{var A=n.getBoxLayoutParams();A.aspect=v,x=un(A,{width:p,height:m})}this.setViewRect(x.x,x.y,x.width,x.height),this.setCenter(n.get("center"),e),this.setZoom(n.get("zoom"))}function Vfe(n,e){ne(e.get("geoCoord"),function(t,i){n.addGeoCoord(i,t)})}var Hfe=function(){function n(){this.dimensions=uZ}return n.prototype.create=function(e,t){var i=[];function r(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}e.eachComponent("geo",function(o,s){var l=o.get("map"),u=new eB(l+s,l,I2({nameMap:o.get("nameMap")},r(o)));u.zoomLimit=o.get("scaleLimit"),i.push(u),o.coordinateSystem=u,u.model=o,u.resize=tB,u.resize(o,t)}),e.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=i[l]}});var a={};return e.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();a[s]=a[s]||[],a[s].push(o)}}),ne(a,function(o,s){var l=q2(o,function(c){return c.get("nameMap")}),u=new eB(s,s,I2({nameMap:YM(l)},r(o[0])));u.zoomLimit=Pn.apply(null,q2(o,function(c){return c.get("scaleLimit")})),i.push(u),u.resize=tB,u.resize(o[0],t),ne(o,function(c){c.coordinateSystem=u,Vfe(u,c)})}),i},n.prototype.getFilledRegions=function(e,t,i,r){for(var a=(e||[]).slice(),o=Rt(),s=0;s<a.length;s++)o.set(a[s].name,a[s]);var l=Ks.load(t,i,r);return ne(l.regions,function(u){var c=u.name,d=o.get(c),h=u.properties&&u.properties.echartsStyle;d||(d={name:c},a.push(d)),h&&u3(d,h)}),a},n}(),Wfe=new Hfe;const dZ=Wfe;var jfe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i,r){var a=Ks.getGeoResource(t.map);if(a&&a.type==="geoJSON"){var o=t.itemStyle=t.itemStyle||{};"color"in o||(o.color="#eee")}this.mergeDefaultAndTheme(t,r),k8(t,"label",["show"])},e.prototype.optionUpdated=function(){var t=this,i=this.option;i.regions=dZ.getFilledRegions(i.regions,i.map,i.nameMap,i.nameProperty);var r={};this._optionModelMap=Yo(i.regions||[],function(a,o){var s=o.name;return s&&(a.set(s,new $1(o,t,t.ecModel)),o.selected&&(r[s]=!0)),a},Rt()),i.selectedMap||(i.selectedMap=r)},e.prototype.getRegionModel=function(t){return this._optionModelMap.get(t)||new $1(null,this,this.ecModel)},e.prototype.getFormattedLabel=function(t,i){var r=this.getRegionModel(t),a=i==="normal"?r.get(["label","formatter"]):r.get(["emphasis","label","formatter"]),o={name:t};if(Wt(a))return o.status=i,a(o);if(xt(a))return a.replace("{a}",t!=null?t:"")},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.select=function(t){var i=this.option,r=i.selectedMode;if(r){r!=="multiple"&&(i.selectedMap=null);var a=i.selectedMap||(i.selectedMap={});a[t]=!0}},e.prototype.unSelect=function(t){var i=this.option.selectedMap;i&&(i[t]=!1)},e.prototype.toggleSelected=function(t){this[this.isSelected(t)?"unSelect":"select"](t)},e.prototype.isSelected=function(t){var i=this.option.selectedMap;return!!(i&&i[t])},e.type="geo",e.layoutMode="box",e.defaultOption={z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},e}($3);const $fe=jfe;function nB(n,e){return n.pointToProjected?n.pointToProjected(e):n.pointToData(e)}function cP(n,e,t,i){var r=n.getZoom(),a=n.getCenter(),o=e.zoom,s=n.projectedToPoint?n.projectedToPoint(a):n.dataToPoint(a);if(e.dx!=null&&e.dy!=null&&(s[0]-=e.dx,s[1]-=e.dy,n.setCenter(nB(n,s),i)),o!=null){if(t){var l=t.min||0,u=t.max||1/0;o=Math.max(Math.min(r*o,u),l)/r}n.scaleX*=o,n.scaleY*=o;var c=(e.originX-n.x)*(o-1),d=(e.originY-n.y)*(o-1);n.x-=c,n.y-=d,n.updateTransform(),n.setCenter(nB(n,s),i),n.setZoom(o*r)}return{center:n.getCenter(),zoom:n.getZoom()}}var qfe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.focusBlurEnabled=!0,t}return e.prototype.init=function(t,i){this._api=i},e.prototype.render=function(t,i,r,a){if(this._model=t,!t.get("show")){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;return}this._mapDraw||(this._mapDraw=new lZ(r));var o=this._mapDraw;o.draw(t,i,r,this,a),o.group.on("click",this._handleRegionClick,this),o.group.silent=t.get("silent"),this.group.add(o.group),this.updateSelectStatus(t,i,r)},e.prototype._handleRegionClick=function(t){var i;o8(t.target,function(r){return(i=t3(r).eventData)!=null},!0),i&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:i.name})},e.prototype.updateSelectStatus=function(t,i,r){var a=this;this._mapDraw.group.traverse(function(o){var s=t3(o).eventData;if(s)return a._model.isSelected(s.name)?r.enterSelect(o):r.leaveSelect(o),!0})},e.prototype.findHighDownDispatchers=function(t){return this._mapDraw&&this._mapDraw.findHighDownDispatchers(t,this._model)},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()},e.type="geo",e}(b0);const Xfe=qfe;function Yfe(n,e,t){Ks.registerMap(n,e,t)}function hZ(n){n.registerCoordinateSystem("geo",dZ),n.registerComponentModel($fe),n.registerComponentView(Xfe),n.registerImpl("registerMap",Yfe),n.registerImpl("getMap",function(t){return Ks.getMapForUser(t)});function e(t,i){i.update="geo:updateSelectStatus",n.registerAction(i,function(r,a){var o={},s=[];return a.eachComponent({mainType:"geo",query:r},function(l){l[t](r.name);var u=l.coordinateSystem;ne(u.regions,function(d){o[d.name]=l.isSelected(d.name)||!1});var c=[];ne(o,function(d,h){o[h]&&c.push(h)}),s.push({geoIndex:l.componentIndex,name:c})}),{selected:o,allSelected:s,name:r.name}})}e("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),e("select",{type:"geoSelect",event:"geoselected"}),e("unSelect",{type:"geoUnSelect",event:"geounselected"}),n.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,i,r){var a=t.componentType||"series";i.eachComponent({mainType:a,query:t},function(o){var s=o.coordinateSystem;if(s.type==="geo"){var l=cP(s,t,o.get("scaleLimit"),r);o.setCenter&&o.setCenter(l.center),o.setZoom&&o.setZoom(l.zoom),a==="series"&&ne(o.seriesGroup,function(u){u.setCenter(l.center),u.setZoom(l.zoom)})}})})}function Kfe(n){C3(hZ),n.registerChartView(Nfe),n.registerSeriesModel(Ffe),n.registerLayout(zfe),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,Bfe),sY("map",n.registerAction)}function Zfe(n){var e=n;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var t=[e],i,r;i=t.pop();)if(r=i.children,i.isExpand&&r.length)for(var a=r.length,o=a-1;o>=0;o--){var s=r[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},t.push(s)}}function Jfe(n,e){var t=n.isExpand?n.children:[],i=n.parentNode.children,r=n.hierNode.i?i[n.hierNode.i-1]:null;if(t.length){tpe(n);var a=(t[0].hierNode.prelim+t[t.length-1].hierNode.prelim)/2;r?(n.hierNode.prelim=r.hierNode.prelim+e(n,r),n.hierNode.modifier=n.hierNode.prelim-a):n.hierNode.prelim=a}else r&&(n.hierNode.prelim=r.hierNode.prelim+e(n,r));n.parentNode.hierNode.defaultAncestor=npe(n,r,n.parentNode.hierNode.defaultAncestor||i[0],e)}function Qfe(n){var e=n.hierNode.prelim+n.parentNode.hierNode.modifier;n.setLayout({x:e},!0),n.hierNode.modifier+=n.parentNode.hierNode.modifier}function iB(n){return arguments.length?n:ape}function Ac(n,e){return n-=Math.PI/2,{x:e*Math.cos(n),y:e*Math.sin(n)}}function epe(n,e){return un(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function tpe(n){for(var e=n.children,t=e.length,i=0,r=0;--t>=0;){var a=e[t];a.hierNode.prelim+=i,a.hierNode.modifier+=i,r+=a.hierNode.change,i+=a.hierNode.shift+r}}function npe(n,e,t,i){if(e){for(var r=n,a=n,o=a.parentNode.children[0],s=e,l=r.hierNode.modifier,u=a.hierNode.modifier,c=o.hierNode.modifier,d=s.hierNode.modifier;s=Ax(s),a=Cx(a),s&&a;){r=Ax(r),o=Cx(o),r.hierNode.ancestor=n;var h=s.hierNode.prelim+d-a.hierNode.prelim-u+i(s,a);h>0&&(rpe(ipe(s,n,t),n,h),u+=h,l+=h),d+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=r.hierNode.modifier,c+=o.hierNode.modifier}s&&!Ax(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=d-l),a&&!Cx(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=u-c,t=n)}return t}function Ax(n){var e=n.children;return e.length&&n.isExpand?e[e.length-1]:n.hierNode.thread}function Cx(n){var e=n.children;return e.length&&n.isExpand?e[0]:n.hierNode.thread}function ipe(n,e,t){return n.hierNode.ancestor.parentNode===e.parentNode?n.hierNode.ancestor:t}function rpe(n,e,t){var i=t/(e.hierNode.i-n.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=t,e.hierNode.modifier+=t,e.hierNode.prelim+=t,n.hierNode.change+=i}function ape(n,e){return n.parentNode===e.parentNode?1:2}var ope=function(){function n(){this.parentPoint=[],this.childPoints=[]}return n}(),spe=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new ope},e.prototype.buildPath=function(t,i){var r=i.childPoints,a=r.length,o=i.parentPoint,s=r[0],l=r[a-1];if(a===1){t.moveTo(o[0],o[1]),t.lineTo(s[0],s[1]);return}var u=i.orient,c=u==="TB"||u==="BT"?0:1,d=1-c,h=mt(i.forkPosition,1),f=[];f[c]=o[c],f[d]=o[d]+(l[d]-o[d])*h,t.moveTo(o[0],o[1]),t.lineTo(f[0],f[1]),t.moveTo(s[0],s[1]),f[c]=s[c],t.lineTo(f[0],f[1]),f[c]=l[c],t.lineTo(f[0],f[1]),t.lineTo(l[0],l[1]);for(var p=1;p<a-1;p++){var m=r[p];t.moveTo(m[0],m[1]),f[c]=m[c],t.lineTo(f[0],f[1])}},e}(E3),lpe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._mainGroup=new Qt,t}return e.prototype.init=function(t,i){this._controller=new Lh(i.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},e.prototype.render=function(t,i,r){var a=t.getData(),o=t.layoutInfo,s=this._mainGroup,l=t.get("layout");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,r),this._updateController(t,i,r);var u=this._data;a.diff(u).add(function(c){rB(a,c)&&aB(a,c,null,s,t)}).update(function(c,d){var h=u.getItemGraphicEl(d);if(!rB(a,c)){h&&sB(u,d,h,s,t);return}aB(a,c,h,s,t)}).remove(function(c){var d=u.getItemGraphicEl(c);d&&sB(u,c,d,s,t)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),t.get("expandAndCollapse")===!0&&a.eachItemGraphicEl(function(c,d){c.off("click").on("click",function(){r.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:d})})}),this._data=a},e.prototype._updateViewCoordSys=function(t,i){var r=t.getData(),a=[];r.each(function(d){var h=r.getItemLayout(d);h&&!isNaN(h.x)&&!isNaN(h.y)&&a.push([+h.x,+h.y])});var o=[],s=[];Ay(a,o,s);var l=this._min,u=this._max;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);var c=t.coordinateSystem=new Ih;c.zoomLimit=t.get("scaleLimit"),c.setBoundingRect(o[0],o[1],s[0]-o[0],s[1]-o[1]),c.setCenter(t.get("center"),i),c.setZoom(t.get("zoom")),this.group.attr({x:c.x,y:c.y,scaleX:c.scaleX,scaleY:c.scaleY}),this._min=o,this._max=s},e.prototype._updateController=function(t,i,r){var a=this,o=this._controller,s=this._controllerHost,l=this.group;o.setPointerChecker(function(u,c,d){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(c,d)&&!Ky(u,r,t)}),o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){sP(s,u.dx,u.dy),r.dispatchAction({seriesId:t.id,type:"treeRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){lP(s,u.scale,u.originX,u.originY),r.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(t),r.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(t){var i=t.getData(),r=this._getNodeGlobalScale(t);i.eachItemGraphicEl(function(a,o){a.setSymbolScale(r)})},e.prototype._getNodeGlobalScale=function(t){var i=t.coordinateSystem;if(i.type!=="view")return 1;var r=this._nodeScaleRatio,a=i.scaleX||1,o=i.getZoom(),s=(o-1)*r+1;return s/a},e.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype.remove=function(){this._mainGroup.removeAll(),this._data=null},e.type="tree",e}(q1);function rB(n,e){var t=n.getItemLayout(e);return t&&!isNaN(t.x)&&!isNaN(t.y)}function aB(n,e,t,i,r){var a=!t,o=n.tree.getNodeByDataIndex(e),s=o.getModel(),l=o.getVisual("style").fill,u=o.isExpand===!1&&o.children.length!==0?l:"#fff",c=n.tree.root,d=o.parentNode===c?o:o.parentNode||o,h=n.getItemGraphicEl(d.dataIndex),f=d.getLayout(),p=h?{x:h.__oldX,y:h.__oldY,rawX:h.__radialOldRawX,rawY:h.__radialOldRawY}:f,m=o.getLayout();a?(t=new Ah(n,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.x=p.x,t.y=p.y):t.updateData(n,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.__radialOldRawX=t.__radialRawX,t.__radialOldRawY=t.__radialRawY,t.__radialRawX=m.rawX,t.__radialRawY=m.rawY,i.add(t),n.setItemGraphicEl(e,t),t.__oldX=t.x,t.__oldY=t.y,Q3(t,{x:m.x,y:m.y},r);var v=t.getSymbolPath();if(r.get("layout")==="radial"){var g=c.children[0],_=g.getLayout(),S=g.children.length,x=void 0,A=void 0;if(m.x===_.x&&o.isExpand===!0&&g.children.length){var C={x:(g.children[0].getLayout().x+g.children[S-1].getLayout().x)/2,y:(g.children[0].getLayout().y+g.children[S-1].getLayout().y)/2};x=Math.atan2(C.y-_.y,C.x-_.x),x<0&&(x=Math.PI*2+x),A=C.x<_.x,A&&(x=x-Math.PI)}else x=Math.atan2(m.y-_.y,m.x-_.x),x<0&&(x=Math.PI*2+x),o.children.length===0||o.children.length!==0&&o.isExpand===!1?(A=m.x<_.x,A&&(x=x-Math.PI)):(A=m.x>_.x,A||(x=x-Math.PI));var M=A?"left":"right",I=s.getModel("label"),D=I.get("rotate"),E=D*(Math.PI/180),P=v.getTextContent();P&&(v.setTextConfig({position:I.get("position")||M,rotation:D==null?-x:E,origin:"center"}),P.setStyle("verticalAlign","middle"))}var F=s.get(["emphasis","focus"]),V=F==="relative"?bd(o.getAncestorsIndices(),o.getDescendantIndices()):F==="ancestor"?o.getAncestorsIndices():F==="descendant"?o.getDescendantIndices():null;V&&(t3(t).focus=V),upe(r,o,c,t,p,f,m,i),t.__edge&&(t.onHoverStateChange=function(G){if(G!=="blur"){var W=o.parentNode&&n.getItemGraphicEl(o.parentNode.dataIndex);W&&W.hoverState===yh||qm(t.__edge,G)}})}function upe(n,e,t,i,r,a,o,s){var l=e.getModel(),u=n.get("edgeShape"),c=n.get("layout"),d=n.getOrient(),h=n.get(["lineStyle","curveness"]),f=n.get("edgeForkPosition"),p=l.getModel("lineStyle").getLineStyle(),m=i.__edge;if(u==="curve")e.parentNode&&e.parentNode!==t&&(m||(m=i.__edge=new Py({shape:aC(c,d,h,r,r)})),Q3(m,{shape:aC(c,d,h,a,o)},n));else if(u==="polyline"&&c==="orthogonal"&&e!==t&&e.children&&e.children.length!==0&&e.isExpand===!0){for(var v=e.children,g=[],_=0;_<v.length;_++){var S=v[_].getLayout();g.push([S.x,S.y])}m||(m=i.__edge=new spe({shape:{parentPoint:[o.x,o.y],childPoints:[[o.x,o.y]],orient:d,forkPosition:f}})),Q3(m,{shape:{parentPoint:[o.x,o.y],childPoints:g}},n)}m&&!(u==="polyline"&&!e.isExpand)&&(m.useStyle(qt({strokeNoScale:!0,fill:null},p)),Wn(m,l,"lineStyle"),B8(m),s.add(m))}function oB(n,e,t,i,r){var a=e.tree.root,o=fZ(a,n),s=o.source,l=o.sourceLayout,u=e.getItemGraphicEl(n.dataIndex);if(u){var c=e.getItemGraphicEl(s.dataIndex),d=c.__edge,h=u.__edge||(s.isExpand===!1||s.children.length===1?d:void 0),f=i.get("edgeShape"),p=i.get("layout"),m=i.get("orient"),v=i.get(["lineStyle","curveness"]);h&&(f==="curve"?P5(h,{shape:aC(p,m,v,l,l),style:{opacity:0}},i,{cb:function(){t.remove(h)},removeOpt:r}):f==="polyline"&&i.get("layout")==="orthogonal"&&P5(h,{shape:{parentPoint:[l.x,l.y],childPoints:[[l.x,l.y]]},style:{opacity:0}},i,{cb:function(){t.remove(h)},removeOpt:r}))}}function fZ(n,e){for(var t=e.parentNode===n?e:e.parentNode||e,i;i=t.getLayout(),i==null;)t=t.parentNode===n?t:t.parentNode||t;return{source:t,sourceLayout:i}}function sB(n,e,t,i,r){var a=n.tree.getNodeByDataIndex(e),o=n.tree.root,s=fZ(o,a).sourceLayout,l={duration:r.get("animationDurationUpdate"),easing:r.get("animationEasingUpdate")};P5(t,{x:s.x+1,y:s.y+1},r,{cb:function(){i.remove(t),n.setItemGraphicEl(e,null)},removeOpt:l}),t.fadeOut(null,n.hostModel,{fadeLabel:!0,animation:l}),a.children.forEach(function(u){oB(u,n,i,r,l)}),oB(a,n,i,r,l)}function aC(n,e,t,i,r){var a,o,s,l,u,c,d,h;if(n==="radial"){u=i.rawX,d=i.rawY,c=r.rawX,h=r.rawY;var f=Ac(u,d),p=Ac(u,d+(h-d)*t),m=Ac(c,h+(d-h)*t),v=Ac(c,h);return{x1:f.x||0,y1:f.y||0,x2:v.x||0,y2:v.y||0,cpx1:p.x||0,cpy1:p.y||0,cpx2:m.x||0,cpy2:m.y||0}}else u=i.x,d=i.y,c=r.x,h=r.y,(e==="LR"||e==="RL")&&(a=u+(c-u)*t,o=d,s=c+(u-c)*t,l=h),(e==="TB"||e==="BT")&&(a=u,o=d+(h-d)*t,s=c,l=h+(d-h)*t);return{x1:u,y1:d,x2:c,y2:h,cpx1:a,cpy1:o,cpx2:s,cpy2:l}}const cpe=lpe;var xa=G3();function pZ(n){var e=n.mainData,t=n.datas;t||(t={main:e},n.datasAttr={main:"data"}),n.datas=n.mainData=null,vZ(e,t,n),ne(t,function(i){ne(e.TRANSFERABLE_METHODS,function(r){i.wrapMethod(r,s3(dpe,n))})}),e.wrapMethod("cloneShallow",s3(fpe,n)),ne(e.CHANGABLE_METHODS,function(i){e.wrapMethod(i,s3(hpe,n))}),Ri(t[e.dataType]===e)}function dpe(n,e){if(mpe(this)){var t=I2({},xa(this).datas);t[this.dataType]=e,vZ(e,t,n)}else dP(e,this.dataType,xa(this).mainData,n);return e}function hpe(n,e){return n.struct&&n.struct.update(),e}function fpe(n,e){return ne(xa(e).datas,function(t,i){t!==e&&dP(t.cloneShallow(),i,e,n)}),e}function ppe(n){var e=xa(this).mainData;return n==null||e==null?e:xa(e).datas[n]}function vpe(){var n=xa(this).mainData;return n==null?[{data:n}]:q2(L3(xa(n).datas),function(e){return{type:e,data:xa(n).datas[e]}})}function mpe(n){return xa(n).mainData===n}function vZ(n,e,t){xa(n).datas={},ne(e,function(i,r){dP(i,r,n,t)})}function dP(n,e,t,i){xa(t).datas[e]=n,xa(n).mainData=t,n.dataType=e,i.struct&&(n[i.structAttr]=i.struct,i.struct[i.datasAttr[e]]=n),n.getLinkedData=ppe,n.getLinkedDataAll=vpe}var gpe=function(){function n(e,t){this.depth=0,this.height=0,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.isExpand=!1,this.name=e||"",this.hostTree=t}return n.prototype.isRemoved=function(){return this.dataIndex<0},n.prototype.eachNode=function(e,t,i){Wt(e)&&(i=t,t=e,e=null),e=e||{},xt(e)&&(e={order:e});var r=e.order||"preorder",a=this[e.attr||"children"],o;r==="preorder"&&(o=t.call(i,this));for(var s=0;!o&&s<a.length;s++)a[s].eachNode(e,t,i);r==="postorder"&&t.call(i,this)},n.prototype.updateDepthAndHeight=function(e){var t=0;this.depth=e;for(var i=0;i<this.children.length;i++){var r=this.children[i];r.updateDepthAndHeight(e+1),r.height>t&&(t=r.height)}this.height=t+1},n.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,i=this.children,r=i.length;t<r;t++){var a=i[t].getNodeById(e);if(a)return a}},n.prototype.contains=function(e){if(e===this)return!0;for(var t=0,i=this.children,r=i.length;t<r;t++){var a=i[t].contains(e);if(a)return a}},n.prototype.getAncestors=function(e){for(var t=[],i=e?this:this.parentNode;i;)t.push(i),i=i.parentNode;return t.reverse(),t},n.prototype.getAncestorsIndices=function(){for(var e=[],t=this;t;)e.push(t.dataIndex),t=t.parentNode;return e.reverse(),e},n.prototype.getDescendantIndices=function(){var e=[];return this.eachNode(function(t){e.push(t.dataIndex)}),e},n.prototype.getValue=function(e){var t=this.hostTree.data;return t.getStore().get(t.getDimensionIndex(e||"value"),this.dataIndex)},n.prototype.setLayout=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},n.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostTree,i=t.data.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},n.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},n.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},n.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},n.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},n.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t<e.length;++t)if(e[t]===this)return t;return-1}return-1},n.prototype.isAncestorOf=function(e){for(var t=e.parentNode;t;){if(t===this)return!0;t=t.parentNode}return!1},n.prototype.isDescendantOf=function(e){return e!==this&&e.isAncestorOf(this)},n}(),ype=function(){function n(e){this.type="tree",this._nodes=[],this.hostModel=e}return n.prototype.eachNode=function(e,t,i){this.root.eachNode(e,t,i)},n.prototype.getNodeByDataIndex=function(e){var t=this.data.getRawIndex(e);return this._nodes[t]},n.prototype.getNodeById=function(e){return this.root.getNodeById(e)},n.prototype.update=function(){for(var e=this.data,t=this._nodes,i=0,r=t.length;i<r;i++)t[i].dataIndex=-1;for(var i=0,r=e.count();i<r;i++)t[e.getRawIndex(i)].dataIndex=i},n.prototype.clearLayouts=function(){this.data.clearItemLayouts()},n.createTree=function(e,t,i){var r=new n(t),a=[],o=1;s(e);function s(c,d){var h=c.value;o=Math.max(o,j2(h)?h.length:1),a.push(c);var f=new gpe(ln(c.name,""),r);d?_pe(f,d):r.root=f,r._nodes.push(f);var p=c.children;if(p)for(var m=0;m<p.length;m++)s(p[m],f)}r.root.updateDepthAndHeight(0);var l=wh(a,{coordDimensions:["value"],dimensionsCount:o}).dimensions,u=new Pi(l,t);return u.initData(a),i&&i(u),pZ({mainData:u,struct:r,structAttr:"tree"}),r.update(),r},n}();function _pe(n,e){var t=e.children;n.parentNode!==e&&(t.push(n),n.parentNode=e)}const hP=ype;function Ud(n,e,t){if(n&&x3(e,n.type)>=0){var i=t.getData().tree.root,r=n.targetNode;if(xt(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var a=n.targetNodeId;if(a!=null&&(r=i.getNodeById(a)))return{node:r}}}function mZ(n){for(var e=[];n;)n=n.parentNode,n&&e.push(n);return e.reverse()}function fP(n,e){var t=mZ(n);return x3(t,e)>=0}function Jy(n,e){for(var t=[];n;){var i=n.dataIndex;t.push({name:n.name,dataIndex:i,value:e.getRawValue(i)}),n=n.parentNode}return t.reverse(),t}var Spe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.hasSymbolVisual=!0,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t){var i={name:t.name,children:t.data},r=t.leaves||{},a=new $1(r,this,this.ecModel),o=hP.createTree(i,this,s);function s(d){d.wrapMethod("getItemModel",function(h,f){var p=o.getNodeByDataIndex(f);return p&&p.children.length&&p.isExpand||(h.parentModel=a),h})}var l=0;o.eachNode("preorder",function(d){d.depth>l&&(l=d.depth)});var u=t.expandAndCollapse,c=u&&t.initialTreeDepth>=0?t.initialTreeDepth:l;return o.root.eachNode("preorder",function(d){var h=d.hostTree.data.getRawDataItem(d.dataIndex);d.isExpand=h&&h.collapsed!=null?!h.collapsed:d.depth<=c}),o.data},e.prototype.getOrient=function(){var t=this.get("orient");return t==="horizontal"?t="LR":t==="vertical"&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,i,r){for(var a=this.getData().tree,o=a.root.children[0],s=a.getNodeByDataIndex(t),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return _n("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treeAncestors=Jy(r,this),i.collapsed=!r.isExpand,i},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:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(f0);const bpe=Spe;function xpe(n,e,t){for(var i=[n],r=[],a;a=i.pop();)if(r.push(a),a.isExpand){var o=a.children;if(o.length)for(var s=0;s<o.length;s++)i.push(o[s])}for(;a=r.pop();)e(a,t)}function ju(n,e){for(var t=[n],i;i=t.pop();)if(e(i),i.isExpand){var r=i.children;if(r.length)for(var a=r.length-1;a>=0;a--)t.push(r[a])}}function wpe(n,e){n.eachSeriesByType("tree",function(t){Tpe(t,e)})}function Tpe(n,e){var t=epe(n,e);n.layoutInfo=t;var i=n.get("layout"),r=0,a=0,o=null;i==="radial"?(r=2*Math.PI,a=Math.min(t.height,t.width)/2,o=iB(function(S,x){return(S.parentNode===x.parentNode?1:2)/S.depth})):(r=t.width,a=t.height,o=iB());var s=n.getData().tree.root,l=s.children[0];if(l){Zfe(s),xpe(l,Jfe,o),s.hierNode.modifier=-l.hierNode.prelim,ju(l,Qfe);var u=l,c=l,d=l;ju(l,function(S){var x=S.getLayout().x;x<u.getLayout().x&&(u=S),x>c.getLayout().x&&(c=S),S.depth>d.depth&&(d=S)});var h=u===c?1:o(u,c)/2,f=h-u.getLayout().x,p=0,m=0,v=0,g=0;if(i==="radial")p=r/(c.getLayout().x+h+f),m=a/(d.depth-1||1),ju(l,function(S){v=(S.getLayout().x+f)*p,g=(S.depth-1)*m;var x=Ac(v,g);S.setLayout({x:x.x,y:x.y,rawX:v,rawY:g},!0)});else{var _=n.getOrient();_==="RL"||_==="LR"?(m=a/(c.getLayout().x+h+f),p=r/(d.depth-1||1),ju(l,function(S){g=(S.getLayout().x+f)*m,v=_==="LR"?(S.depth-1)*p:r-(S.depth-1)*p,S.setLayout({x:v,y:g},!0)})):(_==="TB"||_==="BT")&&(p=r/(c.getLayout().x+h+f),m=a/(d.depth-1||1),ju(l,function(S){v=(S.getLayout().x+f)*p,g=_==="TB"?(S.depth-1)*m:a-(S.depth-1)*m,S.setLayout({x:v,y:g},!0)}))}}}function Ape(n){n.eachSeriesByType("tree",function(e){var t=e.getData(),i=t.tree;i.eachNode(function(r){var a=r.getModel(),o=a.getModel("itemStyle").getItemStyle(),s=t.ensureUniqueItemVisual(r.dataIndex,"style");I2(s,o)})})}function Cpe(n){n.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"tree",query:e},function(i){var r=e.dataIndex,a=i.getData().tree,o=a.getNodeByDataIndex(r);o.isExpand=!o.isExpand})}),n.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(e,t,i){t.eachComponent({mainType:"series",subType:"tree",query:e},function(r){var a=r.coordinateSystem,o=cP(a,e,void 0,i);r.setCenter&&r.setCenter(o.center),r.setZoom&&r.setZoom(o.zoom)})})}function Mpe(n){n.registerChartView(cpe),n.registerSeriesModel(bpe),n.registerLayout(wpe),n.registerVisual(Ape),Cpe(n)}var lB=["treemapZoomToNode","treemapRender","treemapMove"];function Epe(n){for(var e=0;e<lB.length;e++)n.registerAction({type:lB[e],update:"updateView"},O0);n.registerAction({type:"treemapRootToNode",update:"updateView"},function(t,i){i.eachComponent({mainType:"series",subType:"treemap",query:t},r);function r(a,o){var s=["treemapZoomToNode","treemapRootToNode"],l=Ud(t,s,a);if(l){var u=a.getViewRoot();u&&(t.direction=fP(u,l.node)?"rollUp":"drillDown"),a.resetViewRoot(l.node)}}})}function gZ(n){var e=n.getData(),t=e.tree,i={};t.eachNode(function(r){for(var a=r;a&&a.depth>1;)a=a.parentNode;var o=NA(n.ecModel,a.name||a.dataIndex+"",i);r.setVisual("decal",o)})}var Ppe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.preventUsingHoverLayer=!0,t}return e.prototype.getInitialData=function(t,i){var r={name:t.name,children:t.data};yZ(r);var a=t.levels||[],o=this.designatedVisualItemStyle={},s=new $1({itemStyle:o},this,i);a=t.levels=Rpe(a,i);var l=q2(a||[],function(d){return new $1(d,s,i)},this),u=hP.createTree(r,this,c);function c(d){d.wrapMethod("getItemModel",function(h,f){var p=u.getNodeByDataIndex(f),m=p?l[p.depth]:null;return h.parentModel=m||s,h})}return u.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.getRawValue(t),s=a.getName(t);return _n("nameValue",{name:s,value:o})},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treeAncestors=Jy(r,this),i.treePathInfo=i.treeAncestors,i},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},I2(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var i=this._idIndexMap;i||(i=this._idIndexMap=Rt(),this._idIndexMapCount=0);var r=i.get(t);return r==null&&i.set(t,r=this._idIndexMapCount++),r},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var i=this.getRawData().tree.root;(!t||t!==i&&!i.contains(t))&&(this._viewRoot=i)},e.prototype.enableAriaDecal=function(){gZ(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,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:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,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:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(f0);function yZ(n){var e=0;ne(n.children,function(i){yZ(i);var r=i.value;j2(r)&&(r=r[0]),e+=r});var t=n.value;j2(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),j2(n.value)?n.value[0]=t:n.value=t}function Rpe(n,e){var t=T1(e.get("color")),i=T1(e.get(["aria","decal","decals"]));if(t){n=n||[];var r,a;ne(n,function(s){var l=new $1(s),u=l.get("color"),c=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(r=!0),(l.get(["itemStyle","decal"])||c&&c!=="none")&&(a=!0)});var o=n[0]||(n[0]={});return r||(o.color=t.slice()),!a&&i&&(o.decal=i.slice()),n}}const Lpe=Ppe;var Ipe=8,uB=8,Mx=5,Dpe=function(){function n(e){this.group=new Qt,e.add(this.group)}return n.prototype.render=function(e,t,i,r){var a=e.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!a.get("show")||!i)){var s=a.getModel("itemStyle"),l=a.getModel("emphasis"),u=s.getModel("textStyle"),c=l.getModel(["itemStyle","textStyle"]),d={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:t.getWidth(),height:t.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,d,u),this._renderContent(e,d,s,l,u,c,r),By(o,d.pos,d.box)}},n.prototype._prepare=function(e,t,i){for(var r=e;r;r=r.parentNode){var a=ln(r.getModel().get("name"),""),o=i.getTextRect(a),s=Math.max(o.width+Ipe*2,t.emptyItemWidth);t.totalWidth+=s+uB,t.renderList.push({node:r,text:a,width:s})}},n.prototype._renderContent=function(e,t,i,r,a,o,s){for(var l=0,u=t.emptyItemWidth,c=e.get(["breadcrumb","height"]),d=U8e(t.pos,t.box),h=t.totalWidth,f=t.renderList,p=r.getModel("itemStyle").getItemStyle(),m=f.length-1;m>=0;m--){var v=f[m],g=v.node,_=v.width,S=v.text;h>d.width&&(h-=_-u,_=u,S=null);var x=new lr({shape:{points:Npe(l,0,_,c,m===f.length-1,m===0)},style:qt(i.getItemStyle(),{lineJoin:"bevel"}),textContent:new X3({style:j1(a,{text:S})}),textConfig:{position:"inside"},z2:z7*1e4,onclick:s3(s,g)});x.disableLabelAnimation=!0,x.getTextContent().ensureState("emphasis").style=j1(o,{text:S}),x.ensureState("emphasis").style=p,g0(x,r.get("focus"),r.get("blurScope"),r.get("disabled")),this.group.add(x),kpe(x,e,g),l+=_+uB}},n.prototype.remove=function(){this.group.removeAll()},n}();function Npe(n,e,t,i,r,a){var o=[[r?n:n-Mx,e],[n+t,e],[n+t,e+i],[r?n:n-Mx,e+i]];return!a&&o.splice(2,0,[n+t+Mx,e+i/2]),!r&&o.push([n,e+i/2]),o}function kpe(n,e,t){t3(n).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&&Jy(t,e)}}const Fpe=Dpe;var Ope=function(){function n(){this._storage=[],this._elExistsMap={}}return n.prototype.add=function(e,t,i,r,a){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:i,delay:r,easing:a}),!0)},n.prototype.finished=function(e){return this._finishedCallback=e,this},n.prototype.start=function(){for(var e=this,t=this._storage.length,i=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},r=0,a=this._storage.length;r<a;r++){var o=this._storage[r];o.el.animateTo(o.target,{duration:o.duration,delay:o.delay,easing:o.easing,setToFinal:!0,done:i,aborted:i})}return this},n}();function Bpe(){return new Ope}var oC=Qt,cB=H3,dB=3,hB="label",fB="upperLabel",zpe=z7*10,Gpe=z7*2,Upe=z7*3,V9=O8([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),pB=function(n){var e=V9(n);return e.stroke=e.fill=e.lineWidth=null,e},mg=G3(),Vpe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._state="ready",t._storage=$u(),t}return e.prototype.render=function(t,i,r,a){var o=i.findComponents({mainType:"series",subType:"treemap",query:a});if(!(x3(o,t)<0)){this.seriesModel=t,this.api=r,this.ecModel=i;var s=["treemapZoomToNode","treemapRootToNode"],l=Ud(a,s,t),u=a&&a.type,c=t.layoutInfo,d=!this._oldTree,h=this._storage,f=u==="treemapRootToNode"&&l&&h?{rootNodeGroup:h.nodeGroup[l.node.getRawIndex()],direction:a.direction}:null,p=this._giveContainerGroup(c),m=t.get("animation"),v=this._doRender(p,t,f);m&&!d&&(!u||u==="treemapZoomToNode"||u==="treemapRootToNode")?this._doAnimation(p,v,t,f):v.renderFinally(),this._resetController(r),this._renderBreadcrumb(t,r,l)}},e.prototype._giveContainerGroup=function(t){var i=this._containerGroup;return i||(i=this._containerGroup=new oC,this._initEvents(i),this.group.add(i)),i.x=t.x,i.y=t.y,i},e.prototype._doRender=function(t,i,r){var a=i.getData().tree,o=this._oldTree,s=$u(),l=$u(),u=this._storage,c=[];function d(_,S,x,A){return Hpe(i,l,u,r,s,c,_,S,x,A)}m(a.root?[a.root]:[],o&&o.root?[o.root]:[],t,a===o||!o,0);var h=v(u);if(this._oldTree=a,this._storage=l,this._controllerHost){var f=this.seriesModel.layoutInfo,p=a.root.getLayout();p.width===f.width&&p.height===f.height&&(this._controllerHost.zoom=1)}return{lastsForAnimation:s,willDeleteEls:h,renderFinally:g};function m(_,S,x,A,C){A?(S=_,ne(_,function(D,E){!D.isRemoved()&&I(E,E)})):new Xs(S,_,M,M).add(I).update(I).remove(s3(I,null)).execute();function M(D){return D.getId()}function I(D,E){var P=D!=null?_[D]:null,F=E!=null?S[E]:null,V=d(P,F,x,C);V&&m(P&&P.viewChildren||[],F&&F.viewChildren||[],V,A,C+1)}}function v(_){var S=$u();return _&&ne(_,function(x,A){var C=S[A];ne(x,function(M){M&&(C.push(M),mg(M).willDelete=!0)})}),S}function g(){ne(h,function(_){ne(_,function(S){S.parent&&S.parent.remove(S)})}),ne(c,function(_){_.invisible=!0,_.dirty()})}},e.prototype._doAnimation=function(t,i,r,a){var o=r.get("animationDurationUpdate"),s=r.get("animationEasing"),l=(Wt(o)?0:o)||0,u=(Wt(s)?null:s)||"cubicOut",c=Bpe();ne(i.willDeleteEls,function(d,h){ne(d,function(f,p){if(!f.invisible){var m=f.parent,v,g=mg(m);if(a&&a.direction==="drillDown")v=m===a.rootNodeGroup?{shape:{x:0,y:0,width:g.nodeWidth,height:g.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var _=0,S=0;g.willDelete||(_=g.nodeWidth/2,S=g.nodeHeight/2),v=h==="nodeGroup"?{x:_,y:S,style:{opacity:0}}:{shape:{x:_,y:S,width:0,height:0},style:{opacity:0}}}v&&c.add(f,v,l,0,u)}})}),ne(this._storage,function(d,h){ne(d,function(f,p){var m=i.lastsForAnimation[h][p],v={};m&&(f instanceof Qt?m.oldX!=null&&(v.x=f.x,v.y=f.y,f.x=m.oldX,f.y=m.oldY):(m.oldShape&&(v.shape=I2({},f.shape),f.setShape(m.oldShape)),m.fadein?(f.setStyle("opacity",0),v.style={opacity:1}):f.style.opacity!==1&&(v.style={opacity:1})),c.add(f,v,l,0,u))})},this),this._state="animating",c.finished(Tt(function(){this._state="ready",i.renderFinally()},this)).start()},e.prototype._resetController=function(t){var i=this._controller,r=this._controllerHost;r||(this._controllerHost={target:this.group},r=this._controllerHost),i||(i=this._controller=new Lh(t.getZr()),i.enable(this.seriesModel.get("roam")),r.zoomLimit=this.seriesModel.get("scaleLimit"),r.zoom=this.seriesModel.get("zoom"),i.on("pan",Tt(this._onPan,this)),i.on("zoom",Tt(this._onZoom,this)));var a=new g3(0,0,t.getWidth(),t.getHeight());i.setPointerChecker(function(o,s,l){return a.contain(s,l)})},e.prototype._clearController=function(){var t=this._controller;this._controllerHost=null,t&&(t.dispose(),t=null)},e.prototype._onPan=function(t){if(this._state!=="animating"&&(Math.abs(t.dx)>dB||Math.abs(t.dy)>dB)){var i=this.seriesModel.getData().tree.root;if(!i)return;var r=i.getLayout();if(!r)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:r.x+t.dx,y:r.y+t.dy,width:r.width,height:r.height}})}},e.prototype._onZoom=function(t){var i=t.originX,r=t.originY,a=t.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new g3(s.x,s.y,s.width,s.height),u=null,c=this._controllerHost;u=c.zoomLimit;var d=c.zoom=c.zoom||1;if(d*=a,u){var h=u.min||0,f=u.max||1/0;d=Math.max(Math.min(f,d),h)}var p=d/c.zoom;c.zoom=d;var m=this.seriesModel.layoutInfo;i-=m.x,r-=m.y;var v=Ir();Ko(v,v,[-i,-r]),eE(v,v,[p,p]),Ko(v,v,[i,r]),l.applyTransform(v),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}})}},e.prototype._initEvents=function(t){var i=this;t.on("click",function(r){if(i._state==="ready"){var a=i.seriesModel.get("nodeClick",!0);if(a){var o=i.findTarget(r.offsetX,r.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)i._rootToNode(o);else if(a==="zoomToNode")i._zoomToNode(o);else if(a==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),c=l.get("target",!0)||"blank";u&&Qm(u,c)}}}}},this)},e.prototype._renderBreadcrumb=function(t,i,r){var a=this;r||(r=t.get("leafDepth",!0)!=null?{node:t.getViewRoot()}:this.findTarget(i.getWidth()/2,i.getHeight()/2),r||(r={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new Fpe(this.group))).render(t,i,r.node,function(o){a._state!=="animating"&&(fP(t.getViewRoot(),o)?a._rootToNode({node:o}):a._zoomToNode({node:o}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=$u(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,i){var r,a=this.seriesModel.getViewRoot();return a.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(t,i),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)r={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),r},e.type="treemap",e}(q1);function $u(){return{nodeGroup:[],background:[],content:[]}}function Hpe(n,e,t,i,r,a,o,s,l,u){if(!o)return;var c=o.getLayout(),d=n.getData(),h=o.getModel();if(d.setItemGraphicEl(o.dataIndex,null),!c||!c.isInView)return;var f=c.width,p=c.height,m=c.borderWidth,v=c.invisible,g=o.getRawIndex(),_=s&&s.getRawIndex(),S=o.viewChildren,x=c.upperHeight,A=S&&S.length,C=h.getModel("itemStyle"),M=h.getModel(["emphasis","itemStyle"]),I=h.getModel(["blur","itemStyle"]),D=h.getModel(["select","itemStyle"]),E=C.get("borderRadius")||0,P=Oe("nodeGroup",oC);if(!P)return;if(l.add(P),P.x=c.x||0,P.y=c.y||0,P.markRedraw(),mg(P).nodeWidth=f,mg(P).nodeHeight=p,c.isAboveViewRoot)return P;var F=Oe("background",cB,u,Gpe);F&&ie(P,F,A&&c.upperLabelHeight);var V=h.getModel("emphasis"),G=V.get("focus"),W=V.get("blurScope"),Y=V.get("disabled"),Q=G==="ancestor"?o.getAncestorsIndices():G==="descendant"?o.getDescendantIndices():G;if(A)Pd(P)&&r8(P,!1),F&&(r8(F,!Y),d.setItemGraphicEl(o.dataIndex,F),CA(F,Q,W));else{var K=Oe("content",cB,u,Upe);K&&he(P,K),F.disableMorphing=!0,F&&Pd(F)&&r8(F,!1),r8(P,!Y),d.setItemGraphicEl(o.dataIndex,P);var ae=h.getShallow("cursor");ae&&K.attr("cursor",ae),CA(P,Q,W)}return P;function ie(S2,p2,X2){var w2=t3(p2);if(w2.dataIndex=o.dataIndex,w2.seriesIndex=n.seriesIndex,p2.setShape({x:0,y:0,width:f,height:p,r:E}),v)Ee(p2);else{p2.invisible=!1;var Ce=o.getVisual("style"),R2=Ce.stroke,v2=pB(C);v2.fill=R2;var O2=V9(M);O2.fill=M.get("borderColor");var k=V9(I);k.fill=I.get("borderColor");var _2=V9(D);if(_2.fill=D.get("borderColor"),X2){var A2=f-2*m;je(p2,R2,Ce.opacity,{x:m,y:0,width:A2,height:x})}else p2.removeTextContent();p2.setStyle(v2),p2.ensureState("emphasis").style=O2,p2.ensureState("blur").style=k,p2.ensureState("select").style=_2,B8(p2)}S2.add(p2)}function he(S2,p2){var X2=t3(p2);X2.dataIndex=o.dataIndex,X2.seriesIndex=n.seriesIndex;var w2=Math.max(f-2*m,0),Ce=Math.max(p-2*m,0);if(p2.culling=!0,p2.setShape({x:m,y:m,width:w2,height:Ce,r:E}),v)Ee(p2);else{p2.invisible=!1;var R2=o.getVisual("style"),v2=R2.fill,O2=pB(C);O2.fill=v2,O2.decal=R2.decal;var k=V9(M),_2=V9(I),A2=V9(D);je(p2,v2,R2.opacity,null),p2.setStyle(O2),p2.ensureState("emphasis").style=k,p2.ensureState("blur").style=_2,p2.ensureState("select").style=A2,B8(p2)}S2.add(p2)}function Ee(S2){!S2.invisible&&a.push(S2)}function je(S2,p2,X2,w2){var Ce=h.getModel(w2?fB:hB),R2=ln(h.get("name"),null),v2=Ce.getShallow("show");jn(S2,yn(h,w2?fB:hB),{defaultText:v2?R2:null,inheritColor:p2,defaultOpacity:X2,labelFetcher:n,labelDataIndex:o.dataIndex});var O2=S2.getTextContent();if(O2){var k=O2.style,_2=ZM(k.padding||0);w2&&(S2.setTextConfig({layoutRect:w2}),O2.disableLabelLayout=!0),O2.beforeUpdate=function(){var Z=Math.max((w2?w2.width:S2.shape.width)-_2[1]-_2[3],0),ee=Math.max((w2?w2.height:S2.shape.height)-_2[0]-_2[2],0);(k.width!==Z||k.height!==ee)&&O2.setStyle({width:Z,height:ee})},k.truncateMinChar=2,k.lineOverflow="truncate",xe(k,w2,c);var A2=O2.getState("emphasis");xe(A2?A2.style:null,w2,c)}}function xe(S2,p2,X2){var w2=S2?S2.text:null;if(!p2&&X2.isLeafRoot&&w2!=null){var Ce=n.get("drillDownIcon",!0);S2.text=Ce?Ce+" "+w2:w2}}function Oe(S2,p2,X2,w2){var Ce=_!=null&&t[S2][_],R2=r[S2];return Ce?(t[S2][_]=null,f2(R2,Ce)):v||(Ce=new p2,Ce instanceof Ca&&(Ce.z2=Wpe(X2,w2)),B2(R2,Ce)),e[S2][g]=Ce}function f2(S2,p2){var X2=S2[g]={};p2 instanceof oC?(X2.oldX=p2.x,X2.oldY=p2.y):X2.oldShape=I2({},p2.shape)}function B2(S2,p2){var X2=S2[g]={},w2=o.parentNode,Ce=p2 instanceof Qt;if(w2&&(!i||i.direction==="drillDown")){var R2=0,v2=0,O2=r.background[w2.getRawIndex()];!i&&O2&&O2.oldShape&&(R2=O2.oldShape.width,v2=O2.oldShape.height),Ce?(X2.oldX=0,X2.oldY=v2):X2.oldShape={x:R2,y:v2,width:0,height:0}}X2.fadein=!Ce}}function Wpe(n,e){return n*zpe+e}const jpe=Vpe;var Vd=ne,$pe=Kt,gg=-1,pP=function(){function n(e){var t=e.mappingMethod,i=e.type,r=this.option=Zt(e);this.type=i,this.mappingMethod=t,this._normalizeData=Ype[t];var a=n.visualHandlers[i];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[t],t==="piecewise"?(Ex(r),qpe(r)):t==="category"?r.categories?Xpe(r):Ex(r,!0):(Ri(t!=="linear"||r.dataExtent),Ex(r))}return n.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},n.prototype.getNormalizer=function(){return Tt(this._normalizeData,this)},n.listVisualTypes=function(){return L3(n.visualHandlers)},n.isValidType=function(e){return n.visualHandlers.hasOwnProperty(e)},n.eachVisual=function(e,t,i){Kt(e)?ne(e,t,i):t.call(i,e)},n.mapVisual=function(e,t,i){var r,a=j2(e)?[]:Kt(e)?{}:(r=!0,null);return n.eachVisual(e,function(o,s){var l=t.call(i,o,s);r?a=l:a[s]=l}),a},n.retrieveVisuals=function(e){var t={},i;return e&&Vd(n.visualHandlers,function(r,a){e.hasOwnProperty(a)&&(t[a]=e[a],i=!0)}),i?t:null},n.prepareVisualTypes=function(e){if(j2(e))e=e.slice();else if($pe(e)){var t=[];Vd(e,function(i,r){t.push(r)}),e=t}else return[];return e.sort(function(i,r){return r==="color"&&i!=="color"&&i.indexOf("color")===0?1:-1}),e},n.dependsOn=function(e,t){return t==="color"?!!(e&&e.indexOf(t)===0):e===t},n.findPieceIndex=function(e,t,i){for(var r,a=1/0,o=0,s=t.length;o<s;o++){var l=t[o].value;if(l!=null){if(l===e||xt(l)&&l===e+"")return o;i&&h(l,o)}}for(var o=0,s=t.length;o<s;o++){var u=t[o],c=u.interval,d=u.close;if(c){if(c[0]===-1/0){if(wp(d[1],e,c[1]))return o}else if(c[1]===1/0){if(wp(d[0],c[0],e))return o}else if(wp(d[0],c[0],e)&&wp(d[1],e,c[1]))return o;i&&h(c[0],o),i&&h(c[1],o)}}if(i)return e===1/0?t.length-1:e===-1/0?0:r;function h(f,p){var m=Math.abs(f-e);m<a&&(a=m,r=p)}},n.visualHandlers={color:{applyVisual:qu("color"),getColorMapper:function(){var e=this.option;return Tt(e.mappingMethod==="category"?function(t,i){return!i&&(t=this._normalizeData(t)),Cc.call(this,t)}:function(t,i,r){var a=!!r;return!i&&(t=this._normalizeData(t)),r=sb(t,e.parsedVisual,r),a?r:zs(r,"rgba")},this)},_normalizedToVisual:{linear:function(e){return zs(sb(e,this.option.parsedVisual),"rgba")},category:Cc,piecewise:function(e,t){var i=lC.call(this,t);return i==null&&(i=zs(sb(e,this.option.parsedVisual),"rgba")),i},fixed:H9}},colorHue:xp(function(e,t){return zc(e,t)}),colorSaturation:xp(function(e,t){return zc(e,null,t)}),colorLightness:xp(function(e,t){return zc(e,null,null,t)}),colorAlpha:xp(function(e,t){return Um(e,t)}),decal:{applyVisual:qu("decal"),_normalizedToVisual:{linear:null,category:Cc,piecewise:null,fixed:null}},opacity:{applyVisual:qu("opacity"),_normalizedToVisual:sC([0,1])},liftZ:{applyVisual:qu("liftZ"),_normalizedToVisual:{linear:H9,category:H9,piecewise:H9,fixed:H9}},symbol:{applyVisual:function(e,t,i){var r=this.mapValueToVisual(e);i("symbol",r)},_normalizedToVisual:{linear:vB,category:Cc,piecewise:function(e,t){var i=lC.call(this,t);return i==null&&(i=vB.call(this,e)),i},fixed:H9}},symbolSize:{applyVisual:qu("symbolSize"),_normalizedToVisual:sC([0,1])}},n}();function qpe(n){var e=n.pieceList;n.hasSpecialVisual=!1,ne(e,function(t,i){t.originIndex=i,t.visual!=null&&(n.hasSpecialVisual=!0)})}function Xpe(n){var e=n.categories,t=n.categoryMap={},i=n.visual;if(Vd(e,function(o,s){t[o]=s}),!j2(i)){var r=[];Kt(i)?Vd(i,function(o,s){var l=t[s];r[l!=null?l:gg]=o}):r[gg]=i,i=_Z(n,r)}for(var a=e.length-1;a>=0;a--)i[a]==null&&(delete t[e[a]],e.pop())}function Ex(n,e){var t=n.visual,i=[];Kt(t)?Vd(t,function(a){i.push(a)}):t!=null&&i.push(t);var r={color:1,symbol:1};!e&&i.length===1&&!r.hasOwnProperty(n.type)&&(i[1]=i[0]),_Z(n,i)}function xp(n){return{applyVisual:function(e,t,i){var r=this.mapValueToVisual(e);i("color",n(t("color"),r))},_normalizedToVisual:sC([0,1])}}function vB(n){var e=this.option.visual;return e[Math.round(f1(n,[0,1],[0,e.length-1],!0))]||{}}function qu(n){return function(e,t,i){i(n,this.mapValueToVisual(e))}}function Cc(n){var e=this.option.visual;return e[this.option.loop&&n!==gg?n%e.length:n]}function H9(){return this.option.visual[0]}function sC(n){return{linear:function(e){return f1(e,n,this.option.visual,!0)},category:Cc,piecewise:function(e,t){var i=lC.call(this,t);return i==null&&(i=f1(e,n,this.option.visual,!0)),i},fixed:H9}}function lC(n){var e=this.option,t=e.pieceList;if(e.hasSpecialVisual){var i=pP.findPieceIndex(n,t),r=t[i];if(r&&r.visual)return r.visual[this.type]}}function _Z(n,e){return n.visual=e,n.type==="color"&&(n.parsedVisual=q2(e,function(t){var i=Dr(t);return i||[0,0,0,1]})),e}var Ype={linear:function(n){return f1(n,this.option.dataExtent,[0,1],!0)},piecewise:function(n){var e=this.option.pieceList,t=pP.findPieceIndex(n,e,!0);if(t!=null)return f1(t,[0,e.length-1],[0,1],!0)},category:function(n){var e=this.option.categories?this.option.categoryMap[n]:n;return e==null?gg:e},fixed:O0};function wp(n,e,t){return n?e<=t:e<t}const Hn=pP;var Kpe="itemStyle",SZ=G3();const Zpe={seriesType:"treemap",reset:function(n){var e=n.getData().tree,t=e.root;t.isRemoved()||bZ(t,{},n.getViewRoot().getAncestors(),n)}};function bZ(n,e,t,i){var r=n.getModel(),a=n.getLayout(),o=n.hostTree.data;if(!(!a||a.invisible||!a.isInView)){var s=r.getModel(Kpe),l=Jpe(s,e,i),u=o.ensureUniqueItemVisual(n.dataIndex,"style"),c=s.get("borderColor"),d=s.get("borderColorSaturation"),h;d!=null&&(h=mB(l),c=Qpe(d,h)),u.stroke=c;var f=n.viewChildren;if(!f||!f.length)h=mB(l),u.fill=h;else{var p=eve(n,r,a,s,l,f);ne(f,function(m,v){if(m.depth>=t.length||m===t[m.depth]){var g=tve(r,l,m,v,p,i);bZ(m,g,t,i)}})}}}function Jpe(n,e,t){var i=I2({},e),r=t.designatedVisualItemStyle;return ne(["color","colorAlpha","colorSaturation"],function(a){r[a]=e[a];var o=n.get(a);r[a]=null,o!=null&&(i[a]=o)}),i}function mB(n){var e=Px(n,"color");if(e){var t=Px(n,"colorAlpha"),i=Px(n,"colorSaturation");return i&&(e=zc(e,null,null,i)),t&&(e=Um(e,t)),e}}function Qpe(n,e){return e!=null?zc(e,null,null,n):null}function Px(n,e){var t=n[e];if(t!=null&&t!=="none")return t}function eve(n,e,t,i,r,a){if(!(!a||!a.length)){var o=Rx(e,"color")||r.color!=null&&r.color!=="none"&&(Rx(e,"colorAlpha")||Rx(e,"colorSaturation"));if(o){var s=e.get("visualMin"),l=e.get("visualMax"),u=t.dataExtent.slice();s!=null&&s<u[0]&&(u[0]=s),l!=null&&l>u[1]&&(u[1]=l);var c=e.get("colorMappingBy"),d={type:o.name,dataExtent:u,visual:o.range};d.type==="color"&&(c==="index"||c==="id")?(d.mappingMethod="category",d.loop=!0):d.mappingMethod="linear";var h=new Hn(d);return SZ(h).drColorMappingBy=c,h}}}function Rx(n,e){var t=n.get(e);return j2(t)&&t.length?{name:e,range:t}:null}function tve(n,e,t,i,r,a){var o=I2({},e);if(r){var s=r.type,l=s==="color"&&SZ(r).drColorMappingBy,u=l==="index"?i:l==="id"?a.mapIdToIndex(t.getId()):t.getValue(n.get("visualDimension"));o[s]=r.mapValueToVisual(u)}return o}var Hd=Math.max,yg=Math.min,gB=Pn,vP=ne,xZ=["itemStyle","borderWidth"],nve=["itemStyle","gapWidth"],ive=["upperLabel","show"],rve=["upperLabel","height"];const ave={seriesType:"treemap",reset:function(n,e,t,i){var r=t.getWidth(),a=t.getHeight(),o=n.option,s=un(n.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),l=o.size||[],u=mt(gB(s.width,l[0]),r),c=mt(gB(s.height,l[1]),a),d=i&&i.type,h=["treemapZoomToNode","treemapRootToNode"],f=Ud(i,h,n),p=d==="treemapRender"||d==="treemapMove"?i.rootRect:null,m=n.getViewRoot(),v=mZ(m);if(d!=="treemapMove"){var g=d==="treemapZoomToNode"?dve(n,f,m,u,c):p?[p.width,p.height]:[u,c],_=o.sort;_&&_!=="asc"&&_!=="desc"&&(_="desc");var S={squareRatio:o.squareRatio,sort:_,leafDepth:o.leafDepth};m.hostTree.clearLayouts();var x={x:0,y:0,width:g[0],height:g[1],area:g[0]*g[1]};m.setLayout(x),wZ(m,S,!1,0),x=m.getLayout(),vP(v,function(C,M){var I=(v[M+1]||m).getValue();C.setLayout(I2({dataExtent:[I,I],borderWidth:0,upperHeight:0},x))})}var A=n.getData().tree.root;A.setLayout(hve(s,p,f),!0),n.setLayoutInfo(s),TZ(A,new g3(-s.x,-s.y,r,a),v,m,0)}};function wZ(n,e,t,i){var r,a;if(!n.isRemoved()){var o=n.getLayout();r=o.width,a=o.height;var s=n.getModel(),l=s.get(xZ),u=s.get(nve)/2,c=AZ(s),d=Math.max(l,c),h=l-u,f=d-u;n.setLayout({borderWidth:l,upperHeight:d,upperLabelHeight:c},!0),r=Hd(r-2*h,0),a=Hd(a-h-f,0);var p=r*a,m=ove(n,s,p,e,t,i);if(m.length){var v={x:h,y:f,width:r,height:a},g=yg(r,a),_=1/0,S=[];S.area=0;for(var x=0,A=m.length;x<A;){var C=m[x];S.push(C),S.area+=C.getLayout().area;var M=cve(S,g,e.squareRatio);M<=_?(x++,_=M):(S.area-=S.pop().getLayout().area,yB(S,g,v,u,!1),g=yg(v.width,v.height),S.length=S.area=0,_=1/0)}if(S.length&&yB(S,g,v,u,!0),!t){var I=s.get("childrenVisibleMin");I!=null&&p<I&&(t=!0)}for(var x=0,A=m.length;x<A;x++)wZ(m[x],e,t,i+1)}}}function ove(n,e,t,i,r,a){var o=n.children||[],s=i.sort;s!=="asc"&&s!=="desc"&&(s=null);var l=i.leafDepth!=null&&i.leafDepth<=a;if(r&&!l)return n.viewChildren=[];o=c1(o,function(f){return!f.isRemoved()}),lve(o,s);var u=uve(e,o,s);if(u.sum===0)return n.viewChildren=[];if(u.sum=sve(e,t,u.sum,s,o),u.sum===0)return n.viewChildren=[];for(var c=0,d=o.length;c<d;c++){var h=o[c].getValue()/u.sum*t;o[c].setLayout({area:h})}return l&&(o.length&&n.setLayout({isLeafRoot:!0},!0),o.length=0),n.viewChildren=o,n.setLayout({dataExtent:u.dataExtent},!0),o}function sve(n,e,t,i,r){if(!i)return t;for(var a=n.get("visibleMin"),o=r.length,s=o,l=o-1;l>=0;l--){var u=r[i==="asc"?o-l-1:l].getValue();u/t*e<a&&(s=l,t-=u)}return i==="asc"?r.splice(0,o-s):r.splice(s,o-s),t}function lve(n,e){return e&&n.sort(function(t,i){var r=e==="asc"?t.getValue()-i.getValue():i.getValue()-t.getValue();return r===0?e==="asc"?t.dataIndex-i.dataIndex:i.dataIndex-t.dataIndex:r}),n}function uve(n,e,t){for(var i=0,r=0,a=e.length;r<a;r++)i+=e[r].getValue();var o=n.get("visualDimension"),s;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],vP(e,function(l){var u=l.getValue(o);u<s[0]&&(s[0]=u),u>s[1]&&(s[1]=u)})),{sum:i,dataExtent:s}}function cve(n,e,t){for(var i=0,r=1/0,a=0,o=void 0,s=n.length;a<s;a++)o=n[a].getLayout().area,o&&(o<r&&(r=o),o>i&&(i=o));var l=n.area*n.area,u=e*e*t;return l?Hd(u*i/l,l/(u*r)):1/0}function yB(n,e,t,i,r){var a=e===t.width?0:1,o=1-a,s=["x","y"],l=["width","height"],u=t[s[a]],c=e?n.area/e:0;(r||c>t[l[o]])&&(c=t[l[o]]);for(var d=0,h=n.length;d<h;d++){var f=n[d],p={},m=c?f.getLayout().area/c:0,v=p[l[o]]=Hd(c-2*i,0),g=t[s[a]]+t[l[a]]-u,_=d===h-1||g<m?g:m,S=p[l[a]]=Hd(_-2*i,0);p[s[o]]=t[s[o]]+yg(i,v/2),p[s[a]]=u+yg(i,S/2),u+=_,f.setLayout(p,!0)}t[s[o]]+=c,t[l[o]]-=c}function dve(n,e,t,i,r){var a=(e||{}).node,o=[i,r];if(!a||a===t)return o;for(var s,l=i*r,u=l*n.option.zoomToNodeRatio;s=a.parentNode;){for(var c=0,d=s.children,h=0,f=d.length;h<f;h++)c+=d[h].getValue();var p=a.getValue();if(p===0)return o;u*=c/p;var m=s.getModel(),v=m.get(xZ),g=Math.max(v,AZ(m));u+=4*v*v+(3*v+g)*Math.pow(u,.5),u>RN&&(u=RN),a=s}u<l&&(u=l);var _=Math.pow(u/l,.5);return[i*_,r*_]}function hve(n,e,t){if(e)return{x:e.x,y:e.y};var i={x:0,y:0};if(!t)return i;var r=t.node,a=r.getLayout();if(!a)return i;for(var o=[a.width/2,a.height/2],s=r;s;){var l=s.getLayout();o[0]+=l.x,o[1]+=l.y,s=s.parentNode}return{x:n.width/2-o[0],y:n.height/2-o[1]}}function TZ(n,e,t,i,r){var a=n.getLayout(),o=t[r],s=o&&o===n;if(!(o&&!s||r===t.length&&n!==i)){n.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new g3(e.x-a.x,e.y-a.y,e.width,e.height);vP(n.viewChildren||[],function(u){TZ(u,l,t,i,r+1)})}}function AZ(n){return n.get(ive)?n.get(rve):0}function fve(n){n.registerSeriesModel(Lpe),n.registerChartView(jpe),n.registerVisual(Zpe),n.registerLayout(ave),Epe(n)}function pve(n){var e=n.findComponents({mainType:"legend"});!e||!e.length||n.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),r=t.getGraph(),a=r.data,o=i.mapArray(i.getName);a.filterSelf(function(s){var l=a.getItemModel(s),u=l.getShallow("category");if(u!=null){Y3(u)&&(u=o[u]);for(var c=0;c<e.length;c++)if(!e[c].isSelected(u))return!1}return!0})})}function vve(n){var e={};n.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),r=t.getData(),a={};i.each(function(o){var s=i.getName(o);a["ec-"+s]=o;var l=i.getItemModel(o),u=l.getModel("itemStyle").getItemStyle();u.fill||(u.fill=t.getColorFromPalette(s,e)),i.setItemVisual(o,"style",u);for(var c=["symbol","symbolSize","symbolKeepAspect"],d=0;d<c.length;d++){var h=l.getShallow(c[d],!0);h!=null&&i.setItemVisual(o,c[d],h)}}),i.count()&&r.each(function(o){var s=r.getItemModel(o),l=s.getShallow("category");if(l!=null){xt(l)&&(l=a["ec-"+l]);var u=i.getItemVisual(l,"style"),c=r.ensureUniqueItemVisual(o,"style");I2(c,u);for(var d=["symbol","symbolSize","symbolKeepAspect"],h=0;h<d.length;h++)r.setItemVisual(o,d[h],i.getItemVisual(l,d[h]))}})})}function Tp(n){return n instanceof Array||(n=[n,n]),n}function mve(n){n.eachSeriesByType("graph",function(e){var t=e.getGraph(),i=e.getEdgeData(),r=Tp(e.get("edgeSymbol")),a=Tp(e.get("edgeSymbolSize"));i.setVisual("fromSymbol",r&&r[0]),i.setVisual("toSymbol",r&&r[1]),i.setVisual("fromSymbolSize",a&&a[0]),i.setVisual("toSymbolSize",a&&a[1]),i.setVisual("style",e.getModel("lineStyle").getLineStyle()),i.each(function(o){var s=i.getItemModel(o),l=t.getEdgeByIndex(o),u=Tp(s.getShallow("symbol",!0)),c=Tp(s.getShallow("symbolSize",!0)),d=s.getModel("lineStyle").getLineStyle(),h=i.ensureUniqueItemVisual(o,"style");switch(I2(h,d),h.stroke){case"source":{var f=l.node1.getVisual("style");h.stroke=f&&f.fill;break}case"target":{var f=l.node2.getVisual("style");h.stroke=f&&f.fill;break}}u[0]&&l.setVisual("fromSymbol",u[0]),u[1]&&l.setVisual("toSymbol",u[1]),c[0]&&l.setVisual("fromSymbolSize",c[0]),c[1]&&l.setVisual("toSymbolSize",c[1])})})}var uC="-->",Qy=function(n){return n.get("autoCurveness")||null},CZ=function(n,e){var t=Qy(n),i=20,r=[];if(Y3(t))i=t;else if(j2(t)){n.__curvenessList=t;return}e>i&&(i=e);var a=i%2?i+2:i+3;r=[];for(var o=0;o<a;o++)r.push((o%2?o+1:o)/10*(o%2?-1:1));n.__curvenessList=r},Wd=function(n,e,t){var i=[n.id,n.dataIndex].join("."),r=[e.id,e.dataIndex].join(".");return[t.uid,i,r].join(uC)},MZ=function(n){var e=n.split(uC);return[e[0],e[2],e[1]].join(uC)},gve=function(n,e){var t=Wd(n.node1,n.node2,e);return e.__edgeMap[t]},yve=function(n,e){var t=cC(Wd(n.node1,n.node2,e),e),i=cC(Wd(n.node2,n.node1,e),e);return t+i},cC=function(n,e){var t=e.__edgeMap;return t[n]?t[n].length:0};function _ve(n){Qy(n)&&(n.__curvenessList=[],n.__edgeMap={},CZ(n))}function Sve(n,e,t,i){if(Qy(t)){var r=Wd(n,e,t),a=t.__edgeMap,o=a[MZ(r)];a[r]&&!o?a[r].isForward=!0:o&&a[r]&&(o.isForward=!0,a[r].isForward=!1),a[r]=a[r]||[],a[r].push(i)}}function mP(n,e,t,i){var r=Qy(e),a=j2(r);if(!r)return null;var o=gve(n,e);if(!o)return null;for(var s=-1,l=0;l<o.length;l++)if(o[l]===t){s=l;break}var u=yve(n,e);CZ(e,u),n.lineStyle=n.lineStyle||{};var c=Wd(n.node1,n.node2,e),d=e.__curvenessList,h=a||u%2?0:1;if(o.isForward)return d[h+s];var f=MZ(c),p=cC(f,e),m=d[s+p+h];return i?a?r&&r[0]===0?(p+h)%2?m:-m:((p%2?0:1)+h)%2?m:-m:(p+h)%2?m:-m:d[s+p+h]}function EZ(n){var e=n.coordinateSystem;if(!(e&&e.type!=="view")){var t=n.getGraph();t.eachNode(function(i){var r=i.getModel();i.setLayout([+r.get("x"),+r.get("y")])}),gP(t,n)}}function gP(n,e){n.eachEdge(function(t,i){var r=Ho(t.getModel().get(["lineStyle","curveness"]),-mP(t,e,i,!0),0),a=Os(t.node1.getLayout()),o=Os(t.node2.getLayout()),s=[a,o];+r&&s.push([(a[0]+o[0])/2-(a[1]-o[1])*r,(a[1]+o[1])/2-(o[0]-a[0])*r]),t.setLayout(s)})}function bve(n,e){n.eachSeriesByType("graph",function(t){var i=t.get("layout"),r=t.coordinateSystem;if(r&&r.type!=="view"){var a=t.getData(),o=[];ne(r.dimensions,function(h){o=o.concat(a.mapDimensionsAll(h))});for(var s=0;s<a.count();s++){for(var l=[],u=!1,c=0;c<o.length;c++){var d=a.get(o[c],s);isNaN(d)||(u=!0),l.push(d)}u?a.setItemLayout(s,r.dataToPoint(l)):a.setItemLayout(s,[NaN,NaN])}gP(a.graph,t)}else(!i||i==="none")&&EZ(t)})}function Mc(n){var e=n.coordinateSystem;if(e.type!=="view")return 1;var t=n.option.nodeScaleRatio,i=e.scaleX,r=e.getZoom(),a=(r-1)*t+1;return a/i}function Ec(n){var e=n.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),+e}var _B=Math.PI,Lx=[];function yP(n,e,t,i){var r=n.coordinateSystem;if(!(r&&r.type!=="view")){var a=r.getBoundingRect(),o=n.getData(),s=o.graph,l=a.width/2+a.x,u=a.height/2+a.y,c=Math.min(a.width,a.height)/2,d=o.count();if(o.setLayout({cx:l,cy:u}),!!d){if(t){var h=r.pointToData(i),f=h[0],p=h[1],m=[f-l,p-u];F7(m,m),Xv(m,m,c),t.setLayout([l+m[0],u+m[1]],!0);var v=n.get(["circular","rotateLabel"]);PZ(t,v,l,u)}xve[e](n,s,o,c,l,u,d),s.eachEdge(function(g,_){var S=Ho(g.getModel().get(["lineStyle","curveness"]),mP(g,n,_),0),x=Os(g.node1.getLayout()),A=Os(g.node2.getLayout()),C,M=(x[0]+A[0])/2,I=(x[1]+A[1])/2;+S&&(S*=3,C=[l*S+M*(1-S),u*S+I*(1-S)]),g.setLayout([x,A,C])})}}}var xve={value:function(n,e,t,i,r,a,o){var s=0,l=t.getSum("value"),u=Math.PI*2/(l||o);e.eachNode(function(c){var d=c.getValue("value"),h=u*(l?d:1)/2;s+=h,c.setLayout([i*Math.cos(s)+r,i*Math.sin(s)+a]),s+=h})},symbolSize:function(n,e,t,i,r,a,o){var s=0;Lx.length=o;var l=Mc(n);e.eachNode(function(d){var h=Ec(d);isNaN(h)&&(h=2),h<0&&(h=0),h*=l;var f=Math.asin(h/2/i);isNaN(f)&&(f=_B/2),Lx[d.dataIndex]=f,s+=f*2});var u=(2*_B-s)/o/2,c=0;e.eachNode(function(d){var h=u+Lx[d.dataIndex];c+=h,(!d.getLayout()||!d.getLayout().fixed)&&d.setLayout([i*Math.cos(c)+r,i*Math.sin(c)+a]),c+=h})}};function PZ(n,e,t,i){var r=n.getGraphicEl();if(r){var a=n.getModel(),o=a.get(["label","rotate"])||0,s=r.getSymbolPath();if(e){var l=n.getLayout(),u=Math.atan2(l[1]-i,l[0]-t);u<0&&(u=Math.PI*2+u);var c=l[0]<t;c&&(u=u-Math.PI);var d=c?"left":"right";s.setTextConfig({rotation:-u,position:d,origin:"center"});var h=s.ensureState("emphasis");I2(h.textConfig||(h.textConfig={}),{position:d})}else s.setTextConfig({rotation:o*=Math.PI/180})}}function wve(n){n.eachSeriesByType("graph",function(e){e.get("layout")==="circular"&&yP(e,"symbolSize")})}var B4=KT;function Tve(n,e,t){for(var i=n,r=e,a=t.rect,o=a.width,s=a.height,l=[a.x+o/2,a.y+s/2],u=t.gravity==null?.1:t.gravity,c=0;c<i.length;c++){var d=i[c];d.p||(d.p=Y8(o*(Math.random()-.5)+l[0],s*(Math.random()-.5)+l[1])),d.pp=Os(d.p),d.edges=null}var h=t.friction==null?.6:t.friction,f=h,p,m;return{warmUp:function(){f=h*.8},setFixed:function(v){i[v].fixed=!0},setUnfixed:function(v){i[v].fixed=!1},beforeStep:function(v){p=v},afterStep:function(v){m=v},step:function(v){p&&p(i,r);for(var g=[],_=i.length,S=0;S<r.length;S++){var x=r[S];if(!x.ignoreForceLayout){var A=x.n1,C=x.n2;n8(g,C.p,A.p);var M=ZT(g)-x.d,I=C.w/(A.w+C.w);isNaN(I)&&(I=0),F7(g,g),!A.fixed&&B4(A.p,A.p,g,I*M*f),!C.fixed&&B4(C.p,C.p,g,-(1-I)*M*f)}}for(var S=0;S<_;S++){var D=i[S];D.fixed||(n8(g,l,D.p),B4(D.p,D.p,g,u*f))}for(var S=0;S<_;S++)for(var A=i[S],E=S+1;E<_;E++){var C=i[E];n8(g,C.p,A.p);var M=ZT(g);M===0&&(Rse(g,Math.random()-.5,Math.random()-.5),M=1);var P=(A.rep+C.rep)/M/M;!A.fixed&&B4(A.pp,A.pp,g,P),!C.fixed&&B4(C.pp,C.pp,g,-P)}for(var F=[],S=0;S<_;S++){var D=i[S];D.fixed||(n8(F,D.p,D.pp),B4(D.p,D.p,F,f),wi(D.pp,D.p))}f=f*.992;var V=f<.01;m&&m(i,r,V),v&&v(V)}}}function Ave(n){n.eachSeriesByType("graph",function(e){var t=e.coordinateSystem;if(!(t&&t.type!=="view"))if(e.get("layout")==="force"){var i=e.preservedPoints||{},r=e.getGraph(),a=r.data,o=r.edgeData,s=e.getModel("force"),l=s.get("initLayout");e.preservedPoints?a.each(function(S){var x=a.getId(S);a.setItemLayout(S,i[x]||[NaN,NaN])}):!l||l==="none"?EZ(e):l==="circular"&&yP(e,"value");var u=a.getDataExtent("value"),c=o.getDataExtent("value"),d=s.get("repulsion"),h=s.get("edgeLength"),f=j2(d)?d:[d,d],p=j2(h)?h:[h,h];p=[p[1],p[0]];var m=a.mapArray("value",function(S,x){var A=a.getItemLayout(x),C=f1(S,u,f);return isNaN(C)&&(C=(f[0]+f[1])/2),{w:C,rep:C,fixed:a.getItemModel(x).get("fixed"),p:!A||isNaN(A[0])||isNaN(A[1])?null:A}}),v=o.mapArray("value",function(S,x){var A=r.getEdgeByIndex(x),C=f1(S,c,p);isNaN(C)&&(C=(p[0]+p[1])/2);var M=A.getModel(),I=Ho(A.getModel().get(["lineStyle","curveness"]),-mP(A,e,x,!0),0);return{n1:m[A.node1.dataIndex],n2:m[A.node2.dataIndex],d:C,curveness:I,ignoreForceLayout:M.get("ignoreForceLayout")}}),g=t.getBoundingRect(),_=Tve(m,v,{rect:g,gravity:s.get("gravity"),friction:s.get("friction")});_.beforeStep(function(S,x){for(var A=0,C=S.length;A<C;A++)S[A].fixed&&wi(S[A].p,r.getNodeByIndex(A).getLayout())}),_.afterStep(function(S,x,A){for(var C=0,M=S.length;C<M;C++)S[C].fixed||r.getNodeByIndex(C).setLayout(S[C].p),i[a.getId(C)]=S[C].p;for(var C=0,M=x.length;C<M;C++){var I=x[C],D=r.getEdgeByIndex(C),E=I.n1.p,P=I.n2.p,F=D.getLayout();F=F?F.slice():[],F[0]=F[0]||[],F[1]=F[1]||[],wi(F[0],E),wi(F[1],P),+I.curveness&&(F[2]=[(E[0]+P[0])/2-(E[1]-P[1])*I.curveness,(E[1]+P[1])/2-(P[0]-E[0])*I.curveness]),D.setLayout(F)}}),e.forceLayout=_,e.preservedPoints=i,_.step()}else e.forceLayout=null})}function Cve(n,e,t){var i=I2(n.getBoxLayoutParams(),{aspect:t});return un(i,{width:e.getWidth(),height:e.getHeight()})}function Mve(n,e){var t=[];return n.eachSeriesByType("graph",function(i){var r=i.get("coordinateSystem");if(!r||r==="view"){var a=i.getData(),o=a.mapArray(function(v){var g=a.getItemModel(v);return[+g.get("x"),+g.get("y")]}),s=[],l=[];Ay(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);var u=(l[0]-s[0])/(l[1]-s[1]),c=Cve(i,e,u);isNaN(u)&&(s=[c.x,c.y],l=[c.x+c.width,c.y+c.height]);var d=l[0]-s[0],h=l[1]-s[1],f=c.width,p=c.height,m=i.coordinateSystem=new Ih;m.zoomLimit=i.get("scaleLimit"),m.setBoundingRect(s[0],s[1],d,h),m.setViewRect(c.x,c.y,f,p),m.setCenter(i.get("center"),e),m.setZoom(i.get("zoom")),t.push(m)}}),t}var SB=Rn.prototype,Ix=Py.prototype,RZ=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return n}();(function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e})(RZ);function Dx(n){return isNaN(+n.cpx1)||isNaN(+n.cpy1)}var Eve=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-line",i}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new RZ},e.prototype.buildPath=function(t,i){Dx(i)?SB.buildPath.call(this,t,i):Ix.buildPath.call(this,t,i)},e.prototype.pointAt=function(t){return Dx(this.shape)?SB.pointAt.call(this,t):Ix.pointAt.call(this,t)},e.prototype.tangentAt=function(t){var i=this.shape,r=Dx(i)?[i.x2-i.x1,i.y2-i.y1]:Ix.tangentAt.call(this,t);return F7(r,r)},e}(E3);const Pve=Eve;var Nx=["fromSymbol","toSymbol"];function bB(n){return"_"+n+"Type"}function xB(n,e,t){var i=e.getItemVisual(t,n);if(!i||i==="none")return i;var r=e.getItemVisual(t,n+"Size"),a=e.getItemVisual(t,n+"Rotate"),o=e.getItemVisual(t,n+"Offset"),s=e.getItemVisual(t,n+"KeepAspect"),l=Y7(r),u=e4(o||0,l);return i+l+u+(a||"")+(s||"")}function wB(n,e,t){var i=e.getItemVisual(t,n);if(!(!i||i==="none")){var r=e.getItemVisual(t,n+"Size"),a=e.getItemVisual(t,n+"Rotate"),o=e.getItemVisual(t,n+"Offset"),s=e.getItemVisual(t,n+"KeepAspect"),l=Y7(r),u=e4(o||0,l),c=X0(i,-l[0]/2+u[0],-l[1]/2+u[1],l[0],l[1],null,s);return c.__specifiedRotation=a==null||isNaN(a)?void 0:+a*Math.PI/180||0,c.name=n,c}}function Rve(n){var e=new Pve({name:"line",subPixelOptimize:!0});return dC(e.shape,n),e}function dC(n,e){n.x1=e[0][0],n.y1=e[0][1],n.x2=e[1][0],n.y2=e[1][1],n.percent=1;var t=e[2];t?(n.cpx1=t[0],n.cpy1=t[1]):(n.cpx1=NaN,n.cpy1=NaN)}var Lve=function(n){o2(e,n);function e(t,i,r){var a=n.call(this)||this;return a._createLine(t,i,r),a}return e.prototype._createLine=function(t,i,r){var a=t.hostModel,o=t.getItemLayout(i),s=Rve(o);s.shape.percent=0,o0(s,{shape:{percent:1}},a,i),this.add(s),ne(Nx,function(l){var u=wB(l,t,i);this.add(u),this[bB(l)]=xB(l,t,i)},this),this._updateCommonStl(t,i,r)},e.prototype.updateData=function(t,i,r){var a=t.hostModel,o=this.childOfName("line"),s=t.getItemLayout(i),l={shape:{}};dC(l.shape,s),Q3(o,l,a,i),ne(Nx,function(u){var c=xB(u,t,i),d=bB(u);if(this[d]!==c){this.remove(this.childOfName(u));var h=wB(u,t,i);this.add(h)}this[d]=c},this),this._updateCommonStl(t,i,r)},e.prototype.getLinePath=function(){return this.childAt(0)},e.prototype._updateCommonStl=function(t,i,r){var a=t.hostModel,o=this.childOfName("line"),s=r&&r.emphasisLineStyle,l=r&&r.blurLineStyle,u=r&&r.selectLineStyle,c=r&&r.labelStatesModels,d=r&&r.emphasisDisabled,h=r&&r.focus,f=r&&r.blurScope;if(!r||t.hasItemOption){var p=t.getItemModel(i),m=p.getModel("emphasis");s=m.getModel("lineStyle").getLineStyle(),l=p.getModel(["blur","lineStyle"]).getLineStyle(),u=p.getModel(["select","lineStyle"]).getLineStyle(),d=m.get("disabled"),h=m.get("focus"),f=m.get("blurScope"),c=yn(p)}var v=t.getItemVisual(i,"style"),g=v.stroke;o.useStyle(v),o.style.fill=null,o.style.strokeNoScale=!0,o.ensureState("emphasis").style=s,o.ensureState("blur").style=l,o.ensureState("select").style=u,ne(Nx,function(C){var M=this.childOfName(C);if(M){M.setColor(g),M.style.opacity=v.opacity;for(var I=0;I<Li.length;I++){var D=Li[I],E=o.getState(D);if(E){var P=E.style||{},F=M.ensureState(D),V=F.style||(F.style={});P.stroke!=null&&(V[M.__isEmptyBrush?"stroke":"fill"]=P.stroke),P.opacity!=null&&(V.opacity=P.opacity)}}M.markRedraw()}},this);var _=a.getRawValue(i);jn(this,c,{labelDataIndex:i,labelFetcher:{getFormattedLabel:function(C,M){return a.getFormattedLabel(C,M,t.dataType)}},inheritColor:g||"#000",defaultOpacity:v.opacity,defaultText:(_==null?t.getName(i):isFinite(_)?P0(_):_)+""});var S=this.getTextContent();if(S){var x=c.normal;S.__align=S.style.align,S.__verticalAlign=S.style.verticalAlign,S.__position=x.get("position")||"middle";var A=x.get("distance");j2(A)||(A=[A,A]),S.__labelDistance=A}this.setTextConfig({position:null,local:!0,inside:!1}),g0(this,h,f,d)},e.prototype.highlight=function(){$s(this)},e.prototype.downplay=function(){qs(this)},e.prototype.updateLayout=function(t,i){this.setLinePoints(t.getItemLayout(i))},e.prototype.setLinePoints=function(t){var i=this.childOfName("line");dC(i.shape,t),i.dirty()},e.prototype.beforeUpdate=function(){var t=this,i=t.childOfName("fromSymbol"),r=t.childOfName("toSymbol"),a=t.getTextContent();if(!i&&!r&&(!a||a.ignore))return;for(var o=1,s=this.parent;s;)s.scaleX&&(o/=s.scaleX),s=s.parent;var l=t.childOfName("line");if(!this.__dirty&&!l.__dirty)return;var u=l.shape.percent,c=l.pointAt(0),d=l.pointAt(u),h=n8([],d,c);F7(h,h);function f(E,P){var F=E.__specifiedRotation;if(F==null){var V=l.tangentAt(P);E.attr("rotation",(P===1?-1:1)*Math.PI/2-Math.atan2(V[1],V[0]))}else E.attr("rotation",F)}if(i&&(i.setPosition(c),f(i,0),i.scaleX=i.scaleY=o*u,i.markRedraw()),r&&(r.setPosition(d),f(r,1),r.scaleX=r.scaleY=o*u,r.markRedraw()),a&&!a.ignore){a.x=a.y=0,a.originX=a.originY=0;var p=void 0,m=void 0,v=a.__labelDistance,g=v[0]*o,_=v[1]*o,S=u/2,x=l.tangentAt(S),A=[x[1],-x[0]],C=l.pointAt(S);A[1]>0&&(A[0]=-A[0],A[1]=-A[1]);var M=x[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var I=-Math.atan2(x[1],x[0]);d[0]<c[0]&&(I=Math.PI+I),a.rotation=I}var D=void 0;switch(a.__position){case"insideStartTop":case"insideMiddleTop":case"insideEndTop":case"middle":D=-_,m="bottom";break;case"insideStartBottom":case"insideMiddleBottom":case"insideEndBottom":D=_,m="top";break;default:D=0,m="middle"}switch(a.__position){case"end":a.x=h[0]*g+d[0],a.y=h[1]*_+d[1],p=h[0]>.8?"left":h[0]<-.8?"right":"center",m=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":a.x=-h[0]*g+c[0],a.y=-h[1]*_+c[1],p=h[0]>.8?"right":h[0]<-.8?"left":"center",m=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=g*M+c[0],a.y=c[1]+D,p=x[0]<0?"right":"left",a.originX=-g*M,a.originY=-D;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=C[0],a.y=C[1]+D,p="center",a.originY=-D;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-g*M+d[0],a.y=d[1]+D,p=x[0]>=0?"right":"left",a.originX=g*M,a.originY=-D;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||m,align:a.__align||p})}},e}(Qt);const _P=Lve;var Ive=function(){function n(e){this.group=new Qt,this._LineCtor=e||_P}return n.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var i=this,r=i.group,a=i._lineData;i._lineData=e,a||r.removeAll();var o=TB(e);e.diff(a).add(function(s){t._doAdd(e,s,o)}).update(function(s,l){t._doUpdate(a,e,l,s,o)}).remove(function(s){r.remove(a.getItemGraphicEl(s))}).execute()},n.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,i){t.updateLayout(e,i)},this)},n.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=TB(e),this._lineData=null,this.group.removeAll()},n.prototype.incrementalUpdate=function(e,t){this._progressiveEls=[];function i(s){!s.isGroup&&!Dve(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var r=e.start;r<e.end;r++){var a=t.getItemLayout(r);if(kx(a)){var o=new this._LineCtor(t,r,this._seriesScope);o.traverse(i),this.group.add(o),t.setItemGraphicEl(r,o),this._progressiveEls.push(o)}}},n.prototype.remove=function(){this.group.removeAll()},n.prototype.eachRendered=function(e){G5(this._progressiveEls||this.group,e)},n.prototype._doAdd=function(e,t,i){var r=e.getItemLayout(t);if(kx(r)){var a=new this._LineCtor(e,t,i);e.setItemGraphicEl(t,a),this.group.add(a)}},n.prototype._doUpdate=function(e,t,i,r,a){var o=e.getItemGraphicEl(i);if(!kx(t.getItemLayout(r))){this.group.remove(o);return}o?o.updateData(t,r,a):o=new this._LineCtor(t,r,a),t.setItemGraphicEl(r,o),this.group.add(o)},n}();function Dve(n){return n.animators&&n.animators.length>0}function TB(n){var e=n.hostModel,t=e.getModel("emphasis");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:yn(e)}}function AB(n){return isNaN(n[0])||isNaN(n[1])}function kx(n){return n&&!AB(n[0])&&!AB(n[1])}const SP=Ive;var Fx=[],Ox=[],Bx=[],z4=En,zx=y8,CB=Math.abs;function MB(n,e,t){for(var i=n[0],r=n[1],a=n[2],o=1/0,s,l=t*t,u=.1,c=.1;c<=.9;c+=.1){Fx[0]=z4(i[0],r[0],a[0],c),Fx[1]=z4(i[1],r[1],a[1],c);var d=CB(zx(Fx,e)-l);d<o&&(o=d,s=c)}for(var h=0;h<32;h++){var f=s+u;Ox[0]=z4(i[0],r[0],a[0],s),Ox[1]=z4(i[1],r[1],a[1],s),Bx[0]=z4(i[0],r[0],a[0],f),Bx[1]=z4(i[1],r[1],a[1],f);var d=zx(Ox,e)-l;if(CB(d)<.01)break;var p=zx(Bx,e)-l;u/=2,d<0?p>=0?s=s+u:s=s-u:p>=0?s=s-u:s=s+u}return s}function Gx(n,e){var t=[],i=xd,r=[[],[],[]],a=[[],[]],o=[];e/=2,n.eachEdge(function(s,l){var u=s.getLayout(),c=s.getVisual("fromSymbol"),d=s.getVisual("toSymbol");u.__original||(u.__original=[Os(u[0]),Os(u[1])],u[2]&&u.__original.push(Os(u[2])));var h=u.__original;if(u[2]!=null){if(wi(r[0],h[0]),wi(r[1],h[2]),wi(r[2],h[1]),c&&c!=="none"){var f=Ec(s.node1),p=MB(r,h[0],f*e);i(r[0][0],r[1][0],r[2][0],p,t),r[0][0]=t[3],r[1][0]=t[4],i(r[0][1],r[1][1],r[2][1],p,t),r[0][1]=t[3],r[1][1]=t[4]}if(d&&d!=="none"){var f=Ec(s.node2),p=MB(r,h[1],f*e);i(r[0][0],r[1][0],r[2][0],p,t),r[1][0]=t[1],r[2][0]=t[2],i(r[0][1],r[1][1],r[2][1],p,t),r[1][1]=t[1],r[2][1]=t[2]}wi(u[0],r[0]),wi(u[1],r[2]),wi(u[2],r[1])}else{if(wi(a[0],h[0]),wi(a[1],h[1]),n8(o,a[1],a[0]),F7(o,o),c&&c!=="none"){var f=Ec(s.node1);KT(a[0],a[0],o,f*e)}if(d&&d!=="none"){var f=Ec(s.node2);KT(a[1],a[1],o,-f*e)}wi(u[0],a[0]),wi(u[1],a[1])}})}function EB(n){return n.type==="view"}var Nve=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){var r=new Ch,a=new SP,o=this.group;this._controller=new Lh(i.getZr()),this._controllerHost={target:o},o.add(r.group),o.add(a.group),this._symbolDraw=r,this._lineDraw=a,this._firstRender=!0},e.prototype.render=function(t,i,r){var a=this,o=t.coordinateSystem;this._model=t;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if(EB(o)){var c={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(c):Q3(u,c,t)}Gx(t.getGraph(),Mc(t));var d=t.getData();s.updateData(d);var h=t.getEdgeData();l.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,i,r),clearTimeout(this._layoutTimeout);var f=t.forceLayout,p=t.get(["force","layoutAnimation"]);f&&this._startForceLayoutIteration(f,p);var m=t.get("layout");d.graph.eachNode(function(S){var x=S.dataIndex,A=S.getGraphicEl(),C=S.getModel();if(A){A.off("drag").off("dragend");var M=C.get("draggable");M&&A.on("drag",function(D){switch(m){case"force":f.warmUp(),!a._layouting&&a._startForceLayoutIteration(f,p),f.setFixed(x),d.setItemLayout(x,[A.x,A.y]);break;case"circular":d.setItemLayout(x,[A.x,A.y]),S.setLayout({fixed:!0},!0),yP(t,"symbolSize",S,[D.offsetX,D.offsetY]),a.updateLayout(t);break;case"none":default:d.setItemLayout(x,[A.x,A.y]),gP(t.getGraph(),t),a.updateLayout(t);break}}).on("dragend",function(){f&&f.setUnfixed(x)}),A.setDraggable(M,!!C.get("cursor"));var I=C.get(["emphasis","focus"]);I==="adjacency"&&(t3(A).focus=S.getAdjacentDataIndices())}}),d.graph.eachEdge(function(S){var x=S.getGraphicEl(),A=S.getModel().get(["emphasis","focus"]);x&&A==="adjacency"&&(t3(x).focus={edge:[S.dataIndex],node:[S.node1.dataIndex,S.node2.dataIndex]})});var v=t.get("layout")==="circular"&&t.get(["circular","rotateLabel"]),g=d.getLayout("cx"),_=d.getLayout("cy");d.graph.eachNode(function(S){PZ(S,v,g,_)}),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,i){var r=this;(function a(){t.step(function(o){r.updateLayout(r._model),(r._layouting=!o)&&(i?r._layoutTimeout=setTimeout(a,16):a())})})()},e.prototype._updateController=function(t,i,r){var a=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,c,d){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(c,d)&&!Ky(u,r,t)}),!EB(t.coordinateSystem)){o.disable();return}o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){sP(s,u.dx,u.dy),r.dispatchAction({seriesId:t.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){lP(s,u.scale,u.originX,u.originY),r.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(),Gx(t.getGraph(),Mc(t)),a._lineDraw.updateLayout(),r.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,i=t.getData(),r=Mc(t);i.eachItemGraphicEl(function(a,o){a&&a.setSymbolScale(r)})},e.prototype.updateLayout=function(t){Gx(t.getGraph(),Mc(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(q1);const kve=Nve;function G4(n){return"_EC_"+n}var Fve=function(){function n(e){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return n.prototype.isDirected=function(){return this._directed},n.prototype.addNode=function(e,t){e=e==null?""+t:""+e;var i=this._nodesMap;if(!i[G4(e)]){var r=new W9(e,t);return r.hostGraph=this,this.nodes.push(r),i[G4(e)]=r,r}},n.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},n.prototype.getNodeById=function(e){return this._nodesMap[G4(e)]},n.prototype.addEdge=function(e,t,i){var r=this._nodesMap,a=this._edgesMap;if(Y3(e)&&(e=this.nodes[e]),Y3(t)&&(t=this.nodes[t]),e instanceof W9||(e=r[G4(e)]),t instanceof W9||(t=r[G4(t)]),!(!e||!t)){var o=e.id+"-"+t.id,s=new LZ(e,t,i);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),a[o]=s,s}},n.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},n.prototype.getEdge=function(e,t){e instanceof W9&&(e=e.id),t instanceof W9&&(t=t.id);var i=this._edgesMap;return this._directed?i[e+"-"+t]:i[e+"-"+t]||i[t+"-"+e]},n.prototype.eachNode=function(e,t){for(var i=this.nodes,r=i.length,a=0;a<r;a++)i[a].dataIndex>=0&&e.call(t,i[a],a)},n.prototype.eachEdge=function(e,t){for(var i=this.edges,r=i.length,a=0;a<r;a++)i[a].dataIndex>=0&&i[a].node1.dataIndex>=0&&i[a].node2.dataIndex>=0&&e.call(t,i[a],a)},n.prototype.breadthFirstTraverse=function(e,t,i,r){if(t instanceof W9||(t=this._nodesMap[G4(t)]),!!t){for(var a=i==="out"?"outEdges":i==="in"?"inEdges":"edges",o=0;o<this.nodes.length;o++)this.nodes[o].__visited=!1;if(!e.call(r,t,null))for(var s=[t];s.length;)for(var l=s.shift(),u=l[a],o=0;o<u.length;o++){var c=u[o],d=c.node1===l?c.node2:c.node1;if(!d.__visited){if(e.call(r,d,l))return;s.push(d),d.__visited=!0}}}},n.prototype.update=function(){for(var e=this.data,t=this.edgeData,i=this.nodes,r=this.edges,a=0,o=i.length;a<o;a++)i[a].dataIndex=-1;for(var a=0,o=e.count();a<o;a++)i[e.getRawIndex(a)].dataIndex=a;t.filterSelf(function(s){var l=r[t.getRawIndex(s)];return l.node1.dataIndex>=0&&l.node2.dataIndex>=0});for(var a=0,o=r.length;a<o;a++)r[a].dataIndex=-1;for(var a=0,o=t.count();a<o;a++)r[t.getRawIndex(a)].dataIndex=a},n.prototype.clone=function(){for(var e=new n(this._directed),t=this.nodes,i=this.edges,r=0;r<t.length;r++)e.addNode(t[r].id,t[r].dataIndex);for(var r=0;r<i.length;r++){var a=i[r];e.addEdge(a.node1.id,a.node2.id,a.dataIndex)}return e},n}(),W9=function(){function n(e,t){this.inEdges=[],this.outEdges=[],this.edges=[],this.dataIndex=-1,this.id=e==null?"":e,this.dataIndex=t==null?-1:t}return n.prototype.degree=function(){return this.edges.length},n.prototype.inDegree=function(){return this.inEdges.length},n.prototype.outDegree=function(){return this.outEdges.length},n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,i=t.data.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getAdjacentDataIndices=function(){for(var e={edge:[],node:[]},t=0;t<this.edges.length;t++){var i=this.edges[t];i.dataIndex<0||(e.edge.push(i.dataIndex),e.node.push(i.node1.dataIndex,i.node2.dataIndex))}return e},n.prototype.getTrajectoryDataIndices=function(){for(var e=Rt(),t=Rt(),i=0;i<this.edges.length;i++){var r=this.edges[i];if(!(r.dataIndex<0)){e.set(r.dataIndex,!0);for(var a=[r.node1],o=[r.node2],s=0;s<a.length;){var l=a[s];s++,t.set(l.dataIndex,!0);for(var u=0;u<l.inEdges.length;u++)e.set(l.inEdges[u].dataIndex,!0),a.push(l.inEdges[u].node1)}for(s=0;s<o.length;){var c=o[s];s++,t.set(c.dataIndex,!0);for(var u=0;u<c.outEdges.length;u++)e.set(c.outEdges[u].dataIndex,!0),o.push(c.outEdges[u].node2)}}}return{edge:e.keys(),node:t.keys()}},n}(),LZ=function(){function n(e,t,i){this.dataIndex=-1,this.node1=e,this.node2=t,this.dataIndex=i==null?-1:i}return n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,i=t.edgeData.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},n.prototype.getTrajectoryDataIndices=function(){var e=Rt(),t=Rt();e.set(this.dataIndex,!0);for(var i=[this.node1],r=[this.node2],a=0;a<i.length;){var o=i[a];a++,t.set(o.dataIndex,!0);for(var s=0;s<o.inEdges.length;s++)e.set(o.inEdges[s].dataIndex,!0),i.push(o.inEdges[s].node1)}for(a=0;a<r.length;){var l=r[a];a++,t.set(l.dataIndex,!0);for(var s=0;s<l.outEdges.length;s++)e.set(l.outEdges[s].dataIndex,!0),r.push(l.outEdges[s].node2)}return{edge:e.keys(),node:t.keys()}},n}();function IZ(n,e){return{getValue:function(t){var i=this[n][e];return i.getStore().get(i.getDimensionIndex(t||"value"),this.dataIndex)},setVisual:function(t,i){this.dataIndex>=0&&this[n][e].setItemVisual(this.dataIndex,t,i)},getVisual:function(t){return this[n][e].getItemVisual(this.dataIndex,t)},setLayout:function(t,i){this.dataIndex>=0&&this[n][e].setItemLayout(this.dataIndex,t,i)},getLayout:function(){return this[n][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[n][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[n][e].getRawIndex(this.dataIndex)}}}K0(W9,IZ("hostGraph","data"));K0(LZ,IZ("hostGraph","edgeData"));const Ove=Fve;function DZ(n,e,t,i,r){for(var a=new Ove(i),o=0;o<n.length;o++)a.addNode(Pn(n[o].id,n[o].name,o),o);for(var s=[],l=[],u=0,o=0;o<e.length;o++){var c=e[o],d=c.source,h=c.target;a.addEdge(d,h,u)&&(l.push(c),s.push(Pn(ln(c.id,null),d+" > "+h)),u++)}var f=t.get("coordinateSystem"),p;if(f==="cartesian2d"||f==="polar")p=n6(n,t);else{var m=bh.get(f),v=m?m.dimensions||[]:[];x3(v,"value")<0&&v.concat(["value"]);var g=wh(n,{coordDimensions:v,encodeDefine:t.getEncode()}).dimensions;p=new Pi(g,t),p.initData(n)}var _=new Pi(["value"],t);return _.initData(l,s),r&&r(p,_),pZ({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:_},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var Bve=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments);var i=this;function r(){return i._categoriesData}this.legendVisualProvider=new Rh(r,r),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(t){n.prototype.mergeDefaultAndTheme.apply(this,arguments),k8(t,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,i){var r=t.edges||t.links||[],a=t.data||t.nodes||[],o=this;if(a&&r){_ve(this);var s=DZ(a,r,this,!0,l);return ne(s.edges,function(u){Sve(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,c){u.wrapMethod("getItemModel",function(p){var m=o._categoriesModels,v=p.getShallow("category"),g=m[v];return g&&(g.parentModel=p.parentModel,p.parentModel=g),p});var d=$1.prototype.getModel;function h(p,m){var v=d.call(this,p,m);return v.resolveParentPath=f,v}c.wrapMethod("getItemModel",function(p){return p.resolveParentPath=f,p.getModel=h,p});function f(p){if(p&&(p[0]==="label"||p[1]==="label")){var m=p.slice();return p[0]==="label"?m[0]="edgeLabel":p[1]==="label"&&(m[1]="edgeLabel"),m}return p}}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,i,r){if(r==="edge"){var a=this.getData(),o=this.getDataParams(t,r),s=a.graph.getEdgeByIndex(t),l=a.getName(s.node1.dataIndex),u=a.getName(s.node2.dataIndex),c=[];return l!=null&&c.push(l),u!=null&&c.push(u),_n("nameValue",{name:c.join(" > "),value:o.value,noValue:o.value==null})}var d=ZX({series:this,dataIndex:t,multipleSeries:i});return d},e.prototype._updateCategoriesData=function(){var t=q2(this.option.categories||[],function(r){return r.value!=null?r:I2({value:0},r)}),i=new Pi(["value"],this);i.initData(t),this._categoriesData=i,this._categoriesModels=i.mapArray(function(r){return i.getItemModel(r)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return n.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(f0);const zve=Bve;var Gve={type:"graphRoam",event:"graphRoam",update:"none"};function Uve(n){n.registerChartView(kve),n.registerSeriesModel(zve),n.registerProcessor(pve),n.registerVisual(vve),n.registerVisual(mve),n.registerLayout(bve),n.registerLayout(n.PRIORITY.VISUAL.POST_CHART_LAYOUT,wve),n.registerLayout(Ave),n.registerCoordinateSystem("graphView",{dimensions:Ih.dimensions,create:Mve}),n.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},O0),n.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},O0),n.registerAction(Gve,function(e,t,i){t.eachComponent({mainType:"series",query:e},function(r){var a=r.coordinateSystem,o=cP(a,e,void 0,i);r.setCenter&&r.setCenter(o.center),r.setZoom&&r.setZoom(o.zoom)})})}var Vve=function(){function n(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return n}(),Hve=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="pointer",i}return e.prototype.getDefaultShape=function(){return new Vve},e.prototype.buildPath=function(t,i){var r=Math.cos,a=Math.sin,o=i.r,s=i.width,l=i.angle,u=i.x-r(l)*s*(s>=o/3?1:2),c=i.y-a(l)*s*(s>=o/3?1:2);l=i.angle-Math.PI/2,t.moveTo(u,c),t.lineTo(i.x+r(l)*s,i.y+a(l)*s),t.lineTo(i.x+r(i.angle)*o,i.y+a(i.angle)*o),t.lineTo(i.x-r(l)*s,i.y-a(l)*s),t.lineTo(u,c)},e}(E3);const Wve=Hve;function jve(n,e){var t=n.get("center"),i=e.getWidth(),r=e.getHeight(),a=Math.min(i,r),o=mt(t[0],e.getWidth()),s=mt(t[1],e.getHeight()),l=mt(n.get("radius"),a/2);return{cx:o,cy:s,r:l}}function Ap(n,e){var t=n==null?"":n+"";return e&&(xt(e)?t=e.replace("{value}",t):Wt(e)&&(t=e(n))),t}var $ve=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this.group.removeAll();var a=t.get(["axisLine","lineStyle","color"]),o=jve(t,r);this._renderMain(t,i,r,a,o),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,i,r,a,o){var s=this.group,l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,c=-t.get("endAngle")/180*Math.PI,d=t.getModel("axisLine"),h=d.get("roundCap"),f=h?fg:sr,p=d.get("show"),m=d.getModel("lineStyle"),v=m.get("width"),g=[u,c];cE(g,!l),u=g[0],c=g[1];for(var _=c-u,S=u,x=[],A=0;p&&A<a.length;A++){var C=Math.min(Math.max(a[A][0],0),1);c=u+_*C;var M=new f({shape:{startAngle:S,endAngle:c,cx:o.cx,cy:o.cy,clockwise:l,r0:o.r-v,r:o.r},silent:!0});M.setStyle({fill:a[A][1]}),M.setStyle(m.getLineStyle(["color","width"])),x.push(M),S=c}x.reverse(),ne(x,function(D){return s.add(D)});var I=function(D){if(D<=0)return a[0][1];var E;for(E=0;E<a.length;E++)if(a[E][0]>=D&&(E===0?0:a[E-1][0])<D)return a[E][1];return a[E-1][1]};this._renderTicks(t,i,r,I,o,u,c,l,v),this._renderTitleAndDetail(t,i,r,I,o),this._renderAnchor(t,o),this._renderPointer(t,i,r,I,o,u,c,l,v)},e.prototype._renderTicks=function(t,i,r,a,o,s,l,u,c){for(var d=this.group,h=o.cx,f=o.cy,p=o.r,m=+t.get("min"),v=+t.get("max"),g=t.getModel("splitLine"),_=t.getModel("axisTick"),S=t.getModel("axisLabel"),x=t.get("splitNumber"),A=_.get("splitNumber"),C=mt(g.get("length"),p),M=mt(_.get("length"),p),I=s,D=(l-s)/x,E=D/A,P=g.getModel("lineStyle").getLineStyle(),F=_.getModel("lineStyle").getLineStyle(),V=g.get("distance"),G,W,Y=0;Y<=x;Y++){if(G=Math.cos(I),W=Math.sin(I),g.get("show")){var Q=V?V+c:c,K=new Rn({shape:{x1:G*(p-Q)+h,y1:W*(p-Q)+f,x2:G*(p-C-Q)+h,y2:W*(p-C-Q)+f},style:P,silent:!0});P.stroke==="auto"&&K.setStyle({stroke:a(Y/x)}),d.add(K)}if(S.get("show")){var Q=S.get("distance")+V,ae=Ap(P0(Y/x*(v-m)+m),S.get("formatter")),ie=a(Y/x),he=G*(p-C-Q)+h,Ee=W*(p-C-Q)+f,je=S.get("rotate"),xe=0;je==="radial"?(xe=-I+2*Math.PI,xe>Math.PI/2&&(xe+=Math.PI)):je==="tangential"?xe=-I-Math.PI/2:Y3(je)&&(xe=je*Math.PI/180),xe===0?d.add(new X3({style:j1(S,{text:ae,x:he,y:Ee,verticalAlign:W<-.8?"top":W>.8?"bottom":"middle",align:G<-.4?"left":G>.4?"right":"center"},{inheritColor:ie}),silent:!0})):d.add(new X3({style:j1(S,{text:ae,x:he,y:Ee,verticalAlign:"middle",align:"center"},{inheritColor:ie}),silent:!0,originX:he,originY:Ee,rotation:xe}))}if(_.get("show")&&Y!==x){var Q=_.get("distance");Q=Q?Q+c:c;for(var Oe=0;Oe<=A;Oe++){G=Math.cos(I),W=Math.sin(I);var f2=new Rn({shape:{x1:G*(p-Q)+h,y1:W*(p-Q)+f,x2:G*(p-M-Q)+h,y2:W*(p-M-Q)+f},silent:!0,style:F});F.stroke==="auto"&&f2.setStyle({stroke:a((Y+Oe/A)/x)}),d.add(f2),I+=E}I-=E}else I+=D}},e.prototype._renderPointer=function(t,i,r,a,o,s,l,u,c){var d=this.group,h=this._data,f=this._progressEls,p=[],m=t.get(["pointer","show"]),v=t.getModel("progress"),g=v.get("show"),_=t.getData(),S=_.mapDimension("value"),x=+t.get("min"),A=+t.get("max"),C=[x,A],M=[s,l];function I(E,P){var F=_.getItemModel(E),V=F.getModel("pointer"),G=mt(V.get("width"),o.r),W=mt(V.get("length"),o.r),Y=t.get(["pointer","icon"]),Q=V.get("offsetCenter"),K=mt(Q[0],o.r),ae=mt(Q[1],o.r),ie=V.get("keepAspect"),he;return Y?he=X0(Y,K-G/2,ae-W,G,W,null,ie):he=new Wve({shape:{angle:-Math.PI/2,width:G,r:W,x:K,y:ae}}),he.rotation=-(P+Math.PI/2),he.x=o.cx,he.y=o.cy,he}function D(E,P){var F=v.get("roundCap"),V=F?fg:sr,G=v.get("overlap"),W=G?v.get("width"):c/_.count(),Y=G?o.r-W:o.r-(E+1)*W,Q=G?o.r:o.r-E*W,K=new V({shape:{startAngle:s,endAngle:P,cx:o.cx,cy:o.cy,clockwise:u,r0:Y,r:Q}});return G&&(K.z2=f1(_.get(S,E),[x,A],[100,0],!0)),K}(g||m)&&(_.diff(h).add(function(E){var P=_.get(S,E);if(m){var F=I(E,s);o0(F,{rotation:-((isNaN(+P)?M[0]:f1(P,C,M,!0))+Math.PI/2)},t),d.add(F),_.setItemGraphicEl(E,F)}if(g){var V=D(E,s),G=v.get("clip");o0(V,{shape:{endAngle:f1(P,C,M,G)}},t),d.add(V),wA(t.seriesIndex,_.dataType,E,V),p[E]=V}}).update(function(E,P){var F=_.get(S,E);if(m){var V=h.getItemGraphicEl(P),G=V?V.rotation:s,W=I(E,G);W.rotation=G,Q3(W,{rotation:-((isNaN(+F)?M[0]:f1(F,C,M,!0))+Math.PI/2)},t),d.add(W),_.setItemGraphicEl(E,W)}if(g){var Y=f[P],Q=Y?Y.shape.endAngle:s,K=D(E,Q),ae=v.get("clip");Q3(K,{shape:{endAngle:f1(F,C,M,ae)}},t),d.add(K),wA(t.seriesIndex,_.dataType,E,K),p[E]=K}}).execute(),_.each(function(E){var P=_.getItemModel(E),F=P.getModel("emphasis"),V=F.get("focus"),G=F.get("blurScope"),W=F.get("disabled");if(m){var Y=_.getItemGraphicEl(E),Q=_.getItemVisual(E,"style"),K=Q.fill;if(Y instanceof $n){var ae=Y.style;Y.useStyle(I2({image:ae.image,x:ae.x,y:ae.y,width:ae.width,height:ae.height},Q))}else Y.useStyle(Q),Y.type!=="pointer"&&Y.setColor(K);Y.setStyle(P.getModel(["pointer","itemStyle"]).getItemStyle()),Y.style.fill==="auto"&&Y.setStyle("fill",a(f1(_.get(S,E),C,[0,1],!0))),Y.z2EmphasisLift=0,Wn(Y,P),g0(Y,V,G,W)}if(g){var ie=p[E];ie.useStyle(_.getItemVisual(E,"style")),ie.setStyle(P.getModel(["progress","itemStyle"]).getItemStyle()),ie.z2EmphasisLift=0,Wn(ie,P),g0(ie,V,G,W)}}),this._progressEls=p)},e.prototype._renderAnchor=function(t,i){var r=t.getModel("anchor"),a=r.get("show");if(a){var o=r.get("size"),s=r.get("icon"),l=r.get("offsetCenter"),u=r.get("keepAspect"),c=X0(s,i.cx-o/2+mt(l[0],i.r),i.cy-o/2+mt(l[1],i.r),o,o,null,u);c.z2=r.get("showAbove")?1:0,c.setStyle(r.getModel("itemStyle").getItemStyle()),this.group.add(c)}},e.prototype._renderTitleAndDetail=function(t,i,r,a,o){var s=this,l=t.getData(),u=l.mapDimension("value"),c=+t.get("min"),d=+t.get("max"),h=new Qt,f=[],p=[],m=t.isAnimationEnabled(),v=t.get(["pointer","showAbove"]);l.diff(this._data).add(function(g){f[g]=new X3({silent:!0}),p[g]=new X3({silent:!0})}).update(function(g,_){f[g]=s._titleEls[_],p[g]=s._detailEls[_]}).execute(),l.each(function(g){var _=l.getItemModel(g),S=l.get(u,g),x=new Qt,A=a(f1(S,[c,d],[0,1],!0)),C=_.getModel("title");if(C.get("show")){var M=C.get("offsetCenter"),I=o.cx+mt(M[0],o.r),D=o.cy+mt(M[1],o.r),E=f[g];E.attr({z2:v?0:2,style:j1(C,{x:I,y:D,text:l.getName(g),align:"center",verticalAlign:"middle"},{inheritColor:A})}),x.add(E)}var P=_.getModel("detail");if(P.get("show")){var F=P.get("offsetCenter"),V=o.cx+mt(F[0],o.r),G=o.cy+mt(F[1],o.r),W=mt(P.get("width"),o.r),Y=mt(P.get("height"),o.r),Q=t.get(["progress","show"])?l.getItemVisual(g,"style").fill:A,E=p[g],K=P.get("formatter");E.attr({z2:v?0:2,style:j1(P,{x:V,y:G,text:Ap(S,K),width:isNaN(W)?null:W,height:isNaN(Y)?null:Y,align:"center",verticalAlign:"middle"},{inheritColor:Q})}),Qq(E,{normal:P},S,function(ie){return Ap(ie,K)}),m&&eX(E,g,l,t,{getFormattedLabel:function(ie,he,Ee,je,xe,Oe){return Ap(Oe?Oe.interpolatedValue:S,K)}}),x.add(E)}h.add(x)}),this.group.add(h),this._titleEls=f,this._detailEls=p},e.type="gauge",e}(q1);const qve=$ve;var Xve=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="itemStyle",t}return e.prototype.getInitialData=function(t,i){return Z7(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,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:!1}},e}(f0);const Yve=Xve;function Kve(n){n.registerChartView(qve),n.registerSeriesModel(Yve)}var Zve=["itemStyle","opacity"],Jve=function(n){o2(e,n);function e(t,i){var r=n.call(this)||this,a=r,o=new dr,s=new X3;return a.setTextContent(s),r.setTextGuideLine(o),r.updateData(t,i,!0),r}return e.prototype.updateData=function(t,i,r){var a=this,o=t.hostModel,s=t.getItemModel(i),l=t.getItemLayout(i),u=s.getModel("emphasis"),c=s.get(Zve);c=c==null?1:c,r||no(a),a.useStyle(t.getItemVisual(i,"style")),a.style.lineJoin="round",r?(a.setShape({points:l.points}),a.style.opacity=0,o0(a,{style:{opacity:c}},o,i)):Q3(a,{style:{opacity:c},shape:{points:l.points}},o,i),Wn(a,s),this._updateLabel(t,i),g0(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,i){var r=this,a=this.getTextGuideLine(),o=r.getTextContent(),s=t.hostModel,l=t.getItemModel(i),u=t.getItemLayout(i),c=u.label,d=t.getItemVisual(i,"style"),h=d.fill;jn(o,yn(l),{labelFetcher:t.hostModel,labelDataIndex:i,defaultOpacity:d.opacity,defaultText:t.getName(i)},{normal:{align:c.textAlign,verticalAlign:c.verticalAlign}}),r.setTextConfig({local:!0,inside:!!c.inside,insideStroke:h,outsideFill:h});var f=c.linePoints;a.setShape({points:f}),r.textGuideLineConfig={anchor:f?new h3(f[0][0],f[0][1]):null},Q3(o,{style:{x:c.x,y:c.y}},s,i),o.attr({rotation:c.rotation,originX:c.x,originY:c.y,z2:10}),ZE(r,JE(l),{stroke:h})},e}(lr),Qve=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._data,s=this.group;a.diff(o).add(function(l){var u=new Jve(a,l);a.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var c=o.getItemGraphicEl(u);c.updateData(a,l),s.add(c),a.setItemGraphicEl(l,c)}).remove(function(l){var u=o.getItemGraphicEl(l);Rd(u,t,l)}).execute(),this._data=a},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(q1);const eme=Qve;var tme=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new Rh(Tt(this.getData,this),Tt(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.getInitialData=function(t,i){return Z7(this,{coordDimensions:["value"],encodeDefaulter:s3(PE,this)})},e.prototype._defaultLabelLine=function(t){k8(t,"labelLine",["show"]);var i=t.labelLine,r=t.emphasis.labelLine;i.show=i.show&&t.label.show,r.show=r.show&&t.emphasis.label.show},e.prototype.getDataParams=function(t){var i=this.getData(),r=n.prototype.getDataParams.call(this,t),a=i.mapDimension("value"),o=i.getSum(a);return r.percent=o?+(i.get(a,t)/o*100).toFixed(2):0,r.$vars.push("percent"),r},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(f0);const nme=tme;function ime(n,e){return un(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function rme(n,e){for(var t=n.mapDimension("value"),i=n.mapArray(t,function(l){return l}),r=[],a=e==="ascending",o=0,s=n.count();o<s;o++)r[o]=o;return Wt(e)?r.sort(e):e!=="none"&&r.sort(function(l,u){return a?i[l]-i[u]:i[u]-i[l]}),r}function ame(n){var e=n.hostModel,t=e.get("orient");n.each(function(i){var r=n.getItemModel(i),a=r.getModel("label"),o=a.get("position"),s=r.getModel("labelLine"),l=n.getItemLayout(i),u=l.points,c=o==="inner"||o==="inside"||o==="center"||o==="insideLeft"||o==="insideRight",d,h,f,p;if(c)o==="insideLeft"?(h=(u[0][0]+u[3][0])/2+5,f=(u[0][1]+u[3][1])/2,d="left"):o==="insideRight"?(h=(u[1][0]+u[2][0])/2-5,f=(u[1][1]+u[2][1])/2,d="right"):(h=(u[0][0]+u[1][0]+u[2][0]+u[3][0])/4,f=(u[0][1]+u[1][1]+u[2][1]+u[3][1])/4,d="center"),p=[[h,f],[h,f]];else{var m=void 0,v=void 0,g=void 0,_=void 0,S=s.get("length");o==="left"?(m=(u[3][0]+u[0][0])/2,v=(u[3][1]+u[0][1])/2,g=m-S,h=g-5,d="right"):o==="right"?(m=(u[1][0]+u[2][0])/2,v=(u[1][1]+u[2][1])/2,g=m+S,h=g+5,d="left"):o==="top"?(m=(u[3][0]+u[0][0])/2,v=(u[3][1]+u[0][1])/2,_=v-S,f=_-5,d="center"):o==="bottom"?(m=(u[1][0]+u[2][0])/2,v=(u[1][1]+u[2][1])/2,_=v+S,f=_+5,d="center"):o==="rightTop"?(m=t==="horizontal"?u[3][0]:u[1][0],v=t==="horizontal"?u[3][1]:u[1][1],t==="horizontal"?(_=v-S,f=_-5,d="center"):(g=m+S,h=g+5,d="top")):o==="rightBottom"?(m=u[2][0],v=u[2][1],t==="horizontal"?(_=v+S,f=_+5,d="center"):(g=m+S,h=g+5,d="bottom")):o==="leftTop"?(m=u[0][0],v=t==="horizontal"?u[0][1]:u[1][1],t==="horizontal"?(_=v-S,f=_-5,d="center"):(g=m-S,h=g-5,d="right")):o==="leftBottom"?(m=t==="horizontal"?u[1][0]:u[3][0],v=t==="horizontal"?u[1][1]:u[2][1],t==="horizontal"?(_=v+S,f=_+5,d="center"):(g=m-S,h=g-5,d="right")):(m=(u[1][0]+u[2][0])/2,v=(u[1][1]+u[2][1])/2,t==="horizontal"?(_=v+S,f=_+5,d="center"):(g=m+S,h=g+5,d="left")),t==="horizontal"?(g=m,h=g):(_=v,f=_),p=[[m,v],[g,_]]}l.label={linePoints:p,x:h,y:f,verticalAlign:"middle",textAlign:d,inside:c}})}function ome(n,e){n.eachSeriesByType("funnel",function(t){var i=t.getData(),r=i.mapDimension("value"),a=t.get("sort"),o=ime(t,e),s=t.get("orient"),l=o.width,u=o.height,c=rme(i,a),d=o.x,h=o.y,f=s==="horizontal"?[mt(t.get("minSize"),u),mt(t.get("maxSize"),u)]:[mt(t.get("minSize"),l),mt(t.get("maxSize"),l)],p=i.getDataExtent(r),m=t.get("min"),v=t.get("max");m==null&&(m=Math.min(p[0],0)),v==null&&(v=p[1]);var g=t.get("funnelAlign"),_=t.get("gap"),S=s==="horizontal"?l:u,x=(S-_*(i.count()-1))/i.count(),A=function(G,W){if(s==="horizontal"){var Y=i.get(r,G)||0,Q=f1(Y,[m,v],f,!0),K=void 0;switch(g){case"top":K=h;break;case"center":K=h+(u-Q)/2;break;case"bottom":K=h+(u-Q);break}return[[W,K],[W,K+Q]]}var ae=i.get(r,G)||0,ie=f1(ae,[m,v],f,!0),he;switch(g){case"left":he=d;break;case"center":he=d+(l-ie)/2;break;case"right":he=d+l-ie;break}return[[he,W],[he+ie,W]]};a==="ascending"&&(x=-x,_=-_,s==="horizontal"?d+=l:h+=u,c=c.reverse());for(var C=0;C<c.length;C++){var M=c[C],I=c[C+1],D=i.getItemModel(M);if(s==="horizontal"){var E=D.get(["itemStyle","width"]);E==null?E=x:(E=mt(E,l),a==="ascending"&&(E=-E));var P=A(M,d),F=A(I,d+E);d+=E+_,i.setItemLayout(M,{points:P.concat(F.slice().reverse())})}else{var V=D.get(["itemStyle","height"]);V==null?V=x:(V=mt(V,u),a==="ascending"&&(V=-V));var P=A(M,h),F=A(I,h+V);h+=V+_,i.setItemLayout(M,{points:P.concat(F.slice().reverse())})}}ame(i)})}function sme(n){n.registerChartView(eme),n.registerSeriesModel(nme),n.registerLayout(ome),n.registerProcessor(Ph("funnel"))}var lme=.3,ume=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._dataGroup=new Qt,t._initialized=!1,t}return e.prototype.init=function(){this.group.add(this._dataGroup)},e.prototype.render=function(t,i,r,a){this._progressiveEls=null;var o=this._dataGroup,s=t.getData(),l=this._data,u=t.coordinateSystem,c=u.dimensions,d=RB(t);s.diff(l).add(h).update(f).remove(p).execute();function h(v){var g=PB(s,o,v,c,u);Ux(g,s,v,d)}function f(v,g){var _=l.getItemGraphicEl(g),S=NZ(s,v,c,u);s.setItemGraphicEl(v,_),Q3(_,{shape:{points:S}},t,v),no(_),Ux(_,s,v,d)}function p(v){var g=l.getItemGraphicEl(v);o.remove(g)}if(!this._initialized){this._initialized=!0;var m=cme(u,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(m)}this._data=s},e.prototype.incrementalPrepareRender=function(t,i,r){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},e.prototype.incrementalRender=function(t,i,r){for(var a=i.getData(),o=i.coordinateSystem,s=o.dimensions,l=RB(i),u=this._progressiveEls=[],c=t.start;c<t.end;c++){var d=PB(a,this._dataGroup,c,s,o);d.incremental=!0,Ux(d,a,c,l),u.push(d)}},e.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null},e.type="parallel",e}(q1);function cme(n,e,t){var i=n.model,r=n.getRect(),a=new H3({shape:{x:r.x,y:r.y,width:r.width,height:r.height}}),o=i.get("layout")==="horizontal"?"width":"height";return a.setShape(o,0),o0(a,{shape:{width:r.width,height:r.height}},e,t),a}function NZ(n,e,t,i){for(var r=[],a=0;a<t.length;a++){var o=t[a],s=n.get(n.mapDimension(o),e);dme(s,i.getAxis(o).type)||r.push(i.dataToPoint(s,o))}return r}function PB(n,e,t,i,r){var a=NZ(n,t,i,r),o=new dr({shape:{points:a},z2:10});return e.add(o),n.setItemGraphicEl(t,o),o}function RB(n){var e=n.get("smooth",!0);return e===!0&&(e=lme),e=js(e),Sd(e)&&(e=0),{smooth:e}}function Ux(n,e,t,i){n.useStyle(e.getItemVisual(t,"style")),n.style.fill=null,n.setShape("smooth",i.smooth);var r=e.getItemModel(t),a=r.getModel("emphasis");Wn(n,r,"lineStyle"),g0(n,a.get("focus"),a.get("blurScope"),a.get("disabled"))}function dme(n,e){return e==="category"?n==null:n==null||isNaN(n)}const hme=ume;var fme=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.getInitialData=function(t,i){return n6(null,this,{useEncodeDefaulter:Tt(pme,null,this)})},e.prototype.getRawIndicesByActiveState=function(t){var i=this.coordinateSystem,r=this.getData(),a=[];return i.eachActiveState(r,function(o,s){t===o&&a.push(r.getRawIndex(s))}),a},e.type="series.parallel",e.dependencies=["parallel"],e.defaultOption={z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"},e}(f0);function pme(n){var e=n.ecModel.getComponent("parallel",n.get("parallelIndex"));if(e){var t={};return ne(e.dimensions,function(i){var r=vme(i);t[i]=r}),t}}function vme(n){return+n.replace("dim","")}const mme=fme;var gme=["lineStyle","opacity"],yme={seriesType:"parallel",reset:function(n,e){var t=n.coordinateSystem,i={normal:n.get(["lineStyle","opacity"]),active:n.get("activeOpacity"),inactive:n.get("inactiveOpacity")};return{progress:function(r,a){t.eachActiveState(a,function(o,s){var l=i[o];if(o==="normal"&&a.hasItemOption){var u=a.getItemModel(s).get(gme,!0);u!=null&&(l=u)}var c=a.ensureUniqueItemVisual(s,"style");c.opacity=l},r.start,r.end)}}}};const _me=yme;function Sme(n){bme(n),xme(n)}function bme(n){if(!n.parallel){var e=!1;ne(n.series,function(t){t&&t.type==="parallel"&&(e=!0)}),e&&(n.parallel=[{}])}}function xme(n){var e=T1(n.parallelAxis);ne(e,function(t){if(Kt(t)){var i=t.parallelIndex||0,r=T1(n.parallel)[i];r&&r.parallelAxisDefault&&u3(t,r.parallelAxisDefault,!1)}})}var wme=5,Tme=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this._model=t,this._api=r,this._handlers||(this._handlers={},ne(Ame,function(a,o){r.getZr().on(o,this._handlers[o]=Tt(a,this))},this)),X7(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},e.prototype.dispose=function(t,i){Nd(this,"_throttledDispatchExpand"),ne(this._handlers,function(r,a){i.getZr().off(a,r)}),this._handlers=null},e.prototype._throttledDispatchExpand=function(t){this._dispatchExpand(t)},e.prototype._dispatchExpand=function(t){t&&this._api.dispatchAction(I2({type:"parallelAxisExpand"},t))},e.type="parallel",e}(b0),Ame={mousedown:function(n){Vx(this,"click")&&(this._mouseDownPoint=[n.offsetX,n.offsetY])},mouseup:function(n){var e=this._mouseDownPoint;if(Vx(this,"click")&&e){var t=[n.offsetX,n.offsetY],i=Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2);if(i>wme)return;var r=this._model.coordinateSystem.getSlidedAxisExpandWindow([n.offsetX,n.offsetY]);r.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:r.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(n){if(!(this._mouseDownPoint||!Vx(this,"mousemove"))){var e=this._model,t=e.coordinateSystem.getSlidedAxisExpandWindow([n.offsetX,n.offsetY]),i=t.behavior;i==="jump"&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand(i==="none"?null:{axisExpandWindow:t.axisExpandWindow,animation:i==="jump"?null:{duration:0}})}}};function Vx(n,e){var t=n._model;return t.get("axisExpandable")&&t.get("axisExpandTriggerOn")===e}const Cme=Tme;var Mme=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){n.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var i=this.option;t&&u3(i,t,!0),this._initDimensions()},e.prototype.contains=function(t,i){var r=t.get("parallelIndex");return r!=null&&i.getComponent("parallel",r)===this},e.prototype.setAxisExpand=function(t){ne(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(i){t.hasOwnProperty(i)&&(this.option[i]=t[i])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],i=this.parallelAxisIndex=[],r=c1(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);ne(r,function(a){t.push("dim"+a.get("dim")),i.push(a.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}($3);const Eme=Mme;var Pme=function(n){o2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.type=a||"value",s.axisIndex=o,s}return e.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},e}(ao);const Rme=Pme;function r4(n,e,t,i,r,a){n=n||0;var o=t[1]-t[0];if(r!=null&&(r=U4(r,[0,o])),a!=null&&(a=Math.max(a,r!=null?r:0)),i==="all"){var s=Math.abs(e[1]-e[0]);s=U4(s,[0,o]),r=a=U4(s,[r,a]),i=0}e[0]=U4(e[0],t),e[1]=U4(e[1],t);var l=Hx(e,i);e[i]+=n;var u=r||0,c=t.slice();l.sign<0?c[0]+=u:c[1]-=u,e[i]=U4(e[i],c);var d;return d=Hx(e,i),r!=null&&(d.sign!==l.sign||d.span<r)&&(e[1-i]=e[i]+l.sign*r),d=Hx(e,i),a!=null&&d.span>a&&(e[1-i]=e[i]+d.sign*a),e}function Hx(n,e){var t=n[e]-n[1-e];return{span:Math.abs(t),sign:t>0?-1:t<0?1:e?-1:1}}function U4(n,e){return Math.min(e[1]!=null?e[1]:1/0,Math.max(e[0]!=null?e[0]:-1/0,n))}var Wx=ne,kZ=Math.min,FZ=Math.max,LB=Math.floor,Lme=Math.ceil,IB=P0,Ime=Math.PI,Dme=function(){function n(e,t,i){this.type="parallel",this._axesMap=Rt(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,i)}return n.prototype._init=function(e,t,i){var r=e.dimensions,a=e.parallelAxisIndex;Wx(r,function(o,s){var l=a[s],u=t.getComponent("parallelAxis",l),c=this._axesMap.set(o,new Rme(o,Xy(u),[0,0],u.get("type"),l)),d=c.type==="category";c.onBand=d&&u.get("boundaryGap"),c.inverse=u.get("inverse"),u.axis=c,c.model=u,c.coordinateSystem=u.coordinateSystem=this},this)},n.prototype.update=function(e,t){this._updateAxesFromSeries(this._model,e)},n.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),i=t.axisBase,r=t.layoutBase,a=t.pixelDimIndex,o=e[1-a],s=e[a];return o>=i&&o<=i+t.axisLength&&s>=r&&s<=r+t.layoutLength},n.prototype.getModel=function(){return this._model},n.prototype._updateAxesFromSeries=function(e,t){t.eachSeries(function(i){if(e.contains(i,t)){var r=i.getData();Wx(this.dimensions,function(a){var o=this._axesMap.get(a);o.scale.unionExtentFromData(r,r.mapDimension(a)),p7(o.scale,o.model)},this)}},this)},n.prototype.resize=function(e,t){this._rect=un(e.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),this._layoutAxes()},n.prototype.getRect=function(){return this._rect},n.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,i=["x","y"],r=["width","height"],a=e.get("layout"),o=a==="horizontal"?0:1,s=t[r[o]],l=[0,s],u=this.dimensions.length,c=Cp(e.get("axisExpandWidth"),l),d=Cp(e.get("axisExpandCount")||0,[0,u]),h=e.get("axisExpandable")&&u>3&&u>d&&d>1&&c>0&&s>0,f=e.get("axisExpandWindow"),p;if(f)p=Cp(f[1]-f[0],l),f[1]=f[0]+p;else{p=Cp(c*(d-1),l);var m=e.get("axisExpandCenter")||LB(u/2);f=[c*m-p/2],f[1]=f[0]+p}var v=(s-p)/(u-d);v<3&&(v=0);var g=[LB(IB(f[0]/c,1))+1,Lme(IB(f[1]/c,1))-1],_=v/c*f[0];return{layout:a,pixelDimIndex:o,layoutBase:t[i[o]],layoutLength:s,axisBase:t[i[1-o]],axisLength:t[r[1-o]],axisExpandable:h,axisExpandWidth:c,axisCollapseWidth:v,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:_}},n.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,i=this.dimensions,r=this._makeLayoutInfo(),a=r.layout;t.each(function(o){var s=[0,r.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),Wx(i,function(o,s){var l=(r.axisExpandable?kme:Nme)(s,r),u={horizontal:{x:l.position,y:r.axisLength},vertical:{x:0,y:l.position}},c={horizontal:Ime/2,vertical:0},d=[u[a].x+e.x,u[a].y+e.y],h=c[a],f=Ir();K8(f,f,h),Ko(f,f,d),this._axesLayout[o]={position:d,rotation:h,transform:f,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},n.prototype.getAxis=function(e){return this._axesMap.get(e)},n.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},n.prototype.eachActiveState=function(e,t,i,r){i==null&&(i=0),r==null&&(r=e.count());var a=this._axesMap,o=this.dimensions,s=[],l=[];ne(o,function(v){s.push(e.mapDimension(v)),l.push(a.get(v).model)});for(var u=this.hasAxisBrushed(),c=i;c<r;c++){var d=void 0;if(!u)d="normal";else{d="active";for(var h=e.getValues(s,c),f=0,p=o.length;f<p;f++){var m=l[f].getActiveState(h[f]);if(m==="inactive"){d="inactive";break}}}t(d,c)}},n.prototype.hasAxisBrushed=function(){for(var e=this.dimensions,t=this._axesMap,i=!1,r=0,a=e.length;r<a;r++)t.get(e[r]).model.getActiveState()!=="normal"&&(i=!0);return i},n.prototype.axisCoordToPoint=function(e,t){var i=this._axesLayout[t];return Qa([e,0],i.transform)},n.prototype.getAxisLayout=function(e){return Zt(this._axesLayout[e])},n.prototype.getSlidedAxisExpandWindow=function(e){var t=this._makeLayoutInfo(),i=t.pixelDimIndex,r=t.axisExpandWindow.slice(),a=r[1]-r[0],o=[0,t.axisExpandWidth*(t.axisCount-1)];if(!this.containPoint(e))return{behavior:"none",axisExpandWindow:r};var s=e[i]-t.layoutBase-t.axisExpandWindow0Pos,l,u="slide",c=t.axisCollapseWidth,d=this._model.get("axisExpandSlideTriggerArea"),h=d[0]!=null;if(c)h&&c&&s<a*d[0]?(u="jump",l=s-a*d[2]):h&&c&&s>a*(1-d[0])?(u="jump",l=s-a*(1-d[2])):(l=s-a*d[1])>=0&&(l=s-a*(1-d[1]))<=0&&(l=0),l*=t.axisExpandWidth/c,l?r4(l,r,o,"all"):u="none";else{var f=r[1]-r[0],p=o[1]*s/f;r=[FZ(0,p-f/2)],r[1]=kZ(o[1],r[0]+f),r[0]=r[1]-f}return{axisExpandWindow:r,behavior:u}},n}();function Cp(n,e){return kZ(FZ(n,e[0]),e[1])}function Nme(n,e){var t=e.layoutLength/(e.axisCount-1);return{position:t*n,axisNameAvailableWidth:t,axisLabelShow:!0}}function kme(n,e){var t=e.layoutLength,i=e.axisExpandWidth,r=e.axisCount,a=e.axisCollapseWidth,o=e.winInnerIndices,s,l=a,u=!1,c;return n<o[0]?(s=n*a,c=a):n<=o[1]?(s=e.axisExpandWindow0Pos+n*i-e.axisExpandWindow[0],l=i,u=!0):(s=t-(r-1-n)*a,c=a),{position:s,axisNameAvailableWidth:l,axisLabelShow:u,nameTruncateMaxWidth:c}}const Fme=Dme;function Ome(n,e){var t=[];return n.eachComponent("parallel",function(i,r){var a=new Fme(i,n,e);a.name="parallel_"+r,a.resize(i,e),i.coordinateSystem=a,a.model=i,t.push(a)}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="parallel"){var r=i.getReferringComponents("parallel",q0).models[0];i.coordinateSystem=r.coordinateSystem}}),t}var Bme={create:Ome};const zme=Bme;var OZ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.activeIntervals=[],t}return e.prototype.getAreaSelectStyle=function(){return O8([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},e.prototype.setActiveIntervals=function(t){var i=this.activeIntervals=Zt(t);if(i)for(var r=i.length-1;r>=0;r--)ba(i[r])},e.prototype.getActiveState=function(t){var i=this.activeIntervals;if(!i.length)return"normal";if(t==null||isNaN(+t))return"inactive";if(i.length===1){var r=i[0];if(r[0]<=t&&t<=r[1])return"active"}else for(var a=0,o=i.length;a<o;a++)if(i[a][0]<=t&&t<=i[a][1])return"active";return"inactive"},e}($3);K0(OZ,Th);const DB=OZ;var G8=!0,jd=Math.min,g7=Math.max,Gme=Math.pow,Ume=1e4,Vme=6,Hme=6,NB="globalPan",Wme={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},jme={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},kB={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},$me=0,qme=function(n){o2(e,n);function e(t){var i=n.call(this)||this;return i._track=[],i._covers=[],i._handlers={},i._zr=t,i.group=new Qt,i._uid="brushController_"+$me++,ne(ege,function(r,a){this._handlers[a]=Tt(r,this)},i),i}return e.prototype.enableBrush=function(t){return this._brushType&&this._doDisableBrush(),t.brushType&&this._doEnableBrush(t),this},e.prototype._doEnableBrush=function(t){var i=this._zr;this._enableGlobalPan||ife(i,NB,this._uid),ne(this._handlers,function(r,a){i.on(a,r)}),this._brushType=t.brushType,this._brushOption=u3(Zt(kB),t,!0)},e.prototype._doDisableBrush=function(){var t=this._zr;rfe(t,NB,this._uid),ne(this._handlers,function(i,r){t.off(r,i)}),this._brushType=this._brushOption=null},e.prototype.setPanels=function(t){if(t&&t.length){var i=this._panels={};ne(t,function(r){i[r.panelId]=Zt(r)})}else this._panels=null;return this},e.prototype.mount=function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var i=this.group;return this._zr.add(i),i.attr({x:t.x||0,y:t.y||0,rotation:t.rotation||0,scaleX:t.scaleX||1,scaleY:t.scaleY||1}),this._transform=i.getLocalTransform(),this},e.prototype.updateCovers=function(t){t=q2(t,function(h){return u3(Zt(kB),h,!0)});var i="\0-brush-index-",r=this._covers,a=this._covers=[],o=this,s=this._creatingCover;return new Xs(r,t,u,l).add(c).update(c).remove(d).execute(),this;function l(h,f){return(h.id!=null?h.id:i+f)+"-"+h.brushType}function u(h,f){return l(h.__brushOption,f)}function c(h,f){var p=t[h];if(f!=null&&r[f]===s)a[h]=r[f];else{var m=a[h]=f!=null?(r[f].__brushOption=p,r[f]):zZ(o,BZ(o,p));bP(o,m)}}function d(h){r[h]!==s&&o.group.remove(r[h])}},e.prototype.unmount=function(){return this.enableBrush(!1),hC(this),this._zr.remove(this.group),this},e.prototype.dispose=function(){this.unmount(),this.off()},e}(Ea);function BZ(n,e){var t=e_[e.brushType].createCover(n,e);return t.__brushOption=e,UZ(t,e),n.group.add(t),t}function zZ(n,e){var t=xP(e);return t.endCreating&&(t.endCreating(n,e),UZ(e,e.__brushOption)),e}function GZ(n,e){var t=e.__brushOption;xP(e).updateCoverShape(n,e,t.range,t)}function UZ(n,e){var t=e.z;t==null&&(t=Ume),n.traverse(function(i){i.z=t,i.z2=t})}function bP(n,e){xP(e).updateCommon(n,e),GZ(n,e)}function xP(n){return e_[n.__brushOption.brushType]}function wP(n,e,t){var i=n._panels;if(!i)return G8;var r,a=n._transform;return ne(i,function(o){o.isTargetByCursor(e,t,a)&&(r=o)}),r}function VZ(n,e){var t=n._panels;if(!t)return G8;var i=e.__brushOption.panelId;return i!=null?t[i]:G8}function hC(n){var e=n._covers,t=e.length;return ne(e,function(i){n.group.remove(i)},n),e.length=0,!!t}function U8(n,e){var t=q2(n._covers,function(i){var r=i.__brushOption,a=Zt(r.range);return{brushType:r.brushType,panelId:r.panelId,range:a}});n.trigger("brush",{areas:t,isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function Xme(n){var e=n._track;if(!e.length)return!1;var t=e[e.length-1],i=e[0],r=t[0]-i[0],a=t[1]-i[1],o=Gme(r*r+a*a,.5);return o>Vme}function HZ(n){var e=n.length-1;return e<0&&(e=0),[n[0],n[e]]}function WZ(n,e,t,i){var r=new Qt;return r.add(new H3({name:"main",style:TP(t),silent:!0,draggable:!0,cursor:"move",drift:s3(FB,n,e,r,["n","s","w","e"]),ondragend:s3(U8,e,{isEnd:!0})})),ne(i,function(a){r.add(new H3({name:a.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:s3(FB,n,e,r,a),ondragend:s3(U8,e,{isEnd:!0})}))}),r}function jZ(n,e,t,i){var r=i.brushStyle.lineWidth||0,a=g7(r,Hme),o=t[0][0],s=t[1][0],l=o-r/2,u=s-r/2,c=t[0][1],d=t[1][1],h=c-a+r/2,f=d-a+r/2,p=c-o,m=d-s,v=p+r,g=m+r;_s(n,e,"main",o,s,p,m),i.transformable&&(_s(n,e,"w",l,u,a,g),_s(n,e,"e",h,u,a,g),_s(n,e,"n",l,u,v,a),_s(n,e,"s",l,f,v,a),_s(n,e,"nw",l,u,a,a),_s(n,e,"ne",h,u,a,a),_s(n,e,"sw",l,f,a,a),_s(n,e,"se",h,f,a,a))}function fC(n,e){var t=e.__brushOption,i=t.transformable,r=e.childAt(0);r.useStyle(TP(t)),r.attr({silent:!i,cursor:i?"move":"default"}),ne([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(a){var o=e.childOfName(a.join("")),s=a.length===1?pC(n,a[0]):Kme(n,a);o&&o.attr({silent:!i,invisible:!i,cursor:i?jme[s]+"-resize":null})})}function _s(n,e,t,i,r,a,o){var s=e.childOfName(t);s&&s.setShape(Jme(AP(n,e,[[i,r],[i+a,r+o]])))}function TP(n){return qt({strokeNoScale:!0},n.brushStyle)}function $Z(n,e,t,i){var r=[jd(n,t),jd(e,i)],a=[g7(n,t),g7(e,i)];return[[r[0],a[0]],[r[1],a[1]]]}function Yme(n){return w8(n.group)}function pC(n,e){var t={w:"left",e:"right",n:"top",s:"bottom"},i={left:"w",right:"e",top:"n",bottom:"s"},r=Ly(t[e],Yme(n));return i[r]}function Kme(n,e){var t=[pC(n,e[0]),pC(n,e[1])];return(t[0]==="e"||t[0]==="w")&&t.reverse(),t.join("")}function FB(n,e,t,i,r,a){var o=t.__brushOption,s=n.toRectRange(o.range),l=qZ(e,r,a);ne(i,function(u){var c=Wme[u];s[c[0]][c[1]]+=l[c[0]]}),o.range=n.fromRectRange($Z(s[0][0],s[1][0],s[0][1],s[1][1])),bP(e,t),U8(e,{isEnd:!1})}function Zme(n,e,t,i){var r=e.__brushOption.range,a=qZ(n,t,i);ne(r,function(o){o[0]+=a[0],o[1]+=a[1]}),bP(n,e),U8(n,{isEnd:!1})}function qZ(n,e,t){var i=n.group,r=i.transformCoordToLocal(e,t),a=i.transformCoordToLocal(0,0);return[r[0]-a[0],r[1]-a[1]]}function AP(n,e,t){var i=VZ(n,e);return i&&i!==G8?i.clipPath(t,n._transform):Zt(t)}function Jme(n){var e=jd(n[0][0],n[1][0]),t=jd(n[0][1],n[1][1]),i=g7(n[0][0],n[1][0]),r=g7(n[0][1],n[1][1]);return{x:e,y:t,width:i-e,height:r-t}}function Qme(n,e,t){if(!(!n._brushType||tge(n,e.offsetX,e.offsetY))){var i=n._zr,r=n._covers,a=wP(n,e,t);if(!n._dragging)for(var o=0;o<r.length;o++){var s=r[o].__brushOption;if(a&&(a===G8||s.panelId===a.panelId)&&e_[s.brushType].contain(r[o],t[0],t[1]))return}a&&i.setCursorStyle("crosshair")}}function vC(n){var e=n.event;e.preventDefault&&e.preventDefault()}function mC(n,e,t){return n.childOfName("main").contain(e,t)}function XZ(n,e,t,i){var r=n._creatingCover,a=n._creatingPanel,o=n._brushOption,s;if(n._track.push(t.slice()),Xme(n)||r){if(a&&!r){o.brushMode==="single"&&hC(n);var l=Zt(o);l.brushType=OB(l.brushType,a),l.panelId=a===G8?null:a.panelId,r=n._creatingCover=BZ(n,l),n._covers.push(r)}if(r){var u=e_[OB(n._brushType,a)],c=r.__brushOption;c.range=u.getCreatingRange(AP(n,r,n._track)),i&&(zZ(n,r),u.updateCommon(n,r)),GZ(n,r),s={isEnd:i}}}else i&&o.brushMode==="single"&&o.removeOnClick&&wP(n,e,t)&&hC(n)&&(s={isEnd:i,removeOnClick:!0});return s}function OB(n,e){return n==="auto"?e.defaultBrushType:n}var ege={mousedown:function(n){if(this._dragging)BB(this,n);else if(!n.target||!n.target.draggable){vC(n);var e=this.group.transformCoordToLocal(n.offsetX,n.offsetY);this._creatingCover=null;var t=this._creatingPanel=wP(this,n,e);t&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(n){var e=n.offsetX,t=n.offsetY,i=this.group.transformCoordToLocal(e,t);if(Qme(this,n,i),this._dragging){vC(n);var r=XZ(this,n,i,!1);r&&U8(this,r)}},mouseup:function(n){BB(this,n)}};function BB(n,e){if(n._dragging){vC(e);var t=e.offsetX,i=e.offsetY,r=n.group.transformCoordToLocal(t,i),a=XZ(n,e,r,!0);n._dragging=!1,n._track=[],n._creatingCover=null,a&&U8(n,a)}}function tge(n,e,t){var i=n._zr;return e<0||e>i.getWidth()||t<0||t>i.getHeight()}var e_={lineX:zB(0),lineY:zB(1),rect:{createCover:function(n,e){function t(i){return i}return WZ({toRectRange:t,fromRectRange:t},n,e,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(n){var e=HZ(n);return $Z(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(n,e,t,i){jZ(n,e,t,i)},updateCommon:fC,contain:mC},polygon:{createCover:function(n,e){var t=new Qt;return t.add(new dr({name:"main",style:TP(e),silent:!0})),t},getCreatingRange:function(n){return n},endCreating:function(n,e){e.remove(e.childAt(0)),e.add(new lr({name:"main",draggable:!0,drift:s3(Zme,n,e),ondragend:s3(U8,n,{isEnd:!0})}))},updateCoverShape:function(n,e,t,i){e.childAt(0).setShape({points:AP(n,e,t)})},updateCommon:fC,contain:mC}};function zB(n){return{createCover:function(e,t){return WZ({toRectRange:function(i){var r=[i,[0,100]];return n&&r.reverse(),r},fromRectRange:function(i){return i[n]}},e,t,[[["w"],["e"]],[["n"],["s"]]][n])},getCreatingRange:function(e){var t=HZ(e),i=jd(t[0][n],t[1][n]),r=g7(t[0][n],t[1][n]);return[i,r]},updateCoverShape:function(e,t,i,r){var a,o=VZ(e,t);if(o!==G8&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(n);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-n]]}var l=[i,a];n&&l.reverse(),jZ(e,t,l,r)},updateCommon:fC,contain:mC}}const CP=qme;function YZ(n){return n=MP(n),function(e){return Kq(e,n)}}function KZ(n,e){return n=MP(n),function(t){var i=e!=null?e:t,r=i?n.width:n.height,a=i?n.x:n.y;return[a,a+(r||0)]}}function ZZ(n,e,t){var i=MP(n);return function(r,a){return i.contain(a[0],a[1])&&!Ky(r,e,t)}}function MP(n){return g3.create(n)}var nge=["axisLine","axisTickLabel","axisName"],ige=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){n.prototype.init.apply(this,arguments),(this._brushController=new CP(i.getZr())).on("brush",Tt(this._onBrush,this))},e.prototype.render=function(t,i,r,a){if(!rge(t,i,a)){this.axisModel=t,this.api=r,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Qt,this.group.add(this._axisGroup),!!t.get("show")){var s=oge(t,i),l=s.coordinateSystem,u=t.getAreaSelectStyle(),c=u.width,d=t.axis.dim,h=l.getAxisLayout(d),f=I2({strokeContainThreshold:c},h),p=new Ys(t,f);ne(nge,p.add,p),this._axisGroup.add(p.getGroup()),this._refreshBrushController(f,u,t,s,c,r),_h(o,this._axisGroup,t)}}},e.prototype._refreshBrushController=function(t,i,r,a,o,s){var l=r.axis.getExtent(),u=l[1]-l[0],c=Math.min(30,Math.abs(u)*.1),d=g3.create({x:l[0],y:-o/2,width:u,height:o});d.x-=c,d.width+=2*c,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,x:t.position[0],y:t.position[1]}).setPanels([{panelId:"pl",clipPath:YZ(d),isTargetByCursor:ZZ(d,s,a),getLinearBrushOtherExtent:KZ(d,0)}]).enableBrush({brushType:"lineX",brushStyle:i,removeOnClick:!0}).updateCovers(age(r))},e.prototype._onBrush=function(t){var i=t.areas,r=this.axisModel,a=r.axis,o=q2(i,function(s){return[a.coordToData(s.range[0],!0),a.coordToData(s.range[1],!0)]});(!r.option.realtime===t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:r.id,intervals:o})},e.prototype.dispose=function(){this._brushController.dispose()},e.type="parallelAxis",e}(b0);function rge(n,e,t){return t&&t.type==="axisAreaSelect"&&e.findComponents({mainType:"parallelAxis",query:t})[0]===n}function age(n){var e=n.axis;return q2(n.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function oge(n,e){return e.getComponent("parallel",n.get("parallelIndex"))}const sge=ige;var lge={type:"axisAreaSelect",event:"axisAreaSelected"};function uge(n){n.registerAction(lge,function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(i){i.axis.model.setActiveIntervals(e.intervals)})}),n.registerAction("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(i){i.setAxisExpand(e)})})}var cge={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function JZ(n){n.registerComponentView(Cme),n.registerComponentModel(Eme),n.registerCoordinateSystem("parallel",zme),n.registerPreprocessor(Sme),n.registerComponentModel(DB),n.registerComponentView(sge),m7(n,"parallel",DB,cge),uge(n)}function dge(n){C3(JZ),n.registerChartView(hme),n.registerSeriesModel(mme),n.registerVisual(n.PRIORITY.VISUAL.BRUSH,_me)}var hge=function(){function n(){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}return n}(),fge=function(n){o2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new hge},e.prototype.buildPath=function(t,i){var r=i.extent;t.moveTo(i.x1,i.y1),t.bezierCurveTo(i.cpx1,i.cpy1,i.cpx2,i.cpy2,i.x2,i.y2),i.orient==="vertical"?(t.lineTo(i.x2+r,i.y2),t.bezierCurveTo(i.cpx2+r,i.cpy2,i.cpx1+r,i.cpy1,i.x1+r,i.y1)):(t.lineTo(i.x2,i.y2+r),t.bezierCurveTo(i.cpx2,i.cpy2+r,i.cpx1,i.cpy1+r,i.x1,i.y1+r)),t.closePath()},e.prototype.highlight=function(){$s(this)},e.prototype.downplay=function(){qs(this)},e}(E3),pge=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._focusAdjacencyDisabled=!1,t}return e.prototype.render=function(t,i,r){var a=this,o=t.getGraph(),s=this.group,l=t.layoutInfo,u=l.width,c=l.height,d=t.getData(),h=t.getData("edge"),f=t.get("orient");this._model=t,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(p){var m=new fge,v=t3(m);v.dataIndex=p.dataIndex,v.seriesIndex=t.seriesIndex,v.dataType="edge";var g=p.getModel(),_=g.getModel("lineStyle"),S=_.get("curveness"),x=p.node1.getLayout(),A=p.node1.getModel(),C=A.get("localX"),M=A.get("localY"),I=p.node2.getLayout(),D=p.node2.getModel(),E=D.get("localX"),P=D.get("localY"),F=p.getLayout(),V,G,W,Y,Q,K,ae,ie;m.shape.extent=Math.max(1,F.dy),m.shape.orient=f,f==="vertical"?(V=(C!=null?C*u:x.x)+F.sy,G=(M!=null?M*c:x.y)+x.dy,W=(E!=null?E*u:I.x)+F.ty,Y=P!=null?P*c:I.y,Q=V,K=G*(1-S)+Y*S,ae=W,ie=G*S+Y*(1-S)):(V=(C!=null?C*u:x.x)+x.dx,G=(M!=null?M*c:x.y)+F.sy,W=E!=null?E*u:I.x,Y=(P!=null?P*c:I.y)+F.ty,Q=V*(1-S)+W*S,K=G,ae=V*S+W*(1-S),ie=Y),m.setShape({x1:V,y1:G,x2:W,y2:Y,cpx1:Q,cpy1:K,cpx2:ae,cpy2:ie}),m.useStyle(_.getItemStyle()),GB(m.style,f,p);var he=""+g.get("value"),Ee=yn(g,"edgeLabel");jn(m,Ee,{labelFetcher:{getFormattedLabel:function(Oe,f2,B2,S2,p2,X2){return t.getFormattedLabel(Oe,f2,"edge",S2,Ho(p2,Ee.normal&&Ee.normal.get("formatter"),he),X2)}},labelDataIndex:p.dataIndex,defaultText:he}),m.setTextConfig({position:"inside"});var je=g.getModel("emphasis");Wn(m,g,"lineStyle",function(Oe){var f2=Oe.getItemStyle();return GB(f2,f,p),f2}),s.add(m),h.setItemGraphicEl(p.dataIndex,m);var xe=je.get("focus");g0(m,xe==="adjacency"?p.getAdjacentDataIndices():xe==="trajectory"?p.getTrajectoryDataIndices():xe,je.get("blurScope"),je.get("disabled"))}),o.eachNode(function(p){var m=p.getLayout(),v=p.getModel(),g=v.get("localX"),_=v.get("localY"),S=v.getModel("emphasis"),x=v.get(["itemStyle","borderRadius"])||0,A=new H3({shape:{x:g!=null?g*u:m.x,y:_!=null?_*c:m.y,width:m.dx,height:m.dy,r:x},style:v.getModel("itemStyle").getItemStyle(),z2:10});jn(A,yn(v),{labelFetcher:{getFormattedLabel:function(M,I){return t.getFormattedLabel(M,I,"node")}},labelDataIndex:p.dataIndex,defaultText:p.id}),A.disableLabelAnimation=!0,A.setStyle("fill",p.getVisual("color")),A.setStyle("decal",p.getVisual("style").decal),Wn(A,v),s.add(A),d.setItemGraphicEl(p.dataIndex,A),t3(A).dataType="node";var C=S.get("focus");g0(A,C==="adjacency"?p.getAdjacentDataIndices():C==="trajectory"?p.getTrajectoryDataIndices():C,S.get("blurScope"),S.get("disabled"))}),d.eachItemGraphicEl(function(p,m){var v=d.getItemModel(m);v.get("draggable")&&(p.drift=function(g,_){a._focusAdjacencyDisabled=!0,this.shape.x+=g,this.shape.y+=_,this.dirty(),r.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:d.getRawIndex(m),localX:this.shape.x/u,localY:this.shape.y/c})},p.ondragend=function(){a._focusAdjacencyDisabled=!1},p.draggable=!0,p.cursor="move")}),!this._data&&t.isAnimationEnabled()&&s.setClipPath(vge(s.getBoundingRect(),t,function(){s.removeClipPath()})),this._data=t.getData()},e.prototype.dispose=function(){},e.type="sankey",e}(q1);function GB(n,e,t){switch(n.fill){case"source":n.fill=t.node1.getVisual("color"),n.decal=t.node1.getVisual("style").decal;break;case"target":n.fill=t.node2.getVisual("color"),n.decal=t.node2.getVisual("style").decal;break;case"gradient":var i=t.node1.getVisual("color"),r=t.node2.getVisual("color");xt(i)&&xt(r)&&(n.fill=new fn(0,0,+(e==="horizontal"),+(e==="vertical"),[{color:i,offset:0},{color:r,offset:1}]))}}function vge(n,e,t){var i=new H3({shape:{x:n.x-10,y:n.y-10,width:0,height:n.height+20}});return o0(i,{shape:{width:n.width+20}},e,t),i}const mge=pge;var gge=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){var r=t.edges||t.links||[],a=t.data||t.nodes||[],o=t.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l<o.length;l++)o[l].depth!=null&&o[l].depth>=0&&(s[o[l].depth]=new $1(o[l],this,i));var u=DZ(a,r,this,!0,c);return u.data;function c(d,h){d.wrapMethod("getItemModel",function(f,p){var m=f.parentModel,v=m.getData().getItemLayout(p);if(v){var g=v.depth,_=m.levelModels[g];_&&(f.parentModel=_)}return f}),h.wrapMethod("getItemModel",function(f,p){var m=f.parentModel,v=m.getGraph().getEdgeByIndex(p),g=v.node1.getLayout();if(g){var _=g.depth,S=m.levelModels[_];S&&(f.parentModel=S)}return f})}},e.prototype.setNodePosition=function(t,i){var r=this.option.data||this.option.nodes,a=r[t];a.localX=i[0],a.localY=i[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,i,r){function a(f){return isNaN(f)||f==null}if(r==="edge"){var o=this.getDataParams(t,r),s=o.data,l=o.value,u=s.source+" -- "+s.target;return _n("nameValue",{name:u,value:l,noValue:a(l)})}else{var c=this.getGraph().getNodeByIndex(t),d=c.getLayout().value,h=this.getDataParams(t,r).data.name;return _n("nameValue",{name:h!=null?h+"":null,value:d,noValue:a(d)})}},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(t,i){var r=n.prototype.getDataParams.call(this,t,i);if(r.value==null&&i==="node"){var a=this.getGraph().getNodeByIndex(t),o=a.getLayout().value;r.value=o}return r},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:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(f0);const yge=gge;function _ge(n,e){n.eachSeriesByType("sankey",function(t){var i=t.get("nodeWidth"),r=t.get("nodeGap"),a=Sge(t,e);t.layoutInfo=a;var o=a.width,s=a.height,l=t.getGraph(),u=l.nodes,c=l.edges;xge(u);var d=c1(u,function(m){return m.getLayout().value===0}),h=d.length!==0?0:t.get("layoutIterations"),f=t.get("orient"),p=t.get("nodeAlign");bge(u,c,i,r,o,s,h,f,p)})}function Sge(n,e){return un(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function bge(n,e,t,i,r,a,o,s,l){wge(n,e,t,r,a,s,l),Mge(n,e,a,r,i,o,s),Fge(n,s)}function xge(n){ne(n,function(e){var t=y5(e.outEdges,_g),i=y5(e.inEdges,_g),r=e.getValue()||0,a=Math.max(t,i,r);e.setLayout({value:a},!0)})}function wge(n,e,t,i,r,a,o){for(var s=[],l=[],u=[],c=[],d=0,h=0;h<e.length;h++)s[h]=1;for(var h=0;h<n.length;h++)l[h]=n[h].inEdges.length,l[h]===0&&u.push(n[h]);for(var f=-1;u.length;){for(var p=0;p<u.length;p++){var m=u[p],v=m.hostGraph.data.getRawDataItem(m.dataIndex),g=v.depth!=null&&v.depth>=0;g&&v.depth>f&&(f=v.depth),m.setLayout({depth:g?v.depth:d},!0),a==="vertical"?m.setLayout({dy:t},!0):m.setLayout({dx:t},!0);for(var _=0;_<m.outEdges.length;_++){var S=m.outEdges[_],x=e.indexOf(S);s[x]=0;var A=S.node2,C=n.indexOf(A);--l[C]===0&&c.indexOf(A)<0&&c.push(A)}}++d,u=c,c=[]}for(var h=0;h<s.length;h++)if(s[h]===1)throw new Error("Sankey is a DAG, the original data has cycle!");var M=f>d-1?f:d-1;o&&o!=="left"&&Tge(n,o,a,M);var I=a==="vertical"?(r-t)/M:(i-t)/M;Cge(n,I,a)}function QZ(n){var e=n.hostGraph.data.getRawDataItem(n.dataIndex);return e.depth!=null&&e.depth>=0}function Tge(n,e,t,i){if(e==="right"){for(var r=[],a=n,o=0;a.length;){for(var s=0;s<a.length;s++){var l=a[s];l.setLayout({skNodeHeight:o},!0);for(var u=0;u<l.inEdges.length;u++){var c=l.inEdges[u];r.indexOf(c.node1)<0&&r.push(c.node1)}}a=r,r=[],++o}ne(n,function(d){QZ(d)||d.setLayout({depth:Math.max(0,i-d.getLayout().skNodeHeight)},!0)})}else e==="justify"&&Age(n,i)}function Age(n,e){ne(n,function(t){!QZ(t)&&!t.outEdges.length&&t.setLayout({depth:e},!0)})}function Cge(n,e,t){ne(n,function(i){var r=i.getLayout().depth*e;t==="vertical"?i.setLayout({y:r},!0):i.setLayout({x:r},!0)})}function Mge(n,e,t,i,r,a,o){var s=Ege(n,o);Pge(s,e,t,i,r,o),jx(s,r,t,i,o);for(var l=1;a>0;a--)l*=.99,Rge(s,l,o),jx(s,r,t,i,o),kge(s,l,o),jx(s,r,t,i,o)}function Ege(n,e){var t=[],i=e==="vertical"?"y":"x",r=_A(n,function(a){return a.getLayout()[i]});return r.keys.sort(function(a,o){return a-o}),ne(r.keys,function(a){t.push(r.buckets.get(a))}),t}function Pge(n,e,t,i,r,a){var o=1/0;ne(n,function(s){var l=s.length,u=0;ne(s,function(d){u+=d.getLayout().value});var c=a==="vertical"?(i-(l-1)*r)/u:(t-(l-1)*r)/u;c<o&&(o=c)}),ne(n,function(s){ne(s,function(l,u){var c=l.getLayout().value*o;a==="vertical"?(l.setLayout({x:u},!0),l.setLayout({dx:c},!0)):(l.setLayout({y:u},!0),l.setLayout({dy:c},!0))})}),ne(e,function(s){var l=+s.getValue()*o;s.setLayout({dy:l},!0)})}function jx(n,e,t,i,r){var a=r==="vertical"?"x":"y";ne(n,function(o){o.sort(function(m,v){return m.getLayout()[a]-v.getLayout()[a]});for(var s,l,u,c=0,d=o.length,h=r==="vertical"?"dx":"dy",f=0;f<d;f++)l=o[f],u=c-l.getLayout()[a],u>0&&(s=l.getLayout()[a]+u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),c=l.getLayout()[a]+l.getLayout()[h]+e;var p=r==="vertical"?i:t;if(u=c-e-p,u>0){s=l.getLayout()[a]-u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),c=s;for(var f=d-2;f>=0;--f)l=o[f],u=l.getLayout()[a]+l.getLayout()[h]+e-c,u>0&&(s=l.getLayout()[a]-u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),c=l.getLayout()[a]}})}function Rge(n,e,t){ne(n.slice().reverse(),function(i){ne(i,function(r){if(r.outEdges.length){var a=y5(r.outEdges,Lge,t)/y5(r.outEdges,_g);if(isNaN(a)){var o=r.outEdges.length;a=o?y5(r.outEdges,Ige,t)/o:0}if(t==="vertical"){var s=r.getLayout().x+(a-D5(r,t))*e;r.setLayout({x:s},!0)}else{var l=r.getLayout().y+(a-D5(r,t))*e;r.setLayout({y:l},!0)}}})})}function Lge(n,e){return D5(n.node2,e)*n.getValue()}function Ige(n,e){return D5(n.node2,e)}function Dge(n,e){return D5(n.node1,e)*n.getValue()}function Nge(n,e){return D5(n.node1,e)}function D5(n,e){return e==="vertical"?n.getLayout().x+n.getLayout().dx/2:n.getLayout().y+n.getLayout().dy/2}function _g(n){return n.getValue()}function y5(n,e,t){for(var i=0,r=n.length,a=-1;++a<r;){var o=+e(n[a],t);isNaN(o)||(i+=o)}return i}function kge(n,e,t){ne(n,function(i){ne(i,function(r){if(r.inEdges.length){var a=y5(r.inEdges,Dge,t)/y5(r.inEdges,_g);if(isNaN(a)){var o=r.inEdges.length;a=o?y5(r.inEdges,Nge,t)/o:0}if(t==="vertical"){var s=r.getLayout().x+(a-D5(r,t))*e;r.setLayout({x:s},!0)}else{var l=r.getLayout().y+(a-D5(r,t))*e;r.setLayout({y:l},!0)}}})})}function Fge(n,e){var t=e==="vertical"?"x":"y";ne(n,function(i){i.outEdges.sort(function(r,a){return r.node2.getLayout()[t]-a.node2.getLayout()[t]}),i.inEdges.sort(function(r,a){return r.node1.getLayout()[t]-a.node1.getLayout()[t]})}),ne(n,function(i){var r=0,a=0;ne(i.outEdges,function(o){o.setLayout({sy:r},!0),r+=o.getLayout().dy}),ne(i.inEdges,function(o){o.setLayout({ty:a},!0),a+=o.getLayout().dy})})}function Oge(n){n.eachSeriesByType("sankey",function(e){var t=e.getGraph(),i=t.nodes,r=t.edges;if(i.length){var a=1/0,o=-1/0;ne(i,function(s){var l=s.getLayout().value;l<a&&(a=l),l>o&&(o=l)}),ne(i,function(s){var l=new Hn({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:e.get("color")}),u=l.mapValueToVisual(s.getLayout().value),c=s.getModel().get(["itemStyle","color"]);c!=null?(s.setVisual("color",c),s.setVisual("style",{fill:c})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}r.length&&ne(r,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function Bge(n){n.registerChartView(mge),n.registerSeriesModel(yge),n.registerLayout(_ge),n.registerVisual(Oge),n.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(i){i.setNodePosition(e.dataIndex,[e.localX,e.localY])})})}var eJ=function(){function n(){}return n.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},n.prototype.getInitialData=function(e,t){var i,r=t.getComponent("xAxis",this.get("xAxisIndex")),a=t.getComponent("yAxis",this.get("yAxisIndex")),o=r.get("type"),s=a.get("type"),l;o==="category"?(e.layout="horizontal",i=r.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(e.layout="vertical",i=a.getOrdinalMeta(),l=!this._hasEncodeRule("y")):e.layout=e.layout||"horizontal";var u=["x","y"],c=e.layout==="horizontal"?0:1,d=this._baseAxisDim=u[c],h=u[1-c],f=[r,a],p=f[c].get("type"),m=f[1-c].get("type"),v=e.data;if(v&&l){var g=[];ne(v,function(x,A){var C;j2(x)?(C=x.slice(),x.unshift(A)):j2(x.value)?(C=I2({},x),C.value=C.value.slice(),x.value.unshift(A)):C=x,g.push(C)}),e.data=g}var _=this.defaultValueDimensions,S=[{name:d,type:sg(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:sg(m),dimsDef:_.slice()}];return Z7(this,{coordDimensions:S,dimensionsCount:_.length+1,encodeDefaulter:s3(xX,S,this)})},n.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+"Axis",this.get(e+"AxisIndex")).axis},n}(),tJ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],t.visualDrawType="stroke",t}return e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(f0);K0(tJ,eJ,!0);const zge=tJ;var Gge=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=t.get("layout")==="horizontal"?1:0;a.diff(s).add(function(u){if(a.hasValue(u)){var c=a.getItemLayout(u),d=UB(c,a,u,l,!0);a.setItemGraphicEl(u,d),o.add(d)}}).update(function(u,c){var d=s.getItemGraphicEl(c);if(!a.hasValue(u)){o.remove(d);return}var h=a.getItemLayout(u);d?(no(d),nJ(h,d,a,u)):d=UB(h,a,u,l),o.add(d),a.setItemGraphicEl(u,d)}).remove(function(u){var c=s.getItemGraphicEl(u);c&&o.remove(c)}).execute(),this._data=a},e.prototype.remove=function(t){var i=this.group,r=this._data;this._data=null,r&&r.eachItemGraphicEl(function(a){a&&i.remove(a)})},e.type="boxplot",e}(q1),Uge=function(){function n(){}return n}(),Vge=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="boxplotBoxPath",i}return e.prototype.getDefaultShape=function(){return new Uge},e.prototype.buildPath=function(t,i){var r=i.points,a=0;for(t.moveTo(r[a][0],r[a][1]),a++;a<4;a++)t.lineTo(r[a][0],r[a][1]);for(t.closePath();a<r.length;a++)t.moveTo(r[a][0],r[a][1]),a++,t.lineTo(r[a][0],r[a][1])},e}(E3);function UB(n,e,t,i,r){var a=n.ends,o=new Vge({shape:{points:r?Hge(a,i,n):a}});return nJ(n,o,e,t,r),o}function nJ(n,e,t,i,r){var a=t.hostModel,o=J8[r?"initProps":"updateProps"];o(e,{shape:{points:n.ends}},a,i),e.useStyle(t.getItemVisual(i,"style")),e.style.strokeNoScale=!0,e.z2=100;var s=t.getItemModel(i),l=s.getModel("emphasis");Wn(e,s),g0(e,l.get("focus"),l.get("blurScope"),l.get("disabled"))}function Hge(n,e,t){return q2(n,function(i){return i=i.slice(),i[e]=t.initBaseline,i})}const Wge=Gge;var Jc=ne;function jge(n){var e=$ge(n);Jc(e,function(t){var i=t.seriesModels;i.length&&(qge(t),Jc(i,function(r,a){Xge(r,t.boxOffsetList[a],t.boxWidthList[a])}))})}function $ge(n){var e=[],t=[];return n.eachSeriesByType("boxplot",function(i){var r=i.getBaseAxis(),a=x3(t,r);a<0&&(a=t.length,t[a]=r,e[a]={axis:r,seriesModels:[]}),e[a].seriesModels.push(i)}),e}function qge(n){var e=n.axis,t=n.seriesModels,i=t.length,r=n.boxWidthList=[],a=n.boxOffsetList=[],o=[],s;if(e.type==="category")s=e.getBandWidth();else{var l=0;Jc(t,function(p){l=Math.max(l,p.getData().count())});var u=e.getExtent();s=Math.abs(u[1]-u[0])/l}Jc(t,function(p){var m=p.get("boxWidth");j2(m)||(m=[m,m]),o.push([mt(m[0],s)||0,mt(m[1],s)||0])});var c=s*.8-2,d=c/i*.3,h=(c-d*(i-1))/i,f=h/2-c/2;Jc(t,function(p,m){a.push(f),f+=d+h,r.push(Math.min(Math.max(h,o[m][0]),o[m][1]))})}function Xge(n,e,t){var i=n.coordinateSystem,r=n.getData(),a=t/2,o=n.get("layout")==="horizontal"?0:1,s=1-o,l=["x","y"],u=r.mapDimension(l[o]),c=r.mapDimensionsAll(l[s]);if(u==null||c.length<5)return;for(var d=0;d<r.count();d++){var h=r.get(u,d),f=S(h,c[2],d),p=S(h,c[0],d),m=S(h,c[1],d),v=S(h,c[3],d),g=S(h,c[4],d),_=[];x(_,m,!1),x(_,v,!0),_.push(p,m,g,v),A(_,p),A(_,g),A(_,f),r.setItemLayout(d,{initBaseline:f[s],ends:_})}function S(C,M,I){var D=r.get(M,I),E=[];E[o]=C,E[s]=D;var P;return isNaN(C)||isNaN(D)?P=[NaN,NaN]:(P=i.dataToPoint(E),P[o]+=e),P}function x(C,M,I){var D=M.slice(),E=M.slice();D[o]+=a,E[o]-=a,I?C.push(D,E):C.push(E,D)}function A(C,M){var I=M.slice(),D=M.slice();I[o]-=a,D[o]+=a,C.push(I,D)}}function Yge(n,e){e=e||{};for(var t=[],i=[],r=e.boundIQR,a=r==="none"||r===0,o=0;o<n.length;o++){var s=ba(n[o].slice()),l=_b(s,.25),u=_b(s,.5),c=_b(s,.75),d=s[0],h=s[s.length-1],f=(r==null?1.5:r)*(c-l),p=a?d:Math.max(d,l-f),m=a?h:Math.min(h,c+f),v=e.itemNameFormatter,g=Wt(v)?v({value:o}):xt(v)?v.replace("{value}",o+""):o+"";t.push([g,p,l,u,c,m]);for(var _=0;_<s.length;_++){var S=s[_];if(S<p||S>m){var x=[g,S];i.push(x)}}}return{boxData:t,outliers:i}}var Kge={type:"echarts:boxplot",transform:function(e){var t=e.upstream;if(t.sourceFormat!==di){var i="";l1(i)}var r=Yge(t.getRawData(),e.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:r.boxData},{data:r.outliers}]}};function Zge(n){n.registerSeriesModel(zge),n.registerChartView(Wge),n.registerLayout(jge),n.registerTransform(Kge)}var Jge=["itemStyle","borderColor"],Qge=["itemStyle","borderColor0"],eye=["itemStyle","borderColorDoji"],tye=["itemStyle","color"],nye=["itemStyle","color0"];function EP(n,e){return e.get(n>0?tye:nye)}function PP(n,e){return e.get(n===0?eye:n>0?Jge:Qge)}var iye={seriesType:"candlestick",plan:q7(),performRawSeries:!0,reset:function(n,e){if(!e.isSeriesFiltered(n)){var t=n.pipelineContext.large;return!t&&{progress:function(i,r){for(var a;(a=i.next())!=null;){var o=r.getItemModel(a),s=r.getItemLayout(a).sign,l=o.getItemStyle();l.fill=EP(s,o),l.stroke=PP(s,o)||l.fill;var u=r.ensureUniqueItemVisual(a,"style");I2(u,l)}}}}}};const rye=iye;var aye=["color","borderColor"],oye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,i,r){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,i,r,a){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,i):this._incrementalRenderNormal(t,i)},e.prototype.eachRendered=function(t){G5(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var i=t.pipelineContext.large;(this._isLargeDraw==null||i!==this._isLargeDraw)&&(this._isLargeDraw=i,this._clear())},e.prototype._renderNormal=function(t){var i=t.getData(),r=this._data,a=this.group,o=i.getLayout("isSimpleBox"),s=t.get("clip",!0),l=t.coordinateSystem,u=l.getArea&&l.getArea();this._data||a.removeAll(),i.diff(r).add(function(c){if(i.hasValue(c)){var d=i.getItemLayout(c);if(s&&VB(u,d))return;var h=$x(d,c,!0);o0(h,{shape:{points:d.ends}},t,c),qx(h,i,c,o),a.add(h),i.setItemGraphicEl(c,h)}}).update(function(c,d){var h=r.getItemGraphicEl(d);if(!i.hasValue(c)){a.remove(h);return}var f=i.getItemLayout(c);if(s&&VB(u,f)){a.remove(h);return}h?(Q3(h,{shape:{points:f.ends}},t,c),no(h)):h=$x(f),qx(h,i,c,o),a.add(h),i.setItemGraphicEl(c,h)}).remove(function(c){var d=r.getItemGraphicEl(c);d&&a.remove(d)}).execute(),this._data=i},e.prototype._renderLarge=function(t){this._clear(),HB(t,this.group);var i=t.get("clip",!0)?Mh(t.coordinateSystem,!1,t):null;i?this.group.setClipPath(i):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,i){for(var r=i.getData(),a=r.getLayout("isSimpleBox"),o;(o=t.next())!=null;){var s=r.getItemLayout(o),l=$x(s);qx(l,r,o,a),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},e.prototype._incrementalRenderLarge=function(t,i){HB(i,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(q1),sye=function(){function n(){}return n}(),lye=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="normalCandlestickBox",i}return e.prototype.getDefaultShape=function(){return new sye},e.prototype.buildPath=function(t,i){var r=i.points;this.__simpleBox?(t.moveTo(r[4][0],r[4][1]),t.lineTo(r[6][0],r[6][1])):(t.moveTo(r[0][0],r[0][1]),t.lineTo(r[1][0],r[1][1]),t.lineTo(r[2][0],r[2][1]),t.lineTo(r[3][0],r[3][1]),t.closePath(),t.moveTo(r[4][0],r[4][1]),t.lineTo(r[5][0],r[5][1]),t.moveTo(r[6][0],r[6][1]),t.lineTo(r[7][0],r[7][1]))},e}(E3);function $x(n,e,t){var i=n.ends;return new lye({shape:{points:t?uye(i,n):i},z2:100})}function VB(n,e){for(var t=!0,i=0;i<e.ends.length;i++)if(n.contain(e.ends[i][0],e.ends[i][1])){t=!1;break}return t}function qx(n,e,t,i){var r=e.getItemModel(t);n.useStyle(e.getItemVisual(t,"style")),n.style.strokeNoScale=!0,n.__simpleBox=i,Wn(n,r);var a=e.getItemLayout(t).sign;ne(n.states,function(s,l){var u=r.getModel(l),c=EP(a,u),d=PP(a,u)||c,h=s.style||(s.style={});c&&(h.fill=c),d&&(h.stroke=d)});var o=r.getModel("emphasis");g0(n,o.get("focus"),o.get("blurScope"),o.get("disabled"))}function uye(n,e){return q2(n,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}var cye=function(){function n(){}return n}(),Xx=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="largeCandlestickBox",i}return e.prototype.getDefaultShape=function(){return new cye},e.prototype.buildPath=function(t,i){for(var r=i.points,a=0;a<r.length;)if(this.__sign===r[a++]){var o=r[a++];t.moveTo(o,r[a++]),t.lineTo(o,r[a++])}else a+=3},e}(E3);function HB(n,e,t,i){var r=n.getData(),a=r.getLayout("largePoints"),o=new Xx({shape:{points:a},__sign:1,ignoreCoarsePointer:!0});e.add(o);var s=new Xx({shape:{points:a},__sign:-1,ignoreCoarsePointer:!0});e.add(s);var l=new Xx({shape:{points:a},__sign:0,ignoreCoarsePointer:!0});e.add(l),Yx(1,o,n),Yx(-1,s,n),Yx(0,l,n),i&&(o.incremental=!0,s.incremental=!0),t&&t.push(o,s)}function Yx(n,e,t,i){var r=PP(n,t)||EP(n,t),a=t.getModel("itemStyle").getItemStyle(aye);e.useStyle(a),e.style.fill=null,e.style.stroke=r}const dye=oye;var iJ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],t}return e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,i,r){var a=i.getItemLayout(t);return a&&r.rect(a.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(f0);K0(iJ,eJ,!0);const hye=iJ;function fye(n){!n||!j2(n.series)||ne(n.series,function(e){Kt(e)&&e.type==="k"&&(e.type="candlestick")})}var pye={seriesType:"candlestick",plan:q7(),reset:function(n){var e=n.coordinateSystem,t=n.getData(),i=vye(n,t),r=0,a=1,o=["x","y"],s=t.getDimensionIndex(t.mapDimension(o[r])),l=q2(t.mapDimensionsAll(o[a]),t.getDimensionIndex,t),u=l[0],c=l[1],d=l[2],h=l[3];if(t.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),s<0||l.length<4)return;return{progress:n.pipelineContext.large?p:f};function f(m,v){for(var g,_=v.getStore();(g=m.next())!=null;){var S=_.get(s,g),x=_.get(u,g),A=_.get(c,g),C=_.get(d,g),M=_.get(h,g),I=Math.min(x,A),D=Math.max(x,A),E=Q(I,S),P=Q(D,S),F=Q(C,S),V=Q(M,S),G=[];K(G,P,0),K(G,E,1),G.push(ie(V),ie(P),ie(F),ie(E));var W=v.getItemModel(g),Y=!!W.get(["itemStyle","borderColorDoji"]);v.setItemLayout(g,{sign:WB(_,g,x,A,c,Y),initBaseline:x>A?P[a]:E[a],ends:G,brushRect:ae(C,M,S)})}function Q(he,Ee){var je=[];return je[r]=Ee,je[a]=he,isNaN(Ee)||isNaN(he)?[NaN,NaN]:e.dataToPoint(je)}function K(he,Ee,je){var xe=Ee.slice(),Oe=Ee.slice();xe[r]=rm(xe[r]+i/2,1,!1),Oe[r]=rm(Oe[r]-i/2,1,!0),je?he.push(xe,Oe):he.push(Oe,xe)}function ae(he,Ee,je){var xe=Q(he,je),Oe=Q(Ee,je);return xe[r]-=i/2,Oe[r]-=i/2,{x:xe[0],y:xe[1],width:i,height:Oe[1]-xe[1]}}function ie(he){return he[r]=rm(he[r],1),he}}function p(m,v){for(var g=Go(m.count*4),_=0,S,x=[],A=[],C,M=v.getStore(),I=!!n.get(["itemStyle","borderColorDoji"]);(C=m.next())!=null;){var D=M.get(s,C),E=M.get(u,C),P=M.get(c,C),F=M.get(d,C),V=M.get(h,C);if(isNaN(D)||isNaN(F)||isNaN(V)){g[_++]=NaN,_+=3;continue}g[_++]=WB(M,C,E,P,c,I),x[r]=D,x[a]=F,S=e.dataToPoint(x,null,A),g[_++]=S?S[0]:NaN,g[_++]=S?S[1]:NaN,x[a]=V,S=e.dataToPoint(x,null,A),g[_++]=S?S[1]:NaN}v.setLayout("largePoints",g)}}};function WB(n,e,t,i,r,a){var o;return t>i?o=-1:t<i?o=1:o=a?0:e>0?n.get(r,e-1)<=i?1:-1:1,o}function vye(n,e){var t=n.getBaseAxis(),i,r=t.type==="category"?t.getBandWidth():(i=t.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=mt(a3(n.get("barMaxWidth"),r),r),o=mt(a3(n.get("barMinWidth"),1),r),s=n.get("barWidth");return s!=null?mt(s,r):Math.max(Math.min(r/2,a),o)}const mye=pye;function gye(n){n.registerChartView(dye),n.registerSeriesModel(hye),n.registerPreprocessor(fye),n.registerVisual(rye),n.registerLayout(mye)}function jB(n,e){var t=e.rippleEffectColor||e.color;n.eachChild(function(i){i.attr({z:e.z,zlevel:e.zlevel,style:{stroke:e.brushType==="stroke"?t:null,fill:e.brushType==="fill"?t:null}})})}var yye=function(n){o2(e,n);function e(t,i){var r=n.call(this)||this,a=new Ah(t,i),o=new Qt;return r.add(a),r.add(o),r.updateData(t,i),r}return e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var i=t.symbolType,r=t.color,a=t.rippleNumber,o=this.childAt(1),s=0;s<a;s++){var l=X0(i,-1,-1,2,2,r);l.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var u=-s/a*t.period+t.effectOffset;l.animate("",!0).when(t.period,{scaleX:t.rippleScale/2,scaleY:t.rippleScale/2}).delay(u).start(),l.animateStyle(!0).when(t.period,{opacity:0}).delay(u).start(),o.add(l)}jB(o,t)},e.prototype.updateEffectAnimation=function(t){for(var i=this._effectCfg,r=this.childAt(1),a=["symbolType","period","rippleScale","rippleNumber"],o=0;o<a.length;o++){var s=a[o];if(i[s]!==t[s]){this.stopEffectAnimation(),this.startEffectAnimation(t);return}}jB(r,t)},e.prototype.highlight=function(){$s(this)},e.prototype.downplay=function(){qs(this)},e.prototype.getSymbolType=function(){var t=this.childAt(0);return t&&t.getSymbolType()},e.prototype.updateData=function(t,i){var r=this,a=t.hostModel;this.childAt(0).updateData(t,i);var o=this.childAt(1),s=t.getItemModel(i),l=t.getItemVisual(i,"symbol"),u=Y7(t.getItemVisual(i,"symbolSize")),c=t.getItemVisual(i,"style"),d=c&&c.fill,h=s.getModel("emphasis");o.setScale(u),o.traverse(function(v){v.setStyle("fill",d)});var f=e4(t.getItemVisual(i,"symbolOffset"),u);f&&(o.x=f[0],o.y=f[1]);var p=t.getItemVisual(i,"symbolRotate");o.rotation=(p||0)*Math.PI/180||0;var m={};m.showEffectOn=a.get("showEffectOn"),m.rippleScale=s.get(["rippleEffect","scale"]),m.brushType=s.get(["rippleEffect","brushType"]),m.period=s.get(["rippleEffect","period"])*1e3,m.effectOffset=i/t.count(),m.z=a.getShallow("z")||0,m.zlevel=a.getShallow("zlevel")||0,m.symbolType=l,m.color=d,m.rippleEffectColor=s.get(["rippleEffect","color"]),m.rippleNumber=s.get(["rippleEffect","number"]),m.showEffectOn==="render"?(this._effectCfg?this.updateEffectAnimation(m):this.startEffectAnimation(m),this._effectCfg=m):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(v){v==="emphasis"?m.showEffectOn!=="render"&&r.startEffectAnimation(m):v==="normal"&&m.showEffectOn!=="render"&&r.stopEffectAnimation()}),this._effectCfg=m,g0(this,h.get("focus"),h.get("blurScope"),h.get("disabled"))},e.prototype.fadeOut=function(t){t&&t()},e}(Qt);const _ye=yye;var Sye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._symbolDraw=new Ch(_ye)},e.prototype.render=function(t,i,r){var a=t.getData(),o=this._symbolDraw;o.updateData(a,{clipShape:this._getClipShape(t)}),this.group.add(o.group)},e.prototype._getClipShape=function(t){var i=t.coordinateSystem,r=i&&i.getArea&&i.getArea();return t.get("clip",!0)?r:null},e.prototype.updateTransform=function(t,i,r){var a=t.getData();this.group.dirty();var o=Eh("").reset(t,i,r);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout()},e.prototype._updateGroupTransform=function(t){var i=t.coordinateSystem;i&&i.getRoamTransform&&(this.group.transform=Xse(i.getRoamTransform()),this.group.decomposeTransform())},e.prototype.remove=function(t,i){this._symbolDraw&&this._symbolDraw.remove(!0)},e.type="effectScatter",e}(q1);const bye=Sye;var xye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,i){return n6(null,this,{useEncodeDefaulter:!0})},e.prototype.brushSelector=function(t,i,r){return r.point(i.getItemLayout(t))},e.type="series.effectScatter",e.dependencies=["grid","polar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",clip:!0,rippleEffect:{period:4,scale:2.5,brushType:"fill",number:3},universalTransition:{divideShape:"clone"},symbolSize:10},e}(f0);const wye=xye;function Tye(n){n.registerChartView(bye),n.registerSeriesModel(wye),n.registerLayout(Eh("effectScatter"))}var Aye=function(n){o2(e,n);function e(t,i,r){var a=n.call(this)||this;return a.add(a.createLine(t,i,r)),a._updateEffectSymbol(t,i),a}return e.prototype.createLine=function(t,i,r){return new _P(t,i,r)},e.prototype._updateEffectSymbol=function(t,i){var r=t.getItemModel(i),a=r.getModel("effect"),o=a.get("symbolSize"),s=a.get("symbol");j2(o)||(o=[o,o]);var l=t.getItemVisual(i,"style"),u=a.get("color")||l&&l.stroke,c=this.childAt(1);this._symbolType!==s&&(this.remove(c),c=X0(s,-.5,-.5,1,1,u),c.z2=100,c.culling=!0,this.add(c)),c&&(c.setStyle("shadowColor",u),c.setStyle(a.getItemStyle(["color"])),c.scaleX=o[0],c.scaleY=o[1],c.setColor(u),this._symbolType=s,this._symbolScale=o,this._updateEffectAnimation(t,a,i))},e.prototype._updateEffectAnimation=function(t,i,r){var a=this.childAt(1);if(a){var o=t.getItemLayout(r),s=i.get("period")*1e3,l=i.get("loop"),u=i.get("roundTrip"),c=i.get("constantSpeed"),d=Pn(i.get("delay"),function(f){return f/t.count()*s/3});if(a.ignore=!0,this._updateAnimationPoints(a,o),c>0&&(s=this._getLineLength(a)/c*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){a.stopAnimation();var h=void 0;Wt(d)?h=d(r):h=d,a.__t>0&&(h=-s*a.__t),this._animateSymbol(a,s,h,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},e.prototype._animateSymbol=function(t,i,r,a,o){if(i>0){t.__t=0;var s=this,l=t.animate("",a).when(o?i*2:i,{__t:o?2:1}).delay(r).during(function(){s._updateSymbolPosition(t)});a||l.done(function(){s.remove(t)}),l.start()}},e.prototype._getLineLength=function(t){return e5(t.__p1,t.__cp1)+e5(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,i){t.__p1=i[0],t.__p2=i[1],t.__cp1=i[2]||[(i[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2]},e.prototype.updateData=function(t,i,r){this.childAt(0).updateData(t,i,r),this._updateEffectSymbol(t,i)},e.prototype._updateSymbolPosition=function(t){var i=t.__p1,r=t.__p2,a=t.__cp1,o=t.__t<1?t.__t:2-t.__t,s=[t.x,t.y],l=s.slice(),u=En,c=rA;s[0]=u(i[0],a[0],r[0],o),s[1]=u(i[1],a[1],r[1],o);var d=t.__t<1?c(i[0],a[0],r[0],o):c(r[0],a[0],i[0],1-o),h=t.__t<1?c(i[1],a[1],r[1],o):c(r[1],a[1],i[1],1-o);t.rotation=-Math.atan2(h,d)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(t.__lastT!==void 0&&t.__lastT<t.__t?(t.scaleY=e5(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*e5(i,s):t.scaleY=this._symbolScale[1]),t.__lastT=t.__t,t.ignore=!1,t.x=s[0],t.y=s[1]},e.prototype.updateLayout=function(t,i){this.childAt(0).updateLayout(t,i);var r=t.getItemModel(i).getModel("effect");this._updateEffectAnimation(t,r,i)},e}(Qt);const rJ=Aye;var Cye=function(n){o2(e,n);function e(t,i,r){var a=n.call(this)||this;return a._createPolyline(t,i,r),a}return e.prototype._createPolyline=function(t,i,r){var a=t.getItemLayout(i),o=new dr({shape:{points:a}});this.add(o),this._updateCommonStl(t,i,r)},e.prototype.updateData=function(t,i,r){var a=t.hostModel,o=this.childAt(0),s={shape:{points:t.getItemLayout(i)}};Q3(o,s,a,i),this._updateCommonStl(t,i,r)},e.prototype._updateCommonStl=function(t,i,r){var a=this.childAt(0),o=t.getItemModel(i),s=r&&r.emphasisLineStyle,l=r&&r.focus,u=r&&r.blurScope,c=r&&r.emphasisDisabled;if(!r||t.hasItemOption){var d=o.getModel("emphasis");s=d.getModel("lineStyle").getLineStyle(),c=d.get("disabled"),l=d.get("focus"),u=d.get("blurScope")}a.useStyle(t.getItemVisual(i,"style")),a.style.fill=null,a.style.strokeNoScale=!0;var h=a.ensureState("emphasis");h.style=s,g0(this,l,u,c)},e.prototype.updateLayout=function(t,i){var r=this.childAt(0);r.setShape("points",t.getItemLayout(i))},e}(Qt);const aJ=Cye;var Mye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t._lastFrame=0,t._lastFramePercent=0,t}return e.prototype.createLine=function(t,i,r){return new aJ(t,i,r)},e.prototype._updateAnimationPoints=function(t,i){this._points=i;for(var r=[0],a=0,o=1;o<i.length;o++){var s=i[o-1],l=i[o];a+=e5(s,l),r.push(a)}if(a===0){this._length=0;return}for(var o=0;o<r.length;o++)r[o]/=a;this._offsets=r,this._length=a},e.prototype._getLineLength=function(){return this._length},e.prototype._updateSymbolPosition=function(t){var i=t.__t<1?t.__t:2-t.__t,r=this._points,a=this._offsets,o=r.length;if(a){var s=this._lastFrame,l;if(i<this._lastFramePercent){var u=Math.min(s+1,o-1);for(l=u;l>=0&&!(a[l]<=i);l--);l=Math.min(l,o-2)}else{for(l=s;l<o&&!(a[l]>i);l++);l=Math.min(l-1,o-2)}var c=(i-a[l])/(a[l+1]-a[l]),d=r[l],h=r[l+1];t.x=d[0]*(1-c)+c*h[0],t.y=d[1]*(1-c)+c*h[1];var f=t.__t<1?h[0]-d[0]:d[0]-h[0],p=t.__t<1?h[1]-d[1]:d[1]-h[1];t.rotation=-Math.atan2(p,f)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=i,t.ignore=!1}},e}(rJ);const Eye=Mye;var Pye=function(){function n(){this.polyline=!1,this.curveness=0,this.segs=[]}return n}(),Rye=function(n){o2(e,n);function e(t){var i=n.call(this,t)||this;return i._off=0,i.hoverDataIdx=-1,i}return e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Pye},e.prototype.buildPath=function(t,i){var r=i.segs,a=i.curveness,o;if(i.polyline)for(o=this._off;o<r.length;){var s=r[o++];if(s>0){t.moveTo(r[o++],r[o++]);for(var l=1;l<s;l++)t.lineTo(r[o++],r[o++])}}else for(o=this._off;o<r.length;){var u=r[o++],c=r[o++],d=r[o++],h=r[o++];if(t.moveTo(u,c),a>0){var f=(u+d)/2-(c-h)*a,p=(c+h)/2-(d-u)*a;t.quadraticCurveTo(f,p,d,h)}else t.lineTo(d,h)}this.incremental&&(this._off=o,this.notClear=!0)},e.prototype.findDataIndex=function(t,i){var r=this.shape,a=r.segs,o=r.curveness,s=this.style.lineWidth;if(r.polyline)for(var l=0,u=0;u<a.length;){var c=a[u++];if(c>0)for(var d=a[u++],h=a[u++],f=1;f<c;f++){var p=a[u++],m=a[u++];if(H6(d,h,p,m,s,t,i))return l}l++}else for(var l=0,u=0;u<a.length;){var d=a[u++],h=a[u++],p=a[u++],m=a[u++];if(o>0){var v=(d+p)/2-(h-m)*o,g=(h+m)/2-(p-d)*o;if(uq(d,h,v,g,p,m,s,t,i))return l}else if(H6(d,h,p,m,s,t,i))return l;l++}return-1},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(t=r[0],i=r[1],a.contain(t,i)){var o=this.hoverDataIdx=this.findDataIndex(t,i);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var i=this.shape,r=i.segs,a=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u<r.length;){var c=r[u++],d=r[u++];a=Math.min(c,a),s=Math.max(c,s),o=Math.min(d,o),l=Math.max(d,l)}t=this._rect=new g3(a,o,s,l)}return t},e}(E3),Lye=function(){function n(){this.group=new Qt}return n.prototype.updateData=function(e){this._clear();var t=this._create();t.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(t,e)},n.prototype.incrementalPrepareUpdate=function(e){this.group.removeAll(),this._clear()},n.prototype.incrementalUpdate=function(e,t){var i=this._newAdded[0],r=t.getLayout("linesPoints"),a=i&&i.shape.segs;if(a&&a.length<2e4){var o=a.length,s=new Float32Array(o+r.length);s.set(a),s.set(r,o),i.setShape({segs:s})}else{this._newAdded=[];var l=this._create();l.incremental=!0,l.setShape({segs:r}),this._setCommon(l,t),l.__startIndex=e.start}},n.prototype.remove=function(){this._clear()},n.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},n.prototype._create=function(){var e=new Rye({cursor:"default",ignoreCoarsePointer:!0});return this._newAdded.push(e),this.group.add(e),e},n.prototype._setCommon=function(e,t,i){var r=t.hostModel;e.setShape({polyline:r.get("polyline"),curveness:r.get(["lineStyle","curveness"])}),e.useStyle(r.getModel("lineStyle").getLineStyle()),e.style.strokeNoScale=!0;var a=t.getVisual("style");a&&a.stroke&&e.setStyle("stroke",a.stroke),e.setStyle("fill",null);var o=t3(e);o.seriesIndex=r.seriesIndex,e.on("mousemove",function(s){o.dataIndex=null;var l=e.hoverDataIdx;l>0&&(o.dataIndex=l+e.__startIndex)})},n.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},n}();const Iye=Lye;var Dye={seriesType:"lines",plan:q7(),reset:function(n){var e=n.coordinateSystem;if(e){var t=n.get("polyline"),i=n.pipelineContext.large;return{progress:function(r,a){var o=[];if(i){var s=void 0,l=r.end-r.start;if(t){for(var u=0,c=r.start;c<r.end;c++)u+=n.getLineCoordsCount(c);s=new Float32Array(l+u*2)}else s=new Float32Array(l*4);for(var d=0,h=[],c=r.start;c<r.end;c++){var f=n.getLineCoords(c,o);t&&(s[d++]=f);for(var p=0;p<f;p++)h=e.dataToPoint(o[p],!1,h),s[d++]=h[0],s[d++]=h[1]}a.setLayout("linesPoints",s)}else for(var c=r.start;c<r.end;c++){var m=a.getItemModel(c),f=n.getLineCoords(c,o),v=[];if(t)for(var g=0;g<f;g++)v.push(e.dataToPoint(o[g]));else{v[0]=e.dataToPoint(o[0]),v[1]=e.dataToPoint(o[1]);var _=m.get(["lineStyle","curveness"]);+_&&(v[2]=[(v[0][0]+v[1][0])/2-(v[0][1]-v[1][1])*_,(v[0][1]+v[1][1])/2-(v[1][0]-v[0][0])*_])}a.setItemLayout(c,v)}}}}}};const oJ=Dye;var Nye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._updateLineDraw(a,t),s=t.get("zlevel"),l=t.get(["effect","trailLength"]),u=r.getZr(),c=u.painter.getType()==="svg";c||u.painter.getLayer(s).clear(!0),this._lastZlevel!=null&&!c&&u.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&l>0&&(c||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(a);var d=t.get("clip",!0)&&Mh(t.coordinateSystem,!1,t);d?this.group.setClipPath(d):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,i,r){var a=t.getData(),o=this._updateLineDraw(a,t);o.incrementalPrepareUpdate(a),this._clearLayer(r),this._finished=!1},e.prototype.incrementalRender=function(t,i,r){this._lineDraw.incrementalUpdate(t,i.getData()),this._finished=t.end===i.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,i,r){var a=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=oJ.reset(t,i,r);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(r)},e.prototype._updateLineDraw=function(t,i){var r=this._lineDraw,a=this._showEffect(i),o=!!i.get("polyline"),s=i.pipelineContext,l=s.large;return(!r||a!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(r&&r.remove(),r=this._lineDraw=l?new Iye:new SP(o?a?Eye:aJ:a?rJ:_P),this._hasEffet=a,this._isPolyline=o,this._isLargeDraw=l),this.group.add(r.group),r},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var i=t.getZr(),r=i.painter.getType()==="svg";!r&&this._lastZlevel!=null&&i.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,i){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(i)},e.prototype.dispose=function(t,i){this.remove(t,i)},e.type="lines",e}(q1);const kye=Nye;var Fye=typeof Uint32Array=="undefined"?Array:Uint32Array,Oye=typeof Float64Array=="undefined"?Array:Float64Array;function $B(n){var e=n.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(n.data=q2(e,function(t){var i=[t[0].coord,t[1].coord],r={coords:i};return t[0].name&&(r.fromName=t[0].name),t[1].name&&(r.toName=t[1].name),YM([r,t[0],t[1]])}))}var Bye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.init=function(t){t.data=t.data||[],$B(t);var i=this._processFlatCoordsArray(t.data);this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset,i.flatCoords&&(t.data=new Float32Array(i.count)),n.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(t){if($B(t),t.data){var i=this._processFlatCoordsArray(t.data);this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset,i.flatCoords&&(t.data=new Float32Array(i.count))}n.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var i=this._processFlatCoordsArray(t.data);i.flatCoords&&(this._flatCoords?(this._flatCoords=bd(this._flatCoords,i.flatCoords),this._flatCoordsOffset=bd(this._flatCoordsOffset,i.flatCoordsOffset)):(this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset),t.data=new Float32Array(i.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var i=this.getData().getItemModel(t),r=i.option instanceof Array?i.option:i.getShallow("coords");return r},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[t*2+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,i){if(this._flatCoordsOffset){for(var r=this._flatCoordsOffset[t*2],a=this._flatCoordsOffset[t*2+1],o=0;o<a;o++)i[o]=i[o]||[],i[o][0]=this._flatCoords[r+o*2],i[o][1]=this._flatCoords[r+o*2+1];return a}else{for(var s=this._getCoordsFromItemModel(t),o=0;o<s.length;o++)i[o]=i[o]||[],i[o][0]=s[o][0],i[o][1]=s[o][1];return s.length}},e.prototype._processFlatCoordsArray=function(t){var i=0;if(this._flatCoords&&(i=this._flatCoords.length),Y3(t[0])){for(var r=t.length,a=new Fye(r),o=new Oye(r),s=0,l=0,u=0,c=0;c<r;){u++;var d=t[c++];a[l++]=s+i,a[l++]=d;for(var h=0;h<d;h++){var f=t[c++],p=t[c++];o[s++]=f,o[s++]=p}}return{flatCoordsOffset:new Uint32Array(a.buffer,0,l),flatCoords:o,count:u}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},e.prototype.getInitialData=function(t,i){var r=new Pi(["value"],this);return r.hasItemOption=!1,r.initData(t.data,[],function(a,o,s,l){if(a instanceof Array)return NaN;r.hasItemOption=!0;var u=a.value;if(u!=null)return u instanceof Array?u[l]:u}),r},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=a.getItemModel(t),s=o.get("name");if(s)return s;var l=o.get("fromName"),u=o.get("toName"),c=[];return l!=null&&c.push(l),u!=null&&c.push(u),_n("nameValue",{name:c.join(" > ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return t==null?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t==null?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),i=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&i>0?i+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(f0);const zye=Bye;function Mp(n){return n instanceof Array||(n=[n,n]),n}var Gye={seriesType:"lines",reset:function(n){var e=Mp(n.get("symbol")),t=Mp(n.get("symbolSize")),i=n.getData();i.setVisual("fromSymbol",e&&e[0]),i.setVisual("toSymbol",e&&e[1]),i.setVisual("fromSymbolSize",t&&t[0]),i.setVisual("toSymbolSize",t&&t[1]);function r(a,o){var s=a.getItemModel(o),l=Mp(s.getShallow("symbol",!0)),u=Mp(s.getShallow("symbolSize",!0));l[0]&&a.setItemVisual(o,"fromSymbol",l[0]),l[1]&&a.setItemVisual(o,"toSymbol",l[1]),u[0]&&a.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&a.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:i.hasItemOption?r:null}}};const Uye=Gye;function Vye(n){n.registerChartView(kye),n.registerSeriesModel(zye),n.registerLayout(oJ),n.registerVisual(Uye)}var Hye=256,Wye=function(){function n(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=M5.createCanvas();this.canvas=e}return n.prototype.update=function(e,t,i,r,a,o){var s=this._getBrush(),l=this._getGradient(a,"inRange"),u=this._getGradient(a,"outOfRange"),c=this.pointSize+this.blurSize,d=this.canvas,h=d.getContext("2d"),f=e.length;d.width=t,d.height=i;for(var p=0;p<f;++p){var m=e[p],v=m[0],g=m[1],_=m[2],S=r(_);h.globalAlpha=S,h.drawImage(s,v-c,g-c)}if(!d.width||!d.height)return d;for(var x=h.getImageData(0,0,d.width,d.height),A=x.data,C=0,M=A.length,I=this.minOpacity,D=this.maxOpacity,E=D-I;C<M;){var S=A[C+3]/256,P=Math.floor(S*(Hye-1))*4;if(S>0){var F=o(S)?l:u;S>0&&(S=S*E+I),A[C++]=F[P],A[C++]=F[P+1],A[C++]=F[P+2],A[C++]=F[P+3]*S*256}else C+=4}return h.putImageData(x,0,0),d},n.prototype._getBrush=function(){var e=this._brushCanvas||(this._brushCanvas=M5.createCanvas()),t=this.pointSize+this.blurSize,i=t*2;e.width=i,e.height=i;var r=e.getContext("2d");return r.clearRect(0,0,i,i),r.shadowOffsetX=i,r.shadowBlur=this.blurSize,r.shadowColor="#000",r.beginPath(),r.arc(-t,t,this.pointSize,0,Math.PI*2,!0),r.closePath(),r.fill(),e},n.prototype._getGradient=function(e,t){for(var i=this._gradientPixels,r=i[t]||(i[t]=new Uint8ClampedArray(256*4)),a=[0,0,0,0],o=0,s=0;s<256;s++)e[t](s/255,!0,a),r[o++]=a[0],r[o++]=a[1],r[o++]=a[2],r[o++]=a[3];return r},n}();const jye=Wye;function $ye(n,e,t){var i=n[1]-n[0];e=q2(e,function(o){return{interval:[(o.interval[0]-n[0])/i,(o.interval[1]-n[0])/i]}});var r=e.length,a=0;return function(o){var s;for(s=a;s<r;s++){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}if(s===r)for(s=a-1;s>=0;s--){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}return s>=0&&s<r&&t[s]}}function qye(n,e){var t=n[1]-n[0];return e=[(e[0]-n[0])/t,(e[1]-n[0])/t],function(i){return i>=e[0]&&i<=e[1]}}function qB(n){var e=n.dimensions;return e[0]==="lng"&&e[1]==="lat"}var Xye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a;i.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===t&&(a=s)})}),this._progressiveEls=null,this.group.removeAll();var o=t.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(t,r,0,t.getData().count()):qB(o)&&this._renderOnGeo(o,t,a,r)},e.prototype.incrementalPrepareRender=function(t,i,r){this.group.removeAll()},e.prototype.incrementalRender=function(t,i,r,a){var o=i.coordinateSystem;o&&(qB(o)?this.render(i,r,a):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(i,a,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){G5(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,i,r,a,o){var s=t.coordinateSystem,l=n4(s,"cartesian2d"),u,c,d,h;if(l){var f=s.getAxis("x"),p=s.getAxis("y");u=f.getBandWidth()+.5,c=p.getBandWidth()+.5,d=f.scale.getExtent(),h=p.scale.getExtent()}for(var m=this.group,v=t.getData(),g=t.getModel(["emphasis","itemStyle"]).getItemStyle(),_=t.getModel(["blur","itemStyle"]).getItemStyle(),S=t.getModel(["select","itemStyle"]).getItemStyle(),x=t.get(["itemStyle","borderRadius"]),A=yn(t),C=t.getModel("emphasis"),M=C.get("focus"),I=C.get("blurScope"),D=C.get("disabled"),E=l?[v.mapDimension("x"),v.mapDimension("y"),v.mapDimension("value")]:[v.mapDimension("time"),v.mapDimension("value")],P=r;P<a;P++){var F=void 0,V=v.getItemVisual(P,"style");if(l){var G=v.get(E[0],P),W=v.get(E[1],P);if(isNaN(v.get(E[2],P))||isNaN(G)||isNaN(W)||G<d[0]||G>d[1]||W<h[0]||W>h[1])continue;var Y=s.dataToPoint([G,W]);F=new H3({shape:{x:Y[0]-u/2,y:Y[1]-c/2,width:u,height:c},style:V})}else{if(isNaN(v.get(E[1],P)))continue;F=new H3({z2:1,shape:s.dataToRect([v.get(E[0],P)]).contentShape,style:V})}if(v.hasItemOption){var Q=v.getItemModel(P),K=Q.getModel("emphasis");g=K.getModel("itemStyle").getItemStyle(),_=Q.getModel(["blur","itemStyle"]).getItemStyle(),S=Q.getModel(["select","itemStyle"]).getItemStyle(),x=Q.get(["itemStyle","borderRadius"]),M=K.get("focus"),I=K.get("blurScope"),D=K.get("disabled"),A=yn(Q)}F.shape.r=x;var ae=t.getRawValue(P),ie="-";ae&&ae[2]!=null&&(ie=ae[2]+""),jn(F,A,{labelFetcher:t,labelDataIndex:P,defaultOpacity:V.opacity,defaultText:ie}),F.ensureState("emphasis").style=g,F.ensureState("blur").style=_,F.ensureState("select").style=S,g0(F,M,I,D),F.incremental=o,o&&(F.states.emphasis.hoverLayer=!0),m.add(F),v.setItemGraphicEl(P,F),this._progressiveEls&&this._progressiveEls.push(F)}},e.prototype._renderOnGeo=function(t,i,r,a){var o=r.targetVisuals.inRange,s=r.targetVisuals.outOfRange,l=i.getData(),u=this._hmLayer||this._hmLayer||new jye;u.blurSize=i.get("blurSize"),u.pointSize=i.get("pointSize"),u.minOpacity=i.get("minOpacity"),u.maxOpacity=i.get("maxOpacity");var c=t.getViewRect().clone(),d=t.getRoamTransform();c.applyTransform(d);var h=Math.max(c.x,0),f=Math.max(c.y,0),p=Math.min(c.width+c.x,a.getWidth()),m=Math.min(c.height+c.y,a.getHeight()),v=p-h,g=m-f,_=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],S=l.mapArray(_,function(M,I,D){var E=t.dataToPoint([M,I]);return E[0]-=h,E[1]-=f,E.push(D),E}),x=r.getExtent(),A=r.type==="visualMap.continuous"?qye(x,r.option.range):$ye(x,r.getPieceList(),r.option.selected);u.update(S,v,g,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},A);var C=new $n({style:{width:v,height:g,x:h,y:f,image:u.canvas},silent:!0});this.group.add(C)},e.type="heatmap",e}(q1);const Yye=Xye;var Kye=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){return n6(null,this,{generateCoord:"value"})},e.prototype.preventIncremental=function(){var t=bh.get(this.get("coordinateSystem"));if(t&&t.dimensions)return t.dimensions[0]==="lng"&&t.dimensions[1]==="lat"},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}(f0);const Zye=Kye;function Jye(n){n.registerChartView(Yye),n.registerSeriesModel(Zye)}var Qye=["itemStyle","borderWidth"],XB=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],Kx=new z5,e_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group,o=t.getData(),s=this._data,l=t.coordinateSystem,u=l.getBaseAxis(),c=u.isHorizontal(),d=l.master.getRect(),h={ecSize:{width:r.getWidth(),height:r.getHeight()},seriesModel:t,coordSys:l,coordSysExtent:[[d.x,d.x+d.width],[d.y,d.y+d.height]],isHorizontal:c,valueDim:XB[+c],categoryDim:XB[1-+c]};o.diff(s).add(function(p){if(o.hasValue(p)){var m=KB(o,p),v=YB(o,p,m,h),g=ZB(o,h,v);o.setItemGraphicEl(p,g),a.add(g),QB(g,h,v)}}).update(function(p,m){var v=s.getItemGraphicEl(m);if(!o.hasValue(p)){a.remove(v);return}var g=KB(o,p),_=YB(o,p,g,h),S=hJ(o,_);v&&S!==v.__pictorialShapeStr&&(a.remove(v),o.setItemGraphicEl(p,null),v=null),v?s_e(v,h,_):v=ZB(o,h,_,!0),o.setItemGraphicEl(p,v),v.__pictorialSymbolMeta=_,a.add(v),QB(v,h,_)}).remove(function(p){var m=s.getItemGraphicEl(p);m&&JB(s,p,m.__pictorialSymbolMeta.animationModel,m)}).execute();var f=t.get("clip",!0)?Mh(t.coordinateSystem,!1,t):null;return f?a.setClipPath(f):a.removeClipPath(),this._data=o,this.group},e.prototype.remove=function(t,i){var r=this.group,a=this._data;t.get("animation")?a&&a.eachItemGraphicEl(function(o){JB(a,t3(o).dataIndex,t,o)}):r.removeAll()},e.type="pictorialBar",e}(q1);function YB(n,e,t,i){var r=n.getItemLayout(e),a=t.get("symbolRepeat"),o=t.get("symbolClip"),s=t.get("symbolPosition")||"start",l=t.get("symbolRotate"),u=(l||0)*Math.PI/180||0,c=t.get("symbolPatternSize")||2,d=t.isAnimationEnabled(),h={dataIndex:e,layout:r,itemModel:t,symbolType:n.getItemVisual(e,"symbol")||"circle",style:n.getItemVisual(e,"style"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:t.get("symbolRepeatDirection"),symbolPatternSize:c,rotation:u,animationModel:d?t:null,hoverScale:d&&t.get(["emphasis","scale"]),z2:t.getShallow("z",!0)||0};t_e(t,a,r,i,h),n_e(n,e,r,a,o,h.boundingLength,h.pxSign,c,i,h),i_e(t,h.symbolScale,u,i,h);var f=h.symbolSize,p=e4(t.get("symbolOffset"),f);return r_e(t,f,r,a,o,p,s,h.valueLineWidth,h.boundingLength,h.repeatCutLength,i,h),h}function t_e(n,e,t,i,r){var a=i.valueDim,o=n.get("symbolBoundingData"),s=i.coordSys.getOtherAxis(i.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(t[a.wh]<=0),c;if(j2(o)){var d=[Zx(s,o[0])-l,Zx(s,o[1])-l];d[1]<d[0]&&d.reverse(),c=d[u]}else o!=null?c=Zx(s,o)-l:e?c=i.coordSysExtent[a.index][u]-l:c=t[a.wh];r.boundingLength=c,e&&(r.repeatCutLength=t[a.wh]);var h=a.xy==="x",f=s.inverse;r.pxSign=h&&!f||!h&&f?c>=0?1:-1:c>0?1:-1}function Zx(n,e){return n.toGlobalCoord(n.dataToCoord(n.scale.parse(e)))}function n_e(n,e,t,i,r,a,o,s,l,u){var c=l.valueDim,d=l.categoryDim,h=Math.abs(t[d.wh]),f=n.getItemVisual(e,"symbolSize"),p;j2(f)?p=f.slice():f==null?p=["100%","100%"]:p=[f,f],p[d.index]=mt(p[d.index],h),p[c.index]=mt(p[c.index],i?h:Math.abs(a)),u.symbolSize=p;var m=u.symbolScale=[p[0]/s,p[1]/s];m[c.index]*=(l.isHorizontal?-1:1)*o}function i_e(n,e,t,i,r){var a=n.get(Qye)||0;a&&(Kx.attr({scaleX:e[0],scaleY:e[1],rotation:t}),Kx.updateTransform(),a/=Kx.getLineScale(),a*=e[i.valueDim.index]),r.valueLineWidth=a||0}function r_e(n,e,t,i,r,a,o,s,l,u,c,d){var h=c.categoryDim,f=c.valueDim,p=d.pxSign,m=Math.max(e[f.index]+s,0),v=m;if(i){var g=Math.abs(l),_=Pn(n.get("symbolMargin"),"15%")+"",S=!1;_.lastIndexOf("!")===_.length-1&&(S=!0,_=_.slice(0,_.length-1));var x=mt(_,e[f.index]),A=Math.max(m+x*2,0),C=S?0:x*2,M=Y$(i),I=M?i:ez((g+C)/A),D=g-I*m;x=D/2/(S?I:Math.max(I-1,1)),A=m+x*2,C=S?0:x*2,!M&&i!=="fixed"&&(I=u?ez((Math.abs(u)+C)/A):0),v=I*A-C,d.repeatTimes=I,d.symbolMargin=x}var E=p*(v/2),P=d.pathPosition=[];P[h.index]=t[h.wh]/2,P[f.index]=o==="start"?E:o==="end"?l-E:l/2,a&&(P[0]+=a[0],P[1]+=a[1]);var F=d.bundlePosition=[];F[h.index]=t[h.xy],F[f.index]=t[f.xy];var V=d.barRectShape=I2({},t);V[f.wh]=p*Math.max(Math.abs(t[f.wh]),Math.abs(P[f.index]+E)),V[h.wh]=t[h.wh];var G=d.clipShape={};G[h.xy]=-t[h.xy],G[h.wh]=c.ecSize[h.wh],G[f.xy]=0,G[f.wh]=t[f.wh]}function sJ(n){var e=n.symbolPatternSize,t=X0(n.symbolType,-e/2,-e/2,e,e);return t.attr({culling:!0}),t.type!=="image"&&t.setStyle({strokeNoScale:!0}),t}function lJ(n,e,t,i){var r=n.__pictorialBundle,a=t.symbolSize,o=t.valueLineWidth,s=t.pathPosition,l=e.valueDim,u=t.repeatTimes||0,c=0,d=a[e.valueDim.index]+o+t.symbolMargin*2;for(RP(n,function(m){m.__pictorialAnimationIndex=c,m.__pictorialRepeatTimes=u,c<u?Kl(m,null,p(c),t,i):Kl(m,null,{scaleX:0,scaleY:0},t,i,function(){r.remove(m)}),c++});c<u;c++){var h=sJ(t);h.__pictorialAnimationIndex=c,h.__pictorialRepeatTimes=u,r.add(h);var f=p(c);Kl(h,{x:f.x,y:f.y,scaleX:0,scaleY:0},{scaleX:f.scaleX,scaleY:f.scaleY,rotation:f.rotation},t,i)}function p(m){var v=s.slice(),g=t.pxSign,_=m;return(t.symbolRepeatDirection==="start"?g>0:g<0)&&(_=u-1-m),v[l.index]=d*(_-u/2+.5)+s[l.index],{x:v[0],y:v[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation}}}function uJ(n,e,t,i){var r=n.__pictorialBundle,a=n.__pictorialMainPath;a?Kl(a,null,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation},t,i):(a=n.__pictorialMainPath=sJ(t),r.add(a),Kl(a,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:0,scaleY:0,rotation:t.rotation},{scaleX:t.symbolScale[0],scaleY:t.symbolScale[1]},t,i))}function cJ(n,e,t){var i=I2({},e.barRectShape),r=n.__pictorialBarRect;r?Kl(r,null,{shape:i},e,t):(r=n.__pictorialBarRect=new H3({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),r.disableMorphing=!0,n.add(r))}function dJ(n,e,t,i){if(t.symbolClip){var r=n.__pictorialClipPath,a=I2({},t.clipShape),o=e.valueDim,s=t.animationModel,l=t.dataIndex;if(r)Q3(r,{shape:a},s,l);else{a[o.wh]=0,r=new H3({shape:a}),n.__pictorialBundle.setClipPath(r),n.__pictorialClipPath=r;var u={};u[o.wh]=t.clipShape[o.wh],J8[i?"updateProps":"initProps"](r,{shape:u},s,l)}}}function KB(n,e){var t=n.getItemModel(e);return t.getAnimationDelayParams=a_e,t.isAnimationEnabled=o_e,t}function a_e(n){return{index:n.__pictorialAnimationIndex,count:n.__pictorialRepeatTimes}}function o_e(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function ZB(n,e,t,i){var r=new Qt,a=new Qt;return r.add(a),r.__pictorialBundle=a,a.x=t.bundlePosition[0],a.y=t.bundlePosition[1],t.symbolRepeat?lJ(r,e,t):uJ(r,e,t),cJ(r,t,i),dJ(r,e,t,i),r.__pictorialShapeStr=hJ(n,t),r.__pictorialSymbolMeta=t,r}function s_e(n,e,t){var i=t.animationModel,r=t.dataIndex,a=n.__pictorialBundle;Q3(a,{x:t.bundlePosition[0],y:t.bundlePosition[1]},i,r),t.symbolRepeat?lJ(n,e,t,!0):uJ(n,e,t,!0),cJ(n,t,!0),dJ(n,e,t,!0)}function JB(n,e,t,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var a=[];RP(i,function(o){a.push(o)}),i.__pictorialMainPath&&a.push(i.__pictorialMainPath),i.__pictorialClipPath&&(t=null),ne(a,function(o){P5(o,{scaleX:0,scaleY:0},t,e,function(){i.parent&&i.parent.remove(i)})}),n.setItemGraphicEl(e,null)}function hJ(n,e){return[n.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function RP(n,e,t){ne(n.__pictorialBundle.children(),function(i){i!==n.__pictorialBarRect&&e.call(t,i)})}function Kl(n,e,t,i,r,a){e&&n.attr(e),i.symbolClip&&!r?t&&n.attr(t):t&&J8[r?"updateProps":"initProps"](n,t,i.animationModel,i.dataIndex,a)}function QB(n,e,t){var i=t.dataIndex,r=t.itemModel,a=r.getModel("emphasis"),o=a.getModel("itemStyle").getItemStyle(),s=r.getModel(["blur","itemStyle"]).getItemStyle(),l=r.getModel(["select","itemStyle"]).getItemStyle(),u=r.getShallow("cursor"),c=a.get("focus"),d=a.get("blurScope"),h=a.get("scale");RP(n,function(m){if(m instanceof $n){var v=m.style;m.useStyle(I2({image:v.image,x:v.x,y:v.y,width:v.width,height:v.height},t.style))}else m.useStyle(t.style);var g=m.ensureState("emphasis");g.style=o,h&&(g.scaleX=m.scaleX*1.1,g.scaleY=m.scaleY*1.1),m.ensureState("blur").style=s,m.ensureState("select").style=l,u&&(m.cursor=u),m.z2=t.z2});var f=e.valueDim.posDesc[+(t.boundingLength>0)],p=n.__pictorialBarRect;p.ignoreClip=!0,jn(p,yn(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:v7(e.seriesModel.getData(),i),inheritColor:t.style.fill,defaultOpacity:t.style.opacity,defaultOutsidePosition:f}),g0(n,c,d,a.get("disabled"))}function ez(n){var e=Math.round(n);return Math.abs(n-e)<1e-4?e:Math.ceil(n)}const l_e=e_e;var u_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t.defaultSymbol="roundRect",t}return e.prototype.getInitialData=function(t){return t.stack=null,n.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=U5(hg.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(hg);const c_e=u_e;function d_e(n){n.registerChartView(l_e),n.registerSeriesModel(c_e),n.registerLayout(n.PRIORITY.VISUAL.LAYOUT,s3(WY,"pictorialBar")),n.registerLayout(n.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,jY("pictorialBar"))}var h_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._layers=[],t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this,s=this.group,l=t.getLayerSeries(),u=a.getLayout("layoutInfo"),c=u.rect,d=u.boundaryGap;s.x=0,s.y=c.y+d[0];function h(v){return v.name}var f=new Xs(this._layersSeries||[],l,h,h),p=[];f.add(Tt(m,this,"add")).update(Tt(m,this,"update")).remove(Tt(m,this,"remove")).execute();function m(v,g,_){var S=o._layers;if(v==="remove"){s.remove(S[g]);return}for(var x=[],A=[],C,M=l[g].indices,I=0;I<M.length;I++){var D=a.getItemLayout(M[I]),E=D.x,P=D.y0,F=D.y;x.push(E,P),A.push(E,P+F),C=a.getItemVisual(M[I],"style")}var V,G=a.getItemLayout(M[0]),W=t.getModel("label"),Y=W.get("margin"),Q=t.getModel("emphasis");if(v==="add"){var K=p[g]=new Qt;V=new kK({shape:{points:x,stackedOnPoints:A,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),K.add(V),s.add(K),t.isAnimationEnabled()&&V.setClipPath(f_e(V.getBoundingRect(),t,function(){V.removeClipPath()}))}else{var K=S[_];V=K.childAt(0),s.add(K),p[g]=K,Q3(V,{shape:{points:x,stackedOnPoints:A}},t),no(V)}jn(V,yn(t),{labelDataIndex:M[I-1],defaultText:a.getName(M[I-1]),inheritColor:C.fill},{normal:{verticalAlign:"middle"}}),V.setTextConfig({position:null,local:!0});var ae=V.getTextContent();ae&&(ae.x=G.x-Y,ae.y=G.y0+G.y/2),V.useStyle(C),a.setItemGraphicEl(g,V),Wn(V,t),g0(V,Q.get("focus"),Q.get("blurScope"),Q.get("disabled"))}this._layersSeries=l,this._layers=p},e.type="themeRiver",e}(q1);function f_e(n,e,t){var i=new H3({shape:{x:n.x-10,y:n.y-10,width:0,height:n.height+20}});return o0(i,{shape:{x:n.x-50,width:n.width+100,height:n.height+20}},e,t),i}const p_e=h_e;var Jx=2,v_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new Rh(Tt(this.getData,this),Tt(this.getRawData,this))},e.prototype.fixData=function(t){var i=t.length,r={},a=_A(t,function(h){return r.hasOwnProperty(h[0]+"")||(r[h[0]+""]=-1),h[2]}),o=[];a.buckets.each(function(h,f){o.push({name:f,dataList:h})});for(var s=o.length,l=0;l<s;++l){for(var u=o[l].name,c=0;c<o[l].dataList.length;++c){var d=o[l].dataList[c][0]+"";r[d]=l}for(var d in r)r.hasOwnProperty(d)&&r[d]!==l&&(r[d]=l,t[i]=[d,0,u],i++)}return t},e.prototype.getInitialData=function(t,i){for(var r=this.getReferringComponents("singleAxis",q0).models[0],a=r.get("type"),o=c1(t.data,function(p){return p[2]!==void 0}),s=this.fixData(o||[]),l=[],u=this.nameMap=Rt(),c=0,d=0;d<s.length;++d)l.push(s[d][Jx]),u.get(s[d][Jx])||(u.set(s[d][Jx],c),c++);var h=wh(s,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:sg(a)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}).dimensions,f=new Pi(h,this);return f.initData(s),f},e.prototype.getLayerSeries=function(){for(var t=this.getData(),i=t.count(),r=[],a=0;a<i;++a)r[a]=a;var o=t.mapDimension("single"),s=_A(r,function(u){return t.get("name",u)}),l=[];return s.buckets.each(function(u,c){u.sort(function(d,h){return t.get(o,d)-t.get(o,h)}),l.push({name:c,indices:u})}),l},e.prototype.getAxisTooltipData=function(t,i,r){j2(t)||(t=t?[t]:[]);for(var a=this.getData(),o=this.getLayerSeries(),s=[],l=o.length,u,c=0;c<l;++c){for(var d=Number.MAX_VALUE,h=-1,f=o[c].indices.length,p=0;p<f;++p){var m=a.get(t[0],o[c].indices[p]),v=Math.abs(m-i);v<=d&&(u=m,d=v,h=o[c].indices[p])}s.push(h)}return{dataIndices:s,nestestValue:u}},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=a.getName(t),s=a.get(a.mapDimension("value"),t);return _n("nameValue",{name:o,value:s})},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:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}},e}(f0);const m_e=v_e;function g_e(n,e){n.eachSeriesByType("themeRiver",function(t){var i=t.getData(),r=t.coordinateSystem,a={},o=r.getRect();a.rect=o;var s=t.get("boundaryGap"),l=r.getAxis();if(a.boundaryGap=s,l.orient==="horizontal"){s[0]=mt(s[0],o.height),s[1]=mt(s[1],o.height);var u=o.height-s[0]-s[1];tz(i,t,u)}else{s[0]=mt(s[0],o.width),s[1]=mt(s[1],o.width);var c=o.width-s[0]-s[1];tz(i,t,c)}i.setLayout("layoutInfo",a)})}function tz(n,e,t){if(n.count())for(var i=e.coordinateSystem,r=e.getLayerSeries(),a=n.mapDimension("single"),o=n.mapDimension("value"),s=q2(r,function(v){return q2(v.indices,function(g){var _=i.dataToPoint(n.get(a,g));return _[1]=n.get(o,g),_})}),l=y_e(s),u=l.y0,c=t/l.max,d=r.length,h=r[0].indices.length,f,p=0;p<h;++p){f=u[p]*c,n.setItemLayout(r[0].indices[p],{layerIndex:0,x:s[0][p][0],y0:f,y:s[0][p][1]*c});for(var m=1;m<d;++m)f+=s[m-1][p][1]*c,n.setItemLayout(r[m].indices[p],{layerIndex:m,x:s[m][p][0],y0:f,y:s[m][p][1]*c})}}function y_e(n){for(var e=n.length,t=n[0].length,i=[],r=[],a=0,o=0;o<t;++o){for(var s=0,l=0;l<e;++l)s+=n[l][o][1];s>a&&(a=s),i.push(s)}for(var u=0;u<t;++u)r[u]=(a-i[u])/2;a=0;for(var c=0;c<t;++c){var d=i[c]+r[c];d>a&&(a=d)}return{y0:r,max:a}}function __e(n){n.registerChartView(p_e),n.registerSeriesModel(m_e),n.registerLayout(g_e),n.registerProcessor(Ph("themeRiver"))}var S_e=2,b_e=4,x_e=function(n){o2(e,n);function e(t,i,r,a){var o=n.call(this)||this;o.z2=S_e,o.textConfig={inside:!0},t3(o).seriesIndex=i.seriesIndex;var s=new X3({z2:b_e,silent:t.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,t,i,r,a),o}return e.prototype.updateData=function(t,i,r,a,o){this.node=i,i.piece=this,r=r||this._seriesModel,a=a||this._ecModel;var s=this;t3(s).dataIndex=i.dataIndex;var l=i.getModel(),u=l.getModel("emphasis"),c=i.getLayout(),d=I2({},c);d.label=null;var h=i.getVisual("style");h.lineJoin="bevel";var f=i.getVisual("decal");f&&(h.decal=f7(f,o));var p=u8(l.getModel("itemStyle"),d,!0);I2(d,p),ne(Li,function(_){var S=s.ensureState(_),x=l.getModel([_,"itemStyle"]);S.style=x.getItemStyle();var A=u8(x,d);A&&(S.shape=A)}),t?(s.setShape(d),s.shape.r=c.r0,o0(s,{shape:{r:c.r}},r,i.dataIndex)):(Q3(s,{shape:d},r),no(s)),s.useStyle(h),this._updateLabel(r);var m=l.getShallow("cursor");m&&s.attr("cursor",m),this._seriesModel=r||this._seriesModel,this._ecModel=a||this._ecModel;var v=u.get("focus"),g=v==="relative"?bd(i.getAncestorsIndices(),i.getDescendantIndices()):v==="ancestor"?i.getAncestorsIndices():v==="descendant"?i.getDescendantIndices():v;g0(this,g,u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t){var i=this,r=this.node.getModel(),a=r.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),c=Math.sin(l),d=this,h=d.getTextContent(),f=this.node.dataIndex,p=a.get("minAngle")/180*Math.PI,m=a.get("show")&&!(p!=null&&Math.abs(s)<p);h.ignore=!m,ne(Ed,function(g){var _=g==="normal"?r.getModel("label"):r.getModel([g,"label"]),S=g==="normal",x=S?h:h.ensureState(g),A=t.getFormattedLabel(f,g);S&&(A=A||i.node.name),x.style=j1(_,{},null,g!=="normal",!0),A&&(x.style.text=A);var C=_.get("show");C!=null&&!S&&(x.ignore=!C);var M=v(_,"position"),I=S?d:d.states[g],D=I.style.fill;I.textConfig={outsideFill:_.get("color")==="inherit"?D:null,inside:M!=="outside"};var E,P=v(_,"distance")||0,F=v(_,"align"),V=v(_,"rotate"),G=Math.PI*.5,W=Math.PI*1.5,Y=Rr(V==="tangential"?Math.PI/2-l:l),Q=Y>G&&!Ad(Y-G)&&Y<W;M==="outside"?(E=o.r+P,F=Q?"right":"left"):!F||F==="center"?(s===2*Math.PI&&o.r0===0?E=0:E=(o.r+o.r0)/2,F="center"):F==="left"?(E=o.r0+P,F=Q?"right":"left"):F==="right"&&(E=o.r-P,F=Q?"left":"right"),x.style.align=F,x.style.verticalAlign=v(_,"verticalAlign")||"middle",x.x=E*u+o.cx,x.y=E*c+o.cy;var K=0;V==="radial"?K=Rr(-l)+(Q?Math.PI:0):V==="tangential"?K=Rr(Math.PI/2-l)+(Q?Math.PI:0):Y3(V)&&(K=V*Math.PI/180),x.rotation=Rr(K)});function v(g,_){var S=g.get(_);return S==null?a.get(_):S}h.dirtyStyle()},e}(sr);const nz=x_e;var gC="sunburstRootToNode",iz="sunburstHighlight",w_e="sunburstUnhighlight";function T_e(n){n.registerAction({type:gC,update:"updateView"},function(e,t){t.eachComponent({mainType:"series",subType:"sunburst",query:e},i);function i(r,a){var o=Ud(e,[gC],r);if(o){var s=r.getViewRoot();s&&(e.direction=fP(s,o.node)?"rollUp":"drillDown"),r.resetViewRoot(o.node)}}}),n.registerAction({type:iz,update:"none"},function(e,t,i){e=I2({},e),t.eachComponent({mainType:"series",subType:"sunburst",query:e},r);function r(a){var o=Ud(e,[iz],a);o&&(e.dataIndex=o.node.dataIndex)}i.dispatchAction(I2(e,{type:"highlight"}))}),n.registerAction({type:w_e,update:"updateView"},function(e,t,i){e=I2({},e),i.dispatchAction(I2(e,{type:"downplay"}))})}var A_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){var o=this;this.seriesModel=t,this.api=r,this.ecModel=i;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),c=this.group,d=t.get("renderLabelForZeroData"),h=[];u.eachNode(function(_){h.push(_)});var f=this._oldChildren||[];p(h,f),g(l,u),this._initEvents(),this._oldChildren=h;function p(_,S){if(_.length===0&&S.length===0)return;new Xs(S,_,x,x).add(A).update(A).remove(s3(A,null)).execute();function x(C){return C.getId()}function A(C,M){var I=C==null?null:_[C],D=M==null?null:S[M];m(I,D)}}function m(_,S){if(!d&&_&&!_.getValue()&&(_=null),_!==l&&S!==l){if(S&&S.piece)_?(S.piece.updateData(!1,_,t,i,r),s.setItemGraphicEl(_.dataIndex,S.piece)):v(S);else if(_){var x=new nz(_,t,i,r);c.add(x),s.setItemGraphicEl(_.dataIndex,x)}}}function v(_){_&&_.piece&&(c.remove(_.piece),_.piece=null)}function g(_,S){S.depth>0?(o.virtualPiece?o.virtualPiece.updateData(!1,_,t,i,r):(o.virtualPiece=new nz(_,t,i,r),c.add(o.virtualPiece)),S.piece.off("click"),o.virtualPiece.on("click",function(x){o._rootToNode(S.parentNode)})):o.virtualPiece&&(c.remove(o.virtualPiece),o.virtualPiece=null)}},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(i){var r=!1,a=t.seriesModel.getViewRoot();a.eachNode(function(o){if(!r&&o.piece&&o.piece===i.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")t._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var c=l.get("target",!0)||"_blank";Qm(u,c)}}r=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:gC,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,i){var r=i.getData(),a=r.getItemLayout(0);if(a){var o=t[0]-a.cx,s=t[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},e.type="sunburst",e}(q1);const C_e=A_e;var M_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t,i){var r={name:t.name,children:t.data};fJ(r);var a=this._levelModels=q2(t.levels||[],function(l){return new $1(l,this,i)},this),o=hP.createTree(r,this,s);function s(l){l.wrapMethod("getItemModel",function(u,c){var d=o.getNodeByDataIndex(c),h=a[d.depth];return h&&(u.parentModel=h),u})}return o.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treePathInfo=Jy(r,this),i},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var i=this.getRawData().tree.root;(!t||t!==i&&!i.contains(t))&&(this._viewRoot=i)},e.prototype.enableAriaDecal=function(){gZ(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},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:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(f0);function fJ(n){var e=0;ne(n.children,function(i){fJ(i);var r=i.value;j2(r)&&(r=r[0]),e+=r});var t=n.value;j2(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),j2(n.value)?n.value[0]=t:n.value=t}const E_e=M_e;var rz=Math.PI/180;function P_e(n,e,t){e.eachSeriesByType(n,function(i){var r=i.get("center"),a=i.get("radius");j2(a)||(a=[0,a]),j2(r)||(r=[r,r]);var o=t.getWidth(),s=t.getHeight(),l=Math.min(o,s),u=mt(r[0],o),c=mt(r[1],s),d=mt(a[0],l/2),h=mt(a[1],l/2),f=-i.get("startAngle")*rz,p=i.get("minAngle")*rz,m=i.getData().tree.root,v=i.getViewRoot(),g=v.depth,_=i.get("sort");_!=null&&pJ(v,_);var S=0;ne(v.children,function(Y){!isNaN(Y.getValue())&&S++});var x=v.getValue(),A=Math.PI/(x||S)*2,C=v.depth>0,M=v.height-(C?-1:1),I=(h-d)/(M||1),D=i.get("clockwise"),E=i.get("stillShowZeroSum"),P=D?1:-1,F=function(Y,Q){if(Y){var K=Q;if(Y!==m){var ae=Y.getValue(),ie=x===0&&E?A:ae*A;ie<p&&(ie=p),K=Q+P*ie;var he=Y.depth-g-(C?-1:1),Ee=d+I*he,je=d+I*(he+1),xe=i.getLevelModel(Y);if(xe){var Oe=xe.get("r0",!0),f2=xe.get("r",!0),B2=xe.get("radius",!0);B2!=null&&(Oe=B2[0],f2=B2[1]),Oe!=null&&(Ee=mt(Oe,l/2)),f2!=null&&(je=mt(f2,l/2))}Y.setLayout({angle:ie,startAngle:Q,endAngle:K,clockwise:D,cx:u,cy:c,r0:Ee,r:je})}if(Y.children&&Y.children.length){var S2=0;ne(Y.children,function(p2){S2+=F(p2,Q+S2)})}return K-Q}};if(C){var V=d,G=d+I,W=Math.PI*2;m.setLayout({angle:W,startAngle:f,endAngle:f+W,clockwise:D,cx:u,cy:c,r0:V,r:G})}F(v,f)})}function pJ(n,e){var t=n.children||[];n.children=R_e(t,e),t.length&&ne(n.children,function(i){pJ(i,e)})}function R_e(n,e){if(Wt(e)){var t=q2(n,function(r,a){var o=r.getValue();return{params:{depth:r.depth,height:r.height,dataIndex:r.dataIndex,getValue:function(){return o}},index:a}});return t.sort(function(r,a){return e(r.params,a.params)}),q2(t,function(r){return n[r.index]})}else{var i=e==="asc";return n.sort(function(r,a){var o=(r.getValue()-a.getValue())*(i?1:-1);return o===0?(r.dataIndex-a.dataIndex)*(i?-1:1):o})}}function L_e(n){var e={};function t(i,r,a){for(var o=i;o&&o.depth>1;)o=o.parentNode;var s=r.getColorFromPalette(o.name||o.dataIndex+"",e);return i.depth>1&&xt(s)&&(s=sA(s,(i.depth-1)/(a-1)*.5)),s}n.eachSeriesByType("sunburst",function(i){var r=i.getData(),a=r.tree;a.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=t(o,i,a.root.height));var u=r.ensureUniqueItemVisual(o.dataIndex,"style");I2(u,l)})})}function I_e(n){n.registerChartView(C_e),n.registerSeriesModel(E_e),n.registerLayout(s3(P_e,"sunburst")),n.registerProcessor(s3(Ph,"sunburst")),n.registerVisual(L_e),T_e(n)}var az={color:"fill",borderColor:"stroke"},D_e={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},Gs=G3(),N_e=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,i){return n6(null,this)},e.prototype.getDataParams=function(t,i,r){var a=n.prototype.getDataParams.call(this,t,i);return r&&(a.info=Gs(r).info),a},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(f0);const k_e=N_e;function F_e(n,e){return e=e||[0,0],q2(["x","y"],function(t,i){var r=this.getAxis(t),a=e[i],o=n[i]/2;return r.type==="category"?r.getBandWidth():Math.abs(r.dataToCoord(a-o)-r.dataToCoord(a+o))},this)}function O_e(n){var e=n.master.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return n.dataToPoint(t)},size:Tt(F_e,n)}}}function B_e(n,e){return e=e||[0,0],q2([0,1],function(t){var i=e[t],r=n[t]/2,a=[],o=[];return a[t]=i-r,o[t]=i+r,a[1-t]=o[1-t]=e[1-t],Math.abs(this.dataToPoint(a)[t]-this.dataToPoint(o)[t])},this)}function z_e(n){var e=n.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:n.getZoom()},api:{coord:function(t){return n.dataToPoint(t)},size:Tt(B_e,n)}}}function G_e(n,e){var t=this.getAxis(),i=e instanceof Array?e[0]:e,r=(n instanceof Array?n[0]:n)/2;return t.type==="category"?t.getBandWidth():Math.abs(t.dataToCoord(i-r)-t.dataToCoord(i+r))}function U_e(n){var e=n.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return n.dataToPoint(t)},size:Tt(G_e,n)}}}function V_e(n,e){return e=e||[0,0],q2(["Radius","Angle"],function(t,i){var r="get"+t+"Axis",a=this[r](),o=e[i],s=n[i]/2,l=a.type==="category"?a.getBandWidth():Math.abs(a.dataToCoord(o-s)-a.dataToCoord(o+s));return t==="Angle"&&(l=l*Math.PI/180),l},this)}function H_e(n){var e=n.getRadiusAxis(),t=n.getAngleAxis(),i=e.getExtent();return i[0]>i[1]&&i.reverse(),{coordSys:{type:"polar",cx:n.cx,cy:n.cy,r:i[1],r0:i[0]},api:{coord:function(r){var a=e.dataToRadius(r[0]),o=t.dataToAngle(r[1]),s=n.coordToPoint([a,o]);return s.push(a,o*Math.PI/180),s},size:Tt(V_e,n)}}}function W_e(n){var e=n.getRect(),t=n.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:n.getCellWidth(),cellHeight:n.getCellHeight(),rangeInfo:{start:t.start,end:t.end,weeks:t.weeks,dayCount:t.allDay}},api:{coord:function(i,r){return n.dataToPoint(i,r)}}}}function vJ(n,e,t,i){return n&&(n.legacy||n.legacy!==!1&&!t&&!i&&e!=="tspan"&&(e==="text"||Ct(n,"text")))}function mJ(n,e,t){var i=n,r,a,o;if(e==="text")o=i;else{o={},Ct(i,"text")&&(o.text=i.text),Ct(i,"rich")&&(o.rich=i.rich),Ct(i,"textFill")&&(o.fill=i.textFill),Ct(i,"textStroke")&&(o.stroke=i.textStroke),Ct(i,"fontFamily")&&(o.fontFamily=i.fontFamily),Ct(i,"fontSize")&&(o.fontSize=i.fontSize),Ct(i,"fontStyle")&&(o.fontStyle=i.fontStyle),Ct(i,"fontWeight")&&(o.fontWeight=i.fontWeight),a={type:"text",style:o,silent:!0},r={};var s=Ct(i,"textPosition");t?r.position=s?i.textPosition:"inside":s&&(r.position=i.textPosition),Ct(i,"textPosition")&&(r.position=i.textPosition),Ct(i,"textOffset")&&(r.offset=i.textOffset),Ct(i,"textRotation")&&(r.rotation=i.textRotation),Ct(i,"textDistance")&&(r.distance=i.textDistance)}return oz(o,n),ne(o.rich,function(l){oz(l,l)}),{textConfig:r,textContent:a}}function oz(n,e){e&&(e.font=e.textFont||e.font,Ct(e,"textStrokeWidth")&&(n.lineWidth=e.textStrokeWidth),Ct(e,"textAlign")&&(n.align=e.textAlign),Ct(e,"textVerticalAlign")&&(n.verticalAlign=e.textVerticalAlign),Ct(e,"textLineHeight")&&(n.lineHeight=e.textLineHeight),Ct(e,"textWidth")&&(n.width=e.textWidth),Ct(e,"textHeight")&&(n.height=e.textHeight),Ct(e,"textBackgroundColor")&&(n.backgroundColor=e.textBackgroundColor),Ct(e,"textPadding")&&(n.padding=e.textPadding),Ct(e,"textBorderColor")&&(n.borderColor=e.textBorderColor),Ct(e,"textBorderWidth")&&(n.borderWidth=e.textBorderWidth),Ct(e,"textBorderRadius")&&(n.borderRadius=e.textBorderRadius),Ct(e,"textBoxShadowColor")&&(n.shadowColor=e.textBoxShadowColor),Ct(e,"textBoxShadowBlur")&&(n.shadowBlur=e.textBoxShadowBlur),Ct(e,"textBoxShadowOffsetX")&&(n.shadowOffsetX=e.textBoxShadowOffsetX),Ct(e,"textBoxShadowOffsetY")&&(n.shadowOffsetY=e.textBoxShadowOffsetY))}function sz(n,e,t){var i=n;i.textPosition=i.textPosition||t.position||"inside",t.offset!=null&&(i.textOffset=t.offset),t.rotation!=null&&(i.textRotation=t.rotation),t.distance!=null&&(i.textDistance=t.distance);var r=i.textPosition.indexOf("inside")>=0,a=n.fill||"#000";lz(i,e);var o=i.textFill==null;return r?o&&(i.textFill=t.insideFill||"#fff",!i.textStroke&&t.insideStroke&&(i.textStroke=t.insideStroke),!i.textStroke&&(i.textStroke=a),i.textStrokeWidth==null&&(i.textStrokeWidth=2)):(o&&(i.textFill=n.fill||t.outsideFill||"#000"),!i.textStroke&&t.outsideStroke&&(i.textStroke=t.outsideStroke)),i.text=e.text,i.rich=e.rich,ne(e.rich,function(s){lz(s,s)}),i}function lz(n,e){e&&(Ct(e,"fill")&&(n.textFill=e.fill),Ct(e,"stroke")&&(n.textStroke=e.fill),Ct(e,"lineWidth")&&(n.textStrokeWidth=e.lineWidth),Ct(e,"font")&&(n.font=e.font),Ct(e,"fontStyle")&&(n.fontStyle=e.fontStyle),Ct(e,"fontWeight")&&(n.fontWeight=e.fontWeight),Ct(e,"fontSize")&&(n.fontSize=e.fontSize),Ct(e,"fontFamily")&&(n.fontFamily=e.fontFamily),Ct(e,"align")&&(n.textAlign=e.align),Ct(e,"verticalAlign")&&(n.textVerticalAlign=e.verticalAlign),Ct(e,"lineHeight")&&(n.textLineHeight=e.lineHeight),Ct(e,"width")&&(n.textWidth=e.width),Ct(e,"height")&&(n.textHeight=e.height),Ct(e,"backgroundColor")&&(n.textBackgroundColor=e.backgroundColor),Ct(e,"padding")&&(n.textPadding=e.padding),Ct(e,"borderColor")&&(n.textBorderColor=e.borderColor),Ct(e,"borderWidth")&&(n.textBorderWidth=e.borderWidth),Ct(e,"borderRadius")&&(n.textBorderRadius=e.borderRadius),Ct(e,"shadowColor")&&(n.textBoxShadowColor=e.shadowColor),Ct(e,"shadowBlur")&&(n.textBoxShadowBlur=e.shadowBlur),Ct(e,"shadowOffsetX")&&(n.textBoxShadowOffsetX=e.shadowOffsetX),Ct(e,"shadowOffsetY")&&(n.textBoxShadowOffsetY=e.shadowOffsetY),Ct(e,"textShadowColor")&&(n.textShadowColor=e.textShadowColor),Ct(e,"textShadowBlur")&&(n.textShadowBlur=e.textShadowBlur),Ct(e,"textShadowOffsetX")&&(n.textShadowOffsetX=e.textShadowOffsetX),Ct(e,"textShadowOffsetY")&&(n.textShadowOffsetY=e.textShadowOffsetY))}var gJ={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},uz=L3(gJ);Yo(Zo,function(n,e){return n[e]=1,n},{});Zo.join(", ");var Sg=["","style","shape","extra"],y7=G3();function LP(n,e,t,i,r){var a=n+"Animation",o=G7(n,i,r)||{},s=y7(e).userDuring;return o.duration>0&&(o.during=s?Tt(Y_e,{el:e,userDuring:s}):null,o.setToFinal=!0,o.scope=n),I2(o,t[a]),o}function cm(n,e,t,i){i=i||{};var r=i.dataIndex,a=i.isInit,o=i.clearStyle,s=t.isAnimationEnabled(),l=y7(n),u=e.style;l.userDuring=e.during;var c={},d={};if(Z_e(n,e,d),dz("shape",e,d),dz("extra",e,d),!a&&s&&(K_e(n,e,c),cz("shape",n,e,c),cz("extra",n,e,c),J_e(n,e,u,c)),d.style=u,j_e(n,d,o),q_e(n,e),s)if(a){var h={};ne(Sg,function(p){var m=p?e[p]:e;m&&m.enterFrom&&(p&&(h[p]=h[p]||{}),I2(p?h[p]:h,m.enterFrom))});var f=LP("enter",n,e,t,r);f.duration>0&&n.animateFrom(h,f)}else $_e(n,e,r||0,t,c);yJ(n,e),u?n.dirty():n.markRedraw()}function yJ(n,e){for(var t=y7(n).leaveToProps,i=0;i<Sg.length;i++){var r=Sg[i],a=r?e[r]:e;a&&a.leaveTo&&(t||(t=y7(n).leaveToProps={}),r&&(t[r]=t[r]||{}),I2(r?t[r]:t,a.leaveTo))}}function t_(n,e,t,i){if(n){var r=n.parent,a=y7(n).leaveToProps;if(a){var o=LP("update",n,e,t,0);o.done=function(){r.remove(n),i&&i()},n.animateTo(a,o)}else r.remove(n),i&&i()}}function M8(n){return n==="all"}function j_e(n,e,t){var i=e.style;if(!n.isGroup&&i){if(t){n.useStyle({});for(var r=n.animators,a=0;a<r.length;a++){var o=r[a];o.targetName==="style"&&o.changeTarget(n.style)}}n.setStyle(i)}e&&(e.style=null,e&&n.attr(e),e.style=i)}function $_e(n,e,t,i,r){if(r){var a=LP("update",n,e,i,t);a.duration>0&&n.animateFrom(r,a)}}function q_e(n,e){Ct(e,"silent")&&(n.silent=e.silent),Ct(e,"ignore")&&(n.ignore=e.ignore),n instanceof Ca&&Ct(e,"invisible")&&(n.invisible=e.invisible),n instanceof E3&&Ct(e,"autoBatch")&&(n.autoBatch=e.autoBatch)}var wo={},X_e={setTransform:function(n,e){return wo.el[n]=e,this},getTransform:function(n){return wo.el[n]},setShape:function(n,e){var t=wo.el,i=t.shape||(t.shape={});return i[n]=e,t.dirtyShape&&t.dirtyShape(),this},getShape:function(n){var e=wo.el.shape;if(e)return e[n]},setStyle:function(n,e){var t=wo.el,i=t.style;return i&&(i[n]=e,t.dirtyStyle&&t.dirtyStyle()),this},getStyle:function(n){var e=wo.el.style;if(e)return e[n]},setExtra:function(n,e){var t=wo.el.extra||(wo.el.extra={});return t[n]=e,this},getExtra:function(n){var e=wo.el.extra;if(e)return e[n]}};function Y_e(){var n=this,e=n.el;if(e){var t=y7(e).userDuring,i=n.userDuring;if(t!==i){n.el=n.userDuring=null;return}wo.el=e,i(X_e)}}function cz(n,e,t,i){var r=t[n];if(r){var a=e[n],o;if(a){var s=t.transition,l=r.transition;if(l)if(!o&&(o=i[n]={}),M8(l))I2(o,a);else for(var u=T1(l),c=0;c<u.length;c++){var d=u[c],h=a[d];o[d]=h}else if(M8(s)||x3(s,n)>=0){!o&&(o=i[n]={});for(var f=L3(a),c=0;c<f.length;c++){var d=f[c],h=a[d];Q_e(r[d],h)&&(o[d]=h)}}}}}function dz(n,e,t){var i=e[n];if(i)for(var r=t[n]={},a=L3(i),o=0;o<a.length;o++){var s=a[o];r[s]=Gc(i[s])}}function K_e(n,e,t){for(var i=e.transition,r=M8(i)?Zo:T1(i||[]),a=0;a<r.length;a++){var o=r[a];if(!(o==="style"||o==="shape"||o==="extra")){var s=n[o];t[o]=s}}}function Z_e(n,e,t){for(var i=0;i<uz.length;i++){var r=uz[i],a=gJ[r],o=e[r];o&&(t[a[0]]=o[0],t[a[1]]=o[1])}for(var i=0;i<Zo.length;i++){var s=Zo[i];e[s]!=null&&(t[s]=e[s])}}function J_e(n,e,t,i){if(t){var r=n.style,a;if(r){var o=t.transition,s=e.transition;if(o&&!M8(o)){var l=T1(o);!a&&(a=i.style={});for(var u=0;u<l.length;u++){var c=l[u],d=r[c];a[c]=d}}else if(n.getAnimationStyleProps&&(M8(s)||M8(o)||x3(s,"style")>=0)){var h=n.getAnimationStyleProps(),f=h?h.style:null;if(f){!a&&(a=i.style={});for(var p=L3(t),u=0;u<p.length;u++){var c=p[u];if(f[c]){var d=r[c];a[c]=d}}}}}}}function Q_e(n,e){return ci(n)?n!==e:n!=null&&isFinite(n)}var _J=G3(),eSe=["percent","easing","shape","style","extra"];function SJ(n){n.stopAnimation("keyframe"),n.attr(_J(n))}function bg(n,e,t){if(!(!t.isAnimationEnabled()||!e)){if(j2(e)){ne(e,function(s){bg(n,s,t)});return}var i=e.keyframes,r=e.duration;if(t&&r==null){var a=G7("enter",t,0);r=a&&a.duration}if(!(!i||!r)){var o=_J(n);ne(Sg,function(s){if(!(s&&!n[s])){var l;i.sort(function(u,c){return u.percent-c.percent}),ne(i,function(u){var c=n.animators,d=s?u[s]:u;if(d){var h=L3(d);if(s||(h=c1(h,function(m){return x3(eSe,m)<0})),!!h.length){l||(l=n.animate(s,e.loop,!0),l.scope="keyframe");for(var f=0;f<c.length;f++)c[f]!==l&&c[f].targetName===l.targetName&&c[f].stopTracks(h);s&&(o[s]=o[s]||{});var p=s?o[s]:o;ne(h,function(m){p[m]=((s?n[s]:n)||{})[m]}),l.whenWithKeys(r*u.percent,d,h,u.easing)}}}),l&&l.delay(e.delay||0).duration(r).start(e.easing)}})}}}var Us="emphasis",s5="normal",IP="blur",DP="select",N5=[s5,Us,IP,DP],Qx={normal:["itemStyle"],emphasis:[Us,"itemStyle"],blur:[IP,"itemStyle"],select:[DP,"itemStyle"]},ew={normal:["label"],emphasis:[Us,"label"],blur:[IP,"label"],select:[DP,"label"]},tSe=["x","y"],nSe="e\0\0",Zr={normal:{},emphasis:{},blur:{},select:{}},iSe={cartesian2d:O_e,geo:z_e,single:U_e,polar:H_e,calendar:W_e};function yC(n){return n instanceof E3}function _C(n){return n instanceof Ca}function rSe(n,e){e.copyTransform(n),_C(e)&&_C(n)&&(e.setStyle(n.style),e.z=n.z,e.z2=n.z2,e.zlevel=n.zlevel,e.invisible=n.invisible,e.ignore=n.ignore,yC(e)&&yC(n)&&e.setShape(n.shape))}var aSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this._progressiveEls=null;var o=this._data,s=t.getData(),l=this.group,u=hz(t,s,i,r);o||l.removeAll(),s.diff(o).add(function(d){tw(r,null,d,u(d,a),t,l,s)}).remove(function(d){var h=o.getItemGraphicEl(d);h&&t_(h,Gs(h).option,t)}).update(function(d,h){var f=o.getItemGraphicEl(h);tw(r,f,d,u(d,a),t,l,s)}).execute();var c=t.get("clip",!0)?Mh(t.coordinateSystem,!1,t):null;c?l.setClipPath(c):l.removeClipPath(),this._data=s},e.prototype.incrementalPrepareRender=function(t,i,r){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,i,r,a,o){var s=i.getData(),l=hz(i,s,r,a),u=this._progressiveEls=[];function c(f){f.isGroup||(f.incremental=!0,f.ensureState("emphasis").hoverLayer=!0)}for(var d=t.start;d<t.end;d++){var h=tw(null,null,d,l(d,o),i,this.group,s);h&&(h.traverse(c),u.push(h))}},e.prototype.eachRendered=function(t){G5(this._progressiveEls||this.group,t)},e.prototype.filterForExposedEvent=function(t,i,r,a){var o=i.element;if(o==null||r.name===o)return!0;for(;(r=r.__hostTarget||r.parent)&&r!==this.group;)if(r.name===o)return!0;return!1},e.type="custom",e}(q1);const oSe=aSe;function NP(n){var e=n.type,t;if(e==="path"){var i=n.shape,r=i.width!=null&&i.height!=null?{x:i.x||0,y:i.y||0,width:i.width,height:i.height}:null,a=wJ(i);t=Ry(a,null,r,i.layout||"center"),Gs(t).customPathData=a}else if(e==="image")t=new $n({}),Gs(t).customImagePath=n.style.image;else if(e==="text")t=new X3({});else if(e==="group")t=new Qt;else{if(e==="compoundPath")throw new Error('"compoundPath" is not supported yet.');var o=bE(e);if(!o){var s="";l1(s)}t=new o}return Gs(t).customGraphicType=e,t.name=n.name,t.z2EmphasisLift=1,t.z2SelectLift=1,t}function kP(n,e,t,i,r,a,o){SJ(e);var s=r&&r.normal.cfg;s&&e.setTextConfig(s),i&&i.transition==null&&(i.transition=tSe);var l=i&&i.style;if(l){if(e.type==="text"){var u=l;Ct(u,"textFill")&&(u.fill=u.textFill),Ct(u,"textStroke")&&(u.stroke=u.textStroke)}var c=void 0,d=yC(e)?l.decal:null;n&&d&&(d.dirty=!0,c=f7(d,n)),l.__decalPattern=c}if(_C(e)&&l){var c=l.__decalPattern;c&&(l.decal=c)}cm(e,i,a,{dataIndex:t,isInit:o,clearStyle:!0}),bg(e,i.keyframeAnimation,a)}function bJ(n,e,t,i,r){var a=e.isGroup?null:e,o=r&&r[n].cfg;if(a){var s=a.ensureState(n);if(i===!1){var l=a.getState(n);l&&(l.style=null)}else s.style=i||null;o&&(s.textConfig=o),B8(a)}}function sSe(n,e,t){if(!n.isGroup){var i=n,r=t.currentZ,a=t.currentZLevel;i.z=r,i.zlevel=a;var o=e.z2;o!=null&&(i.z2=o||0);for(var s=0;s<N5.length;s++)lSe(i,e,N5[s])}}function lSe(n,e,t){var i=t===s5,r=i?e:xg(e,t),a=r?r.z2:null,o;a!=null&&(o=i?n:n.ensureState(t),o.z2=a||0)}function hz(n,e,t,i){var r=n.get("renderItem"),a=n.coordinateSystem,o={};a&&(o=a.prepareCustoms?a.prepareCustoms(a):iSe[a.type](a));for(var s=qt({getWidth:i.getWidth,getHeight:i.getHeight,getZr:i.getZr,getDevicePixelRatio:i.getDevicePixelRatio,value:x,style:C,ordinalRawValue:A,styleEmphasis:M,visual:E,barLayout:P,currentSeriesIndices:F,font:V},o.api||{}),l={context:{},seriesId:n.id,seriesName:n.name,seriesIndex:n.seriesIndex,coordSys:o.coordSys,dataInsideLength:e.count(),encode:uSe(n.getData())},u,c,d={},h={},f={},p={},m=0;m<N5.length;m++){var v=N5[m];f[v]=n.getModel(Qx[v]),p[v]=n.getModel(ew[v])}function g(G){return G===u?c||(c=e.getItemModel(G)):e.getItemModel(G)}function _(G,W){return e.hasItemOption?G===u?d[W]||(d[W]=g(G).getModel(Qx[W])):g(G).getModel(Qx[W]):f[W]}function S(G,W){return e.hasItemOption?G===u?h[W]||(h[W]=g(G).getModel(ew[W])):g(G).getModel(ew[W]):p[W]}return function(G,W){return u=G,c=null,d={},h={},r&&r(qt({dataIndexInside:G,dataIndex:e.getRawIndex(G),actionType:W?W.type:null},l),s)};function x(G,W){return W==null&&(W=u),e.getStore().get(e.getDimensionIndex(G||0),W)}function A(G,W){W==null&&(W=u),G=G||0;var Y=e.getDimensionInfo(G);if(!Y){var Q=e.getDimensionIndex(G);return Q>=0?e.getStore().get(Q,W):void 0}var K=e.get(Y.name,W),ae=Y&&Y.ordinalMeta;return ae?ae.categories[K]:K}function C(G,W){W==null&&(W=u);var Y=e.getItemVisual(W,"style"),Q=Y&&Y.fill,K=Y&&Y.opacity,ae=_(W,s5).getItemStyle();Q!=null&&(ae.fill=Q),K!=null&&(ae.opacity=K);var ie={inheritColor:xt(Q)?Q:"#000"},he=S(W,s5),Ee=j1(he,null,ie,!1,!0);Ee.text=he.getShallow("show")?a3(n.getFormattedLabel(W,s5),v7(e,W)):null;var je=Zm(he,ie,!1);return D(G,ae),ae=sz(ae,Ee,je),G&&I(ae,G),ae.legacy=!0,ae}function M(G,W){W==null&&(W=u);var Y=_(W,Us).getItemStyle(),Q=S(W,Us),K=j1(Q,null,null,!0,!0);K.text=Q.getShallow("show")?Ho(n.getFormattedLabel(W,Us),n.getFormattedLabel(W,s5),v7(e,W)):null;var ae=Zm(Q,null,!0);return D(G,Y),Y=sz(Y,K,ae),G&&I(Y,G),Y.legacy=!0,Y}function I(G,W){for(var Y in W)Ct(W,Y)&&(G[Y]=W[Y])}function D(G,W){G&&(G.textFill&&(W.textFill=G.textFill),G.textPosition&&(W.textPosition=G.textPosition))}function E(G,W){if(W==null&&(W=u),Ct(az,G)){var Y=e.getItemVisual(W,"style");return Y?Y[az[G]]:null}if(Ct(D_e,G))return e.getItemVisual(W,G)}function P(G){if(a.type==="cartesian2d"){var W=a.getBaseAxis();return uue(qt({axis:W},G))}}function F(){return t.getCurrentSeriesIndices()}function V(G){return xE(G,t)}}function uSe(n){var e={};return ne(n.dimensions,function(t){var i=n.getDimensionInfo(t);if(!i.isExtraCoord){var r=i.coordDim,a=e[r]=e[r]||[];a[i.coordDimIndex]=n.getDimensionIndex(t)}}),e}function tw(n,e,t,i,r,a,o){if(!i){a.remove(e);return}var s=FP(n,e,t,i,r,a);return s&&o.setItemGraphicEl(t,s),s&&g0(s,i.focus,i.blurScope,i.emphasisDisabled),s}function FP(n,e,t,i,r,a){var o=-1,s=e;e&&xJ(e,i,r)&&(o=x3(a.childrenRef(),e),e=null);var l=!e,u=e;u?u.clearStates():(u=NP(i),s&&rSe(s,u)),i.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),Zr.normal.cfg=Zr.normal.conOpt=Zr.emphasis.cfg=Zr.emphasis.conOpt=Zr.blur.cfg=Zr.blur.conOpt=Zr.select.cfg=Zr.select.conOpt=null,Zr.isLegacy=!1,dSe(u,t,i,r,l,Zr),cSe(u,t,i,r,l),kP(n,u,t,i,Zr,r,l),Ct(i,"info")&&(Gs(u).info=i.info);for(var c=0;c<N5.length;c++){var d=N5[c];if(d!==s5){var h=xg(i,d),f=OP(i,h,d);bJ(d,u,h,f,Zr)}}return sSe(u,i,r),i.type==="group"&&hSe(n,u,t,i,r),o>=0?a.replaceAt(u,o):a.add(u),u}function xJ(n,e,t){var i=Gs(n),r=e.type,a=e.shape,o=e.style;return t.isUniversalTransitionEnabled()||r!=null&&r!==i.customGraphicType||r==="path"&&mSe(a)&&wJ(a)!==i.customPathData||r==="image"&&Ct(o,"image")&&o.image!==i.customImagePath}function cSe(n,e,t,i,r){var a=t.clipPath;if(a===!1)n&&n.getClipPath()&&n.removeClipPath();else if(a){var o=n.getClipPath();o&&xJ(o,a,i)&&(o=null),o||(o=NP(a),n.setClipPath(o)),kP(null,o,e,a,null,i,r)}}function dSe(n,e,t,i,r,a){if(!n.isGroup){fz(t,null,a),fz(t,Us,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,l=a.blur.conOpt,u=a.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var c=n.getTextContent();if(o===!1)c&&n.removeTextContent();else{o=a.normal.conOpt=o||{type:"text"},c?c.clearStates():(c=NP(o),n.setTextContent(c)),kP(null,c,e,o,null,i,r);for(var d=o&&o.style,h=0;h<N5.length;h++){var f=N5[h];if(f!==s5){var p=a[f].conOpt;bJ(f,c,p,OP(o,p,f),null)}}d?c.dirty():c.markRedraw()}}}}function fz(n,e,t){var i=e?xg(n,e):n,r=e?OP(n,i,Us):n.style,a=n.type,o=i?i.textConfig:null,s=n.textContent,l=s?e?xg(s,e):s:null;if(r&&(t.isLegacy||vJ(r,a,!!o,!!l))){t.isLegacy=!0;var u=mJ(r,a,!e);!o&&u.textConfig&&(o=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var c=l;!c.type&&(c.type="text")}var d=e?t[e]:t.normal;d.cfg=o,d.conOpt=l}function xg(n,e){return e?n?n[e]:null:n}function OP(n,e,t){var i=e&&e.style;return i==null&&t===Us&&n&&(i=n.styleEmphasis),i}function hSe(n,e,t,i,r){var a=i.children,o=a?a.length:0,s=i.$mergeChildren,l=s==="byName"||i.diffChildrenByName,u=s===!1;if(!(!o&&!l&&!u)){if(l){pSe({api:n,oldChildren:e.children()||[],newChildren:a||[],dataIndex:t,seriesModel:r,group:e});return}u&&e.removeAll();for(var c=0;c<o;c++){var d=a[c],h=e.childAt(c);d?(d.ignore==null&&(d.ignore=!1),FP(n,h,t,d,r,e)):h.ignore=!0}for(var f=e.childCount()-1;f>=c;f--){var p=e.childAt(f);fSe(e,p,r)}}}function fSe(n,e,t){e&&t_(e,Gs(n).option,t)}function pSe(n){new Xs(n.oldChildren,n.newChildren,pz,pz,n).add(vz).update(vz).remove(vSe).execute()}function pz(n,e){var t=n&&n.name;return t!=null?t:nSe+e}function vz(n,e){var t=this.context,i=n!=null?t.newChildren[n]:null,r=e!=null?t.oldChildren[e]:null;FP(t.api,r,t.dataIndex,i,t.seriesModel,t.group)}function vSe(n){var e=this.context,t=e.oldChildren[n];t&&t_(t,Gs(t).option,e.seriesModel)}function wJ(n){return n&&(n.pathData||n.d)}function mSe(n){return n&&(Ct(n,"pathData")||Ct(n,"d"))}function gSe(n){n.registerChartView(oSe),n.registerSeriesModel(k_e)}var J9=G3(),mz=Zt,nw=Tt,ySe=function(){function n(){this._dragging=!1,this.animationThreshold=15}return n.prototype.render=function(e,t,i,r){var a=t.get("value"),o=t.get("status");if(this._axisModel=e,this._axisPointerModel=t,this._api=i,!(!r&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,a,e,t,i);var c=u.graphicKey;c!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=c;var d=this._moveAnimation=this.determineAnimation(e,t);if(!s)s=this._group=new Qt,this.createPointerEl(s,u,e,t),this.createLabelEl(s,u,e,t),i.getZr().add(s);else{var h=s3(gz,t,d);this.updatePointerEl(s,u,h),this.updateLabelEl(s,u,h,t)}_z(s,t,!0),this._renderHandle(a)}},n.prototype.remove=function(e){this.clear(e)},n.prototype.dispose=function(e){this.clear(e)},n.prototype.determineAnimation=function(e,t){var i=t.get("animation"),r=e.axis,a=r.type==="category",o=t.get("snap");if(!o&&!a)return!1;if(i==="auto"||i==null){var s=this.animationThreshold;if(a&&r.getBandWidth()>s)return!0;if(o){var l=aP(e).seriesDataCount,u=r.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return i===!0},n.prototype.makeElOption=function(e,t,i,r,a){},n.prototype.createPointerEl=function(e,t,i,r){var a=t.pointer;if(a){var o=J9(e).pointerEl=new J8[a.type](mz(t.pointer));e.add(o)}},n.prototype.createLabelEl=function(e,t,i,r){if(t.label){var a=J9(e).labelEl=new X3(mz(t.label));e.add(a),yz(a,r)}},n.prototype.updatePointerEl=function(e,t,i){var r=J9(e).pointerEl;r&&t.pointer&&(r.setStyle(t.pointer.style),i(r,{shape:t.pointer.shape}))},n.prototype.updateLabelEl=function(e,t,i,r){var a=J9(e).labelEl;a&&(a.setStyle(t.label.style),i(a,{x:t.label.x,y:t.label.y}),yz(a,r))},n.prototype._renderHandle=function(e){if(!(this._dragging||!this.updateHandleTransform)){var t=this._axisPointerModel,i=this._api.getZr(),r=this._handle,a=t.getModel("handle"),o=t.get("status");if(!a.get("show")||!o||o==="hide"){r&&i.remove(r),this._handle=null;return}var s;this._handle||(s=!0,r=this._handle=Sh(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){Ws(u.event)},onmousedown:nw(this._onHandleDragMove,this,0,0),drift:nw(this._onHandleDragMove,this),ondragend:nw(this._onHandleDragEnd,this)}),i.add(r)),_z(r,t,!1),r.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");j2(l)||(l=[l,l]),r.scaleX=l[0]/2,r.scaleY=l[1]/2,X7(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(e,s)}},n.prototype._moveHandleToValue=function(e,t){gz(this._axisPointerModel,!t&&this._moveAnimation,this._handle,iw(this.getHandleTransform(e,this._axisModel,this._axisPointerModel)))},n.prototype._onHandleDragMove=function(e,t){var i=this._handle;if(i){this._dragging=!0;var r=this.updateHandleTransform(iw(i),[e,t],this._axisModel,this._axisPointerModel);this._payloadInfo=r,i.stopAnimation(),i.attr(iw(r)),J9(i).lastProp=null,this._doDispatchAxisPointer()}},n.prototype._doDispatchAxisPointer=function(){var e=this._handle;if(e){var t=this._payloadInfo,i=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:i.axis.dim,axisIndex:i.componentIndex}]})}},n.prototype._onHandleDragEnd=function(){this._dragging=!1;var e=this._handle;if(e){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},n.prototype.clear=function(e){this._lastValue=null,this._lastStatus=null;var t=e.getZr(),i=this._group,r=this._handle;t&&i&&(this._lastGraphicKey=null,i&&t.remove(i),r&&t.remove(r),this._group=null,this._handle=null,this._payloadInfo=null),Nd(this,"_doDispatchAxisPointer")},n.prototype.doClear=function(){},n.prototype.buildLabel=function(e,t,i){return i=i||0,{x:e[i],y:e[1-i],width:t[i],height:t[1-i]}},n}();function gz(n,e,t,i){TJ(J9(t).lastProp,i)||(J9(t).lastProp=i,e?Q3(t,i,n):(t.stopAnimation(),t.attr(i)))}function TJ(n,e){if(Kt(n)&&Kt(e)){var t=!0;return ne(e,function(i,r){t=t&&TJ(n[r],i)}),!!t}else return n===e}function yz(n,e){n[e.get(["label","show"])?"show":"hide"]()}function iw(n){return{x:n.x||0,y:n.y||0,rotation:n.rotation||0}}function _z(n,e,t){var i=e.get("z"),r=e.get("zlevel");n&&n.traverse(function(a){a.type!=="group"&&(i!=null&&(a.z=i),r!=null&&(a.zlevel=r),a.silent=t)})}const BP=ySe;function zP(n){var e=n.get("type"),t=n.getModel(e+"Style"),i;return e==="line"?(i=t.getLineStyle(),i.fill=null):e==="shadow"&&(i=t.getAreaStyle(),i.stroke=null),i}function AJ(n,e,t,i,r){var a=t.get("value"),o=CJ(a,e.axis,e.ecModel,t.get("seriesDataIndices"),{precision:t.get(["label","precision"]),formatter:t.get(["label","formatter"])}),s=t.getModel("label"),l=H7(s.get("padding")||0),u=s.getFont(),c=mh(o,u),d=r.position,h=c.width+l[1]+l[3],f=c.height+l[0]+l[2],p=r.align;p==="right"&&(d[0]-=h),p==="center"&&(d[0]-=h/2);var m=r.verticalAlign;m==="bottom"&&(d[1]-=f),m==="middle"&&(d[1]-=f/2),_Se(d,h,f,i);var v=s.get("backgroundColor");(!v||v==="auto")&&(v=e.get(["axisLine","lineStyle","color"])),n.label={x:d[0],y:d[1],style:j1(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:v}),z2:10}}function _Se(n,e,t,i){var r=i.getWidth(),a=i.getHeight();n[0]=Math.min(n[0]+e,r)-e,n[1]=Math.min(n[1]+t,a)-t,n[0]=Math.max(n[0],0),n[1]=Math.max(n[1],0)}function CJ(n,e,t,i,r){n=e.scale.parse(n);var a=e.scale.getLabel({value:n},{precision:r.precision}),o=r.formatter;if(o){var s={value:YE(e,{value:n}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};ne(i,function(l){var u=t.getSeriesByIndex(l.seriesIndex),c=l.dataIndexInside,d=u&&u.getDataParams(c);d&&s.seriesData.push(d)}),xt(o)?a=o.replace("{value}",a):Wt(o)&&(a=o(s))}return a}function GP(n,e,t){var i=Ir();return K8(i,i,t.rotation),Ko(i,i,t.position),Qa([n.dataToCoord(e),(t.labelOffset||0)+(t.labelDirection||1)*(t.labelMargin||0)],i)}function MJ(n,e,t,i,r,a){var o=Ys.innerTextLayout(t.rotation,0,t.labelDirection);t.labelMargin=r.get(["label","margin"]),AJ(e,i,r,a,{position:GP(i.axis,n,t),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function UP(n,e,t){return t=t||0,{x1:n[t],y1:n[1-t],x2:e[t],y2:e[1-t]}}function EJ(n,e,t){return t=t||0,{x:n[t],y:n[1-t],width:e[t],height:e[1-t]}}function Sz(n,e,t,i,r,a){return{cx:n,cy:e,r0:t,r:i,startAngle:r,endAngle:a,clockwise:!0}}var SSe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis,l=s.grid,u=a.get("type"),c=bz(l,s).getOtherAxis(s).getGlobalExtent(),d=s.toGlobalCoord(s.dataToCoord(i,!0));if(u&&u!=="none"){var h=zP(a),f=bSe[u](s,d,c);f.style=h,t.graphicKey=f.type,t.pointer=f}var p=tC(l.model,r);MJ(i,t,p,r,a,o)},e.prototype.getHandleTransform=function(t,i,r){var a=tC(i.axis.grid.model,i,{labelInside:!1});a.labelMargin=r.get(["handle","margin"]);var o=GP(i.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,i,r,a){var o=r.axis,s=o.grid,l=o.getGlobalExtent(!0),u=bz(s,o).getOtherAxis(o).getGlobalExtent(),c=o.dim==="x"?0:1,d=[t.x,t.y];d[c]+=i[c],d[c]=Math.min(l[1],d[c]),d[c]=Math.max(l[0],d[c]);var h=(u[1]+u[0])/2,f=[h,h];f[c]=d[c];var p=[{verticalAlign:"middle"},{align:"center"}];return{x:d[0],y:d[1],rotation:t.rotation,cursorPoint:f,tooltipOption:p[c]}},e}(BP);function bz(n,e){var t={};return t[e.dim+"AxisIndex"]=e.index,n.getCartesian(t)}var bSe={line:function(n,e,t){var i=UP([e,t[0]],[e,t[1]],xz(n));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(n,e,t){var i=Math.max(1,n.getBandWidth()),r=t[1]-t[0];return{type:"Rect",shape:EJ([e-i/2,t[0]],[i,r],xz(n))}}};function xz(n){return n.dim==="x"?0:1}const xSe=SSe;var wSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,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:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,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}($3);const TSe=wSe;var Ns=G3(),ASe=ne;function PJ(n,e,t){if(!q3.node){var i=e.getZr();Ns(i).records||(Ns(i).records={}),CSe(i,e);var r=Ns(i).records[n]||(Ns(i).records[n]={});r.handler=t}}function CSe(n,e){if(Ns(n).initialized)return;Ns(n).initialized=!0,t("click",s3(wz,"click")),t("mousemove",s3(wz,"mousemove")),t("globalout",ESe);function t(i,r){n.on(i,function(a){var o=PSe(e);ASe(Ns(n).records,function(s){s&&r(s,a,o.dispatchAction)}),MSe(o.pendings,e)})}}function MSe(n,e){var t=n.showTip.length,i=n.hideTip.length,r;t?r=n.showTip[t-1]:i&&(r=n.hideTip[i-1]),r&&(r.dispatchAction=null,e.dispatchAction(r))}function ESe(n,e,t){n.handler("leave",null,t)}function wz(n,e,t,i){e.handler(n,t,i)}function PSe(n){var e={showTip:[],hideTip:[]},t=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=t,n.dispatchAction(i))};return{dispatchAction:t,pendings:e}}function SC(n,e){if(!q3.node){var t=e.getZr(),i=(Ns(t).records||{})[n];i&&(Ns(t).records[n]=null)}}var RSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=i.getComponent("tooltip"),o=t.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";PJ("axisPointer",r,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},e.prototype.remove=function(t,i){SC("axisPointer",i)},e.prototype.dispose=function(t,i){SC("axisPointer",i)},e.type="axisPointer",e}(b0);const LSe=RSe;function RJ(n,e){var t=[],i=n.seriesIndex,r;if(i==null||!(r=e.getSeriesByIndex(i)))return{point:[]};var a=r.getData(),o=F8(a,n);if(o==null||o<0||j2(o))return{point:[]};var s=a.getItemGraphicEl(o),l=r.coordinateSystem;if(r.getTooltipPosition)t=r.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(n.isStacked){var u=l.getBaseAxis(),c=l.getOtherAxis(u),d=c.dim,h=u.dim,f=d==="x"||d==="radius"?1:0,p=a.mapDimension(h),m=[];m[f]=a.get(p,o),m[1-f]=a.get(a.getCalculationInfo("stackResultDimension"),o),t=l.dataToPoint(m)||[]}else t=l.dataToPoint(a.getValues(q2(l.dimensions,function(g){return a.mapDimension(g)}),o))||[];else if(s){var v=s.getBoundingRect().clone();v.applyTransform(s.transform),t=[v.x+v.width/2,v.y+v.height/2]}return{point:t,el:s}}var Tz=G3();function ISe(n,e,t){var i=n.currTrigger,r=[n.x,n.y],a=n,o=n.dispatchAction||Tt(t.dispatchAction,t),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){dm(r)&&(r=RJ({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=dm(r),u=a.axesInfo,c=s.axesInfo,d=i==="leave"||dm(r),h={},f={},p={list:[],map:{}},m={showPointer:s3(NSe,f),showTooltip:s3(kSe,p)};ne(s.coordSysMap,function(g,_){var S=l||g.containPoint(r);ne(s.coordSysAxesInfo[_],function(x,A){var C=x.axis,M=zSe(u,x);if(!d&&S&&(!u||M)){var I=M&&M.value;I==null&&!l&&(I=C.pointToData(r)),I!=null&&Az(x,I,m,!1,h)}})});var v={};return ne(c,function(g,_){var S=g.linkGroup;S&&!f[_]&&ne(S.axesInfo,function(x,A){var C=f[A];if(x!==g&&C){var M=C.value;S.mapper&&(M=g.axis.scale.parse(S.mapper(M,Cz(x),Cz(g)))),v[g.key]=M}})}),ne(v,function(g,_){Az(c[_],g,m,!0,h)}),FSe(f,c,h),OSe(p,r,n,o),BSe(c,o,t),h}}function Az(n,e,t,i,r){var a=n.axis;if(!(a.scale.isBlank()||!a.containData(e))){if(!n.involveSeries){t.showPointer(n,e);return}var o=DSe(e,n),s=o.payloadBatch,l=o.snapToValue;s[0]&&r.seriesIndex==null&&I2(r,s[0]),!i&&n.snap&&a.containData(l)&&l!=null&&(e=l),t.showPointer(n,e,s),t.showTooltip(n,o,l)}}function DSe(n,e){var t=e.axis,i=t.dim,r=n,a=[],o=Number.MAX_VALUE,s=-1;return ne(e.seriesModels,function(l,u){var c=l.getData().mapDimensionsAll(i),d,h;if(l.getAxisTooltipData){var f=l.getAxisTooltipData(c,n,t);h=f.dataIndices,d=f.nestestValue}else{if(h=l.getData().indicesOfNearest(c[0],n,t.type==="category"?.5:null),!h.length)return;d=l.getData().get(c[0],h[0])}if(!(d==null||!isFinite(d))){var p=n-d,m=Math.abs(p);m<=o&&((m<o||p>=0&&s<0)&&(o=m,s=p,r=d,a.length=0),ne(h,function(v){a.push({seriesIndex:l.seriesIndex,dataIndexInside:v,dataIndex:l.getData().getRawIndex(v)})}))}}),{payloadBatch:a,snapToValue:r}}function NSe(n,e,t,i){n[e.key]={value:t,payloadBatch:i}}function kSe(n,e,t,i){var r=t.payloadBatch,a=e.axis,o=a.model,s=e.axisPointerModel;if(!(!e.triggerTooltip||!r.length)){var l=e.coordSys.model,u=Gd(l),c=n.map[u];c||(c=n.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},n.list.push(c)),c.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function FSe(n,e,t){var i=t.axesInfo=[];ne(e,function(r,a){var o=r.axisPointerModel.option,s=n[a];s?(!r.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!r.useHandle&&(o.status="hide"),o.status==="show"&&i.push({axisDim:r.axis.dim,axisIndex:r.axis.model.componentIndex,value:o.value})})}function OSe(n,e,t,i){if(dm(e)||!n.list.length){i({type:"hideTip"});return}var r=((n.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:t.tooltipOption,position:t.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:n.list})}function BSe(n,e,t){var i=t.getZr(),r="axisPointerLastHighlights",a=Tz(i)[r]||{},o=Tz(i)[r]={};ne(n,function(u,c){var d=u.axisPointerModel.option;d.status==="show"&&u.triggerEmphasis&&ne(d.seriesDataIndices,function(h){var f=h.seriesIndex+" | "+h.dataIndex;o[f]=h})});var s=[],l=[];ne(a,function(u,c){!o[c]&&l.push(u)}),ne(o,function(u,c){!a[c]&&s.push(u)}),l.length&&t.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&t.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function zSe(n,e){for(var t=0;t<(n||[]).length;t++){var i=n[t];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}function Cz(n){var e=n.axis.model,t={},i=t.axisDim=n.axis.dim;return t.axisIndex=t[i+"AxisIndex"]=e.componentIndex,t.axisName=t[i+"AxisName"]=e.name,t.axisId=t[i+"AxisId"]=e.id,t}function dm(n){return!n||n[0]==null||isNaN(n[0])||n[1]==null||isNaN(n[1])}function Dh(n){i4.registerAxisPointerClass("CartesianAxisPointer",xSe),n.registerComponentModel(TSe),n.registerComponentView(LSe),n.registerPreprocessor(function(e){if(e){(!e.axisPointer||e.axisPointer.length===0)&&(e.axisPointer={});var t=e.axisPointer.link;t&&!j2(t)&&(e.axisPointer.link=[t])}}),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,function(e,t){e.getComponent("axisPointer").coordSysAxesInfo=Che(e,t)}),n.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},ISe)}function GSe(n){C3(nZ),C3(Dh)}var USe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),c=u.getExtent(),d=s.dataToCoord(i),h=a.get("type");if(h&&h!=="none"){var f=zP(a),p=HSe[h](s,l,d,c);p.style=f,t.graphicKey=p.type,t.pointer=p}var m=a.get(["label","margin"]),v=VSe(i,r,a,l,m);AJ(t,r,a,o,v)},e}(BP);function VSe(n,e,t,i,r){var a=e.axis,o=a.dataToCoord(n),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=i.getRadiusAxis().getExtent(),u,c,d;if(a.dim==="radius"){var h=Ir();K8(h,h,s),Ko(h,h,[i.cx,i.cy]),u=Qa([o,-r],h);var f=e.getModel("axisLabel").get("rotate")||0,p=Ys.innerTextLayout(s,f*Math.PI/180,-1);c=p.textAlign,d=p.textVerticalAlign}else{var m=l[1];u=i.coordToPoint([m+r,o]);var v=i.cx,g=i.cy;c=Math.abs(u[0]-v)/m<.3?"center":u[0]>v?"left":"right",d=Math.abs(u[1]-g)/m<.3?"middle":u[1]>g?"top":"bottom"}return{position:u,align:c,verticalAlign:d}}var HSe={line:function(n,e,t,i){return n.dim==="angle"?{type:"Line",shape:UP(e.coordToPoint([i[0],t]),e.coordToPoint([i[1],t]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:t}}},shadow:function(n,e,t,i){var r=Math.max(1,n.getBandWidth()),a=Math.PI/180;return n.dim==="angle"?{type:"Sector",shape:Sz(e.cx,e.cy,i[0],i[1],(-t-r/2)*a,(-t+r/2)*a)}:{type:"Sector",shape:Sz(e.cx,e.cy,t-r/2,t+r/2,0,Math.PI*2)}}};const WSe=USe;var jSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.findAxisModel=function(t){var i,r=this.ecModel;return r.eachComponent(t,function(a){a.getCoordSysModel()===this&&(i=a)},this),i},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}($3);const $Se=jSe;var VP=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",q0).models[0]},e.type="polarAxis",e}($3);K0(VP,Th);var qSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="angleAxis",e}(VP),XSe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="radiusAxis",e}(VP),HP=function(n){o2(e,n);function e(t,i){return n.call(this,"radius",t,i)||this}return e.prototype.pointToData=function(t,i){return this.polar.pointToData(t,i)[this.dim==="radius"?0:1]},e}(ao);HP.prototype.dataToRadius=ao.prototype.dataToCoord;HP.prototype.radiusToData=ao.prototype.coordToData;const YSe=HP;var KSe=G3(),WP=function(n){o2(e,n);function e(t,i){return n.call(this,"angle",t,i||[0,360])||this}return e.prototype.pointToData=function(t,i){return this.polar.pointToData(t,i)[this.dim==="radius"?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,i=t.getLabelModel(),r=t.scale,a=r.getExtent(),o=r.count();if(a[1]-a[0]<1)return 0;var s=a[0],l=t.dataToCoord(s+1)-t.dataToCoord(s),u=Math.abs(l),c=mh(s==null?"":s+"",i.getFont(),"center","top"),d=Math.max(c.height,7),h=d/u;isNaN(h)&&(h=1/0);var f=Math.max(0,Math.floor(h)),p=KSe(t.model),m=p.lastAutoInterval,v=p.lastTickCount;return m!=null&&v!=null&&Math.abs(m-f)<=1&&Math.abs(v-o)<=1&&m>f?f=m:(p.lastTickCount=o,p.lastAutoInterval=f),f},e}(ao);WP.prototype.dataToAngle=ao.prototype.dataToCoord;WP.prototype.angleToData=ao.prototype.coordToData;const ZSe=WP;var LJ=["radius","angle"],JSe=function(){function n(e){this.dimensions=LJ,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new YSe,this._angleAxis=new ZSe,this.axisPointerEnabled=!0,this.name=e||"",this._radiusAxis.polar=this._angleAxis.polar=this}return n.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},n.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},n.prototype.getAxis=function(e){var t="_"+e+"Axis";return this[t]},n.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},n.prototype.getAxesByScale=function(e){var t=[],i=this._angleAxis,r=this._radiusAxis;return i.scale.type===e&&t.push(i),r.scale.type===e&&t.push(r),t},n.prototype.getAngleAxis=function(){return this._angleAxis},n.prototype.getRadiusAxis=function(){return this._radiusAxis},n.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},n.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},n.prototype.getTooltipAxes=function(e){var t=e!=null&&e!=="auto"?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},n.prototype.dataToPoint=function(e,t){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)])},n.prototype.pointToData=function(e,t){var i=this.pointToCoord(e);return[this._radiusAxis.radiusToData(i[0],t),this._angleAxis.angleToData(i[1],t)]},n.prototype.pointToCoord=function(e){var t=e[0]-this.cx,i=e[1]-this.cy,r=this.getAngleAxis(),a=r.getExtent(),o=Math.min(a[0],a[1]),s=Math.max(a[0],a[1]);r.inverse?o=s-360:s=o+360;var l=Math.sqrt(t*t+i*i);t/=l,i/=l;for(var u=Math.atan2(-i,t)/Math.PI*180,c=u<o?1:-1;u<o||u>s;)u+=c*360;return[l,u]},n.prototype.coordToPoint=function(e){var t=e[0],i=e[1]/180*Math.PI,r=Math.cos(i)*t+this.cx,a=-Math.sin(i)*t+this.cy;return[r,a]},n.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis(),i=t.getExtent().slice();i[0]>i[1]&&i.reverse();var r=e.getExtent(),a=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:i[0],r:i[1],startAngle:-r[0]*a,endAngle:-r[1]*a,clockwise:e.inverse,contain:function(s,l){var u=s-this.cx,c=l-this.cy,d=u*u+c*c,h=this.r,f=this.r0;return h!==f&&d-o<=h*h&&d+o>=f*f}}},n.prototype.convertToPixel=function(e,t,i){var r=Mz(t);return r===this?this.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=Mz(t);return r===this?this.pointToData(i):null},n}();function Mz(n){var e=n.seriesModel,t=n.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}const QSe=JSe;function ebe(n,e,t){var i=e.get("center"),r=t.getWidth(),a=t.getHeight();n.cx=mt(i[0],r),n.cy=mt(i[1],a);var o=n.getRadiusAxis(),s=Math.min(r,a)/2,l=e.get("radius");l==null?l=[0,"100%"]:j2(l)||(l=[0,l]);var u=[mt(l[0],s),mt(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function tbe(n,e){var t=this,i=t.getAngleAxis(),r=t.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),n.eachSeries(function(s){if(s.coordinateSystem===t){var l=s.getData();ne(lg(l,"radius"),function(u){r.scale.unionExtentFromData(l,u)}),ne(lg(l,"angle"),function(u){i.scale.unionExtentFromData(l,u)})}}),p7(i.scale,i.model),p7(r.scale,r.model),i.type==="category"&&!i.onBand){var a=i.getExtent(),o=360/i.scale.count();i.inverse?a[1]+=o:a[1]-=o,i.setExtent(a[0],a[1])}}function nbe(n){return n.mainType==="angleAxis"}function Ez(n,e){var t;if(n.type=e.get("type"),n.scale=Xy(e),n.onBand=e.get("boundaryGap")&&n.type==="category",n.inverse=e.get("inverse"),nbe(e)){n.inverse=n.inverse!==e.get("clockwise");var i=e.get("startAngle"),r=(t=e.get("endAngle"))!==null&&t!==void 0?t:i+(n.inverse?-360:360);n.setExtent(i,r)}e.axis=n,n.model=e}var ibe={dimensions:LJ,create:function(n,e){var t=[];return n.eachComponent("polar",function(i,r){var a=new QSe(r+"");a.update=tbe;var o=a.getRadiusAxis(),s=a.getAngleAxis(),l=i.findAxisModel("radiusAxis"),u=i.findAxisModel("angleAxis");Ez(o,l),Ez(s,u),ebe(a,i,e),t.push(a),i.coordinateSystem=a,a.model=i}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="polar"){var r=i.getReferringComponents("polar",q0).models[0];i.coordinateSystem=r.coordinateSystem}}),t}};const rbe=ibe;var abe=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Ep(n,e,t){e[1]>e[0]&&(e=e.slice().reverse());var i=n.coordToPoint([e[0],t]),r=n.coordToPoint([e[1],t]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function Pp(n){var e=n.getRadiusAxis();return e.inverse?0:1}function Pz(n){var e=n[0],t=n[n.length-1];e&&t&&Math.abs(Math.abs(e.coord-t.coord)-360)<1e-4&&n.pop()}var obe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,i){if(this.group.removeAll(),!!t.get("show")){var r=t.axis,a=r.polar,o=a.getRadiusAxis().getExtent(),s=r.getTicksCoords(),l=r.getMinorTicksCoords(),u=q2(r.getViewLabels(),function(c){c=Zt(c);var d=r.scale,h=d.type==="ordinal"?d.getRawOrdinalNumber(c.tickValue):c.tickValue;return c.coord=r.dataToCoord(h),c});Pz(u),Pz(s),ne(abe,function(c){t.get([c,"show"])&&(!r.scale.isBlank()||c==="axisLine")&&sbe[c](this.group,t,a,s,l,o,u)},this)}},e.type="angleAxis",e}(i4),sbe={axisLine:function(n,e,t,i,r,a){var o=e.getModel(["axisLine","lineStyle"]),s=t.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),c=Pp(t),d=c?0:1,h,f=Math.abs(u[1]-u[0])===360?"Circle":"Arc";a[d]===0?h=new J8[f]({shape:{cx:t.cx,cy:t.cy,r:a[c],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):h=new Ey({shape:{cx:t.cx,cy:t.cy,r:a[c],r0:a[d]},style:o.getLineStyle(),z2:1,silent:!0}),h.style.fill=null,n.add(h)},axisTick:function(n,e,t,i,r,a){var o=e.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=a[Pp(t)],u=q2(i,function(c){return new Rn({shape:Ep(t,[l,l+s],c.coord)})});n.add(va(u,{style:qt(o.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(n,e,t,i,r,a){if(r.length){for(var o=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=a[Pp(t)],c=[],d=0;d<r.length;d++)for(var h=0;h<r[d].length;h++)c.push(new Rn({shape:Ep(t,[u,u+l],r[d][h].coord)}));n.add(va(c,{style:qt(s.getModel("lineStyle").getLineStyle(),qt(o.getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(n,e,t,i,r,a,o){var s=e.getCategories(!0),l=e.getModel("axisLabel"),u=l.get("margin"),c=e.get("triggerEvent");ne(o,function(d,h){var f=l,p=d.tickValue,m=a[Pp(t)],v=t.coordToPoint([m+u,d.coord]),g=t.cx,_=t.cy,S=Math.abs(v[0]-g)/m<.3?"center":v[0]>g?"left":"right",x=Math.abs(v[1]-_)/m<.3?"middle":v[1]>_?"top":"bottom";if(s&&s[p]){var A=s[p];Kt(A)&&A.textStyle&&(f=new $1(A.textStyle,l,l.ecModel))}var C=new X3({silent:Ys.isLabelSilent(e),style:j1(f,{x:v[0],y:v[1],fill:f.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:d.formattedLabel,align:S,verticalAlign:x})});if(n.add(C),c){var M=Ys.makeAxisEventDataBase(e);M.targetType="axisLabel",M.value=d.rawLabel,t3(C).eventData=M}},this)},splitLine:function(n,e,t,i,r,a){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=0;d<i.length;d++){var h=u++%l.length;c[h]=c[h]||[],c[h].push(new Rn({shape:Ep(t,a,i[d].coord)}))}for(var d=0;d<c.length;d++)n.add(va(c[d],{style:qt({stroke:l[d%l.length]},s.getLineStyle()),silent:!0,z:e.get("z")}))},minorSplitLine:function(n,e,t,i,r,a){if(r.length){for(var o=e.getModel("minorSplitLine"),s=o.getModel("lineStyle"),l=[],u=0;u<r.length;u++)for(var c=0;c<r[u].length;c++)l.push(new Rn({shape:Ep(t,a,r[u][c].coord)}));n.add(va(l,{style:s.getLineStyle(),silent:!0,z:e.get("z")}))}},splitArea:function(n,e,t,i,r,a){if(i.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=Math.PI/180,h=-i[0].coord*d,f=Math.min(a[0],a[1]),p=Math.max(a[0],a[1]),m=e.get("clockwise"),v=1,g=i.length;v<=g;v++){var _=v===g?i[0].coord:i[v].coord,S=u++%l.length;c[S]=c[S]||[],c[S].push(new sr({shape:{cx:t.cx,cy:t.cy,r0:f,r:p,startAngle:h,endAngle:-_*d,clockwise:m},silent:!0})),h=-_*d}for(var v=0;v<c.length;v++)n.add(va(c[v],{style:qt({fill:l[v%l.length]},s.getAreaStyle()),silent:!0}))}}};const lbe=obe;var ube=["axisLine","axisTickLabel","axisName"],cbe=["splitLine","splitArea","minorSplitLine"],dbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,i){if(this.group.removeAll(),!!t.get("show")){var r=this._axisGroup,a=this._axisGroup=new Qt;this.group.add(a);var o=t.axis,s=o.polar,l=s.getAngleAxis(),u=o.getTicksCoords(),c=o.getMinorTicksCoords(),d=l.getExtent()[0],h=o.getExtent(),f=fbe(s,t,d),p=new Ys(t,f);ne(ube,p.add,p),a.add(p.getGroup()),_h(r,a,t),ne(cbe,function(m){t.get([m,"show"])&&!o.scale.isBlank()&&hbe[m](this.group,t,s,d,h,u,c)},this)}},e.type="radiusAxis",e}(i4),hbe={splitLine:function(n,e,t,i,r,a){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0,c=t.getAngleAxis(),d=Math.PI/180,h=c.getExtent(),f=Math.abs(h[1]-h[0])===360?"Circle":"Arc";l=l instanceof Array?l:[l];for(var p=[],m=0;m<a.length;m++){var v=u++%l.length;p[v]=p[v]||[],p[v].push(new J8[f]({shape:{cx:t.cx,cy:t.cy,r:Math.max(a[m].coord,0),startAngle:-h[0]*d,endAngle:-h[1]*d,clockwise:c.inverse}}))}for(var m=0;m<p.length;m++)n.add(va(p[m],{style:qt({stroke:l[m%l.length],fill:null},s.getLineStyle()),silent:!0}))},minorSplitLine:function(n,e,t,i,r,a,o){if(o.length){for(var s=e.getModel("minorSplitLine"),l=s.getModel("lineStyle"),u=[],c=0;c<o.length;c++)for(var d=0;d<o[c].length;d++)u.push(new z5({shape:{cx:t.cx,cy:t.cy,r:o[c][d].coord}}));n.add(va(u,{style:qt({fill:null},l.getLineStyle()),silent:!0}))}},splitArea:function(n,e,t,i,r,a){if(a.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=a[0].coord,h=1;h<a.length;h++){var f=u++%l.length;c[f]=c[f]||[],c[f].push(new sr({shape:{cx:t.cx,cy:t.cy,r0:d,r:a[h].coord,startAngle:0,endAngle:Math.PI*2},silent:!0})),d=a[h].coord}for(var h=0;h<c.length;h++)n.add(va(c[h],{style:qt({fill:l[h%l.length]},s.getAreaStyle()),silent:!0}))}}};function fbe(n,e,t){return{position:[n.cx,n.cy],rotation:t/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}const pbe=dbe;function IJ(n){return n.get("stack")||"__ec_stack_"+n.seriesIndex}function DJ(n,e){return e.dim+n.model.componentIndex}function vbe(n,e,t){var i={},r=mbe(c1(e.getSeriesByType(n),function(a){return!e.isSeriesFiltered(a)&&a.coordinateSystem&&a.coordinateSystem.type==="polar"}));e.eachSeriesByType(n,function(a){if(a.coordinateSystem.type==="polar"){var o=a.getData(),s=a.coordinateSystem,l=s.getBaseAxis(),u=DJ(s,l),c=IJ(a),d=r[u][c],h=d.offset,f=d.width,p=s.getOtherAxis(l),m=a.coordinateSystem.cx,v=a.coordinateSystem.cy,g=a.get("barMinHeight")||0,_=a.get("barMinAngle")||0;i[c]=i[c]||[];for(var S=o.mapDimension(p.dim),x=o.mapDimension(l.dim),A=L5(o,S),C=l.dim!=="radius"||!a.get("roundCap",!0),M=p.model,I=M.get("startValue"),D=p.dataToCoord(I||0),E=0,P=o.count();E<P;E++){var F=o.get(S,E),V=o.get(x,E),G=F>=0?"p":"n",W=D;A&&(i[c][V]||(i[c][V]={p:D,n:D}),W=i[c][V][G]);var Y=void 0,Q=void 0,K=void 0,ae=void 0;if(p.dim==="radius"){var ie=p.dataToCoord(F)-D,he=l.dataToCoord(V);Math.abs(ie)<g&&(ie=(ie<0?-1:1)*g),Y=W,Q=W+ie,K=he-h,ae=K-f,A&&(i[c][V][G]=Q)}else{var Ee=p.dataToCoord(F,C)-D,je=l.dataToCoord(V);Math.abs(Ee)<_&&(Ee=(Ee<0?-1:1)*_),Y=je+h,Q=Y+f,K=W,ae=W+Ee,A&&(i[c][V][G]=ae)}o.setItemLayout(E,{cx:m,cy:v,r0:Y,r:Q,startAngle:-K*Math.PI/180,endAngle:-ae*Math.PI/180,clockwise:K>=ae})}}})}function mbe(n){var e={};ne(n,function(i,r){var a=i.getData(),o=i.coordinateSystem,s=o.getBaseAxis(),l=DJ(o,s),u=s.getExtent(),c=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/a.count(),d=e[l]||{bandWidth:c,remainedWidth:c,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=d.stacks;e[l]=d;var f=IJ(i);h[f]||d.autoWidthCount++,h[f]=h[f]||{width:0,maxWidth:0};var p=mt(i.get("barWidth"),c),m=mt(i.get("barMaxWidth"),c),v=i.get("barGap"),g=i.get("barCategoryGap");p&&!h[f].width&&(p=Math.min(d.remainedWidth,p),h[f].width=p,d.remainedWidth-=p),m&&(h[f].maxWidth=m),v!=null&&(d.gap=v),g!=null&&(d.categoryGap=g)});var t={};return ne(e,function(i,r){t[r]={};var a=i.stacks,o=i.bandWidth,s=mt(i.categoryGap,o),l=mt(i.gap,1),u=i.remainedWidth,c=i.autoWidthCount,d=(u-s)/(c+(c-1)*l);d=Math.max(d,0),ne(a,function(m,v){var g=m.maxWidth;g&&g<d&&(g=Math.min(g,u),m.width&&(g=Math.min(g,m.width)),u-=g,m.width=g,c--)}),d=(u-s)/(c+(c-1)*l),d=Math.max(d,0);var h=0,f;ne(a,function(m,v){m.width||(m.width=d),f=m,h+=m.width*(1+l)}),f&&(h-=f.width*l);var p=-h/2;ne(a,function(m,v){t[r][v]=t[r][v]||{offset:p,width:m.width},p+=m.width*(1+l)})}),t}var gbe={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},ybe={splitNumber:5},_be=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="polar",e}(b0);function Sbe(n){C3(Dh),i4.registerAxisPointerClass("PolarAxisPointer",WSe),n.registerCoordinateSystem("polar",rbe),n.registerComponentModel($Se),n.registerComponentView(_be),m7(n,"angle",qSe,gbe),m7(n,"radius",XSe,ybe),n.registerComponentView(lbe),n.registerComponentView(pbe),n.registerLayout(s3(vbe,"bar"))}function bC(n,e){e=e||{};var t=n.coordinateSystem,i=n.axis,r={},a=i.position,o=i.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]}};r.position=[o==="vertical"?u.vertical[a]:l[0],o==="horizontal"?u.horizontal[a]:l[3]];var c={horizontal:0,vertical:1};r.rotation=Math.PI/2*c[o];var d={top:-1,bottom:1,right:1,left:-1};r.labelDirection=r.tickDirection=r.nameDirection=d[a],n.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),Pn(e.labelInside,n.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return h==null&&(h=n.get(["axisLabel","rotate"])),r.labelRotation=a==="top"?-h:h,r.z2=1,r}var bbe=["axisLine","axisTickLabel","axisName"],xbe=["splitArea","splitLine"],wbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="SingleAxisPointer",t}return e.prototype.render=function(t,i,r,a){var o=this.group;o.removeAll();var s=this._axisGroup;this._axisGroup=new Qt;var l=bC(t),u=new Ys(t,l);ne(bbe,u.add,u),o.add(this._axisGroup),o.add(u.getGroup()),ne(xbe,function(c){t.get([c,"show"])&&Tbe[c](this,this.group,this._axisGroup,t)},this),_h(s,this._axisGroup,t),n.prototype.render.call(this,t,i,r,a)},e.prototype.remove=function(){QK(this)},e.type="singleAxis",e}(i4),Tbe={splitLine:function(n,e,t,i){var r=i.axis;if(!r.scale.isBlank()){var a=i.getModel("splitLine"),o=a.getModel("lineStyle"),s=o.get("color");s=s instanceof Array?s:[s];for(var l=o.get("width"),u=i.coordinateSystem.getRect(),c=r.isHorizontal(),d=[],h=0,f=r.getTicksCoords({tickModel:a}),p=[],m=[],v=0;v<f.length;++v){var g=r.toGlobalCoord(f[v].coord);c?(p[0]=g,p[1]=u.y,m[0]=g,m[1]=u.y+u.height):(p[0]=u.x,p[1]=g,m[0]=u.x+u.width,m[1]=g);var _=new Rn({shape:{x1:p[0],y1:p[1],x2:m[0],y2:m[1]},silent:!0});d7(_.shape,l);var S=h++%s.length;d[S]=d[S]||[],d[S].push(_)}for(var x=o.getLineStyle(["color"]),v=0;v<d.length;++v)e.add(va(d[v],{style:qt({stroke:s[v%s.length]},x),silent:!0}))}},splitArea:function(n,e,t,i){JK(n,t,i,i)}};const Abe=wbe;var NJ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getCoordSysModel=function(){return this},e.type="singleAxis",e.layoutMode="box",e.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}},e}($3);K0(NJ,Th.prototype);const rw=NJ;var Cbe=function(n){o2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.type=a||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.pointToData=function(t,i){return this.coordinateSystem.pointToData(t)[0]},e}(ao);const Mbe=Cbe;var kJ=["single"],Ebe=function(){function n(e,t,i){this.type="single",this.dimension="single",this.dimensions=kJ,this.axisPointerEnabled=!0,this.model=e,this._init(e,t,i)}return n.prototype._init=function(e,t,i){var r=this.dimension,a=new Mbe(r,Xy(e),[0,0],e.get("type"),e.get("position")),o=a.type==="category";a.onBand=o&&e.get("boundaryGap"),a.inverse=e.get("inverse"),a.orient=e.get("orient"),e.axis=a,a.model=e,a.coordinateSystem=this,this._axis=a},n.prototype.update=function(e,t){e.eachSeries(function(i){if(i.coordinateSystem===this){var r=i.getData();ne(r.mapDimensionsAll(this.dimension),function(a){this._axis.scale.unionExtentFromData(r,a)},this),p7(this._axis.scale,this._axis.model)}},this)},n.prototype.resize=function(e,t){this._rect=un({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()},n.prototype.getRect=function(){return this._rect},n.prototype._adjustAxis=function(){var e=this._rect,t=this._axis,i=t.isHorizontal(),r=i?[0,e.width]:[0,e.height],a=t.inverse?1:0;t.setExtent(r[a],r[1-a]),this._updateAxisTransform(t,i?e.x:e.y)},n.prototype._updateAxisTransform=function(e,t){var i=e.getExtent(),r=i[0]+i[1],a=e.isHorizontal();e.toGlobalCoord=a?function(o){return o+t}:function(o){return r-o+t},e.toLocalCoord=a?function(o){return o-t}:function(o){return r-o+t}},n.prototype.getAxis=function(){return this._axis},n.prototype.getBaseAxis=function(){return this._axis},n.prototype.getAxes=function(){return[this._axis]},n.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}},n.prototype.containPoint=function(e){var t=this.getRect(),i=this.getAxis(),r=i.orient;return r==="horizontal"?i.contain(i.toLocalCoord(e[0]))&&e[1]>=t.y&&e[1]<=t.y+t.height:i.contain(i.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},n.prototype.pointToData=function(e){var t=this.getAxis();return[t.coordToData(t.toLocalCoord(e[t.orient==="horizontal"?0:1]))]},n.prototype.dataToPoint=function(e){var t=this.getAxis(),i=this.getRect(),r=[],a=t.orient==="horizontal"?0:1;return e instanceof Array&&(e=e[0]),r[a]=t.toGlobalCoord(t.dataToCoord(+e)),r[1-a]=a===0?i.y+i.height/2:i.x+i.width/2,r},n.prototype.convertToPixel=function(e,t,i){var r=Rz(t);return r===this?this.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=Rz(t);return r===this?this.pointToData(i):null},n}();function Rz(n){var e=n.seriesModel,t=n.singleAxisModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function Pbe(n,e){var t=[];return n.eachComponent("singleAxis",function(i,r){var a=new Ebe(i,n,e);a.name="single_"+r,a.resize(i,e),i.coordinateSystem=a,t.push(a)}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="singleAxis"){var r=i.getReferringComponents("singleAxis",q0).models[0];i.coordinateSystem=r&&r.coordinateSystem}}),t}var Rbe={create:Pbe,dimensions:kJ};const Lbe=Rbe;var Lz=["x","y"],Ibe=["width","height"],Dbe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis,l=s.coordinateSystem,u=aw(l,1-wg(s)),c=l.dataToPoint(i)[0],d=a.get("type");if(d&&d!=="none"){var h=zP(a),f=Nbe[d](s,c,u);f.style=h,t.graphicKey=f.type,t.pointer=f}var p=bC(r);MJ(i,t,p,r,a,o)},e.prototype.getHandleTransform=function(t,i,r){var a=bC(i,{labelInside:!1});a.labelMargin=r.get(["handle","margin"]);var o=GP(i.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,i,r,a){var o=r.axis,s=o.coordinateSystem,l=wg(o),u=aw(s,l),c=[t.x,t.y];c[l]+=i[l],c[l]=Math.min(u[1],c[l]),c[l]=Math.max(u[0],c[l]);var d=aw(s,1-l),h=(d[1]+d[0])/2,f=[h,h];return f[l]=c[l],{x:c[0],y:c[1],rotation:t.rotation,cursorPoint:f,tooltipOption:{verticalAlign:"middle"}}},e}(BP),Nbe={line:function(n,e,t){var i=UP([e,t[0]],[e,t[1]],wg(n));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(n,e,t){var i=n.getBandWidth(),r=t[1]-t[0];return{type:"Rect",shape:EJ([e-i/2,t[0]],[i,r],wg(n))}}};function wg(n){return n.isHorizontal()?0:1}function aw(n,e){var t=n.getRect();return[t[Lz[e]],t[Lz[e]]+t[Ibe[e]]]}const kbe=Dbe;var Fbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="single",e}(b0);function Obe(n){C3(Dh),i4.registerAxisPointerClass("SingleAxisPointer",kbe),n.registerComponentView(Fbe),n.registerComponentView(Abe),n.registerComponentModel(rw),m7(n,"single",rw,rw.defaultOption),n.registerCoordinateSystem("single",Lbe)}var Bbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i,r){var a=W7(t);n.prototype.init.apply(this,arguments),Iz(t,a)},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),Iz(this.option,t)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}($3);function Iz(n,e){var t=n.cellSize,i;j2(t)?i=t:i=n.cellSize=[t,t],i.length===1&&(i[1]=i[0]);var r=q2([0,1],function(a){return V8e(e,a)&&(i[a]="auto"),i[a]!=null&&i[a]!=="auto"});R5(n,e,{type:"box",ignoreSize:r})}const zbe=Bbe;var Gbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group;a.removeAll();var o=t.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=i.getLocaleModel();this._renderDayRect(t,s,a),this._renderLines(t,s,l,a),this._renderYearText(t,s,l,a),this._renderMonthText(t,u,l,a),this._renderWeekText(t,u,s,l,a)},e.prototype._renderDayRect=function(t,i,r){for(var a=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),s=a.getCellWidth(),l=a.getCellHeight(),u=i.start.time;u<=i.end.time;u=a.getNextNDay(u,1).time){var c=a.dataToRect([u],!1).tl,d=new H3({shape:{x:c[0],y:c[1],width:s,height:l},cursor:"default",style:o});r.add(d)}},e.prototype._renderLines=function(t,i,r,a){var o=this,s=t.coordinateSystem,l=t.getModel(["splitLine","lineStyle"]).getLineStyle(),u=t.get(["splitLine","show"]),c=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var d=i.start,h=0;d.time<=i.end.time;h++){p(d.formatedDate),h===0&&(d=s.getDateInfo(i.start.y+"-"+i.start.m));var f=d.date;f.setMonth(f.getMonth()+1),d=s.getDateInfo(f)}p(s.getNextNDay(i.end.time,1).formatedDate);function p(m){o._firstDayOfMonth.push(s.getDateInfo(m)),o._firstDayPoints.push(s.dataToRect([m],!1).tl);var v=o._getLinePointsOfOneWeek(t,m,r);o._tlpoints.push(v[0]),o._blpoints.push(v[v.length-1]),u&&o._drawSplitline(v,l,a)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,c,r),l,a),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,c,r),l,a)},e.prototype._getEdgesPoints=function(t,i,r){var a=[t[0].slice(),t[t.length-1].slice()],o=r==="horizontal"?0:1;return a[0][o]=a[0][o]-i/2,a[1][o]=a[1][o]+i/2,a},e.prototype._drawSplitline=function(t,i,r){var a=new dr({z2:20,shape:{points:t},style:i});r.add(a)},e.prototype._getLinePointsOfOneWeek=function(t,i,r){for(var a=t.coordinateSystem,o=a.getDateInfo(i),s=[],l=0;l<7;l++){var u=a.getNextNDay(o.time,l),c=a.dataToRect([u.time],!1);s[2*u.day]=c.tl,s[2*u.day+1]=c[r==="horizontal"?"bl":"tr"]}return s},e.prototype._formatterLabel=function(t,i){return xt(t)&&t?z8e(t,i):Wt(t)?t(i):i.nameMap},e.prototype._yearTextPositionControl=function(t,i,r,a,o){var s=i[0],l=i[1],u=["center","bottom"];a==="bottom"?(l+=o,u=["center","top"]):a==="left"?s-=o:a==="right"?(s+=o,u=["center","top"]):l-=o;var c=0;return(a==="left"||a==="right")&&(c=Math.PI/2),{rotation:c,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},e.prototype._renderYearText=function(t,i,r,a){var o=t.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=r!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],c=(u[0][0]+u[1][0])/2,d=(u[0][1]+u[1][1])/2,h=r==="horizontal"?0:1,f={top:[c,u[h][1]],bottom:[c,u[1-h][1]],left:[u[1-h][0],d],right:[u[h][0],d]},p=i.start.y;+i.end.y>+i.start.y&&(p=p+"-"+i.end.y);var m=o.get("formatter"),v={start:i.start.y,end:i.end.y,nameMap:p},g=this._formatterLabel(m,v),_=new X3({z2:30,style:j1(o,{text:g}),silent:o.get("silent")});_.attr(this._yearTextPositionControl(_,f[l],r,l,s)),a.add(_)}},e.prototype._monthTextPositionControl=function(t,i,r,a,o){var s="left",l="top",u=t[0],c=t[1];return r==="horizontal"?(c=c+o,i&&(s="center"),a==="start"&&(l="bottom")):(u=u+o,i&&(l="middle"),a==="start"&&(s="right")),{x:u,y:c,align:s,verticalAlign:l}},e.prototype._renderMonthText=function(t,i,r,a){var o=t.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),c=o.get("align"),d=[this._tlpoints,this._blpoints];(!s||xt(s))&&(s&&(i=LA(s)||i),s=i.get(["time","monthAbbr"])||[]);var h=u==="start"?0:1,f=r==="horizontal"?0:1;l=u==="start"?-l:l;for(var p=c==="center",m=o.get("silent"),v=0;v<d[h].length-1;v++){var g=d[h][v].slice(),_=this._firstDayOfMonth[v];if(p){var S=this._firstDayPoints[v];g[f]=(S[f]+d[0][v+1][f])/2}var x=o.get("formatter"),A=s[+_.m-1],C={yyyy:_.y,yy:(_.y+"").slice(2),MM:_.m,M:+_.m,nameMap:A},M=this._formatterLabel(x,C),I=new X3({z2:30,style:I2(j1(o,{text:M}),this._monthTextPositionControl(g,p,r,u,l)),silent:m});a.add(I)}}},e.prototype._weekTextPositionControl=function(t,i,r,a,o){var s="center",l="middle",u=t[0],c=t[1],d=r==="start";return i==="horizontal"?(u=u+a+(d?1:-1)*o[0]/2,s=d?"right":"left"):(c=c+a+(d?1:-1)*o[1]/2,l=d?"bottom":"top"),{x:u,y:c,align:s,verticalAlign:l}},e.prototype._renderWeekText=function(t,i,r,a,o){var s=t.getModel("dayLabel");if(s.get("show")){var l=t.coordinateSystem,u=s.get("position"),c=s.get("nameMap"),d=s.get("margin"),h=l.getFirstDayOfWeek();if(!c||xt(c)){c&&(i=LA(c)||i);var f=i.get(["time","dayOfWeekShort"]);c=f||q2(i.get(["time","dayOfWeekAbbr"]),function(C){return C[0]})}var p=l.getNextNDay(r.end.time,7-r.lweek).time,m=[l.getCellWidth(),l.getCellHeight()];d=mt(d,Math.min(m[1],m[0])),u==="start"&&(p=l.getNextNDay(r.start.time,-(7+r.fweek)).time,d=-d);for(var v=s.get("silent"),g=0;g<7;g++){var _=l.getNextNDay(p,g),S=l.dataToRect([_.time],!1).center,x=g;x=Math.abs((g+h)%7);var A=new X3({z2:30,style:I2(j1(s,{text:c[x]}),this._weekTextPositionControl(S,a,u,d,m)),silent:v});o.add(A)}}},e.type="calendar",e}(b0);const Ube=Gbe;var ow=864e5,Vbe=function(){function n(e,t,i){this.type="calendar",this.dimensions=n.dimensions,this.getDimensionsInfo=n.getDimensionsInfo,this._model=e}return n.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]},n.prototype.getRangeInfo=function(){return this._rangeInfo},n.prototype.getModel=function(){return this._model},n.prototype.getRect=function(){return this._rect},n.prototype.getCellWidth=function(){return this._sw},n.prototype.getCellHeight=function(){return this._sh},n.prototype.getOrient=function(){return this._orient},n.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek},n.prototype.getDateInfo=function(e){e=Jo(e);var t=e.getFullYear(),i=e.getMonth()+1,r=i<10?"0"+i:""+i,a=e.getDate(),o=a<10?"0"+a:""+a,s=e.getDay();return s=Math.abs((s+7-this.getFirstDayOfWeek())%7),{y:t+"",m:r,d:o,day:s,time:e.getTime(),formatedDate:t+"-"+r+"-"+o,date:e}},n.prototype.getNextNDay=function(e,t){return t=t||0,t===0?this.getDateInfo(e):(e=new Date(this.getDateInfo(e).time),e.setDate(e.getDate()+t),this.getDateInfo(e))},n.prototype.update=function(e,t){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());var i=this._rangeInfo.weeks||1,r=["width","height"],a=this._model.getCellSize().slice(),o=this._model.getBoxLayoutParams(),s=this._orient==="horizontal"?[i,7]:[7,i];ne([0,1],function(d){c(a,d)&&(o[r[d]]=a[d]*s[d])});var l={width:t.getWidth(),height:t.getHeight()},u=this._rect=un(o,l);ne([0,1],function(d){c(a,d)||(a[d]=u[r[d]]/s[d])});function c(d,h){return d[h]!=null&&d[h]!=="auto"}this._sw=a[0],this._sh=a[1]},n.prototype.dataToPoint=function(e,t){j2(e)&&(e=e[0]),t==null&&(t=!0);var i=this.getDateInfo(e),r=this._rangeInfo,a=i.formatedDate;if(t&&!(i.time>=r.start.time&&i.time<r.end.time+ow))return[NaN,NaN];var o=i.day,s=this._getRangeInfo([r.start.time,a]).nthWeek;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]},n.prototype.pointToData=function(e){var t=this.pointToDate(e);return t&&t.time},n.prototype.dataToRect=function(e,t){var i=this.dataToPoint(e,t);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},n.prototype.pointToDate=function(e){var t=Math.floor((e[0]-this._rect.x)/this._sw)+1,i=Math.floor((e[1]-this._rect.y)/this._sh)+1,r=this._rangeInfo.range;return this._orient==="vertical"?this._getDateByWeeksAndDay(i,t-1,r):this._getDateByWeeksAndDay(t,i-1,r)},n.prototype.convertToPixel=function(e,t,i){var r=Dz(t);return r===this?r.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=Dz(t);return r===this?r.pointToData(i):null},n.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},n.prototype._initRangeOption=function(){var e=this._model.get("range"),t;if(j2(e)&&e.length===1&&(e=e[0]),j2(e))t=e;else{var i=e.toString();if(/^\d{4}$/.test(i)&&(t=[i+"-01-01",i+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(i)){var r=this.getDateInfo(i),a=r.date;a.setMonth(a.getMonth()+1);var o=this.getNextNDay(a,-1);t=[r.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(i)&&(t=[i,i])}if(!t)return e;var s=this._getRangeInfo(t);return s.start.time>s.end.time&&t.reverse(),t},n.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],i;t[0].time>t[1].time&&(i=!0,t.reverse());var r=Math.floor(t[1].time/ow)-Math.floor(t[0].time/ow)+1,a=new Date(t[0].time),o=a.getDate(),s=t[1].date.getDate();a.setDate(o+r-1);var l=a.getDate();if(l!==s)for(var u=a.getTime()-t[1].time>0?1:-1;(l=a.getDate())!==s&&(a.getTime()-t[1].time)*u>0;)r-=u,a.setDate(l-u);var c=Math.floor((r+t[0].day+6)/7),d=i?-c+1:c-1;return i&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:r,weeks:c,nthWeek:d,fweek:t[0].day,lweek:t[1].day}},n.prototype._getDateByWeeksAndDay=function(e,t,i){var r=this._getRangeInfo(i);if(e>r.weeks||e===0&&t<r.fweek||e===r.weeks&&t>r.lweek)return null;var a=(e-1)*7-r.fweek+t,o=new Date(r.start.time);return o.setDate(+r.start.d+a),this.getDateInfo(o)},n.create=function(e,t){var i=[];return e.eachComponent("calendar",function(r){var a=new n(r);i.push(a),r.coordinateSystem=a}),e.eachSeries(function(r){r.get("coordinateSystem")==="calendar"&&(r.coordinateSystem=i[r.get("calendarIndex")||0])}),i},n.dimensions=["time","value"],n}();function Dz(n){var e=n.calendarModel,t=n.seriesModel,i=e?e.coordinateSystem:t?t.coordinateSystem:null;return i}const Hbe=Vbe;function Wbe(n){n.registerComponentModel(zbe),n.registerComponentView(Ube),n.registerCoordinateSystem("calendar",Hbe)}function jbe(n,e){var t=n.existing;if(e.id=n.keyInfo.id,!e.type&&t&&(e.type=t.type),e.parentId==null){var i=e.parentOption;i?e.parentId=i.id:t&&(e.parentId=t.parentId)}e.parentOption=null}function Nz(n,e){var t;return ne(e,function(i){n[i]!=null&&n[i]!=="auto"&&(t=!0)}),t}function $be(n,e,t){var i=I2({},t),r=n[e],a=t.$action||"merge";a==="merge"?r?(u3(r,i,!0),R5(r,i,{ignoreSize:!0}),gX(t,r),Rp(t,r),Rp(t,r,"shape"),Rp(t,r,"style"),Rp(t,r,"extra"),t.clipPath=r.clipPath):n[e]=i:a==="replace"?n[e]=i:a==="remove"&&r&&(n[e]=null)}var FJ=["transition","enterFrom","leaveTo"],qbe=FJ.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function Rp(n,e,t){if(t&&(!n[t]&&e[t]&&(n[t]={}),n=n[t],e=e[t]),!(!n||!e))for(var i=t?FJ:qbe,r=0;r<i.length;r++){var a=i[r];n[a]==null&&e[a]!=null&&(n[a]=e[a])}}function Xbe(n,e){if(n&&(n.hv=e.hv=[Nz(e,["left","right"]),Nz(e,["top","bottom"])],n.type==="group")){var t=n,i=e;t.width==null&&(t.width=i.width=0),t.height==null&&(t.height=i.height=0)}}var Ybe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.preventAutoZ=!0,t}return e.prototype.mergeOption=function(t,i){var r=this.option.elements;this.option.elements=null,n.prototype.mergeOption.call(this,t,i),this.option.elements=r},e.prototype.optionUpdated=function(t,i){var r=this.option,a=(i?r:t).elements,o=r.elements=i?[]:r.elements,s=[];this._flatten(a,s,null);var l=eq(o,s,"normalMerge"),u=this._elOptionsToUpdate=[];ne(l,function(c,d){var h=c.newOption;h&&(u.push(h),jbe(c,h),$be(o,d,h),Xbe(o[d],h))},this),r.elements=c1(o,function(c){return c&&delete c.$action,c!=null})},e.prototype._flatten=function(t,i,r){ne(t,function(a){if(a){r&&(a.parentOption=r),i.push(a);var o=a.children;o&&o.length&&this._flatten(o,i,a),delete a.children}},this)},e.prototype.useElOptionsToUpdate=function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t},e.type="graphic",e.defaultOption={elements:[]},e}($3),kz={path:null,compoundPath:null,group:Qt,image:$n,text:X3},ua=G3(),Kbe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._elMap=Rt()},e.prototype.render=function(t,i,r){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,r)},e.prototype._updateElements=function(t){var i=t.useElOptionsToUpdate();if(i){var r=this._elMap,a=this.group,o=t.get("z"),s=t.get("zlevel");ne(i,function(l){var u=ln(l.id,null),c=u!=null?r.get(u):null,d=ln(l.parentId,null),h=d!=null?r.get(d):a,f=l.type,p=l.style;f==="text"&&p&&l.hv&&l.hv[1]&&(p.textVerticalAlign=p.textBaseline=p.verticalAlign=p.align=null);var m=l.textContent,v=l.textConfig;if(p&&vJ(p,f,!!v,!!m)){var g=mJ(p,f,!0);!v&&g.textConfig&&(v=l.textConfig=g.textConfig),!m&&g.textContent&&(m=g.textContent)}var _=Zbe(l),S=l.$action||"merge",x=S==="merge",A=S==="replace";if(x){var C=!c,M=c;C?M=Fz(u,h,l.type,r):(M&&(ua(M).isNew=!1),SJ(M)),M&&(cm(M,_,t,{isInit:C}),Oz(M,l,o,s))}else if(A){hm(c,l,r,t);var I=Fz(u,h,l.type,r);I&&(cm(I,_,t,{isInit:!0}),Oz(I,l,o,s))}else S==="remove"&&(yJ(c,l),hm(c,l,r,t));var D=r.get(u);if(D&&m)if(x){var E=D.getTextContent();E?E.attr(m):D.setTextContent(new X3(m))}else A&&D.setTextContent(new X3(m));if(D){var P=l.clipPath;if(P){var F=P.type,V=void 0,C=!1;if(x){var G=D.getClipPath();C=!G||ua(G).type!==F,V=C?xC(F):G}else A&&(C=!0,V=xC(F));D.setClipPath(V),cm(V,P,t,{isInit:C}),bg(V,P.keyframeAnimation,t)}var W=ua(D);D.setTextConfig(v),W.option=l,Jbe(D,t,l),Z8({el:D,componentModel:t,itemName:D.name,itemTooltipOption:l.tooltip}),bg(D,l.keyframeAnimation,t)}})}},e.prototype._relocate=function(t,i){for(var r=t.option.elements,a=this.group,o=this._elMap,s=i.getWidth(),l=i.getHeight(),u=["x","y"],c=0;c<r.length;c++){var d=r[c],h=ln(d.id,null),f=h!=null?o.get(h):null;if(!(!f||!f.isGroup)){var p=f.parent,m=p===a,v=ua(f),g=ua(p);v.width=mt(v.option.width,m?s:g.width)||0,v.height=mt(v.option.height,m?l:g.height)||0}}for(var c=r.length-1;c>=0;c--){var d=r[c],h=ln(d.id,null),f=h!=null?o.get(h):null;if(f){var p=f.parent,g=ua(p),_=p===a?{width:s,height:l}:{width:g.width,height:g.height},S={},x=By(f,d,_,null,{hv:d.hv,boundingMode:d.bounding},S);if(!ua(f).isNew&&x){for(var A=d.transition,C={},M=0;M<u.length;M++){var I=u[M],D=S[I];A&&(M8(A)||x3(A,I)>=0)?C[I]=D:f[I]=D}Q3(f,C,t,0)}else f.attr(S)}}},e.prototype._clear=function(){var t=this,i=this._elMap;i.each(function(r){hm(r,ua(r).option,i,t._lastGraphicModel)}),this._elMap=Rt()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(b0);function xC(n){var e=Ct(kz,n)?kz[n]:bE(n),t=new e({});return ua(t).type=n,t}function Fz(n,e,t,i){var r=xC(t);return e.add(r),i.set(n,r),ua(r).id=n,ua(r).isNew=!0,r}function hm(n,e,t,i){var r=n&&n.parent;r&&(n.type==="group"&&n.traverse(function(a){hm(a,e,t,i)}),t_(n,e,i),t.removeKey(ua(n).id))}function Oz(n,e,t,i){n.isGroup||ne([["cursor",Ca.prototype.cursor],["zlevel",i||0],["z",t||0],["z2",0]],function(r){var a=r[0];Ct(e,a)?n[a]=a3(e[a],r[1]):n[a]==null&&(n[a]=r[1])}),ne(L3(e),function(r){if(r.indexOf("on")===0){var a=e[r];n[r]=Wt(a)?a:null}}),Ct(e,"draggable")&&(n.draggable=e.draggable),e.name!=null&&(n.name=e.name),e.id!=null&&(n.id=e.id)}function Zbe(n){return n=I2({},n),ne(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(mX),function(e){delete n[e]}),n}function Jbe(n,e,t){var i=t3(n).eventData;!n.silent&&!n.ignore&&!i&&(i=t3(n).eventData={componentType:"graphic",componentIndex:e.componentIndex,name:n.name}),i&&(i.info=t.info)}function Qbe(n){n.registerComponentModel(Ybe),n.registerComponentView(Kbe),n.registerPreprocessor(function(e){var t=e.graphic;j2(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var Bz=["x","y","radius","angle","single"],exe=["cartesian2d","polar","singleAxis"];function txe(n){var e=n.get("coordinateSystem");return x3(exe,e)>=0}function l5(n){return n+"Axis"}function nxe(n,e){var t=Rt(),i=[],r=Rt();n.eachComponent({mainType:"dataZoom",query:e},function(c){r.get(c.uid)||s(c)});var a;do a=!1,n.eachComponent("dataZoom",o);while(a);function o(c){!r.get(c.uid)&&l(c)&&(s(c),a=!0)}function s(c){r.set(c.uid,!0),i.push(c),u(c)}function l(c){var d=!1;return c.eachTargetAxis(function(h,f){var p=t.get(h);p&&p[f]&&(d=!0)}),d}function u(c){c.eachTargetAxis(function(d,h){(t.get(d)||t.set(d,[]))[h]=!0})}return i}function OJ(n){var e=n.ecModel,t={infoList:[],infoMap:Rt()};return n.eachTargetAxis(function(i,r){var a=e.getComponent(l5(i),r);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,l=t.infoMap.get(s);l||(l={model:o,axisModels:[]},t.infoList.push(l),t.infoMap.set(s,l)),l.axisModels.push(a)}}}),t}var sw=function(){function n(){this.indexList=[],this.indexMap=[]}return n.prototype.add=function(e){this.indexMap[e]||(this.indexList.push(e),this.indexMap[e]=!0)},n}(),ixe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._autoThrottle=!0,t._noTarget=!0,t._rangePropMode=["percent","percent"],t}return e.prototype.init=function(t,i,r){var a=zz(t);this.settledOption=a,this.mergeDefaultAndTheme(t,r),this._doInit(a)},e.prototype.mergeOption=function(t){var i=zz(t);u3(this.option,t,!0),u3(this.settledOption,i,!0),this._doInit(i)},e.prototype._doInit=function(t){var i=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var r=this.settledOption;ne([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(i[a[0]]=r[a[0]]=null)},this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),i=this._targetAxisInfoMap=Rt(),r=this._fillSpecifiedTargetAxis(i);r?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(i,this._orient)),this._noTarget=!0,i.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},e.prototype._fillSpecifiedTargetAxis=function(t){var i=!1;return ne(Bz,function(r){var a=this.getReferringComponents(l5(r),_5e);if(a.specified){i=!0;var o=new sw;ne(a.models,function(s){o.add(s.componentIndex)}),t.set(r,o)}},this),i},e.prototype._fillAutoTargetAxisByOrient=function(t,i){var r=this.ecModel,a=!0;if(a){var o=i==="vertical"?"y":"x",s=r.findComponents({mainType:o+"Axis"});l(s,o)}if(a){var s=r.findComponents({mainType:"singleAxis",filter:function(c){return c.get("orient",!0)===i}});l(s,"single")}function l(u,c){var d=u[0];if(d){var h=new sw;if(h.add(d.componentIndex),t.set(c,h),a=!1,c==="x"||c==="y"){var f=d.getReferringComponents("grid",q0).models[0];f&&ne(u,function(p){d.componentIndex!==p.componentIndex&&f===p.getReferringComponents("grid",q0).models[0]&&h.add(p.componentIndex)})}}}a&&ne(Bz,function(u){if(a){var c=r.findComponents({mainType:l5(u),filter:function(h){return h.get("type",!0)==="category"}});if(c[0]){var d=new sw;d.add(c[0].componentIndex),t.set(u,d),a=!1}}},this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis(function(i){!t&&(t=i)},this),t==="y"?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var i=this.ecModel.option;this.option.throttle=i.animation&&i.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var i=this._rangePropMode,r=this.get("rangeMode");ne([["start","startValue"],["end","endValue"]],function(a,o){var s=t[a[0]]!=null,l=t[a[1]]!=null;s&&!l?i[o]="percent":!s&&l?i[o]="value":r?i[o]=r[o]:s&&(i[o]="percent")})},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis(function(i,r){t==null&&(t=this.ecModel.getComponent(l5(i),r))},this),t},e.prototype.eachTargetAxis=function(t,i){this._targetAxisInfoMap.each(function(r,a){ne(r.indexList,function(o){t.call(i,a,o)})})},e.prototype.getAxisProxy=function(t,i){var r=this.getAxisModel(t,i);if(r)return r.__dzAxisProxy},e.prototype.getAxisModel=function(t,i){var r=this._targetAxisInfoMap.get(t);if(r&&r.indexMap[i])return this.ecModel.getComponent(l5(t),i)},e.prototype.setRawRange=function(t){var i=this.option,r=this.settledOption;ne([["start","startValue"],["end","endValue"]],function(a){(t[a[0]]!=null||t[a[1]]!=null)&&(i[a[0]]=r[a[0]]=t[a[0]],i[a[1]]=r[a[1]]=t[a[1]])},this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var i=this.option;ne(["start","startValue","end","endValue"],function(r){i[r]=t[r]})},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,i){if(t==null&&i==null){var r=this.findRepresentativeAxisProxy();if(r)return r.getDataValueWindow()}else return this.getAxisProxy(t,i).getDataValueWindow()},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var i,r=this._targetAxisInfoMap.keys(),a=0;a<r.length;a++)for(var o=r[a],s=this._targetAxisInfoMap.get(o),l=0;l<s.indexList.length;l++){var u=this.getAxisProxy(o,s.indexList[l]);if(u.hostedBy(this))return u;i||(i=u)}return i},e.prototype.getRangePropMode=function(){return this._rangePropMode.slice()},e.prototype.getOrient=function(){return this._orient},e.type="dataZoom",e.dependencies=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","series","toolbox"],e.defaultOption={z:4,filterMode:"filter",start:0,end:100},e}($3);function zz(n){var e={};return ne(["start","end","startValue","endValue","throttle"],function(t){n.hasOwnProperty(t)&&(e[t]=n[t])}),e}const $d=ixe;var rxe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}($d);const axe=rxe;var oxe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this.dataZoomModel=t,this.ecModel=i,this.api=r},e.type="dataZoom",e}(b0);const jP=oxe;var sxe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(jP);const lxe=sxe;var _l=ne,Gz=ba,uxe=function(){function n(e,t,i,r){this._dimName=e,this._axisIndex=t,this.ecModel=r,this._dataZoomModel=i}return n.prototype.hostedBy=function(e){return this._dataZoomModel===e},n.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},n.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},n.prototype.getTargetSeriesModels=function(){var e=[];return this.ecModel.eachSeries(function(t){if(txe(t)){var i=l5(this._dimName),r=t.getReferringComponents(i,q0).models[0];r&&this._axisIndex===r.componentIndex&&e.push(t)}},this),e},n.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},n.prototype.getMinMaxSpan=function(){return Zt(this._minMaxSpan)},n.prototype.calculateDataWindow=function(e){var t=this._dataExtent,i=this.getAxisModel(),r=i.axis.scale,a=this._dataZoomModel.getRangePropMode(),o=[0,100],s=[],l=[],u;_l(["start","end"],function(h,f){var p=e[h],m=e[h+"Value"];a[f]==="percent"?(p==null&&(p=o[f]),m=r.parse(f1(p,o,t))):(u=!0,m=m==null?t[f]:r.parse(m),p=f1(m,t,o)),l[f]=m==null||isNaN(m)?t[f]:m,s[f]=p==null||isNaN(p)?o[f]:p}),Gz(l),Gz(s);var c=this._minMaxSpan;u?d(l,s,t,o,!1):d(s,l,o,t,!0);function d(h,f,p,m,v){var g=v?"Span":"ValueSpan";r4(0,h,p,"all",c["min"+g],c["max"+g]);for(var _=0;_<2;_++)f[_]=f1(h[_],p,m,!0),v&&(f[_]=r.parse(f[_]))}return{valueWindow:l,percentWindow:s}},n.prototype.reset=function(e){if(e===this._dataZoomModel){var t=this.getTargetSeriesModels();this._dataExtent=cxe(this,this._dimName,t),this._updateMinMaxSpan();var i=this.calculateDataWindow(e.settledOption);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,this._setAxisModel()}},n.prototype.filterData=function(e,t){if(e!==this._dataZoomModel)return;var i=this._dimName,r=this.getTargetSeriesModels(),a=e.get("filterMode"),o=this._valueWindow;if(a==="none")return;_l(r,function(l){var u=l.getData(),c=u.mapDimensionsAll(i);if(c.length){if(a==="weakFilter"){var d=u.getStore(),h=q2(c,function(f){return u.getDimensionIndex(f)},u);u.filterSelf(function(f){for(var p,m,v,g=0;g<c.length;g++){var _=d.get(h[g],f),S=!isNaN(_),x=_<o[0],A=_>o[1];if(S&&!x&&!A)return!0;S&&(v=!0),x&&(p=!0),A&&(m=!0)}return v&&p&&m})}else _l(c,function(f){if(a==="empty")l.setData(u=u.map(f,function(m){return s(m)?m:NaN}));else{var p={};p[f]=o,u.selectRange(p)}});_l(c,function(f){u.setApproximateExtent(o,f)})}});function s(l){return l>=o[0]&&l<=o[1]}},n.prototype._updateMinMaxSpan=function(){var e=this._minMaxSpan={},t=this._dataZoomModel,i=this._dataExtent;_l(["min","max"],function(r){var a=t.get(r+"Span"),o=t.get(r+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=f1(i[0]+o,i,[0,100],!0):a!=null&&(o=f1(a,[0,100],i,!0)-i[0]),e[r+"Span"]=a,e[r+"ValueSpan"]=o},this)},n.prototype._setAxisModel=function(){var e=this.getAxisModel(),t=this._percentWindow,i=this._valueWindow;if(t){var r=$$(i,[0,500]);r=Math.min(r,20);var a=e.axis.scale.rawExtentInfo;t[0]!==0&&a.setDeterminedMinMax("min",+i[0].toFixed(r)),t[1]!==100&&a.setDeterminedMinMax("max",+i[1].toFixed(r)),a.freeze()}},n}();function cxe(n,e,t){var i=[1/0,-1/0];_l(t,function(o){Iue(i,o.getData(),e)});var r=n.getAxisModel(),a=ZY(r.axis.scale,r,i).calculate();return[a.min,a.max]}const dxe=uxe;var hxe={getTargetSeries:function(n){function e(r){n.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var l=n.getComponent(l5(o),s);r(o,s,l,a)})})}e(function(r,a,o,s){o.__dzAxisProxy=null});var t=[];e(function(r,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new dxe(r,a,s,n),t.push(o.__dzAxisProxy))});var i=Rt();return ne(t,function(r){ne(r.getTargetSeriesModels(),function(a){i.set(a.uid,a)})}),i},overallReset:function(n,e){n.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(i,r){t.getAxisProxy(i,r).reset(t)}),t.eachTargetAxis(function(i,r){t.getAxisProxy(i,r).filterData(t,e)})}),n.eachComponent("dataZoom",function(t){var i=t.findRepresentativeAxisProxy();if(i){var r=i.getDataPercentWindow(),a=i.getDataValueWindow();t.setCalculatedRange({start:r[0],end:r[1],startValue:a[0],endValue:a[1]})}})}};const fxe=hxe;function pxe(n){n.registerAction("dataZoom",function(e,t){var i=nxe(t,e);ne(i,function(r){r.setRawRange({start:e.start,end:e.end,startValue:e.startValue,endValue:e.endValue})})})}var Uz=!1;function $P(n){Uz||(Uz=!0,n.registerProcessor(n.PRIORITY.PROCESSOR.FILTER,fxe),pxe(n),n.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function vxe(n){n.registerComponentModel(axe),n.registerComponentView(lxe),$P(n)}var ha=function(){function n(){}return n}(),BJ={};function Sl(n,e){BJ[n]=e}function zJ(n){return BJ[n]}var mxe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){n.prototype.optionUpdated.apply(this,arguments);var t=this.ecModel;ne(this.option.feature,function(i,r){var a=zJ(r);a&&(a.getDefaultOption&&(a.defaultOption=a.getDefaultOption(t)),u3(i,a.defaultOption))})},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}($3);const gxe=mxe;function yxe(n,e,t){var i=e.getBoxLayoutParams(),r=e.get("padding"),a={width:t.getWidth(),height:t.getHeight()},o=un(i,a,r);T8(e.get("orient"),n,e.get("itemGap"),o.width,o.height),By(n,i,a,r)}function GJ(n,e){var t=H7(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),n=new H3({shape:{x:n.x-t[3],y:n.y-t[0],width:n.width+t[1]+t[3],height:n.height+t[0]+t[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1}),n}var _xe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r,a){var o=this.group;if(o.removeAll(),!t.get("show"))return;var s=+t.get("itemSize"),l=t.get("orient")==="vertical",u=t.get("feature")||{},c=this._features||(this._features={}),d=[];ne(u,function(p,m){d.push(m)}),new Xs(this._featureNames||[],d).add(h).update(h).remove(s3(h,null)).execute(),this._featureNames=d;function h(p,m){var v=d[p],g=d[m],_=u[v],S=new $1(_,t,t.ecModel),x;if(a&&a.newTitle!=null&&a.featureName===v&&(_.title=a.newTitle),v&&!g){if(Sxe(v))x={onclick:S.option.onclick,featureName:v};else{var A=zJ(v);if(!A)return;x=new A}c[v]=x}else if(x=c[g],!x)return;x.uid=V7("toolbox-feature"),x.model=S,x.ecModel=i,x.api=r;var C=x instanceof ha;if(!v&&g){C&&x.dispose&&x.dispose(i,r);return}if(!S.get("show")||C&&x.unusable){C&&x.remove&&x.remove(i,r);return}f(S,x,v),S.setIconStatus=function(M,I){var D=this.option,E=this.iconPaths;D.iconStatus=D.iconStatus||{},D.iconStatus[M]=I,E[M]&&(I==="emphasis"?$s:qs)(E[M])},x instanceof ha&&x.render&&x.render(S,i,r,a)}function f(p,m,v){var g=p.getModel("iconStyle"),_=p.getModel(["emphasis","iconStyle"]),S=m instanceof ha&&m.getIcons?m.getIcons():p.get("icon"),x=p.get("title")||{},A,C;xt(S)?(A={},A[v]=S):A=S,xt(x)?(C={},C[v]=x):C=x;var M=p.iconPaths={};ne(A,function(I,D){var E=Sh(I,{},{x:-s/2,y:-s/2,width:s,height:s});E.setStyle(g.getItemStyle());var P=E.ensureState("emphasis");P.style=_.getItemStyle();var F=new X3({style:{text:C[D],align:_.get("textAlign"),borderRadius:_.get("textBorderRadius"),padding:_.get("textPadding"),fill:null,font:xE({fontStyle:_.get("textFontStyle"),fontFamily:_.get("textFontFamily"),fontSize:_.get("textFontSize"),fontWeight:_.get("textFontWeight")},i)},ignore:!0});E.setTextContent(F),Z8({el:E,componentModel:t,itemName:D,formatterParamsExtra:{title:C[D]}}),E.__title=C[D],E.on("mouseover",function(){var V=_.getItemStyle(),G=l?t.get("right")==null&&t.get("left")!=="right"?"right":"left":t.get("bottom")==null&&t.get("top")!=="bottom"?"bottom":"top";F.setStyle({fill:_.get("textFill")||V.fill||V.stroke||"#000",backgroundColor:_.get("textBackgroundColor")}),E.setTextConfig({position:_.get("textPosition")||G}),F.ignore=!t.get("showTitle"),r.enterEmphasis(this)}).on("mouseout",function(){p.get(["iconStatus",D])!=="emphasis"&&r.leaveEmphasis(this),F.hide()}),(p.get(["iconStatus",D])==="emphasis"?$s:qs)(E),o.add(E),E.on("click",Tt(m.onclick,m,i,r,D)),M[D]=E})}yxe(o,t,r),o.add(GJ(o.getBoundingRect(),t)),l||o.eachChild(function(p){var m=p.__title,v=p.ensureState("emphasis"),g=v.textConfig||(v.textConfig={}),_=p.getTextContent(),S=_&&_.ensureState("emphasis");if(S&&!Wt(S)&&m){var x=S.style||(S.style={}),A=mh(m,X3.makeFont(x)),C=p.x+o.x,M=p.y+o.y+s,I=!1;M+A.height>r.getHeight()&&(g.position="top",I=!0);var D=I?-5-A.height:s+10;C+A.width/2>r.getWidth()?(g.position=["100%",D],x.align="right"):C-A.width/2<0&&(g.position=[0,D],x.align="left")}})},e.prototype.updateView=function(t,i,r,a){ne(this._features,function(o){o instanceof ha&&o.updateView&&o.updateView(o.model,i,r,a)})},e.prototype.remove=function(t,i){ne(this._features,function(r){r instanceof ha&&r.remove&&r.remove(t,i)}),this.group.removeAll()},e.prototype.dispose=function(t,i){ne(this._features,function(r){r instanceof ha&&r.dispose&&r.dispose(t,i)})},e.type="toolbox",e}(b0);function Sxe(n){return n.indexOf("my")===0}const bxe=_xe;var xxe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){var r=this.model,a=r.get("name")||t.get("title.0.text")||"echarts",o=i.getZr().painter.getType()==="svg",s=o?"svg":r.get("type",!0)||"png",l=i.getConnectedDataURL({type:s,backgroundColor:r.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:r.get("connectedBackgroundColor"),excludeComponents:r.get("excludeComponents"),pixelRatio:r.get("pixelRatio")}),u=q3.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var c=document.createElement("a");c.download=a+"."+s,c.target="_blank",c.href=l;var d=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});c.dispatchEvent(d)}else if(window.navigator.msSaveOrOpenBlob||o){var h=l.split(","),f=h[0].indexOf("base64")>-1,p=o?decodeURIComponent(h[1]):h[1];f&&(p=window.atob(p));var m=a+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var v=p.length,g=new Uint8Array(v);v--;)g[v]=p.charCodeAt(v);var _=new Blob([g]);window.navigator.msSaveOrOpenBlob(_,m)}else{var S=document.createElement("iframe");document.body.appendChild(S);var x=S.contentWindow,A=x.document;A.open("image/svg+xml","replace"),A.write(p),A.close(),x.focus(),A.execCommand("SaveAs",!0,m),document.body.removeChild(S)}}else{var C=r.get("lang"),M='<body style="margin:0;"><img src="'+l+'" style="max-width:100%;" title="'+(C&&C[0]||"")+'" /></body>',I=window.open();I.document.write(M),I.document.title=a}},e.getDefaultOption=function(t){var i={show:!0,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"])};return i},e}(ha);const wxe=xxe;var Vz="__ec_magicType_stack__",Txe=[["line","bar"],["stack"]],Axe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getIcons=function(){var t=this.model,i=t.get("icon"),r={};return ne(t.get("type"),function(a){i[a]&&(r[a]=i[a])}),r},e.getDefaultOption=function(t){var i={show:!0,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:{}};return i},e.prototype.onclick=function(t,i,r){var a=this.model,o=a.get(["seriesIndex",r]);if(Hz[r]){var s={series:[]},l=function(d){var h=d.subType,f=d.id,p=Hz[r](h,f,d,a);p&&(qt(p,d.option),s.series.push(p));var m=d.coordinateSystem;if(m&&m.type==="cartesian2d"&&(r==="line"||r==="bar")){var v=m.getAxesByScale("ordinal")[0];if(v){var g=v.dim,_=g+"Axis",S=d.getReferringComponents(_,q0).models[0],x=S.componentIndex;s[_]=s[_]||[];for(var A=0;A<=x;A++)s[_][x]=s[_][x]||{};s[_][x].boundaryGap=r==="bar"}}};ne(Txe,function(d){x3(d,r)>=0&&ne(d,function(h){a.setIconStatus(h,"normal")})}),a.setIconStatus(r,"emphasis"),t.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,c=r;r==="stack"&&(u=u3({stack:a.option.title.tiled,tiled:a.option.title.stack},a.option.title),a.get(["iconStatus",r])!=="emphasis"&&(c="tiled")),i.dispatchAction({type:"changeMagicType",currentType:c,newOption:s,newTitle:u,featureName:"magicType"})}},e}(ha),Hz={line:function(n,e,t,i){if(n==="bar")return u3({id:e,type:"line",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(n,e,t,i){if(n==="line")return u3({id:e,type:"bar",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(n,e,t,i){var r=t.get("stack")===Vz;if(n==="line"||n==="bar")return i.setIconStatus("stack",r?"normal":"emphasis"),u3({id:e,stack:r?"":Vz},i.get(["option","stack"])||{},!0)}};ns({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(n,e){e.mergeOption(n.newOption)});const Cxe=Axe;var n_=new Array(60).join("-"),_7=" ";function Mxe(n){var e={},t=[],i=[];return n.eachRawSeries(function(r){var a=r.coordinateSystem;if(a&&(a.type==="cartesian2d"||a.type==="polar")){var o=a.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;e[s]||(e[s]={categoryAxis:o,valueAxis:a.getOtherAxis(o),series:[]},i.push({axisDim:o.dim,axisIndex:o.index})),e[s].series.push(r)}else t.push(r)}else t.push(r)}),{seriesGroupByCategoryAxis:e,other:t,meta:i}}function Exe(n){var e=[];return ne(n,function(t,i){var r=t.categoryAxis,a=t.valueAxis,o=a.dim,s=[" "].concat(q2(t.series,function(f){return f.name})),l=[r.model.getCategories()];ne(t.series,function(f){var p=f.getRawData();l.push(f.getRawData().mapArray(p.mapDimension(o),function(m){return m}))});for(var u=[s.join(_7)],c=0;c<l[0].length;c++){for(var d=[],h=0;h<l.length;h++)d.push(l[h][c]);u.push(d.join(_7))}e.push(u.join(` |
|
|
`))}),e.join(` |
|
|
|
|
|
`+n_+` |
|
|
|
|
|
`)}function Pxe(n){return q2(n,function(e){var t=e.getRawData(),i=[e.name],r=[];return t.each(t.dimensions,function(){for(var a=arguments.length,o=arguments[a-1],s=t.getName(o),l=0;l<a-1;l++)r[l]=arguments[l];i.push((s?s+_7:"")+r.join(_7))}),i.join(` |
|
|
`)}).join(` |
|
|
|
|
|
`+n_+` |
|
|
|
|
|
`)}function Rxe(n){var e=Mxe(n);return{value:c1([Exe(e.seriesGroupByCategoryAxis),Pxe(e.other)],function(t){return!!t.replace(/[\n\t\s]/g,"")}).join(` |
|
|
|
|
|
`+n_+` |
|
|
|
|
|
`),meta:e.meta}}function Tg(n){return n.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Lxe(n){var e=n.slice(0,n.indexOf(` |
|
|
`));if(e.indexOf(_7)>=0)return!0}var wC=new RegExp("["+_7+"]+","g");function Ixe(n){for(var e=n.split(/\n+/g),t=Tg(e.shift()).split(wC),i=[],r=q2(t,function(l){return{name:l,data:[]}}),a=0;a<e.length;a++){var o=Tg(e[a]).split(wC);i.push(o.shift());for(var s=0;s<o.length;s++)r[s]&&(r[s].data[a]=o[s])}return{series:r,categories:i}}function Dxe(n){for(var e=n.split(/\n+/g),t=Tg(e.shift()),i=[],r=0;r<e.length;r++){var a=Tg(e[r]);if(a){var o=a.split(wC),s="",l=void 0,u=!1;isNaN(o[0])?(u=!0,s=o[0],o=o.slice(1),i[r]={name:s,value:[]},l=i[r].value):l=i[r]=[];for(var c=0;c<o.length;c++)l.push(+o[c]);l.length===1&&(u?i[r].value=l[0]:i[r]=l[0])}}return{name:t,data:i}}function Nxe(n,e){var t=n.split(new RegExp(` |
|
|
*`+n_+` |
|
|
*`,"g")),i={series:[]};return ne(t,function(r,a){if(Lxe(r)){var o=Ixe(r),s=e[a],l=s.axisDim+"Axis";s&&(i[l]=i[l]||[],i[l][s.axisIndex]={data:o.categories},i.series=i.series.concat(o.series))}else{var o=Dxe(r);i.series.push(o)}}),i}var kxe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){setTimeout(function(){i.dispatchAction({type:"hideTip"})});var r=i.getDom(),a=this.model;this._dom&&r.removeChild(this._dom);var o=document.createElement("div");o.style.cssText="position:absolute;top:0;bottom:0;left:0;right:0;padding:5px",o.style.backgroundColor=a.get("backgroundColor")||"#fff";var s=document.createElement("h4"),l=a.get("lang")||[];s.innerHTML=l[0]||a.get("title"),s.style.cssText="margin:10px 20px",s.style.color=a.get("textColor");var u=document.createElement("div"),c=document.createElement("textarea");u.style.cssText="overflow:auto";var d=a.get("optionToContent"),h=a.get("contentToOption"),f=Rxe(t);if(Wt(d)){var p=d(i.getOption());xt(p)?u.innerHTML=p:c7(p)&&u.appendChild(p)}else{c.readOnly=a.get("readOnly");var m=c.style;m.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",m.color=a.get("textColor"),m.borderColor=a.get("textareaBorderColor"),m.backgroundColor=a.get("textareaColor"),c.value=f.value,u.appendChild(c)}var v=f.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:5px;left:0;right:0";var _="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",S=document.createElement("div"),x=document.createElement("div");_+=";background-color:"+a.get("buttonColor"),_+=";color:"+a.get("buttonTextColor");var A=this;function C(){r.removeChild(o),A._dom=null}nA(S,"click",C),nA(x,"click",function(){if(h==null&&d!=null||h!=null&&d==null){C();return}var M;try{Wt(h)?M=h(u,i.getOption()):M=Nxe(c.value,v)}catch(I){throw C(),new Error("Data view format error "+I)}M&&i.dispatchAction({type:"changeDataView",newOption:M}),C()}),S.innerHTML=l[1],x.innerHTML=l[2],x.style.cssText=S.style.cssText=_,!a.get("readOnly")&&g.appendChild(x),g.appendChild(S),o.appendChild(s),o.appendChild(u),o.appendChild(g),u.style.height=r.clientHeight-80+"px",r.appendChild(o),this._dom=o},e.prototype.remove=function(t,i){this._dom&&i.getDom().removeChild(this._dom)},e.prototype.dispose=function(t,i){this.remove(t,i)},e.getDefaultOption=function(t){var i={show:!0,readOnly:!1,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"};return i},e}(ha);function Fxe(n,e){return q2(n,function(t,i){var r=e&&e[i];if(Kt(r)&&!j2(r)){var a=Kt(t)&&!j2(t);a||(t={value:t});var o=r.name!=null&&t.name==null;return t=qt(t,r),o&&delete t.name,t}else return t})}ns({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(n,e){var t=[];ne(n.newOption.series,function(i){var r=e.getSeriesByName(i.name)[0];if(!r)t.push(I2({type:"scatter"},i));else{var a=r.get("data");t.push({name:i.name,data:Fxe(i.data,a)})}}),e.mergeOption(qt({series:t},n.newOption))});const Oxe=kxe;var UJ=ne,VJ=G3();function Bxe(n,e){var t=qP(n);UJ(e,function(i,r){for(var a=t.length-1;a>=0;a--){var o=t[a];if(o[r])break}if(a<0){var s=n.queryComponents({mainType:"dataZoom",subType:"select",id:r})[0];if(s){var l=s.getPercentRange();t[0][r]={dataZoomId:r,start:l[0],end:l[1]}}}}),t.push(e)}function zxe(n){var e=qP(n),t=e[e.length-1];e.length>1&&e.pop();var i={};return UJ(t,function(r,a){for(var o=e.length-1;o>=0;o--)if(r=e[o][a],r){i[a]=r;break}}),i}function Gxe(n){VJ(n).snapshots=null}function Uxe(n){return qP(n).length}function qP(n){var e=VJ(n);return e.snapshots||(e.snapshots=[{}]),e.snapshots}var Vxe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){Gxe(t),i.dispatchAction({type:"restore",from:this.uid})},e.getDefaultOption=function(t){var i={show:!0,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"])};return i},e}(ha);ns({type:"restore",event:"restore",update:"prepareAndUpdate"},function(n,e){e.resetOption("recreate")});const Hxe=Vxe;var Wxe=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],jxe=function(){function n(e,t,i){var r=this;this._targetInfoList=[];var a=Wz(t,e);ne($xe,function(o,s){(!i||!i.include||x3(i.include,s)>=0)&&o(a,r._targetInfoList)})}return n.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(i,r,a){if((i.coordRanges||(i.coordRanges=[])).push(r),!i.coordRange){i.coordRange=r;var o=lw[i.brushType](0,a,r);i.__rangeOffset={offset:Xz[i.brushType](o.values,i.range,[1,1]),xyMinMax:o.xyMinMax}}}),e},n.prototype.matchOutputRanges=function(e,t,i){ne(e,function(r){var a=this.findTargetInfo(r,t);a&&a!==!0&&ne(a.coordSyses,function(o){var s=lw[r.brushType](1,o,r.range,!0);i(r,s.values,o,t)})},this)},n.prototype.setInputRanges=function(e,t){ne(e,function(i){var r=this.findTargetInfo(i,t);if(i.range=i.range||[],r&&r!==!0){i.panelId=r.panelId;var a=lw[i.brushType](0,r.coordSys,i.coordRange),o=i.__rangeOffset;i.range=o?Xz[i.brushType](a.values,o.offset,qxe(a.xyMinMax,o.xyMinMax)):a.values}},this)},n.prototype.makePanelOpts=function(e,t){return q2(this._targetInfoList,function(i){var r=i.getPanelRect();return{panelId:i.panelId,defaultBrushType:t?t(i):null,clipPath:YZ(r),isTargetByCursor:ZZ(r,e,i.coordSysModel),getLinearBrushOtherExtent:KZ(r)}})},n.prototype.controlSeries=function(e,t,i){var r=this.findTargetInfo(e,i);return r===!0||r&&x3(r.coordSyses,t.coordinateSystem)>=0},n.prototype.findTargetInfo=function(e,t){for(var i=this._targetInfoList,r=Wz(t,e),a=0;a<i.length;a++){var o=i[a],s=e.panelId;if(s){if(o.panelId===s)return o}else for(var l=0;l<jz.length;l++)if(jz[l](r,o))return o}return!0},n}();function TC(n){return n[0]>n[1]&&n.reverse(),n}function Wz(n,e){return Vc(n,e,{includeMainTypes:Wxe})}var $xe={grid:function(n,e){var t=n.xAxisModels,i=n.yAxisModels,r=n.gridModels,a=Rt(),o={},s={};!t&&!i&&!r||(ne(t,function(l){var u=l.axis.grid.model;a.set(u.id,u),o[u.id]=!0}),ne(i,function(l){var u=l.axis.grid.model;a.set(u.id,u),s[u.id]=!0}),ne(r,function(l){a.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),a.each(function(l){var u=l.coordinateSystem,c=[];ne(u.getCartesians(),function(d,h){(x3(t,d.getAxis("x").model)>=0||x3(i,d.getAxis("y").model)>=0)&&c.push(d)}),e.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:c[0],coordSyses:c,getPanelRect:$z.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(n,e){ne(n.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:$z.geo})})}},jz=[function(n,e){var t=n.xAxisModel,i=n.yAxisModel,r=n.gridModel;return!r&&t&&(r=t.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(n,e){var t=n.geoModel;return t&&t===e.geoModel}],$z={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var n=this.coordSys,e=n.getBoundingRect().clone();return e.applyTransform(w8(n)),e}},lw={lineX:s3(qz,0),lineY:s3(qz,1),rect:function(n,e,t,i){var r=n?e.pointToData([t[0][0],t[1][0]],i):e.dataToPoint([t[0][0],t[1][0]],i),a=n?e.pointToData([t[0][1],t[1][1]],i):e.dataToPoint([t[0][1],t[1][1]],i),o=[TC([r[0],a[0]]),TC([r[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(n,e,t,i){var r=[[1/0,-1/0],[1/0,-1/0]],a=q2(t,function(o){var s=n?e.pointToData(o,i):e.dataToPoint(o,i);return r[0][0]=Math.min(r[0][0],s[0]),r[1][0]=Math.min(r[1][0],s[1]),r[0][1]=Math.max(r[0][1],s[0]),r[1][1]=Math.max(r[1][1],s[1]),s});return{values:a,xyMinMax:r}}};function qz(n,e,t,i){var r=t.getAxis(["x","y"][n]),a=TC(q2([0,1],function(s){return e?r.coordToData(r.toLocalCoord(i[s]),!0):r.toGlobalCoord(r.dataToCoord(i[s]))})),o=[];return o[n]=a,o[1-n]=[NaN,NaN],{values:a,xyMinMax:o}}var Xz={lineX:s3(Yz,0),lineY:s3(Yz,1),rect:function(n,e,t){return[[n[0][0]-t[0]*e[0][0],n[0][1]-t[0]*e[0][1]],[n[1][0]-t[1]*e[1][0],n[1][1]-t[1]*e[1][1]]]},polygon:function(n,e,t){return q2(n,function(i,r){return[i[0]-t[0]*e[r][0],i[1]-t[1]*e[r][1]]})}};function Yz(n,e,t,i){return[e[0]-i[n]*t[0],e[1]-i[n]*t[1]]}function qxe(n,e){var t=Kz(n),i=Kz(e),r=[t[0]/i[0],t[1]/i[1]];return isNaN(r[0])&&(r[0]=1),isNaN(r[1])&&(r[1]=1),r}function Kz(n){return n?[n[0][1]-n[0][0],n[1][1]-n[1][0]]:[NaN,NaN]}const XP=jxe;var AC=ne,Xxe=p5e("toolbox-dataZoom_"),Yxe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r,a){this._brushController||(this._brushController=new CP(r.getZr()),this._brushController.on("brush",Tt(this._onBrush,this)).mount()),Jxe(t,i,this,a,r),Zxe(t,i)},e.prototype.onclick=function(t,i,r){Kxe[r].call(this)},e.prototype.remove=function(t,i){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,i){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var i=t.areas;if(!t.isEnd||!i.length)return;var r={},a=this.ecModel;this._brushController.updateCovers([]);var o=new XP(YP(this.model),a,{include:["grid"]});o.matchOutputRanges(i,a,function(u,c,d){if(d.type==="cartesian2d"){var h=u.brushType;h==="rect"?(s("x",d,c[0]),s("y",d,c[1])):s({lineX:"x",lineY:"y"}[h],d,c)}}),Bxe(a,r),this._dispatchZoomAction(r);function s(u,c,d){var h=c.getAxis(u),f=h.model,p=l(u,f,a),m=p.findRepresentativeAxisProxy(f).getMinMaxSpan();(m.minValueSpan!=null||m.maxValueSpan!=null)&&(d=r4(0,d.slice(),h.scale.getExtent(),0,m.minValueSpan,m.maxValueSpan)),p&&(r[p.id]={dataZoomId:p.id,startValue:d[0],endValue:d[1]})}function l(u,c,d){var h;return d.eachComponent({mainType:"dataZoom",subType:"select"},function(f){var p=f.getAxisModel(u,c.componentIndex);p&&(h=f)}),h}},e.prototype._dispatchZoomAction=function(t){var i=[];AC(t,function(r,a){i.push(Zt(r))}),i.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:i})},e.getDefaultOption=function(t){var i={show:!0,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)"}};return i},e}(ha),Kxe={zoom:function(){var n=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:n})},back:function(){this._dispatchZoomAction(zxe(this.ecModel))}};function YP(n){var e={xAxisIndex:n.get("xAxisIndex",!0),yAxisIndex:n.get("yAxisIndex",!0),xAxisId:n.get("xAxisId",!0),yAxisId:n.get("yAxisId",!0)};return e.xAxisIndex==null&&e.xAxisId==null&&(e.xAxisIndex="all"),e.yAxisIndex==null&&e.yAxisId==null&&(e.yAxisIndex="all"),e}function Zxe(n,e){n.setIconStatus("back",Uxe(e)>1?"emphasis":"normal")}function Jxe(n,e,t,i,r){var a=t._isZoomActive;i&&i.type==="takeGlobalCursor"&&(a=i.key==="dataZoomSelect"?i.dataZoomSelectActive:!1),t._isZoomActive=a,n.setIconStatus("zoom",a?"emphasis":"normal");var o=new XP(YP(n),e,{include:["grid"]}),s=o.makePanelOpts(r,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});t._brushController.setPanels(s).enableBrush(a&&s.length?{brushType:"auto",brushStyle:n.getModel("brushStyle").getItemStyle()}:!1)}X8e("dataZoom",function(n){var e=n.getComponent("toolbox",0),t=["feature","dataZoom"];if(!e||e.get(t)==null)return;var i=e.getModel(t),r=[],a=YP(i),o=Vc(n,a);AC(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),AC(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,c){var d=l.componentIndex,h={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:Xxe+u+d};h[c]=d,r.push(h)}return r});const Qxe=Yxe;function ewe(n){n.registerComponentModel(gxe),n.registerComponentView(bxe),Sl("saveAsImage",wxe),Sl("magicType",Cxe),Sl("dataView",Oxe),Sl("dataZoom",Qxe),Sl("restore",Hxe),C3(vxe)}var twe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,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}($3);const nwe=twe;function HJ(n){var e=n.get("confine");return e!=null?!!e:n.get("renderMode")==="richText"}function WJ(n){if(q3.domSupported){for(var e=document.documentElement.style,t=0,i=n.length;t<i;t++)if(n[t]in e)return n[t]}}var jJ=WJ(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),iwe=WJ(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);function $J(n,e){if(!n)return e;e=pX(e,!0);var t=n.indexOf(e);return n=t===-1?e:"-"+n.slice(0,t)+"-"+e,n.toLowerCase()}function rwe(n,e){var t=n.currentStyle||document.defaultView&&document.defaultView.getComputedStyle(n);return t?e?t[e]:t:null}var awe=$J(iwe,"transition"),KP=$J(jJ,"transform"),owe="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+(q3.transform3dSupported?"will-change:transform;":"");function swe(n){return n=n==="left"?"right":n==="right"?"left":n==="top"?"bottom":"top",n}function lwe(n,e,t){if(!xt(t)||t==="inside")return"";var i=n.get("backgroundColor"),r=n.get("borderWidth");e=z8(e);var a=swe(t),o=Math.max(Math.round(r)*1.5,6),s="",l=KP+":",u;x3(["left","right"],a)>-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var c=u*Math.PI/180,d=o+r,h=d*Math.abs(Math.cos(c))+d*Math.abs(Math.sin(c)),f=Math.round(((h-Math.SQRT2*r)/2+Math.SQRT2*r-(h-d)/2)*100)/100;s+=";"+a+":-"+f+"px";var p=e+" solid "+r+"px;",m=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+p,"border-right:"+p,"background-color:"+i+";"];return'<div style="'+m.join("")+'"></div>'}function uwe(n,e){var t="cubic-bezier(0.23,1,0.32,1)",i=" "+n/2+"s "+t,r="opacity"+i+",visibility"+i;return e||(i=" "+n+"s "+t,r+=q3.transformSupported?","+KP+i:",left"+i+",top"+i),awe+":"+r}function Zz(n,e,t){var i=n.toFixed(0)+"px",r=e.toFixed(0)+"px";if(!q3.transformSupported)return t?"top:"+r+";left:"+i+";":[["top",r],["left",i]];var a=q3.transform3dSupported,o="translate"+(a?"3d":"")+"("+i+","+r+(a?",0":"")+")";return t?"top:0;left:0;"+KP+":"+o+";":[["top",0],["left",0],[jJ,o]]}function cwe(n){var e=[],t=n.get("fontSize"),i=n.getTextColor();i&&e.push("color:"+i),e.push("font:"+n.getFont());var r=a3(n.get("lineHeight"),Math.round(t*3/2));t&&e.push("line-height:"+r+"px");var a=n.get("textShadowColor"),o=n.get("textShadowBlur")||0,s=n.get("textShadowOffsetX")||0,l=n.get("textShadowOffsetY")||0;return a&&o&&e.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),ne(["decoration","align"],function(u){var c=n.get(u);c&&e.push("text-"+u+":"+c)}),e.join(";")}function dwe(n,e,t){var i=[],r=n.get("transitionDuration"),a=n.get("backgroundColor"),o=n.get("shadowBlur"),s=n.get("shadowColor"),l=n.get("shadowOffsetX"),u=n.get("shadowOffsetY"),c=n.getModel("textStyle"),d=KX(n,"html"),h=l+"px "+u+"px "+o+"px "+s;return i.push("box-shadow:"+h),e&&r&&i.push(uwe(r,t)),a&&i.push("background-color:"+a),ne(["width","color","radius"],function(f){var p="border-"+f,m=pX(p),v=n.get(m);v!=null&&i.push(p+":"+v+(f==="color"?"":"px"))}),i.push(cwe(c)),d!=null&&i.push("padding:"+H7(d).join("px ")+"px"),i.join(";")+";"}function Jz(n,e,t,i,r){var a=e&&e.painter;if(t){var o=a&&a.getViewportRoot();o&&Ose(n,o,t,i,r)}else{n[0]=i,n[1]=r;var s=a&&a.getViewportRootOffset();s&&(n[0]+=s.offsetLeft,n[1]+=s.offsetTop)}n[2]=n[0]/e.getWidth(),n[3]=n[1]/e.getHeight()}var hwe=function(){function n(e,t){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,q3.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var r=this._zr=e.getZr(),a=t.appendTo,o=a&&(xt(a)?document.querySelector(a):c7(a)?a:Wt(a)&&a(e.getDom()));Jz(this._styleCoord,r,o,e.getWidth()/2,e.getHeight()/2),(o||e.getDom()).appendChild(i),this._api=e,this._container=o;var s=this;i.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},i.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=r.handler,c=r.painter.getViewportRoot();aa(c,l,!0),u.dispatch("mousemove",l)}},i.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return n.prototype.update=function(e){if(!this._container){var t=this._api.getDom(),i=rwe(t,"position"),r=t.style;r.position!=="absolute"&&i!=="absolute"&&(r.position="relative")}var a=e.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=e.get("className")||""},n.prototype.show=function(e,t){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var i=this.el,r=i.style,a=this._styleCoord;i.innerHTML?r.cssText=owe+dwe(e,!this._firstShow,this._longHide)+Zz(a[0],a[1],!0)+("border-color:"+z8(t)+";")+(e.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):r.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},n.prototype.setContent=function(e,t,i,r,a){var o=this.el;if(e==null){o.innerHTML="";return}var s="";if(xt(a)&&i.get("trigger")==="item"&&!HJ(i)&&(s=lwe(i,r,a)),xt(e))o.innerHTML=e+s;else if(e){o.innerHTML="",j2(e)||(e=[e]);for(var l=0;l<e.length;l++)c7(e[l])&&e[l].parentNode!==o&&o.appendChild(e[l]);if(s&&o.childNodes.length){var u=document.createElement("div");u.innerHTML=s,o.appendChild(u)}}},n.prototype.setEnterable=function(e){this._enterable=e},n.prototype.getSize=function(){var e=this.el;return e?[e.offsetWidth,e.offsetHeight]:[0,0]},n.prototype.moveTo=function(e,t){if(this.el){var i=this._styleCoord;if(Jz(i,this._zr,this._container,e,t),i[0]!=null&&i[1]!=null){var r=this.el.style,a=Zz(i[0],i[1]);ne(a,function(o){r[o[0]]=o[1]})}}},n.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},n.prototype.hide=function(){var e=this,t=this.el.style;t.visibility="hidden",t.opacity="0",q3.transform3dSupported&&(t.willChange=""),this._show=!1,this._longHideTimeout=setTimeout(function(){return e._longHide=!0},500)},n.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(Tt(this.hide,this),e)):this.hide())},n.prototype.isShow=function(){return this._show},n.prototype.dispose=function(){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var e=this.el.parentNode;e&&e.removeChild(this.el),this.el=this._container=null},n}();const fwe=hwe;var pwe=function(){function n(e){this._show=!1,this._styleCoord=[0,0,0,0],this._alwaysShowContent=!1,this._enterable=!0,this._zr=e.getZr(),eG(this._styleCoord,this._zr,e.getWidth()/2,e.getHeight()/2)}return n.prototype.update=function(e){var t=e.get("alwaysShowContent");t&&this._moveIfResized(),this._alwaysShowContent=t},n.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.show(),this._show=!0},n.prototype.setContent=function(e,t,i,r,a){var o=this;Kt(e)&&l1(""),this.el&&this._zr.remove(this.el);var s=i.getModel("textStyle");this.el=new X3({style:{rich:t.richTextStyles,text:e,lineHeight:22,borderWidth:1,borderColor:r,textShadowColor:s.get("textShadowColor"),fill:i.get(["textStyle","color"]),padding:KX(i,"richText"),verticalAlign:"top",align:"left"},z:i.get("z")}),ne(["backgroundColor","borderRadius","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"],function(u){o.el.style[u]=i.get(u)}),ne(["textShadowBlur","textShadowOffsetX","textShadowOffsetY"],function(u){o.el.style[u]=s.get(u)||0}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},n.prototype.setEnterable=function(e){this._enterable=e},n.prototype.getSize=function(){var e=this.el,t=this.el.getBoundingRect(),i=Qz(e.style);return[t.width+i.left+i.right,t.height+i.top+i.bottom]},n.prototype.moveTo=function(e,t){var i=this.el;if(i){var r=this._styleCoord;eG(r,this._zr,e,t),e=r[0],t=r[1];var a=i.style,o=V6(a.borderWidth||0),s=Qz(a);i.x=e+o+s.left,i.y=t+o+s.top,i.markRedraw()}},n.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},n.prototype.hide=function(){this.el&&this.el.hide(),this._show=!1},n.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(Tt(this.hide,this),e)):this.hide())},n.prototype.isShow=function(){return this._show},n.prototype.dispose=function(){this._zr.remove(this.el)},n}();function V6(n){return Math.max(0,n)}function Qz(n){var e=V6(n.shadowBlur||0),t=V6(n.shadowOffsetX||0),i=V6(n.shadowOffsetY||0);return{left:V6(e-t),right:V6(e+t),top:V6(e-i),bottom:V6(e+i)}}function eG(n,e,t,i){n[0]=t,n[1]=i,n[2]=n[0]/e.getWidth(),n[3]=n[1]/e.getHeight()}const vwe=pwe;var mwe=new H3({shape:{x:-1,y:-1,width:2,height:2}}),gwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){if(!(q3.node||!i.getDom())){var r=t.getComponent("tooltip"),a=this._renderMode=b5e(r.get("renderMode"));this._tooltipContent=a==="richText"?new vwe(i):new fwe(i,{appendTo:r.get("appendToBody",!0)?"body":r.get("appendTo",!0)})}},e.prototype.render=function(t,i,r){if(!(q3.node||!r.getDom())){this.group.removeAll(),this._tooltipModel=t,this._ecModel=i,this._api=r;var a=this._tooltipContent;a.update(t),a.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow(),this._renderMode!=="richText"&&t.get("transitionDuration")?X7(this,"_updatePosition",50,"fixRate"):Nd(this,"_updatePosition")}},e.prototype._initGlobalListener=function(){var t=this._tooltipModel,i=t.get("triggerOn");PJ("itemTooltip",this._api,Tt(function(r,a,o){i!=="none"&&(i.indexOf(r)>=0?this._tryShow(a,o):r==="leave"&&this._hide(o))},this))},e.prototype._keepShow=function(){var t=this._tooltipModel,i=this._ecModel,r=this._api,a=t.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!r.isDisposed()&&o.manuallyShowTip(t,i,r,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},e.prototype.manuallyShowTip=function(t,i,r,a){if(!(a.from===this.uid||q3.node||!r.getDom())){var o=tG(a,r);this._ticket="";var s=a.dataByCoordSys,l=bwe(a,i,r);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var c=mwe;c.x=a.x,c.y=a.y,c.update(),t3(c).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:c},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(t,i,r,a))return;var d=RJ(a,i),h=d.point[0],f=d.point[1];h!=null&&f!=null&&this._tryShow({offsetX:h,offsetY:f,target:d.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(r.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:r.getZr().findHover(a.x,a.y).target},o))}},e.prototype.manuallyHideTip=function(t,i,r,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(tG(a,r))},e.prototype._manuallyAxisShowTip=function(t,i,r,a){var o=a.seriesIndex,s=a.dataIndex,l=i.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=i.getSeriesByIndex(o);if(u){var c=u.getData(),d=Xu([c.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(d.get("trigger")==="axis")return r.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},e.prototype._tryShow=function(t,i){var r=t.target,a=this._tooltipModel;if(a){this._lastX=t.offsetX,this._lastY=t.offsetY;var o=t.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,t);else if(r){var s=t3(r);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;o8(r,function(c){if(t3(c).dataIndex!=null)return l=c,!0;if(t3(c).tooltipConfig!=null)return u=c,!0},!0),l?this._showSeriesItemTooltip(t,l,i):u?this._showComponentItemTooltip(t,u,i):this._hide(i)}else this._lastDataByCoordSys=null,this._hide(i)}},e.prototype._showOrMove=function(t,i){var r=t.get("showDelay");i=Tt(i,this),clearTimeout(this._showTimout),r>0?this._showTimout=setTimeout(i,r):i()},e.prototype._showAxisTooltip=function(t,i){var r=this._ecModel,a=this._tooltipModel,o=[i.offsetX,i.offsetY],s=Xu([i.tooltipOption],a),l=this._renderMode,u=[],c=_n("section",{blocks:[],noHeader:!0}),d=[],h=new jb;ne(t,function(_){ne(_.dataByAxis,function(S){var x=r.getComponent(S.axisDim+"Axis",S.axisIndex),A=S.value;if(!(!x||A==null)){var C=CJ(A,x.axis,r,S.seriesDataIndices,S.valueLabelOpt),M=_n("section",{header:C,noHeader:!Ya(C),sortBlocks:!0,blocks:[]});c.blocks.push(M),ne(S.seriesDataIndices,function(I){var D=r.getSeriesByIndex(I.seriesIndex),E=I.dataIndexInside,P=D.getDataParams(E);if(!(P.dataIndex<0)){P.axisDim=S.axisDim,P.axisIndex=S.axisIndex,P.axisType=S.axisType,P.axisId=S.axisId,P.axisValue=YE(x.axis,{value:A}),P.axisValueLabel=C,P.marker=h.makeTooltipMarker("item",z8(P.color),l);var F=zk(D.formatTooltip(E,!0,null)),V=F.frag;if(V){var G=Xu([D],a).get("valueFormatter");M.blocks.push(G?I2({valueFormatter:G},V):V)}F.text&&d.push(F.text),u.push(P)}})}})}),c.blocks.reverse(),d.reverse();var f=i.position,p=s.get("order"),m=jk(c,h,l,p,r.get("useUTC"),s.get("textStyle"));m&&d.unshift(m);var v=l==="richText"?` |
|
|
|
|
|
`:"<br/>",g=d.join(v);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t,u)?this._updatePosition(s,f,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,g,u,Math.random()+"",o[0],o[1],f,null,h)})},e.prototype._showSeriesItemTooltip=function(t,i,r){var a=this._ecModel,o=t3(i),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,c=o.dataIndex,d=o.dataType,h=u.getData(d),f=this._renderMode,p=t.positionDefault,m=Xu([h.getItemModel(c),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),v=m.get("trigger");if(!(v!=null&&v!=="item")){var g=u.getDataParams(c,d),_=new jb;g.marker=_.makeTooltipMarker("item",z8(g.color),f);var S=zk(u.formatTooltip(c,!1,d)),x=m.get("order"),A=m.get("valueFormatter"),C=S.frag,M=C?jk(A?I2({valueFormatter:A},C):C,_,f,x,a.get("useUTC"),m.get("textStyle")):S.text,I="item_"+u.name+"_"+c;this._showOrMove(m,function(){this._showTooltipContent(m,M,g,I,t.offsetX,t.offsetY,t.position,t.target,_)}),r({type:"showTip",dataIndexInside:c,dataIndex:h.getRawIndex(c),seriesIndex:s,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,i,r){var a=this._renderMode==="html",o=t3(i),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(xt(l)){var c=l;l={content:c,formatter:c},u=!0}u&&a&&l.content&&(l=Zt(l),l.content=ai(l.content));var d=[l],h=this._ecModel.getComponent(o.componentMainType,o.componentIndex);h&&d.push(h),d.push({formatter:l.content});var f=t.positionDefault,p=Xu(d,this._tooltipModel,f?{position:f}:null),m=p.get("content"),v=Math.random()+"",g=new jb;this._showOrMove(p,function(){var _=Zt(p.get("formatterParams")||{});this._showTooltipContent(p,m,_,v,t.offsetX,t.offsetY,t.position,i,g)}),r({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,i,r,a,o,s,l,u,c){if(this._ticket="",!(!t.get("showContent")||!t.get("show"))){var d=this._tooltipContent;d.setEnterable(t.get("enterable"));var h=t.get("formatter");l=l||t.get("position");var f=i,p=this._getNearestPoint([o,s],r,t.get("trigger"),t.get("borderColor")),m=p.color;if(h)if(xt(h)){var v=t.ecModel.get("useUTC"),g=j2(r)?r[0]:r,_=g&&g.axisType&&g.axisType.indexOf("time")>=0;f=h,_&&(f=Dy(g.axisValue,f,v)),f=vX(f,r,!0)}else if(Wt(h)){var S=Tt(function(x,A){x===this._ticket&&(d.setContent(A,c,t,m,l),this._updatePosition(t,l,o,s,d,r,u))},this);this._ticket=a,f=h(r,a,S)}else f=h;d.setContent(f,c,t,m,l),d.show(t,m),this._updatePosition(t,l,o,s,d,r,u)}},e.prototype._getNearestPoint=function(t,i,r,a){if(r==="axis"||j2(i))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!j2(i))return{color:a||i.color||i.borderColor}},e.prototype._updatePosition=function(t,i,r,a,o,s,l){var u=this._api.getWidth(),c=this._api.getHeight();i=i||t.get("position");var d=o.getSize(),h=t.get("align"),f=t.get("verticalAlign"),p=l&&l.getBoundingRect().clone();if(l&&p.applyTransform(l.transform),Wt(i)&&(i=i([r,a],s,o.el,p,{viewSize:[u,c],contentSize:d.slice()})),j2(i))r=mt(i[0],u),a=mt(i[1],c);else if(Kt(i)){var m=i;m.width=d[0],m.height=d[1];var v=un(m,{width:u,height:c});r=v.x,a=v.y,h=null,f=null}else if(xt(i)&&l){var g=Swe(i,p,d,t.get("borderWidth"));r=g[0],a=g[1]}else{var g=ywe(r,a,o,u,c,h?null:20,f?null:20);r=g[0],a=g[1]}if(h&&(r-=nG(h)?d[0]/2:h==="right"?d[0]:0),f&&(a-=nG(f)?d[1]/2:f==="bottom"?d[1]:0),HJ(t)){var g=_we(r,a,o,u,c);r=g[0],a=g[1]}o.moveTo(r,a)},e.prototype._updateContentNotChangedOnAxis=function(t,i){var r=this._lastDataByCoordSys,a=this._cbParamsList,o=!!r&&r.length===t.length;return o&&ne(r,function(s,l){var u=s.dataByAxis||[],c=t[l]||{},d=c.dataByAxis||[];o=o&&u.length===d.length,o&&ne(u,function(h,f){var p=d[f]||{},m=h.seriesDataIndices||[],v=p.seriesDataIndices||[];o=o&&h.value===p.value&&h.axisType===p.axisType&&h.axisId===p.axisId&&m.length===v.length,o&&ne(m,function(g,_){var S=v[_];o=o&&g.seriesIndex===S.seriesIndex&&g.dataIndex===S.dataIndex}),a&&ne(h.seriesDataIndices,function(g){var _=g.seriesIndex,S=i[_],x=a[_];S&&x&&x.data!==S.data&&(o=!1)})})}),this._lastDataByCoordSys=t,this._cbParamsList=i,!!o},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,i){q3.node||!i.getDom()||(Nd(this,"_updatePosition"),this._tooltipContent.dispose(),SC("itemTooltip",i))},e.type="tooltip",e}(b0);function Xu(n,e,t){var i=e.ecModel,r;t?(r=new $1(t,i,i),r=new $1(e.option,r,i)):r=e;for(var a=n.length-1;a>=0;a--){var o=n[a];o&&(o instanceof $1&&(o=o.get("tooltip",!0)),xt(o)&&(o={formatter:o}),o&&(r=new $1(o,r,i)))}return r}function tG(n,e){return n.dispatchAction||Tt(e.dispatchAction,e)}function ywe(n,e,t,i,r,a,o){var s=t.getSize(),l=s[0],u=s[1];return a!=null&&(n+l+a+2>i?n-=l+a:n+=a),o!=null&&(e+u+o>r?e-=u+o:e+=o),[n,e]}function _we(n,e,t,i,r){var a=t.getSize(),o=a[0],s=a[1];return n=Math.min(n+o,i)-o,e=Math.min(e+s,r)-s,n=Math.max(n,0),e=Math.max(e,0),[n,e]}function Swe(n,e,t,i){var r=t[0],a=t[1],o=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,c=e.height;switch(n){case"inside":s=e.x+u/2-r/2,l=e.y+c/2-a/2;break;case"top":s=e.x+u/2-r/2,l=e.y-a-o;break;case"bottom":s=e.x+u/2-r/2,l=e.y+c+o;break;case"left":s=e.x-r-o,l=e.y+c/2-a/2;break;case"right":s=e.x+u+o,l=e.y+c/2-a/2}return[s,l]}function nG(n){return n==="center"||n==="middle"}function bwe(n,e,t){var i=sE(n).queryOptionMap,r=i.keys()[0];if(!(!r||r==="series")){var a=gh(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=t.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var c=t3(u).tooltipConfig;if(c&&c.name===n.name)return l=u,!0}),l)return{componentMainType:r,componentIndex:o.componentIndex,el:l}}}}const xwe=gwe;function wwe(n){C3(Dh),n.registerComponentModel(nwe),n.registerComponentView(xwe),n.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},O0),n.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},O0)}var Twe=["rect","polygon","keep","clear"];function Awe(n,e){var t=T1(n?n.brush:[]);if(t.length){var i=[];ne(t,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(i=i.concat(u))});var r=n&&n.toolbox;j2(r)&&(r=r[0]),r||(r={feature:{}},n.toolbox=[r]);var a=r.feature||(r.feature={}),o=a.brush||(a.brush={}),s=o.type||(o.type=[]);s.push.apply(s,i),Cwe(s),e&&!s.length&&s.push.apply(s,Twe)}}function Cwe(n){var e={};ne(n,function(t){e[t]=1}),n.length=0,ne(e,function(t,i){n.push(i)})}var iG=ne;function rG(n){if(n){for(var e in n)if(n.hasOwnProperty(e))return!0}}function CC(n,e,t){var i={};return iG(e,function(a){var o=i[a]=r();iG(n[a],function(s,l){if(Hn.isValidType(l)){var u={type:l,visual:s};t&&t(u,a),o[l]=new Hn(u),l==="opacity"&&(u=Zt(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new Hn(u))}})}),i;function r(){var a=function(){};a.prototype.__hidden=a.prototype;var o=new a;return o}}function qJ(n,e,t){var i;ne(t,function(r){e.hasOwnProperty(r)&&rG(e[r])&&(i=!0)}),i&&ne(t,function(r){e.hasOwnProperty(r)&&rG(e[r])?n[r]=Zt(e[r]):delete n[r]})}function Mwe(n,e,t,i,r,a){var o={};ne(n,function(d){var h=Hn.prepareVisualTypes(e[d]);o[d]=h});var s;function l(d){return BE(t,s,d)}function u(d,h){oY(t,s,d,h)}a==null?t.each(c):t.each([a],c);function c(d,h){s=a==null?d:h;var f=t.getRawDataItem(s);if(!(f&&f.visualMap===!1))for(var p=i.call(r,d),m=e[p],v=o[p],g=0,_=v.length;g<_;g++){var S=v[g];m[S]&&m[S].applyVisual(d,l,u)}}}function Ewe(n,e,t,i){var r={};return ne(n,function(a){var o=Hn.prepareVisualTypes(e[a]);r[a]=o}),{progress:function(o,s){var l;i!=null&&(l=s.getDimensionIndex(i));function u(A){return BE(s,d,A)}function c(A,C){oY(s,d,A,C)}for(var d,h=s.getStore();(d=o.next())!=null;){var f=s.getRawDataItem(d);if(!(f&&f.visualMap===!1))for(var p=i!=null?h.get(l,d):d,m=t(p),v=e[m],g=r[m],_=0,S=g.length;_<S;_++){var x=g[_];v[x]&&v[x].applyVisual(p,u,c)}}}}}function Pwe(n){var e=n.brushType,t={point:function(i){return aG[e].point(i,t,n)},rect:function(i){return aG[e].rect(i,t,n)}};return t}var aG={lineX:oG(0),lineY:oG(1),rect:{point:function(n,e,t){return n&&t.boundingRect.contain(n[0],n[1])},rect:function(n,e,t){return n&&t.boundingRect.intersect(n)}},polygon:{point:function(n,e,t){return n&&t.boundingRect.contain(n[0],n[1])&&K9(t.range,n[0],n[1])},rect:function(n,e,t){var i=t.range;if(!n||i.length<=1)return!1;var r=n.x,a=n.y,o=n.width,s=n.height,l=i[0];if(K9(i,r,a)||K9(i,r+o,a)||K9(i,r,a+s)||K9(i,r+o,a+s)||g3.create(n).contain(l[0],l[1])||bc(r,a,r+o,a,i)||bc(r,a,r,a+s,i)||bc(r+o,a,r+o,a+s,i)||bc(r,a+s,r+o,a+s,i))return!0}}};function oG(n){var e=["x","y"],t=["width","height"];return{point:function(i,r,a){if(i){var o=a.range,s=i[n];return Yu(s,o)}},rect:function(i,r,a){if(i){var o=a.range,s=[i[e[n]],i[e[n]]+i[t[n]]];return s[1]<s[0]&&s.reverse(),Yu(s[0],o)||Yu(s[1],o)||Yu(o[0],s)||Yu(o[1],s)}}}}function Yu(n,e){return e[0]<=n&&n<=e[1]}var sG=["inBrush","outOfBrush"],uw="__ecBrushSelect",MC="__ecInBrushSelectEvent";function XJ(n){n.eachComponent({mainType:"brush"},function(e){var t=e.brushTargetManager=new XP(e.option,n);t.setInputRanges(e.areas,n)})}function Rwe(n,e,t){var i=[],r,a;n.eachComponent({mainType:"brush"},function(o){t&&t.type==="takeGlobalCursor"&&o.setBrushOption(t.key==="brush"?t.brushOption:{brushType:!1})}),XJ(n),n.eachComponent({mainType:"brush"},function(o,s){var l={brushId:o.id,brushIndex:s,brushName:o.name,areas:Zt(o.areas),selected:[]};i.push(l);var u=o.option,c=u.brushLink,d=[],h=[],f=[],p=!1;s||(r=u.throttleType,a=u.throttleDelay);var m=q2(o.areas,function(A){var C=Nwe[A.brushType],M=qt({boundingRect:C?C(A):void 0},A);return M.selectors=Pwe(M),M}),v=CC(o.option,sG,function(A){A.mappingMethod="fixed"});j2(c)&&ne(c,function(A){d[A]=1});function g(A){return c==="all"||!!d[A]}function _(A){return!!A.length}n.eachSeries(function(A,C){var M=f[C]=[];A.subType==="parallel"?S(A,C):x(A,C,M)});function S(A,C){var M=A.coordinateSystem;p=p||M.hasAxisBrushed(),g(C)&&M.eachActiveState(A.getData(),function(I,D){I==="active"&&(h[D]=1)})}function x(A,C,M){if(!(!A.brushSelector||Dwe(o,C))&&(ne(m,function(D){o.brushTargetManager.controlSeries(D,A,n)&&M.push(D),p=p||_(M)}),g(C)&&_(M))){var I=A.getData();I.each(function(D){lG(A,M,I,D)&&(h[D]=1)})}}n.eachSeries(function(A,C){var M={seriesId:A.id,seriesIndex:C,seriesName:A.name,dataIndex:[]};l.selected.push(M);var I=f[C],D=A.getData(),E=g(C)?function(P){return h[P]?(M.dataIndex.push(D.getRawIndex(P)),"inBrush"):"outOfBrush"}:function(P){return lG(A,I,D,P)?(M.dataIndex.push(D.getRawIndex(P)),"inBrush"):"outOfBrush"};(g(C)?p:_(I))&&Mwe(sG,v,D,E)})}),Lwe(e,r,a,i,t)}function Lwe(n,e,t,i,r){if(r){var a=n.getZr();if(!a[MC]){a[uw]||(a[uw]=Iwe);var o=X7(a,uw,t,e);o(n,i)}}}function Iwe(n,e){if(!n.isDisposed()){var t=n.getZr();t[MC]=!0,n.dispatchAction({type:"brushSelect",batch:e}),t[MC]=!1}}function lG(n,e,t,i){for(var r=0,a=e.length;r<a;r++){var o=e[r];if(n.brushSelector(i,t,o.selectors,o))return!0}}function Dwe(n,e){var t=n.option.seriesIndex;return t!=null&&t!=="all"&&(j2(t)?x3(t,e)<0:e!==t)}var Nwe={rect:function(n){return uG(n.range)},polygon:function(n){for(var e,t=n.range,i=0,r=t.length;i<r;i++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=t[i];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&uG(e)}};function uG(n){return new g3(n[0][0],n[1][0],n[0][1]-n[0][0],n[1][1]-n[1][0])}var kwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){this.ecModel=t,this.api=i,this.model,(this._brushController=new CP(i.getZr())).on("brush",Tt(this._onBrush,this)).mount()},e.prototype.render=function(t,i,r,a){this.model=t,this._updateController(t,i,r,a)},e.prototype.updateTransform=function(t,i,r,a){XJ(i),this._updateController(t,i,r,a)},e.prototype.updateVisual=function(t,i,r,a){this.updateTransform(t,i,r,a)},e.prototype.updateView=function(t,i,r,a){this._updateController(t,i,r,a)},e.prototype._updateController=function(t,i,r,a){(!a||a.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(r)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var i=this.model.id,r=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:i,areas:Zt(r),$from:i}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:i,areas:Zt(r),$from:i})},e.type="brush",e}(b0);const Fwe=kwe;var Owe="#ddd",Bwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.areas=[],t.brushOption={},t}return e.prototype.optionUpdated=function(t,i){var r=this.option;!i&&qJ(r,t,["inBrush","outOfBrush"]);var a=r.inBrush=r.inBrush||{};r.outOfBrush=r.outOfBrush||{color:Owe},a.hasOwnProperty("liftZ")||(a.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=q2(t,function(i){return cG(this.option,i)},this))},e.prototype.setBrushOption=function(t){this.brushOption=cG(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}($3);function cG(n,e){return u3({brushType:n.brushType,brushMode:n.brushMode,transformable:n.transformable,brushStyle:new $1(n.brushStyle).getItemStyle(),removeOnClick:n.removeOnClick,z:n.z},e,!0)}const zwe=Bwe;var Gwe=["rect","polygon","lineX","lineY","keep","clear"],Uwe=function(n){o2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r){var a,o,s;i.eachComponent({mainType:"brush"},function(l){a=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=a,this._brushMode=o,ne(t.get("type",!0),function(l){t.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===a)?"emphasis":"normal")})},e.prototype.updateView=function(t,i,r){this.render(t,i,r)},e.prototype.getIcons=function(){var t=this.model,i=t.get("icon",!0),r={};return ne(t.get("type",!0),function(a){i[a]&&(r[a]=i[a])}),r},e.prototype.onclick=function(t,i,r){var a=this._brushType,o=this._brushMode;r==="clear"?(i.dispatchAction({type:"axisAreaSelect",intervals:[]}),i.dispatchAction({type:"brush",command:"clear",areas:[]})):i.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:r==="keep"?a:a===r?!1:r,brushMode:r==="keep"?o==="multiple"?"single":"multiple":o}})},e.getDefaultOption=function(t){var i={show:!0,type:Gwe.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"])};return i},e}(ha);const Vwe=Uwe;function Hwe(n){n.registerComponentView(Fwe),n.registerComponentModel(zwe),n.registerPreprocessor(Awe),n.registerVisual(n.PRIORITY.VISUAL.BRUSH,Rwe),n.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(i){i.setAreas(e.areas)})}),n.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},O0),n.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},O0),Sl("brush",Vwe)}var Wwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.type="title",e.defaultOption={z:6,show:!0,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}($3),jwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){if(this.group.removeAll(),!!t.get("show")){var a=this.group,o=t.getModel("textStyle"),s=t.getModel("subtextStyle"),l=t.get("textAlign"),u=a3(t.get("textBaseline"),t.get("textVerticalAlign")),c=new X3({style:j1(o,{text:t.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),d=c.getBoundingRect(),h=t.get("subtext"),f=new X3({style:j1(s,{text:h,fill:s.getTextColor(),y:d.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),m=t.get("sublink"),v=t.get("triggerEvent",!0);c.silent=!p&&!v,f.silent=!m&&!v,p&&c.on("click",function(){Qm(p,"_"+t.get("target"))}),m&&f.on("click",function(){Qm(m,"_"+t.get("subtarget"))}),t3(c).eventData=t3(f).eventData=v?{componentType:"title",componentIndex:t.componentIndex}:null,a.add(c),h&&a.add(f);var g=a.getBoundingRect(),_=t.getBoxLayoutParams();_.width=g.width,_.height=g.height;var S=un(_,{width:r.getWidth(),height:r.getHeight()},t.get("padding"));l||(l=t.get("left")||t.get("right"),l==="middle"&&(l="center"),l==="right"?S.x+=S.width:l==="center"&&(S.x+=S.width/2)),u||(u=t.get("top")||t.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?S.y+=S.height:u==="middle"&&(S.y+=S.height/2),u=u||"top"),a.x=S.x,a.y=S.y,a.markRedraw();var x={align:l,verticalAlign:u};c.setStyle(x),f.setStyle(x),g=a.getBoundingRect();var A=S.margin,C=t.getItemStyle(["color","opacity"]);C.fill=t.get("backgroundColor");var M=new H3({shape:{x:g.x-A[3],y:g.y-A[0],width:g.width+A[1]+A[3],height:g.height+A[0]+A[2],r:t.get("borderRadius")},style:C,subPixelOptimize:!0,silent:!0});a.add(M)}},e.type="title",e}(b0);function $we(n){n.registerComponentModel(Wwe),n.registerComponentView(jwe)}var qwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode="box",t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),this._initData()},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){t==null&&(t=this.option.currentIndex);var i=this._data.count();this.option.loop?t=(t%i+i)%i:(t>=i&&(t=i-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t=this.option,i=t.data||[],r=t.axisType,a=this._names=[],o;r==="category"?(o=[],ne(i,function(u,c){var d=ln(B7(u),""),h;Kt(u)?(h=Zt(u),h.value=c):h=c,o.push(h),a.push(d)})):o=i;var s={category:"ordinal",time:"time",value:"number"}[r]||"number",l=this._data=new Pi([{name:"value",type:s}],this);l.initData(o,a)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}($3);const dG=qwe;var YJ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline.slider",e.defaultOption=U5(dG.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,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:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.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:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(dG);K0(YJ,Gy.prototype);const Xwe=YJ;var Ywe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline",e}(b0);const Kwe=Ywe;var Zwe=function(n){o2(e,n);function e(t,i,r,a){var o=n.call(this,t,i,r)||this;return o.type=a||"value",o}return e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},e}(ao);const Jwe=Zwe;var cw=Math.PI,hG=G3(),Qwe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){this.api=i},e.prototype.render=function(t,i,r){if(this.model=t,this.api=r,this.ecModel=i,this.group.removeAll(),t.get("show",!0)){var a=this._layout(t,r),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(a,t);t.formatTooltip=function(u){var c=l.scale.getLabel({value:u});return _n("nameValue",{noName:!0,value:c})},ne(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](a,o,l,t)},this),this._renderAxisLabel(a,s,l,t),this._position(a,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,i){var r=t.get(["label","position"]),a=t.get("orient"),o=tTe(t,i),s;r==null||r==="auto"?s=a==="horizontal"?o.y+o.height/2<i.getHeight()/2?"-":"+":o.x+o.width/2<i.getWidth()/2?"+":"-":xt(r)?s={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[a][r]:s=r;var l={horizontal:"center",vertical:s>=0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:cw/2},d=a==="vertical"?o.height:o.width,h=t.getModel("controlStyle"),f=h.get("show",!0),p=f?h.get("itemSize"):0,m=f?h.get("itemGap"):0,v=p+m,g=t.get(["label","rotate"])||0;g=g*cw/180;var _,S,x,A=h.get("position",!0),C=f&&h.get("showPlayBtn",!0),M=f&&h.get("showPrevBtn",!0),I=f&&h.get("showNextBtn",!0),D=0,E=d;A==="left"||A==="bottom"?(C&&(_=[0,0],D+=v),M&&(S=[D,0],D+=v),I&&(x=[E-p,0],E-=v)):(C&&(_=[E-p,0],E-=v),M&&(S=[0,0],D+=v),I&&(x=[E-p,0],E-=v));var P=[D,E];return t.get("inverse")&&P.reverse(),{viewRect:o,mainLength:d,orient:a,rotation:c[a],labelRotation:g,labelPosOpt:s,labelAlign:t.get(["label","align"])||l[a],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||u[a],playPosition:_,prevBtnPosition:S,nextBtnPosition:x,axisExtent:P,controlSize:p,controlGap:m}},e.prototype._position=function(t,i){var r=this._mainGroup,a=this._labelGroup,o=t.viewRect;if(t.orient==="vertical"){var s=Ir(),l=o.x,u=o.y+o.height;Ko(s,s,[-l,-u]),K8(s,s,-cw/2),Ko(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var c=_(o),d=_(r.getBoundingRect()),h=_(a.getBoundingRect()),f=[r.x,r.y],p=[a.x,a.y];p[0]=f[0]=c[0][0];var m=t.labelPosOpt;if(m==null||xt(m)){var v=m==="+"?0:1;S(f,d,c,1,v),S(p,h,c,1,1-v)}else{var v=m>=0?0:1;S(f,d,c,1,v),p[1]=f[1]+m}r.setPosition(f),a.setPosition(p),r.rotation=a.rotation=t.rotation,g(r),g(a);function g(x){x.originX=c[0][0]-x.x,x.originY=c[1][0]-x.y}function _(x){return[[x.x,x.x+x.width],[x.y,x.y+x.height]]}function S(x,A,C,M,I){x[M]+=C[M][I]-A[M][I]}},e.prototype._createAxis=function(t,i){var r=i.getData(),a=i.get("axisType"),o=eTe(i,a);o.getTicks=function(){return r.mapArray(["value"],function(u){return{value:u}})};var s=r.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new Jwe("value",o,t.axisExtent,a);return l.model=i,l},e.prototype._createGroup=function(t){var i=this[t]=new Qt;return this.group.add(i),i},e.prototype._renderAxisLine=function(t,i,r,a){var o=r.getExtent();if(a.get(["lineStyle","show"])){var s=new Rn({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:I2({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});i.add(s);var l=this._progressLine=new Rn({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:qt({lineCap:"round",lineWidth:s.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});i.add(l)}},e.prototype._renderAxisTick=function(t,i,r,a){var o=this,s=a.getData(),l=r.scale.getTicks();this._tickSymbols=[],ne(l,function(u){var c=r.dataToCoord(u.value),d=s.getItemModel(u.value),h=d.getModel("itemStyle"),f=d.getModel(["emphasis","itemStyle"]),p=d.getModel(["progress","itemStyle"]),m={x:c,y:0,onclick:Tt(o._changeTimeline,o,u.value)},v=fG(d,h,i,m);v.ensureState("emphasis").style=f.getItemStyle(),v.ensureState("progress").style=p.getItemStyle(),x8(v);var g=t3(v);d.get("tooltip")?(g.dataIndex=u.value,g.dataModel=a):g.dataIndex=g.dataModel=null,o._tickSymbols.push(v)})},e.prototype._renderAxisLabel=function(t,i,r,a){var o=this,s=r.getLabelModel();if(s.get("show")){var l=a.getData(),u=r.getViewLabels();this._tickLabels=[],ne(u,function(c){var d=c.tickValue,h=l.getItemModel(d),f=h.getModel("label"),p=h.getModel(["emphasis","label"]),m=h.getModel(["progress","label"]),v=r.dataToCoord(c.tickValue),g=new X3({x:v,y:0,rotation:t.labelRotation-t.rotation,onclick:Tt(o._changeTimeline,o,d),silent:!1,style:j1(f,{text:c.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});g.ensureState("emphasis").style=j1(p),g.ensureState("progress").style=j1(m),i.add(g),x8(g),hG(g).dataIndex=d,o._tickLabels.push(g)})}},e.prototype._renderControl=function(t,i,r,a){var o=t.controlSize,s=t.rotation,l=a.getModel("controlStyle").getItemStyle(),u=a.getModel(["emphasis","controlStyle"]).getItemStyle(),c=a.getPlayState(),d=a.get("inverse",!0);h(t.nextBtnPosition,"next",Tt(this._changeTimeline,this,d?"-":"+")),h(t.prevBtnPosition,"prev",Tt(this._changeTimeline,this,d?"+":"-")),h(t.playPosition,c?"stop":"play",Tt(this._handlePlayClick,this,!c),!0);function h(f,p,m,v){if(f){var g=to(a3(a.get(["controlStyle",p+"BtnSize"]),o),o),_=[0,-g/2,g,g],S=nTe(a,p+"Icon",_,{x:f[0],y:f[1],originX:o/2,originY:0,rotation:v?-s:0,rectHover:!0,style:l,onclick:m});S.ensureState("emphasis").style=u,i.add(S),x8(S)}}},e.prototype._renderCurrentPointer=function(t,i,r,a){var o=a.getData(),s=a.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,c={onCreate:function(d){d.draggable=!0,d.drift=Tt(u._handlePointerDrag,u),d.ondragend=Tt(u._handlePointerDragend,u),pG(d,u._progressLine,s,r,a,!0)},onUpdate:function(d){pG(d,u._progressLine,s,r,a)}};this._currentPointer=fG(l,l,this._mainGroup,{},this._currentPointer,c)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,i,r){this._clearTimer(),this._pointerChangeTimeline([r.offsetX,r.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,i){var r=this._toAxisCoord(t)[0],a=this._axis,o=ba(a.getExtent().slice());r>o[1]&&(r=o[1]),r<o[0]&&(r=o[0]),this._currentPointer.x=r,this._currentPointer.markRedraw();var s=this._progressLine;s&&(s.shape.x2=r,s.dirty());var l=this._findNearestTick(r),u=this.model;(i||l!==u.getCurrentIndex()&&u.get("realtime"))&&this._changeTimeline(l)},e.prototype._doPlayStop=function(){var t=this;this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(function(){var i=t.model;t._changeTimeline(i.getCurrentIndex()+(i.get("rewind",!0)?-1:1))},this.model.get("playInterval")))},e.prototype._toAxisCoord=function(t){var i=this._mainGroup.getLocalTransform();return Qa(t,i,!0)},e.prototype._findNearestTick=function(t){var i=this.model.getData(),r=1/0,a,o=this._axis;return i.each(["value"],function(s,l){var u=o.dataToCoord(s),c=Math.abs(u-t);c<r&&(r=c,a=l)}),a},e.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},e.prototype._changeTimeline=function(t){var i=this.model.getCurrentIndex();t==="+"?t=i+1:t==="-"&&(t=i-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})},e.prototype._updateTicksStatus=function(){var t=this.model.getCurrentIndex(),i=this._tickSymbols,r=this._tickLabels;if(i)for(var a=0;a<i.length;a++)i&&i[a]&&i[a].toggleState("progress",a<t);if(r)for(var a=0;a<r.length;a++)r&&r[a]&&r[a].toggleState("progress",hG(r[a]).dataIndex<=t)},e.type="timeline.slider",e}(Kwe);function eTe(n,e){if(e=e||n.get("type"),e)switch(e){case"category":return new jE({ordinalMeta:n.getCategories(),extent:[1/0,-1/0]});case"time":return new YY({locale:n.ecModel.getLocaleModel(),useUTC:n.ecModel.get("useUTC")});default:return new I5}}function tTe(n,e){return un(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},n.get("padding"))}function nTe(n,e,t,i){var r=i.style,a=Sh(n.get(["controlStyle",e]),i||{},new g3(t[0],t[1],t[2],t[3]));return r&&a.setStyle(r),a}function fG(n,e,t,i,r,a){var o=e.get("color");if(r)r.setColor(o),t.add(r),a&&a.onUpdate(r);else{var s=n.get("symbol");r=X0(s,-1,-1,2,2,o),r.setStyle("strokeNoScale",!0),t.add(r),a&&a.onCreate(r)}var l=e.getItemStyle(["color"]);r.setStyle(l),i=u3({rectHover:!0,z2:100},i,!0);var u=Y7(n.get("symbolSize"));i.scaleX=u[0]/2,i.scaleY=u[1]/2;var c=e4(n.get("symbolOffset"),u);c&&(i.x=(i.x||0)+c[0],i.y=(i.y||0)+c[1]);var d=n.get("symbolRotate");return i.rotation=(d||0)*Math.PI/180||0,r.attr(i),r.updateTransform(),r}function pG(n,e,t,i,r,a){if(!n.dragging){var o=r.getModel("checkpointStyle"),s=i.dataToCoord(r.getData().get("value",t));if(a||!o.get("animation",!0))n.attr({x:s,y:0}),e&&e.attr({shape:{x2:s}});else{var l={duration:o.get("animationDuration",!0),easing:o.get("animationEasing",!0)};n.stopAnimation(null,!0),n.animateTo({x:s,y:0},l),e&&e.animateTo({shape:{x2:s}},l)}}}const iTe=Qwe;function rTe(n){n.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(e,t,i){var r=t.getComponent("timeline");return r&&e.currentIndex!=null&&(r.setCurrentIndex(e.currentIndex),!r.get("loop",!0)&&r.isIndexMax()&&r.getPlayState()&&(r.setPlayState(!1),i.dispatchAction({type:"timelinePlayChange",playState:!1,from:e.from}))),t.resetOption("timeline",{replaceMerge:r.get("replaceMerge",!0)}),qt({currentIndex:r.option.currentIndex},e)}),n.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(e,t){var i=t.getComponent("timeline");i&&e.playState!=null&&i.setPlayState(e.playState)})}function aTe(n){var e=n&&n.timeline;j2(e)||(e=e?[e]:[]),ne(e,function(t){t&&oTe(t)})}function oTe(n){var e=n.type,t={number:"value",time:"time"};if(t[e]&&(n.axisType=t[e],delete n.type),vG(n),Q9(n,"controlPosition")){var i=n.controlStyle||(n.controlStyle={});Q9(i,"position")||(i.position=n.controlPosition),i.position==="none"&&!Q9(i,"show")&&(i.show=!1,delete i.position),delete n.controlPosition}ne(n.data||[],function(r){Kt(r)&&!j2(r)&&(!Q9(r,"value")&&Q9(r,"name")&&(r.value=r.name),vG(r))})}function vG(n){var e=n.itemStyle||(n.itemStyle={}),t=e.emphasis||(e.emphasis={}),i=n.label||n.label||{},r=i.normal||(i.normal={}),a={normal:1,emphasis:1};ne(i,function(o,s){!a[s]&&!Q9(r,s)&&(r[s]=o)}),t.label&&!Q9(i,"emphasis")&&(i.emphasis=t.label,delete t.label)}function Q9(n,e){return n.hasOwnProperty(e)}function sTe(n){n.registerComponentModel(Xwe),n.registerComponentView(iTe),n.registerSubTypeDefaulter("timeline",function(){return"slider"}),rTe(n),n.registerPreprocessor(aTe)}function ZP(n,e){if(!n)return!1;for(var t=j2(n)?n:[n],i=0;i<t.length;i++)if(t[i]&&t[i][e])return!0;return!1}function Lp(n){k8(n,"label",["show"])}var Ip=G3(),KJ=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.createdBySelf=!1,t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),this._mergeOption(t,r,!1,!0)},e.prototype.isAnimationEnabled=function(){if(q3.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},e.prototype.mergeOption=function(t,i){this._mergeOption(t,i,!1,!1)},e.prototype._mergeOption=function(t,i,r,a){var o=this.mainType;r||i.eachSeries(function(s){var l=s.get(this.mainType,!0),u=Ip(s)[o];if(!l||!l.data){Ip(s)[o]=null;return}u?u._mergeOption(l,i,!0):(a&&Lp(l),ne(l.data,function(c){c instanceof Array?(Lp(c[0]),Lp(c[1])):Lp(c)}),u=this.createMarkerModelFromSeries(l,this,i),I2(u,{mainType:this.mainType,seriesIndex:s.seriesIndex,name:s.name,createdBySelf:!0}),u.__hostSeries=s),Ip(s)[o]=u},this)},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.getRawValue(t),s=a.getName(t);return _n("section",{header:this.name,blocks:[_n("nameValue",{name:s,value:o,noName:!s,noValue:o==null})]})},e.prototype.getData=function(){return this._data},e.prototype.setData=function(t){this._data=t},e.prototype.getDataParams=function(t,i){var r=Gy.prototype.getDataParams.call(this,t,i),a=this.__hostSeries;return a&&(r.seriesId=a.id,r.seriesName=a.name,r.seriesType=a.subType),r},e.getMarkerModelFromSeries=function(t,i){return Ip(t)[i]},e.type="marker",e.dependencies=["series","grid","polar","geo"],e}($3);K0(KJ,Gy.prototype);const k5=KJ;var lTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markPoint",e.defaultOption={z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}},e}(k5);const uTe=lTe;function EC(n){return!(isNaN(parseFloat(n.x))&&isNaN(parseFloat(n.y)))}function cTe(n){return!isNaN(parseFloat(n.x))&&!isNaN(parseFloat(n.y))}function Dp(n,e,t,i,r,a){var o=[],s=L5(e,i),l=s?e.getCalculationInfo("stackResultDimension"):i,u=JP(e,l,n),c=e.indicesOfNearest(l,u)[0];o[r]=e.get(t,c),o[a]=e.get(l,c);var d=e.get(i,c),h=Bo(e.get(i,c));return h=Math.min(h,20),h>=0&&(o[a]=+o[a].toFixed(h)),[o,d]}var dw={min:s3(Dp,"min"),max:s3(Dp,"max"),average:s3(Dp,"average"),median:s3(Dp,"median")};function qd(n,e){if(e){var t=n.getData(),i=n.coordinateSystem,r=i&&i.dimensions;if(!cTe(e)&&!j2(e.coord)&&j2(r)){var a=ZJ(e,t,i,n);if(e=Zt(e),e.type&&dw[e.type]&&a.baseAxis&&a.valueAxis){var o=x3(r,a.baseAxis.dim),s=x3(r,a.valueAxis.dim),l=dw[e.type](t,a.baseDataDim,a.valueDataDim,o,s);e.coord=l[0],e.value=l[1]}else e.coord=[e.xAxis!=null?e.xAxis:e.radiusAxis,e.yAxis!=null?e.yAxis:e.angleAxis]}if(e.coord==null||!j2(r))e.coord=[];else for(var u=e.coord,c=0;c<2;c++)dw[u[c]]&&(u[c]=JP(t,t.mapDimension(r[c]),u[c]));return e}}function ZJ(n,e,t,i){var r={};return n.valueIndex!=null||n.valueDim!=null?(r.valueDataDim=n.valueIndex!=null?e.getDimension(n.valueIndex):n.valueDim,r.valueAxis=t.getAxis(dTe(i,r.valueDataDim)),r.baseAxis=t.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=t.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function dTe(n,e){var t=n.getData().getDimensionInfo(e);return t&&t.coordDim}function Xd(n,e){return n&&n.containData&&e.coord&&!EC(e)?n.containData(e.coord):!0}function hTe(n,e,t){return n&&n.containZone&&e.coord&&t.coord&&!EC(e)&&!EC(t)?n.containZone(e.coord,t.coord):!0}function JJ(n,e){return n?function(t,i,r,a){var o=a<2?t.coord&&t.coord[a]:t.value;return g5(o,e[a])}:function(t,i,r,a){return g5(t.value,e[a])}}function JP(n,e,t){if(t==="average"){var i=0,r=0;return n.each(e,function(a,o){isNaN(a)||(i+=a,r++)}),i/r}else return t==="median"?n.getMedian(e):n.getDataExtent(e)[t==="max"?1:0]}var hw=G3(),fTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this.markerGroupMap=Rt()},e.prototype.render=function(t,i,r){var a=this,o=this.markerGroupMap;o.each(function(s){hw(s).keep=!1}),i.eachSeries(function(s){var l=k5.getMarkerModelFromSeries(s,a.type);l&&a.renderSeries(s,l,i,r)}),o.each(function(s){!hw(s).keep&&a.group.remove(s.group)})},e.prototype.markKeep=function(t){hw(t).keep=!0},e.prototype.toggleBlurSeries=function(t,i){var r=this;ne(t,function(a){var o=k5.getMarkerModelFromSeries(a,r.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(i?wq(l):pE(l))})}})},e.type="marker",e}(b0);const QP=fTe;function mG(n,e,t){var i=e.coordinateSystem;n.each(function(r){var a=n.getItemModel(r),o,s=mt(a.get("x"),t.getWidth()),l=mt(a.get("y"),t.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(e.getMarkerPosition)o=e.getMarkerPosition(n.getValues(n.dimensions,r));else if(i){var u=n.get(i.dimensions[0],r),c=n.get(i.dimensions[1],r);o=i.dataToPoint([u,c])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),n.setItemLayout(r,o)})}var pTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=k5.getMarkerModelFromSeries(a,"markPoint");o&&(mG(o.getData(),a,r),this.markerGroupMap.get(a.id).updateLayout())},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,new Ch),d=vTe(o,t,i);i.setData(d),mG(i.getData(),t,a),d.each(function(h){var f=d.getItemModel(h),p=f.getShallow("symbol"),m=f.getShallow("symbolSize"),v=f.getShallow("symbolRotate"),g=f.getShallow("symbolOffset"),_=f.getShallow("symbolKeepAspect");if(Wt(p)||Wt(m)||Wt(v)||Wt(g)){var S=i.getRawValue(h),x=i.getDataParams(h);Wt(p)&&(p=p(S,x)),Wt(m)&&(m=m(S,x)),Wt(v)&&(v=v(S,x)),Wt(g)&&(g=g(S,x))}var A=f.getModel("itemStyle").getItemStyle(),C=xh(l,"color");A.fill||(A.fill=C),d.setItemVisual(h,{symbol:p,symbolSize:m,symbolRotate:v,symbolOffset:g,symbolKeepAspect:_,style:A})}),c.updateData(d),this.group.add(c.group),d.eachItemGraphicEl(function(h){h.traverse(function(f){t3(f).dataModel=i})}),this.markKeep(c),c.group.silent=i.get("silent")||t.get("silent")},e.type="markPoint",e}(QP);function vTe(n,e,t){var i;n?i=q2(n&&n.dimensions,function(s){var l=e.getData().getDimensionInfo(e.getData().mapDimension(s))||{};return I2(I2({},l),{name:s,ordinalMeta:null})}):i=[{name:"value",type:"float"}];var r=new Pi(i,t),a=q2(t.get("data"),s3(qd,e));n&&(a=c1(a,s3(Xd,n)));var o=JJ(!!n,i);return r.initData(a,null,o),r}const mTe=pTe;function gTe(n){n.registerComponentModel(uTe),n.registerComponentView(mTe),n.registerPreprocessor(function(e){ZP(e.series,"markPoint")&&(e.markPoint=e.markPoint||{})})}var yTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(k5);const _Te=yTe;var Np=G3(),STe=function(n,e,t,i){var r=n.getData(),a;if(j2(i))a=i;else{var o=i.type;if(o==="min"||o==="max"||o==="average"||o==="median"||i.xAxis!=null||i.yAxis!=null){var s=void 0,l=void 0;if(i.yAxis!=null||i.xAxis!=null)s=e.getAxis(i.yAxis!=null?"y":"x"),l=Pn(i.yAxis,i.xAxis);else{var u=ZJ(i,r,e,n);s=u.valueAxis;var c=kY(r,u.valueDataDim);l=JP(r,c,o)}var d=s.dim==="x"?0:1,h=1-d,f=Zt(i),p={coord:[]};f.type=null,f.coord=[],f.coord[h]=-1/0,p.coord[h]=1/0;var m=t.get("precision");m>=0&&Y3(l)&&(l=+l.toFixed(Math.min(m,20))),f.coord[d]=p.coord[d]=l,a=[f,p,{type:o,valueIndex:i.valueIndex,value:l}]}else a=[]}var v=[qd(n,a[0]),qd(n,a[1]),I2({},a[2])];return v[2].type=v[2].type||null,u3(v[2],v[0]),u3(v[2],v[1]),v};function Ag(n){return!isNaN(n)&&!isFinite(n)}function gG(n,e,t,i){var r=1-n,a=i.dimensions[n];return Ag(e[r])&&Ag(t[r])&&e[n]===t[n]&&i.getAxis(a).containData(e[n])}function bTe(n,e){if(n.type==="cartesian2d"){var t=e[0].coord,i=e[1].coord;if(t&&i&&(gG(1,t,i,n)||gG(0,t,i,n)))return!0}return Xd(n,e[0])&&Xd(n,e[1])}function fw(n,e,t,i,r){var a=i.coordinateSystem,o=n.getItemModel(e),s,l=mt(o.get("x"),r.getWidth()),u=mt(o.get("y"),r.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(i.getMarkerPosition)s=i.getMarkerPosition(n.getValues(n.dimensions,e));else{var c=a.dimensions,d=n.get(c[0],e),h=n.get(c[1],e);s=a.dataToPoint([d,h])}if(n4(a,"cartesian2d")){var f=a.getAxis("x"),p=a.getAxis("y"),c=a.dimensions;Ag(n.get(c[0],e))?s[0]=f.toGlobalCoord(f.getExtent()[t?0:1]):Ag(n.get(c[1],e))&&(s[1]=p.toGlobalCoord(p.getExtent()[t?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}n.setItemLayout(e,s)}var xTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=k5.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),l=Np(o).from,u=Np(o).to;l.each(function(c){fw(l,c,!0,a,r),fw(u,c,!1,a,r)}),s.each(function(c){s.setItemLayout(c,[l.getItemLayout(c),u.getItemLayout(c)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,new SP);this.group.add(c.group);var d=wTe(o,t,i),h=d.from,f=d.to,p=d.line;Np(i).from=h,Np(i).to=f,i.setData(p);var m=i.get("symbol"),v=i.get("symbolSize"),g=i.get("symbolRotate"),_=i.get("symbolOffset");j2(m)||(m=[m,m]),j2(v)||(v=[v,v]),j2(g)||(g=[g,g]),j2(_)||(_=[_,_]),d.from.each(function(x){S(h,x,!0),S(f,x,!1)}),p.each(function(x){var A=p.getItemModel(x).getModel("lineStyle").getLineStyle();p.setItemLayout(x,[h.getItemLayout(x),f.getItemLayout(x)]),A.stroke==null&&(A.stroke=h.getItemVisual(x,"style").fill),p.setItemVisual(x,{fromSymbolKeepAspect:h.getItemVisual(x,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(x,"symbolOffset"),fromSymbolRotate:h.getItemVisual(x,"symbolRotate"),fromSymbolSize:h.getItemVisual(x,"symbolSize"),fromSymbol:h.getItemVisual(x,"symbol"),toSymbolKeepAspect:f.getItemVisual(x,"symbolKeepAspect"),toSymbolOffset:f.getItemVisual(x,"symbolOffset"),toSymbolRotate:f.getItemVisual(x,"symbolRotate"),toSymbolSize:f.getItemVisual(x,"symbolSize"),toSymbol:f.getItemVisual(x,"symbol"),style:A})}),c.updateData(p),d.line.eachItemGraphicEl(function(x){t3(x).dataModel=i,x.traverse(function(A){t3(A).dataModel=i})});function S(x,A,C){var M=x.getItemModel(A);fw(x,A,C,t,a);var I=M.getModel("itemStyle").getItemStyle();I.fill==null&&(I.fill=xh(l,"color")),x.setItemVisual(A,{symbolKeepAspect:M.get("symbolKeepAspect"),symbolOffset:a3(M.get("symbolOffset",!0),_[C?0:1]),symbolRotate:a3(M.get("symbolRotate",!0),g[C?0:1]),symbolSize:a3(M.get("symbolSize"),v[C?0:1]),symbol:a3(M.get("symbol",!0),m[C?0:1]),style:I})}this.markKeep(c),c.group.silent=i.get("silent")||t.get("silent")},e.type="markLine",e}(QP);function wTe(n,e,t){var i;n?i=q2(n&&n.dimensions,function(u){var c=e.getData().getDimensionInfo(e.getData().mapDimension(u))||{};return I2(I2({},c),{name:u,ordinalMeta:null})}):i=[{name:"value",type:"float"}];var r=new Pi(i,t),a=new Pi(i,t),o=new Pi([],t),s=q2(t.get("data"),s3(STe,e,n,t));n&&(s=c1(s,s3(bTe,n)));var l=JJ(!!n,i);return r.initData(q2(s,function(u){return u[0]}),null,l),a.initData(q2(s,function(u){return u[1]}),null,l),o.initData(q2(s,function(u){return u[2]})),o.hasItemOption=!0,{from:r,to:a,line:o}}const TTe=xTe;function ATe(n){n.registerComponentModel(_Te),n.registerComponentView(TTe),n.registerPreprocessor(function(e){ZP(e.series,"markLine")&&(e.markLine=e.markLine||{})})}var CTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(k5);const MTe=CTe;var kp=G3(),ETe=function(n,e,t,i){var r=i[0],a=i[1];if(!(!r||!a)){var o=qd(n,r),s=qd(n,a),l=o.coord,u=s.coord;l[0]=Pn(l[0],-1/0),l[1]=Pn(l[1],-1/0),u[0]=Pn(u[0],1/0),u[1]=Pn(u[1],1/0);var c=YM([{},o,s]);return c.coord=[o.coord,s.coord],c.x0=o.x,c.y0=o.y,c.x1=s.x,c.y1=s.y,c}};function Cg(n){return!isNaN(n)&&!isFinite(n)}function yG(n,e,t,i){var r=1-n;return Cg(e[r])&&Cg(t[r])}function PTe(n,e){var t=e.coord[0],i=e.coord[1],r={coord:t,x:e.x0,y:e.y0},a={coord:i,x:e.x1,y:e.y1};return n4(n,"cartesian2d")?t&&i&&(yG(1,t,i)||yG(0,t,i))?!0:hTe(n,r,a):Xd(n,r)||Xd(n,a)}function _G(n,e,t,i,r){var a=i.coordinateSystem,o=n.getItemModel(e),s,l=mt(o.get(t[0]),r.getWidth()),u=mt(o.get(t[1]),r.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(i.getMarkerPosition){var c=n.getValues(["x0","y0"],e),d=n.getValues(["x1","y1"],e),h=a.clampData(c),f=a.clampData(d),p=[];t[0]==="x0"?p[0]=h[0]>f[0]?d[0]:c[0]:p[0]=h[0]>f[0]?c[0]:d[0],t[1]==="y0"?p[1]=h[1]>f[1]?d[1]:c[1]:p[1]=h[1]>f[1]?c[1]:d[1],s=i.getMarkerPosition(p,t,!0)}else{var m=n.get(t[0],e),v=n.get(t[1],e),g=[m,v];a.clampData&&a.clampData(g,g),s=a.dataToPoint(g,!0)}if(n4(a,"cartesian2d")){var _=a.getAxis("x"),S=a.getAxis("y"),m=n.get(t[0],e),v=n.get(t[1],e);Cg(m)?s[0]=_.toGlobalCoord(_.getExtent()[t[0]==="x0"?0:1]):Cg(v)&&(s[1]=S.toGlobalCoord(S.getExtent()[t[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var SG=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],RTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=k5.getMarkerModelFromSeries(a,"markArea");if(o){var s=o.getData();s.each(function(l){var u=q2(SG,function(d){return _G(s,l,d,a,r)});s.setItemLayout(l,u);var c=s.getItemGraphicEl(l);c.setShape("points",u)})}},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,{group:new Qt});this.group.add(c.group),this.markKeep(c);var d=LTe(o,t,i);i.setData(d),d.each(function(h){var f=q2(SG,function(I){return _G(d,h,I,t,a)}),p=o.getAxis("x").scale,m=o.getAxis("y").scale,v=p.getExtent(),g=m.getExtent(),_=[p.parse(d.get("x0",h)),p.parse(d.get("x1",h))],S=[m.parse(d.get("y0",h)),m.parse(d.get("y1",h))];ba(_),ba(S);var x=!(v[0]>_[1]||v[1]<_[0]||g[0]>S[1]||g[1]<S[0]),A=!x;d.setItemLayout(h,{points:f,allClipped:A});var C=d.getItemModel(h).getModel("itemStyle").getItemStyle(),M=xh(l,"color");C.fill||(C.fill=M,xt(C.fill)&&(C.fill=Um(C.fill,.4))),C.stroke||(C.stroke=M),d.setItemVisual(h,"style",C)}),d.diff(kp(c).data).add(function(h){var f=d.getItemLayout(h);if(!f.allClipped){var p=new lr({shape:{points:f.points}});d.setItemGraphicEl(h,p),c.group.add(p)}}).update(function(h,f){var p=kp(c).data.getItemGraphicEl(f),m=d.getItemLayout(h);m.allClipped?p&&c.group.remove(p):(p?Q3(p,{shape:{points:m.points}},i,h):p=new lr({shape:{points:m.points}}),d.setItemGraphicEl(h,p),c.group.add(p))}).remove(function(h){var f=kp(c).data.getItemGraphicEl(h);c.group.remove(f)}).execute(),d.eachItemGraphicEl(function(h,f){var p=d.getItemModel(f),m=d.getItemVisual(f,"style");h.useStyle(d.getItemVisual(f,"style")),jn(h,yn(p),{labelFetcher:i,labelDataIndex:f,defaultText:d.getName(f)||"",inheritColor:xt(m.fill)?Um(m.fill,1):"#000"}),Wn(h,p),g0(h,null,null,p.get(["emphasis","disabled"])),t3(h).dataModel=i}),kp(c).data=d,c.group.silent=i.get("silent")||t.get("silent")},e.type="markArea",e}(QP);function LTe(n,e,t){var i,r,a=["x0","y0","x1","y1"];if(n){var o=q2(n&&n.dimensions,function(u){var c=e.getData(),d=c.getDimensionInfo(c.mapDimension(u))||{};return I2(I2({},d),{name:u,ordinalMeta:null})});r=q2(a,function(u,c){return{name:u,type:o[c%2].type}}),i=new Pi(r,t)}else r=[{name:"value",type:"float"}],i=new Pi(r,t);var s=q2(t.get("data"),s3(ETe,e,n,t));n&&(s=c1(s,s3(PTe,n)));var l=n?function(u,c,d,h){var f=u.coord[Math.floor(h/2)][h%2];return g5(f,r[h])}:function(u,c,d,h){return g5(u.value,r[h])};return i.initData(s,null,l),i.hasItemOption=!0,i}const ITe=RTe;function DTe(n){n.registerComponentModel(MTe),n.registerComponentView(ITe),n.registerPreprocessor(function(e){ZP(e.series,"markArea")&&(e.markArea=e.markArea||{})})}var NTe=function(n,e){if(e==="all")return{type:"all",title:n.getLocaleModel().get(["legend","selector","all"])};if(e==="inverse")return{type:"inverse",title:n.getLocaleModel().get(["legend","selector","inverse"])}},kTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),t.selected=t.selected||{},this._updateSelector(t)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),this._updateSelector(t)},e.prototype._updateSelector=function(t){var i=t.selector,r=this.ecModel;i===!0&&(i=t.selector=["all","inverse"]),j2(i)&&ne(i,function(a,o){xt(a)&&(a={type:a}),i[o]=u3(a,NTe(r,a.type))})},e.prototype.optionUpdated=function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&this.get("selectedMode")==="single"){for(var i=!1,r=0;r<t.length;r++){var a=t[r].get("name");if(this.isSelected(a)){this.select(a),i=!0;break}}!i&&this.select(t[0].get("name"))}},e.prototype._updateData=function(t){var i=[],r=[];t.eachRawSeries(function(l){var u=l.name;r.push(u);var c;if(l.legendVisualProvider){var d=l.legendVisualProvider,h=d.getAllNames();t.isSeriesFiltered(l)||(r=r.concat(h)),h.length?i=i.concat(h):c=!0}else c=!0;c&&oE(l)&&i.push(l.name)}),this._availableNames=r;var a=this.get("data")||i,o=Rt(),s=q2(a,function(l){return(xt(l)||Y3(l))&&(l={name:l}),o.get(l.name)?null:(o.set(l.name,!0),new $1(l,this,this.ecModel))},this);this._data=c1(s,function(l){return!!l})},e.prototype.getData=function(){return this._data},e.prototype.select=function(t){var i=this.option.selected,r=this.get("selectedMode");if(r==="single"){var a=this._data;ne(a,function(o){i[o.get("name")]=!1})}i[t]=!0},e.prototype.unSelect=function(t){this.get("selectedMode")!=="single"&&(this.option.selected[t]=!1)},e.prototype.toggleSelected=function(t){var i=this.option.selected;i.hasOwnProperty(t)||(i[t]=!0),this[i[t]?"unSelect":"select"](t)},e.prototype.allSelect=function(){var t=this._data,i=this.option.selected;ne(t,function(r){i[r.get("name",!0)]=!0})},e.prototype.inverseSelect=function(){var t=this._data,i=this.option.selected;ne(t,function(r){var a=r.get("name",!0);i.hasOwnProperty(a)||(i[a]=!0),i[a]=!i[a]})},e.prototype.isSelected=function(t){var i=this.option.selected;return!(i.hasOwnProperty(t)&&!i[t])&&x3(this._availableNames,t)>=0},e.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,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:!0,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:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}($3);const PC=kTe;var V4=s3,RC=ne,Fp=Qt,FTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!1,t}return e.prototype.init=function(){this.group.add(this._contentGroup=new Fp),this.group.add(this._selectorGroup=new Fp),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,i,r){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!t.get("show",!0)){var o=t.get("align"),s=t.get("orient");(!o||o==="auto")&&(o=t.get("left")==="right"&&s==="vertical"?"right":"left");var l=t.get("selector",!0),u=t.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,t,i,r,l,s,u);var c=t.getBoxLayoutParams(),d={width:r.getWidth(),height:r.getHeight()},h=t.get("padding"),f=un(c,d,h),p=this.layoutInner(t,o,f,a,l,u),m=un(qt({width:p.width,height:p.height},c),d,h);this.group.x=m.x-p.x,this.group.y=m.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=GJ(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,i,r,a,o,s,l){var u=this.getContentGroup(),c=Rt(),d=i.get("selectedMode"),h=[];r.eachRawSeries(function(f){!f.get("legendHoverLink")&&h.push(f.id)}),RC(i.getData(),function(f,p){var m=f.get("name");if(!this.newlineDisabled&&(m===""||m===` |
|
|
`)){var v=new Fp;v.newline=!0,u.add(v);return}var g=r.getSeriesByName(m)[0];if(!c.get(m))if(g){var _=g.getData(),S=_.getVisual("legendLineStyle")||{},x=_.getVisual("legendIcon"),A=_.getVisual("style"),C=this._createItem(g,m,p,f,i,t,S,A,x,d,a);C.on("click",V4(bG,m,null,a,h)).on("mouseover",V4(LC,g.name,null,a,h)).on("mouseout",V4(IC,g.name,null,a,h)),r.ssr&&C.eachChild(function(M){var I=t3(M);I.seriesIndex=g.seriesIndex,I.dataIndex=p,I.ssrType="legend"}),c.set(m,!0)}else r.eachRawSeries(function(M){if(!c.get(m)&&M.legendVisualProvider){var I=M.legendVisualProvider;if(!I.containName(m))return;var D=I.indexOfName(m),E=I.getItemVisual(D,"style"),P=I.getItemVisual(D,"legendIcon"),F=Dr(E.fill);F&&F[3]===0&&(F[3]=.2,E=I2(I2({},E),{fill:zs(F,"rgba")}));var V=this._createItem(M,m,p,f,i,t,{},E,P,d,a);V.on("click",V4(bG,null,m,a,h)).on("mouseover",V4(LC,null,m,a,h)).on("mouseout",V4(IC,null,m,a,h)),r.ssr&&V.eachChild(function(G){var W=t3(G);W.seriesIndex=M.seriesIndex,W.dataIndex=p,W.ssrType="legend"}),c.set(m,!0)}},this)},this),o&&this._createSelector(o,i,a,s,l)},e.prototype._createSelector=function(t,i,r,a,o){var s=this.getSelectorGroup();RC(t,function(u){var c=u.type,d=new X3({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){r.dispatchAction({type:c==="all"?"legendAllSelect":"legendInverseSelect",legendId:i.id})}});s.add(d);var h=i.getModel("selectorLabel"),f=i.getModel(["emphasis","selectorLabel"]);jn(d,{normal:h,emphasis:f},{defaultText:u.title}),x8(d)})},e.prototype._createItem=function(t,i,r,a,o,s,l,u,c,d,h){var f=t.visualDrawType,p=o.get("itemWidth"),m=o.get("itemHeight"),v=o.isSelected(i),g=a.get("symbolRotate"),_=a.get("symbolKeepAspect"),S=a.get("icon");c=S||c||"roundRect";var x=OTe(c,a,l,u,f,v,h),A=new Fp,C=a.getModel("textStyle");if(Wt(t.getLegendIcon)&&(!S||S==="inherit"))A.add(t.getLegendIcon({itemWidth:p,itemHeight:m,icon:c,iconRotate:g,itemStyle:x.itemStyle,lineStyle:x.lineStyle,symbolKeepAspect:_}));else{var M=S==="inherit"&&t.getData().getVisual("symbol")?g==="inherit"?t.getData().getVisual("symbolRotate"):g:0;A.add(BTe({itemWidth:p,itemHeight:m,icon:c,iconRotate:M,itemStyle:x.itemStyle,lineStyle:x.lineStyle,symbolKeepAspect:_}))}var I=s==="left"?p+5:-5,D=s,E=o.get("formatter"),P=i;xt(E)&&E?P=E.replace("{name}",i!=null?i:""):Wt(E)&&(P=E(i));var F=v?C.getTextColor():a.get("inactiveColor");A.add(new X3({style:j1(C,{text:P,x:I,y:m/2,fill:F,align:D,verticalAlign:"middle"},{inheritColor:F})}));var V=new H3({shape:A.getBoundingRect(),style:{fill:"transparent"}}),G=a.getModel("tooltip");return G.get("show")&&Z8({el:V,componentModel:o,itemName:i,itemTooltipOption:G.option}),A.add(V),A.eachChild(function(W){W.silent=!0}),V.silent=!d,this.getContentGroup().add(A),x8(A),A.__legendDataIndex=r,A},e.prototype.layoutInner=function(t,i,r,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();T8(t.get("orient"),l,t.get("itemGap"),r.width,r.height);var c=l.getBoundingRect(),d=[-c.x,-c.y];if(u.markRedraw(),l.markRedraw(),o){T8("horizontal",u,t.get("selectorItemGap",!0));var h=u.getBoundingRect(),f=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),m=t.getOrient().index,v=m===0?"width":"height",g=m===0?"height":"width",_=m===0?"y":"x";s==="end"?f[m]+=c[v]+p:d[m]+=h[v]+p,f[1-m]+=c[g]/2-h[g]/2,u.x=f[0],u.y=f[1],l.x=d[0],l.y=d[1];var S={x:0,y:0};return S[v]=c[v]+p+h[v],S[g]=Math.max(c[g],h[g]),S[_]=Math.min(0,h[_]+f[1-m]),S}else return l.x=d[0],l.y=d[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(b0);function OTe(n,e,t,i,r,a,o){function s(v,g){v.lineWidth==="auto"&&(v.lineWidth=g.lineWidth>0?2:0),RC(v,function(_,S){v[S]==="inherit"&&(v[S]=g[S])})}var l=e.getModel("itemStyle"),u=l.getItemStyle(),c=n.lastIndexOf("empty",0)===0?"fill":"stroke",d=l.getShallow("decal");u.decal=!d||d==="inherit"?i.decal:f7(d,o),u.fill==="inherit"&&(u.fill=i[r]),u.stroke==="inherit"&&(u.stroke=i[c]),u.opacity==="inherit"&&(u.opacity=(r==="fill"?i:t).opacity),s(u,i);var h=e.getModel("lineStyle"),f=h.getLineStyle();if(s(f,t),u.fill==="auto"&&(u.fill=i.fill),u.stroke==="auto"&&(u.stroke=i.fill),f.stroke==="auto"&&(f.stroke=i.fill),!a){var p=e.get("inactiveBorderWidth"),m=u[c];u.lineWidth=p==="auto"?i.lineWidth>0&&m?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),f.stroke=h.get("inactiveColor"),f.lineWidth=h.get("inactiveWidth")}return{itemStyle:u,lineStyle:f}}function BTe(n){var e=n.icon||"roundRect",t=X0(e,0,0,n.itemWidth,n.itemHeight,n.itemStyle.fill,n.symbolKeepAspect);return t.setStyle(n.itemStyle),t.rotation=(n.iconRotate||0)*Math.PI/180,t.setOrigin([n.itemWidth/2,n.itemHeight/2]),e.indexOf("empty")>-1&&(t.style.stroke=t.style.fill,t.style.fill="#fff",t.style.lineWidth=2),t}function bG(n,e,t,i){IC(n,e,t,i),t.dispatchAction({type:"legendToggleSelect",name:n!=null?n:e}),LC(n,e,t,i)}function QJ(n){for(var e=n.getZr().storage.getDisplayList(),t,i=0,r=e.length;i<r&&!(t=e[i].states.emphasis);)i++;return t&&t.hoverLayer}function LC(n,e,t,i){QJ(t)||t.dispatchAction({type:"highlight",seriesName:n,name:e,excludeSeriesId:i})}function IC(n,e,t,i){QJ(t)||t.dispatchAction({type:"downplay",seriesName:n,name:e,excludeSeriesId:i})}const eQ=FTe;function zTe(n){var e=n.findComponents({mainType:"legend"});e&&e.length&&n.filterSeries(function(t){for(var i=0;i<e.length;i++)if(!e[i].isSelected(t.name))return!1;return!0})}function Ku(n,e,t){var i=n==="allSelect"||n==="inverseSelect",r={},a=[];t.eachComponent({mainType:"legend",query:e},function(s){i?s[n]():s[n](e.name),xG(s,r),a.push(s.componentIndex)});var o={};return t.eachComponent("legend",function(s){ne(r,function(l,u){s[l?"select":"unSelect"](u)}),xG(s,o)}),i?{selected:o,legendIndex:a}:{name:e.name,selected:o}}function xG(n,e){var t=e||{};return ne(n.getData(),function(i){var r=i.get("name");if(!(r===` |
|
|
`||r==="")){var a=n.isSelected(r);Ct(t,r)?t[r]=t[r]&&a:t[r]=a}}),t}function GTe(n){n.registerAction("legendToggleSelect","legendselectchanged",s3(Ku,"toggleSelected")),n.registerAction("legendAllSelect","legendselectall",s3(Ku,"allSelect")),n.registerAction("legendInverseSelect","legendinverseselect",s3(Ku,"inverseSelect")),n.registerAction("legendSelect","legendselected",s3(Ku,"select")),n.registerAction("legendUnSelect","legendunselected",s3(Ku,"unSelect"))}function tQ(n){n.registerComponentModel(PC),n.registerComponentView(eQ),n.registerProcessor(n.PRIORITY.PROCESSOR.SERIES_FILTER,zTe),n.registerSubTypeDefaulter("legend",function(){return"plain"}),GTe(n)}var UTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.setScrollDataIndex=function(t){this.option.scrollDataIndex=t},e.prototype.init=function(t,i,r){var a=W7(t);n.prototype.init.call(this,t,i,r),wG(this,t,a)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),wG(this,this.option,t)},e.type="legend.scroll",e.defaultOption=U5(PC.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}(PC);function wG(n,e,t){var i=n.getOrient(),r=[1,1];r[i.index]=0,R5(e,t,{type:"box",ignoreSize:!!r})}const VTe=UTe;var TG=Qt,pw=["width","height"],vw=["x","y"],HTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!0,t._currentIndex=0,t}return e.prototype.init=function(){n.prototype.init.call(this),this.group.add(this._containerGroup=new TG),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new TG)},e.prototype.resetInner=function(){n.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},e.prototype.renderInner=function(t,i,r,a,o,s,l){var u=this;n.prototype.renderInner.call(this,t,i,r,a,o,s,l);var c=this._controllerGroup,d=i.get("pageIconSize",!0),h=j2(d)?d:[d,d];p("pagePrev",0);var f=i.getModel("pageTextStyle");c.add(new X3({name:"pageText",style:{text:"xx/xx",fill:f.getTextColor(),font:f.getFont(),verticalAlign:"middle",align:"center"},silent:!0})),p("pageNext",1);function p(m,v){var g=m+"DataIndex",_=Sh(i.get("pageIcons",!0)[i.getOrient().name][v],{onclick:Tt(u._pageGo,u,g,i,a)},{x:-h[0]/2,y:-h[1]/2,width:h[0],height:h[1]});_.name=m,c.add(_)}},e.prototype.layoutInner=function(t,i,r,a,o,s){var l=this.getSelectorGroup(),u=t.getOrient().index,c=pw[u],d=vw[u],h=pw[1-u],f=vw[1-u];o&&T8("horizontal",l,t.get("selectorItemGap",!0));var p=t.get("selectorButtonGap",!0),m=l.getBoundingRect(),v=[-m.x,-m.y],g=Zt(r);o&&(g[c]=r[c]-m[c]-p);var _=this._layoutContentAndController(t,a,g,u,c,h,f,d);if(o){if(s==="end")v[u]+=_[c]+p;else{var S=m[c]+p;v[u]-=S,_[d]-=S}_[c]+=m[c]+p,v[1-u]+=_[f]+_[h]/2-m[h]/2,_[h]=Math.max(_[h],m[h]),_[f]=Math.min(_[f],m[f]+v[1-u]),l.x=v[0],l.y=v[1],l.markRedraw()}return _},e.prototype._layoutContentAndController=function(t,i,r,a,o,s,l,u){var c=this.getContentGroup(),d=this._containerGroup,h=this._controllerGroup;T8(t.get("orient"),c,t.get("itemGap"),a?r.width:null,a?null:r.height),T8("horizontal",h,t.get("pageButtonItemGap",!0));var f=c.getBoundingRect(),p=h.getBoundingRect(),m=this._showController=f[o]>r[o],v=[-f.x,-f.y];i||(v[a]=c[u]);var g=[0,0],_=[-p.x,-p.y],S=a3(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(m){var x=t.get("pageButtonPosition",!0);x==="end"?_[a]+=r[o]-p[o]:g[a]+=p[o]+S}_[1-a]+=f[s]/2-p[s]/2,c.setPosition(v),d.setPosition(g),h.setPosition(_);var A={x:0,y:0};if(A[o]=m?r[o]:f[o],A[s]=Math.max(f[s],p[s]),A[l]=Math.min(0,p[l]+_[1-a]),d.__rectSize=r[o],m){var C={x:0,y:0};C[o]=Math.max(r[o]-p[o]-S,0),C[s]=A[s],d.setClipPath(new H3({shape:C})),d.__rectSize=C[o]}else h.eachChild(function(I){I.attr({invisible:!0,silent:!0})});var M=this._getPageInfo(t);return M.pageIndex!=null&&Q3(c,{x:M.contentPosition[0],y:M.contentPosition[1]},m?t:null),this._updatePageInfoView(t,M),A},e.prototype._pageGo=function(t,i,r){var a=this._getPageInfo(i)[t];a!=null&&r.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:i.id})},e.prototype._updatePageInfoView=function(t,i){var r=this._controllerGroup;ne(["pagePrev","pageNext"],function(c){var d=c+"DataIndex",h=i[d]!=null,f=r.childOfName(c);f&&(f.setStyle("fill",h?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),f.cursor=h?"pointer":"default")});var a=r.childOfName("pageText"),o=t.get("pageFormatter"),s=i.pageIndex,l=s!=null?s+1:0,u=i.pageCount;a&&o&&a.setStyle("text",xt(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},e.prototype._getPageInfo=function(t){var i=t.get("scrollDataIndex",!0),r=this.getContentGroup(),a=this._containerGroup.__rectSize,o=t.getOrient().index,s=pw[o],l=vw[o],u=this._findTargetItemIndex(i),c=r.children(),d=c[u],h=c.length,f=h?1:0,p={contentPosition:[r.x,r.y],pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!d)return p;var m=x(d);p.contentPosition[o]=-m.s;for(var v=u+1,g=m,_=m,S=null;v<=h;++v)S=x(c[v]),(!S&&_.e>g.s+a||S&&!A(S,g.s))&&(_.i>g.i?g=_:g=S,g&&(p.pageNextDataIndex==null&&(p.pageNextDataIndex=g.i),++p.pageCount)),_=S;for(var v=u-1,g=m,_=m,S=null;v>=-1;--v)S=x(c[v]),(!S||!A(_,S.s))&&g.i<_.i&&(_=g,p.pagePrevDataIndex==null&&(p.pagePrevDataIndex=g.i),++p.pageCount,++p.pageIndex),g=S;return p;function x(C){if(C){var M=C.getBoundingRect(),I=M[l]+C[l];return{s:I,e:I+M[s],i:C.__legendDataIndex}}}function A(C,M){return C.e>=M&&C.s<=M+a}},e.prototype._findTargetItemIndex=function(t){if(!this._showController)return 0;var i,r=this.getContentGroup(),a;return r.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===t&&(i=s)}),i!=null?i:a},e.type="legend.scroll",e}(eQ);const WTe=HTe;function jTe(n){n.registerAction("legendScroll","legendscroll",function(e,t){var i=e.scrollDataIndex;i!=null&&t.eachComponent({mainType:"legend",subType:"scroll",query:e},function(r){r.setScrollDataIndex(i)})})}function $Te(n){C3(tQ),n.registerComponentModel(VTe),n.registerComponentView(WTe),jTe(n)}function qTe(n){C3(tQ),C3($Te)}var XTe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.inside",e.defaultOption=U5($d.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}($d);const YTe=XTe;var eR=G3();function KTe(n,e,t){eR(n).coordSysRecordMap.each(function(i){var r=i.dataZoomInfoMap.get(e.uid);r&&(r.getRange=t)})}function ZTe(n,e){for(var t=eR(n).coordSysRecordMap,i=t.keys(),r=0;r<i.length;r++){var a=i[r],o=t.get(a),s=o.dataZoomInfoMap;if(s){var l=e.uid,u=s.get(l);u&&(s.removeKey(l),s.keys().length||nQ(t,o))}}}function nQ(n,e){if(e){n.removeKey(e.model.uid);var t=e.controller;t&&t.dispose()}}function JTe(n,e){var t={model:e,containsPoint:s3(eAe,e),dispatchAction:s3(QTe,n),dataZoomInfoMap:null,controller:null},i=t.controller=new Lh(n.getZr());return ne(["pan","zoom","scrollMove"],function(r){i.on(r,function(a){var o=[];t.dataZoomInfoMap.each(function(s){if(a.isAvailableBehavior(s.model.option)){var l=(s.getRange||{})[r],u=l&&l(s.dzReferCoordSysInfo,t.model.mainType,t.controller,a);!s.model.get("disabled",!0)&&u&&o.push({dataZoomId:s.model.id,start:u[0],end:u[1]})}}),o.length&&t.dispatchAction(o)})}),t}function QTe(n,e){n.isDisposed()||n.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function eAe(n,e,t,i){return n.coordinateSystem.containPoint([t,i])}function tAe(n){var e,t="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return n.each(function(a){var o=a.model,s=o.get("disabled",!0)?!1:o.get("zoomLock",!0)?"move":!0;i[t+s]>i[t+e]&&(e=s),r=r&&o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}function nAe(n){n.registerProcessor(n.PRIORITY.PROCESSOR.FILTER,function(e,t){var i=eR(t),r=i.coordSysRecordMap||(i.coordSysRecordMap=Rt());r.each(function(a){a.dataZoomInfoMap=null}),e.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var o=OJ(a);ne(o.infoList,function(s){var l=s.model.uid,u=r.get(l)||r.set(l,JTe(t,s.model)),c=u.dataZoomInfoMap||(u.dataZoomInfoMap=Rt());c.set(a.uid,{dzReferCoordSysInfo:s,model:a,getRange:null})})}),r.each(function(a){var o=a.controller,s,l=a.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){nQ(r,a);return}var c=tAe(l);o.enable(c.controlType,c.opt),o.setPointerChecker(a.containsPoint),X7(a,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var iAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataZoom.inside",t}return e.prototype.render=function(t,i,r){if(n.prototype.render.apply(this,arguments),t.noTarget()){this._clear();return}this.range=t.getPercentRange(),KTe(r,t,{pan:Tt(mw.pan,this),zoom:Tt(mw.zoom,this),scrollMove:Tt(mw.scrollMove,this)})},e.prototype.dispose=function(){this._clear(),n.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){ZTe(this.api,this.dataZoomModel),this.range=null},e.type="dataZoom.inside",e}(jP),mw={zoom:function(n,e,t,i){var r=this.range,a=r.slice(),o=n.axisModels[0];if(o){var s=gw[e](null,[i.originX,i.originY],o,t,n),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/i.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var c=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(r4(0,a,[0,100],0,c.minSpan,c.maxSpan),this.range=a,r[0]!==a[0]||r[1]!==a[1])return a}},pan:AG(function(n,e,t,i,r,a){var o=gw[i]([a.oldX,a.oldY],[a.newX,a.newY],e,r,t);return o.signal*(n[1]-n[0])*o.pixel/o.pixelLength}),scrollMove:AG(function(n,e,t,i,r,a){var o=gw[i]([0,0],[a.scrollDelta,a.scrollDelta],e,r,t);return o.signal*(n[1]-n[0])*a.scrollDelta})};function AG(n){return function(e,t,i,r){var a=this.range,o=a.slice(),s=e.axisModels[0];if(s){var l=n(o,s,e,t,i,r);if(r4(l,o,[0,100],"all"),this.range=o,a[0]!==o[0]||a[1]!==o[1])return o}}}var gw={grid:function(n,e,t,i,r){var a=t.axis,o={},s=r.model.coordinateSystem.getRect();return n=n||[0,0],a.dim==="x"?(o.pixel=e[0]-n[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=e[1]-n[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(n,e,t,i,r){var a=t.axis,o={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return n=n?s.pointToCoord(n):[0,0],e=s.pointToCoord(e),t.mainType==="radiusAxis"?(o.pixel=e[0]-n[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a.inverse?1:-1):(o.pixel=e[1]-n[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a.inverse?-1:1),o},singleAxis:function(n,e,t,i,r){var a=t.axis,o=r.model.coordinateSystem.getRect(),s={};return n=n||[0,0],a.orient==="horizontal"?(s.pixel=e[0]-n[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-n[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};const rAe=iAe;function iQ(n){$P(n),n.registerComponentModel(YTe),n.registerComponentView(rAe),nAe(n)}var aAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=U5($d.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.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:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}($d);const oAe=aAe;var Zu=H3,CG=7,sAe=1,yw=30,lAe=7,Ju="horizontal",MG="vertical",uAe=5,cAe=["line","bar","candlestick","scatter"],dAe={easing:"cubicOut",duration:100,delay:0},hAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._displayables={},t}return e.prototype.init=function(t,i){this.api=i,this._onBrush=Tt(this._onBrush,this),this._onBrushEnd=Tt(this._onBrushEnd,this)},e.prototype.render=function(t,i,r,a){if(n.prototype.render.apply(this,arguments),X7(this,"_dispatchZoomAction",t.get("throttle"),"fixRate"),this._orient=t.getOrient(),t.get("show")===!1){this.group.removeAll();return}if(t.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},e.prototype.dispose=function(){this._clear(),n.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Nd(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var i=this._displayables.sliderGroup=new Qt;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(i),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,i=this.api,r=t.get("brushSelect"),a=r?lAe:0,o=this._findCoordRect(),s={width:i.getWidth(),height:i.getHeight()},l=this._orient===Ju?{right:s.width-o.x-o.width,top:s.height-yw-CG-a,width:o.width,height:yw}:{right:CG,top:o.y,width:yw,height:o.height},u=W7(t.option);ne(["right","top","width","height"],function(d){u[d]==="ph"&&(u[d]=l[d])});var c=un(u,s);this._location={x:c.x,y:c.y},this._size=[c.width,c.height],this._orient===MG&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,i=this._location,r=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(r===Ju&&!o?{scaleY:l?1:-1,scaleX:1}:r===Ju&&o?{scaleY:l?1:-1,scaleX:-1}:r===MG&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=t.getBoundingRect([s]);t.x=i.x-u.x,t.y=i.y-u.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,i=this._size,r=this._displayables.sliderGroup,a=t.get("brushSelect");r.add(new Zu({silent:!0,shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var o=new Zu({shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:"transparent"},z2:0,onclick:Tt(this._onClickPanel,this)}),s=this.api.getZr();a?(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)),r.add(o)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!t)return;var i=this._size,r=this._shadowSize||[],a=t.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),l=s&&o.getDimensionInfo(s)?a.getShadowDim():t.otherDim;if(l==null)return;var u=this._shadowPolygonPts,c=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||i[0]!==r[0]||i[1]!==r[1]){var d=o.getDataExtent(l),h=(d[1]-d[0])*.3;d=[d[0]-h,d[1]+h];var f=[0,i[1]],p=[0,i[0]],m=[[i[0],0],[0,0]],v=[],g=p[1]/(o.count()-1),_=0,S=Math.round(o.count()/i[0]),x;o.each([l],function(D,E){if(S>0&&E%S){_+=g;return}var P=D==null||isNaN(D)||D==="",F=P?0:f1(D,d,f,!0);P&&!x&&E?(m.push([m[m.length-1][0],0]),v.push([v[v.length-1][0],0])):!P&&x&&(m.push([_,0]),v.push([_,0])),m.push([_,F]),v.push([_,F]),_+=g,x=P}),u=this._shadowPolygonPts=m,c=this._shadowPolylinePts=v}this._shadowData=o,this._shadowDim=l,this._shadowSize=[i[0],i[1]];var A=this.dataZoomModel;function C(D){var E=A.getModel(D?"selectedDataBackground":"dataBackground"),P=new Qt,F=new lr({shape:{points:u},segmentIgnoreThreshold:1,style:E.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),V=new dr({shape:{points:c},segmentIgnoreThreshold:1,style:E.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return P.add(F),P.add(V),P}for(var M=0;M<3;M++){var I=C(M===1);this._displayables.sliderGroup.add(I),this._displayables.dataShadowSegs.push(I)}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,i=t.get("showDataShadow");if(i!==!1){var r,a=this.ecModel;return t.eachTargetAxis(function(o,s){var l=t.getAxisProxy(o,s).getTargetSeriesModels();ne(l,function(u){if(!r&&!(i!==!0&&x3(cAe,u.get("type"))<0)){var c=a.getComponent(l5(o),s).axis,d=fAe(o),h,f=u.coordinateSystem;d!=null&&f.getOtherAxis&&(h=f.getOtherAxis(c).inverse),d=u.getData().mapDimension(d),r={thisAxis:c,series:u,thisDim:o,otherDim:d,otherAxisInverse:h}}},this)},this),r}},e.prototype._renderHandle=function(){var t=this.group,i=this._displayables,r=i.handles=[null,null],a=i.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,c=l.get("borderRadius")||0,d=l.get("brushSelect"),h=i.filler=new Zu({silent:d,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(h),o.add(new Zu({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:c},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:sAe,fill:"rgba(0,0,0,0)"}})),ne([0,1],function(S){var x=l.get("handleIcon");!ng[x]&&x.indexOf("path://")<0&&x.indexOf("image://")<0&&(x="path://"+x);var A=X0(x,-1,0,2,2,null,!0);A.attr({cursor:EG(this._orient),draggable:!0,drift:Tt(this._onDragMove,this,S),ondragend:Tt(this._onDragEnd,this),onmouseover:Tt(this._showDataInfo,this,!0),onmouseout:Tt(this._showDataInfo,this,!1),z2:5});var C=A.getBoundingRect(),M=l.get("handleSize");this._handleHeight=mt(M,this._size[1]),this._handleWidth=C.width/C.height*this._handleHeight,A.setStyle(l.getModel("handleStyle").getItemStyle()),A.style.strokeNoScale=!0,A.rectHover=!0,A.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),x8(A);var I=l.get("handleColor");I!=null&&(A.style.fill=I),o.add(r[S]=A);var D=l.getModel("textStyle"),E=l.get("handleLabel")||{},P=E.show||!1;t.add(a[S]=new X3({silent:!0,invisible:!P,style:j1(D,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:D.getTextColor(),font:D.getFont()}),z2:10}))},this);var f=h;if(d){var p=mt(l.get("moveHandleSize"),s[1]),m=i.moveHandle=new H3({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:p}}),v=p*.8,g=i.moveHandleIcon=X0(l.get("moveHandleIcon"),-v/2,-v/2,v,v,"#fff",!0);g.silent=!0,g.y=s[1]+p/2-.5,m.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var _=Math.min(s[1]/2,Math.max(p,10));f=i.moveZone=new H3({invisible:!0,shape:{y:s[1]-_,height:p+_}}),f.on("mouseover",function(){u.enterEmphasis(m)}).on("mouseout",function(){u.leaveEmphasis(m)}),o.add(m),o.add(g),o.add(f)}f.attr({draggable:!0,cursor:EG(this._orient),drift:Tt(this._onDragMove,this,"all"),ondragstart:Tt(this._showDataInfo,this,!0),ondragend:Tt(this._onDragEnd,this),onmouseover:Tt(this._showDataInfo,this,!0),onmouseout:Tt(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),i=this._getViewExtent();this._handleEnds=[f1(t[0],[0,100],i,!0),f1(t[1],[0,100],i,!0)]},e.prototype._updateInterval=function(t,i){var r=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=r.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];r4(i,a,o,r.get("zoomLock")?"all":t,s.minSpan!=null?f1(s.minSpan,l,o,!0):null,s.maxSpan!=null?f1(s.maxSpan,l,o,!0):null);var u=this._range,c=this._range=ba([f1(a[0],o,l,!0),f1(a[1],o,l,!0)]);return!u||u[0]!==c[0]||u[1]!==c[1]},e.prototype._updateView=function(t){var i=this._displayables,r=this._handleEnds,a=ba(r.slice()),o=this._size;ne([0,1],function(f){var p=i.handles[f],m=this._handleHeight;p.attr({scaleX:m/2,scaleY:m/2,x:r[f]+(f?-1:1),y:o[1]/2-m/2})},this),i.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};i.moveHandle&&(i.moveHandle.setShape(s),i.moveZone.setShape(s),i.moveZone.getBoundingRect(),i.moveHandleIcon&&i.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=i.dataShadowSegs,u=[0,a[0],a[1],o[0]],c=0;c<l.length;c++){var d=l[c],h=d.getClipPath();h||(h=new H3,d.setClipPath(h)),h.setShape({x:u[c],y:0,width:u[c+1]-u[c],height:o[1]})}this._updateDataInfo(t)},e.prototype._updateDataInfo=function(t){var i=this.dataZoomModel,r=this._displayables,a=r.handleLabels,o=this._orient,s=["",""];if(i.get("showDetail")){var l=i.findRepresentativeAxisProxy();if(l){var u=l.getAxisModel().axis,c=this._range,d=t?l.calculateDataWindow({start:c[0],end:c[1]}).valueWindow:l.getDataValueWindow();s=[this._formatLabel(d[0],u),this._formatLabel(d[1],u)]}}var h=ba(this._handleEnds.slice());f.call(this,0),f.call(this,1);function f(p){var m=w8(r.handles[p].parent,this.group),v=Ly(p===0?"right":"left",m),g=this._handleWidth/2+uAe,_=Qa([h[p]+(p===0?-g:g),this._size[1]/2],m);a[p].setStyle({x:_[0],y:_[1],verticalAlign:o===Ju?"middle":v,align:o===Ju?v:"center",text:s[p]})}},e.prototype._formatLabel=function(t,i){var r=this.dataZoomModel,a=r.get("labelFormatter"),o=r.get("labelPrecision");(o==null||o==="auto")&&(o=i.getPixelPrecision());var s=t==null||isNaN(t)?"":i.type==="category"||i.type==="time"?i.scale.getLabel({value:Math.round(t)}):t.toFixed(Math.min(o,20));return Wt(a)?a(t,s):xt(a)?a.replace("{value}",s):s},e.prototype._showDataInfo=function(t){var i=this.dataZoomModel.get("handleLabel")||{},r=i.show||!1,a=this.dataZoomModel.getModel(["emphasis","handleLabel"]),o=a.get("show")||!1,s=t||this._dragging?o:r,l=this._displayables,u=l.handleLabels;u[0].attr("invisible",!s),u[1].attr("invisible",!s),l.moveHandle&&this.api[s?"enterEmphasis":"leaveEmphasis"](l.moveHandle,1)},e.prototype._onDragMove=function(t,i,r,a){this._dragging=!0,Ws(a.event);var o=this._displayables.sliderGroup.getLocalTransform(),s=Qa([i,r],o,!0),l=this._updateInterval(t,s[0]),u=this.dataZoomModel.get("realtime");this._updateView(!u),l&&u&&this._dispatchZoomAction(!0)},e.prototype._onDragEnd=function(){this._dragging=!1,this._showDataInfo(!1);var t=this.dataZoomModel.get("realtime");!t&&this._dispatchZoomAction(!1)},e.prototype._onClickPanel=function(t){var i=this._size,r=this._displayables.sliderGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(r[0]<0||r[0]>i[0]||r[1]<0||r[1]>i[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",r[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var i=t.offsetX,r=t.offsetY;this._brushStart=new h3(i,r),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var i=this._displayables.brushRect;if(this._brushing=!1,!!i){i.attr("ignore",!0);var r=i.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(r.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=ba([f1(r.x,o,s,!0),f1(r.x+r.width,o,s,!0)]),this._handleEnds=[r.x,r.x+r.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(Ws(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,i){var r=this._displayables,a=this.dataZoomModel,o=r.brushRect;o||(o=r.brushRect=new Zu({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),r.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(t,i),c=l.transformCoordToLocal(s.x,s.y),d=this._size;u[0]=Math.max(Math.min(d[0],u[0]),0),o.setShape({x:c[0],y:0,width:u[0]-c[0],height:d[1]})},e.prototype._dispatchZoomAction=function(t){var i=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?dAe:null,start:i[0],end:i[1]})},e.prototype._findCoordRect=function(){var t,i=OJ(this.dataZoomModel).infoList;if(!t&&i.length){var r=i[0].model.coordinateSystem;t=r.getRect&&r.getRect()}if(!t){var a=this.api.getWidth(),o=this.api.getHeight();t={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return t},e.type="dataZoom.slider",e}(jP);function fAe(n){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[n]}function EG(n){return n==="vertical"?"ns-resize":"ew-resize"}const pAe=hAe;function rQ(n){n.registerComponentModel(oAe),n.registerComponentView(pAe),$P(n)}function vAe(n){C3(iQ),C3(rQ)}var mAe={get:function(n,e,t){var i=Zt((gAe[n]||{})[e]);return t&&j2(i)?i[i.length-1]:i}},gAe={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};const aQ=mAe;var PG=Hn.mapVisual,yAe=Hn.eachVisual,_Ae=j2,RG=ne,SAe=ba,bAe=f1,xAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.stateList=["inRange","outOfRange"],t.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],t.layoutMode={type:"box",ignoreSize:!0},t.dataBound=[-1/0,1/0],t.targetVisuals={},t.controllerVisuals={},t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r)},e.prototype.optionUpdated=function(t,i){var r=this.option;!i&&qJ(r,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var i=this.stateList;t=Tt(t,this),this.controllerVisuals=CC(this.option.controller,i,t),this.targetVisuals=CC(this.option.target,i,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,i=[];return t==null||t==="all"?this.ecModel.eachSeries(function(r,a){i.push(a)}):i=T1(t),i},e.prototype.eachTargetSeries=function(t,i){ne(this.getTargetSeriesIndices(),function(r){var a=this.ecModel.getSeriesByIndex(r);a&&t.call(i,a)},this)},e.prototype.isTargetSeries=function(t){var i=!1;return this.eachTargetSeries(function(r){r===t&&(i=!0)}),i},e.prototype.formatValueText=function(t,i,r){var a=this.option,o=a.precision,s=this.dataBound,l=a.formatter,u;r=r||["<",">"],j2(t)&&(t=t.slice(),u=!0);var c=i?t:u?[d(t[0]),d(t[1])]:d(t);if(xt(l))return l.replace("{value}",u?c[0]:c).replace("{value2}",u?c[1]:c);if(Wt(l))return u?l(t[0],t[1]):l(t);if(u)return t[0]===s[0]?r[0]+" "+c[1]:t[1]===s[1]?r[1]+" "+c[0]:c[0]+" - "+c[1];return c;function d(h){return h===s[0]?"min":h===s[1]?"max":(+h).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,i=SAe([t.min,t.max]);this._dataExtent=i},e.prototype.getDataDimensionIndex=function(t){var i=this.option.dimension;if(i!=null)return t.getDimensionIndex(i);for(var r=t.dimensions,a=r.length-1;a>=0;a--){var o=r[a],s=t.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,i=this.option,r={inRange:i.inRange,outOfRange:i.outOfRange},a=i.target||(i.target={}),o=i.controller||(i.controller={});u3(a,r),u3(o,r);var s=this.isCategory();l.call(this,a),l.call(this,o),u.call(this,a,"inRange","outOfRange"),c.call(this,o);function l(d){_Ae(i.color)&&!d.inRange&&(d.inRange={color:i.color.slice().reverse()}),d.inRange=d.inRange||{color:t.get("gradientColor")}}function u(d,h,f){var p=d[h],m=d[f];p&&!m&&(m=d[f]={},RG(p,function(v,g){if(Hn.isValidType(g)){var _=aQ.get(g,"inactive",s);_!=null&&(m[g]=_,g==="color"&&!m.hasOwnProperty("opacity")&&!m.hasOwnProperty("colorAlpha")&&(m.opacity=[0,0]))}}))}function c(d){var h=(d.inRange||{}).symbol||(d.outOfRange||{}).symbol,f=(d.inRange||{}).symbolSize||(d.outOfRange||{}).symbolSize,p=this.get("inactiveColor"),m=this.getItemSymbol(),v=m||"roundRect";RG(this.stateList,function(g){var _=this.itemSize,S=d[g];S||(S=d[g]={color:s?p:[p]}),S.symbol==null&&(S.symbol=h&&Zt(h)||(s?v:[v])),S.symbolSize==null&&(S.symbolSize=f&&Zt(f)||(s?_[0]:[_[0],_[0]])),S.symbol=PG(S.symbol,function(C){return C==="none"?v:C});var x=S.symbolSize;if(x!=null){var A=-1/0;yAe(x,function(C){C>A&&(A=C)}),S.symbolSize=PG(x,function(C){return bAe(C,[0,A],[0,_[0]],!0)})}},this)}},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,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}($3);const Mg=xAe;var LG=[20,140],wAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(t,i){n.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(r){r.mappingMethod="linear",r.dataExtent=this.getExtent()}),this._resetRange()},e.prototype.resetItemSize=function(){n.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=LG[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=LG[1])},e.prototype._resetRange=function(){var t=this.getExtent(),i=this.option.range;!i||i.auto?(t.auto=1,this.option.range=t):j2(i)&&(i[0]>i[1]&&i.reverse(),i[0]=Math.max(i[0],t[0]),i[1]=Math.min(i[1],t[1]))},e.prototype.completeVisualOption=function(){n.prototype.completeVisualOption.apply(this,arguments),ne(this.stateList,function(t){var i=this.option.controller[t].symbolSize;i&&i[0]!==i[1]&&(i[0]=i[1]/3)},this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),i=ba((this.get("range")||[]).slice());return i[0]>t[1]&&(i[0]=t[1]),i[1]>t[1]&&(i[1]=t[1]),i[0]<t[0]&&(i[0]=t[0]),i[1]<t[0]&&(i[1]=t[0]),i},e.prototype.getValueState=function(t){var i=this.option.range,r=this.getExtent();return(i[0]<=r[0]||i[0]<=t)&&(i[1]>=r[1]||t<=i[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var i=[];return this.eachTargetSeries(function(r){var a=[],o=r.getData();o.each(this.getDataDimensionIndex(o),function(s,l){t[0]<=s&&s<=t[1]&&a.push(l)},this),i.push({seriesId:r.id,dataIndex:a})},this),i},e.prototype.getVisualMeta=function(t){var i=IG(this,"outOfRange",this.getExtent()),r=IG(this,"inRange",this.option.range.slice()),a=[];function o(f,p){a.push({value:f,color:t(f,p)})}for(var s=0,l=0,u=r.length,c=i.length;l<c&&(!r.length||i[l]<=r[0]);l++)i[l]<r[s]&&o(i[l],"outOfRange");for(var d=1;s<u;s++,d=0)d&&a.length&&o(r[s],"outOfRange"),o(r[s],"inRange");for(var d=1;l<c;l++)(!r.length||r[r.length-1]<i[l])&&(d&&(a.length&&o(a[a.length-1].value,"outOfRange"),d=0),o(i[l],"outOfRange"));var h=a.length;return{stops:a,outerColors:[h?a[0].color:"transparent",h?a[h-1].color:"transparent"]}},e.type="visualMap.continuous",e.defaultOption=U5(Mg.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,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}(Mg);function IG(n,e,t){if(t[0]===t[1])return t.slice();for(var i=200,r=(t[1]-t[0])/i,a=t[0],o=[],s=0;s<=i&&a<t[1];s++)o.push(a),a+=r;return o.push(t[1]),o}const TAe=wAe;var AAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.autoPositionValues={left:1,right:1,top:1,bottom:1},t}return e.prototype.init=function(t,i){this.ecModel=t,this.api=i},e.prototype.render=function(t,i,r,a){if(this.visualMapModel=t,t.get("show")===!1){this.group.removeAll();return}this.doRender(t,i,r,a)},e.prototype.renderBackground=function(t){var i=this.visualMapModel,r=H7(i.get("padding")||0),a=t.getBoundingRect();t.add(new H3({z2:-1,silent:!0,shape:{x:a.x-r[3],y:a.y-r[0],width:a.width+r[3]+r[1],height:a.height+r[0]+r[2]},style:{fill:i.get("backgroundColor"),stroke:i.get("borderColor"),lineWidth:i.get("borderWidth")}}))},e.prototype.getControllerVisual=function(t,i,r){r=r||{};var a=r.forceState,o=this.visualMapModel,s={};if(i==="color"){var l=o.get("contentColor");s.color=l}function u(f){return s[f]}function c(f,p){s[f]=p}var d=o.controllerVisuals[a||o.getValueState(t)],h=Hn.prepareVisualTypes(d);return ne(h,function(f){var p=d[f];r.convertOpacityToAlpha&&f==="opacity"&&(f="colorAlpha",p=d.__alphaForOpacity),Hn.dependsOn(f,i)&&p&&p.applyVisual(t,u,c)}),s[i]},e.prototype.positionGroup=function(t){var i=this.visualMapModel,r=this.api;By(t,i.getBoxLayoutParams(),{width:r.getWidth(),height:r.getHeight()})},e.prototype.doRender=function(t,i,r,a){},e.type="visualMap",e}(b0);const oQ=AAe;var DG=[["left","right","width"],["top","bottom","height"]];function sQ(n,e,t){var i=n.option,r=i.align;if(r!=null&&r!=="auto")return r;for(var a={width:e.getWidth(),height:e.getHeight()},o=i.orient==="horizontal"?1:0,s=DG[o],l=[0,null,10],u={},c=0;c<3;c++)u[DG[1-o][c]]=l[c],u[s[c]]=c===2?t[0]:i[s[c]];var d=[["x","width",3],["y","height",0]][o],h=un(u,a,i.padding);return s[(h.margin[d[2]]||0)+h[d[0]]+h[d[1]]*.5<a[d[1]]*.5?0:1]}function fm(n,e){return ne(n||[],function(t){t.dataIndex!=null&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey="visualMap"+(e?e.componentIndex:"")}),n}var To=f1,CAe=ne,NG=Math.min,_w=Math.max,MAe=12,EAe=6,PAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._shapes={},t._dataInterval=[],t._handleEnds=[],t._hoverLinkDataIndices=[],t}return e.prototype.init=function(t,i){n.prototype.init.call(this,t,i),this._hoverLinkFromSeriesMouseOver=Tt(this._hoverLinkFromSeriesMouseOver,this),this._hideIndicator=Tt(this._hideIndicator,this)},e.prototype.doRender=function(t,i,r,a){(!a||a.type!=="selectDataRange"||a.from!==this.uid)&&this._buildView()},e.prototype._buildView=function(){this.group.removeAll();var t=this.visualMapModel,i=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(i);var r=t.get("text");this._renderEndsText(i,r,0),this._renderEndsText(i,r,1),this._updateView(!0),this.renderBackground(i),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(i)},e.prototype._renderEndsText=function(t,i,r){if(i){var a=i[1-r];a=a!=null?a+"":"";var o=this.visualMapModel,s=o.get("textGap"),l=o.itemSize,u=this._shapes.mainGroup,c=this._applyTransform([l[0]/2,r===0?-s:l[1]+s],u),d=this._applyTransform(r===0?"bottom":"top",u),h=this._orient,f=this.visualMapModel.textStyleModel;this.group.add(new X3({style:j1(f,{x:c[0],y:c[1],verticalAlign:h==="horizontal"?"middle":d,align:h==="horizontal"?d:"center",text:a})}))}},e.prototype._renderBar=function(t){var i=this.visualMapModel,r=this._shapes,a=i.itemSize,o=this._orient,s=this._useHandle,l=sQ(i,this.api,a),u=r.mainGroup=this._createBarGroup(l),c=new Qt;u.add(c),c.add(r.outOfRange=kG()),c.add(r.inRange=kG(null,s?OG(this._orient):null,Tt(this._dragHandle,this,"all",!1),Tt(this._dragHandle,this,"all",!0))),c.setClipPath(new H3({shape:{x:0,y:0,width:a[0],height:a[1],r:3}}));var d=i.textStyleModel.getTextRect("国"),h=_w(d.width,d.height);s&&(r.handleThumbs=[],r.handleLabels=[],r.handleLabelPoints=[],this._createHandle(i,u,0,a,h,o),this._createHandle(i,u,1,a,h,o)),this._createIndicator(i,u,a,h,o),t.add(u)},e.prototype._createHandle=function(t,i,r,a,o,s){var l=Tt(this._dragHandle,this,r,!1),u=Tt(this._dragHandle,this,r,!0),c=to(t.get("handleSize"),a[0]),d=X0(t.get("handleIcon"),-c/2,-c/2,c,c,null,!0),h=OG(this._orient);d.attr({cursor:h,draggable:!0,drift:l,ondragend:u,onmousemove:function(g){Ws(g.event)}}),d.x=a[0]/2,d.useStyle(t.getModel("handleStyle").getItemStyle()),d.setStyle({strokeNoScale:!0,strokeFirst:!0}),d.style.lineWidth*=2,d.ensureState("emphasis").style=t.getModel(["emphasis","handleStyle"]).getItemStyle(),r8(d,!0),i.add(d);var f=this.visualMapModel.textStyleModel,p=new X3({cursor:h,draggable:!0,drift:l,onmousemove:function(g){Ws(g.event)},ondragend:u,style:j1(f,{x:0,y:0,text:""})});p.ensureState("blur").style={opacity:.1},p.stateTransition={duration:200},this.group.add(p);var m=[c,0],v=this._shapes;v.handleThumbs[r]=d,v.handleLabelPoints[r]=m,v.handleLabels[r]=p},e.prototype._createIndicator=function(t,i,r,a,o){var s=to(t.get("indicatorSize"),r[0]),l=X0(t.get("indicatorIcon"),-s/2,-s/2,s,s,null,!0);l.attr({cursor:"move",invisible:!0,silent:!0,x:r[0]/2});var u=t.getModel("indicatorStyle").getItemStyle();if(l instanceof $n){var c=l.style;l.useStyle(I2({image:c.image,x:c.x,y:c.y,width:c.width,height:c.height},u))}else l.useStyle(u);i.add(l);var d=this.visualMapModel.textStyleModel,h=new X3({silent:!0,invisible:!0,style:j1(d,{x:0,y:0,text:""})});this.group.add(h);var f=[(o==="horizontal"?a/2:EAe)+r[0]/2,0],p=this._shapes;p.indicator=l,p.indicatorLabel=h,p.indicatorLabelPoint=f,this._firstShowIndicator=!0},e.prototype._dragHandle=function(t,i,r,a){if(this._useHandle){if(this._dragging=!i,!i){var o=this._applyTransform([r,a],this._shapes.mainGroup,!0);this._updateInterval(t,o[1]),this._hideIndicator(),this._updateView()}i===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),i?!this._hovering&&this._clearHoverLinkToSeries():FG(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},e.prototype._resetInterval=function(){var t=this.visualMapModel,i=this._dataInterval=t.getSelected(),r=t.getExtent(),a=[0,t.itemSize[1]];this._handleEnds=[To(i[0],r,a,!0),To(i[1],r,a,!0)]},e.prototype._updateInterval=function(t,i){i=i||0;var r=this.visualMapModel,a=this._handleEnds,o=[0,r.itemSize[1]];r4(i,a,o,t,0);var s=r.getExtent();this._dataInterval=[To(a[0],o,s,!0),To(a[1],o,s,!0)]},e.prototype._updateView=function(t){var i=this.visualMapModel,r=i.getExtent(),a=this._shapes,o=[0,i.itemSize[1]],s=t?o:this._handleEnds,l=this._createBarVisual(this._dataInterval,r,s,"inRange"),u=this._createBarVisual(r,r,o,"outOfRange");a.inRange.setStyle({fill:l.barColor}).setShape("points",l.barPoints),a.outOfRange.setStyle({fill:u.barColor}).setShape("points",u.barPoints),this._updateHandle(s,l)},e.prototype._createBarVisual=function(t,i,r,a){var o={forceState:a,convertOpacityToAlpha:!0},s=this._makeColorGradient(t,o),l=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],u=this._createBarPoints(r,l);return{barColor:new fn(0,0,0,1,s),barPoints:u,handlesColor:[s[0].color,s[s.length-1].color]}},e.prototype._makeColorGradient=function(t,i){var r=100,a=[],o=(t[1]-t[0])/r;a.push({color:this.getControllerVisual(t[0],"color",i),offset:0});for(var s=1;s<r;s++){var l=t[0]+o*s;if(l>t[1])break;a.push({color:this.getControllerVisual(l,"color",i),offset:s/r})}return a.push({color:this.getControllerVisual(t[1],"color",i),offset:1}),a},e.prototype._createBarPoints=function(t,i){var r=this.visualMapModel.itemSize;return[[r[0]-i[0],t[0]],[r[0],t[0]],[r[0],t[1]],[r[0]-i[1],t[1]]]},e.prototype._createBarGroup=function(t){var i=this._orient,r=this.visualMapModel.get("inverse");return new Qt(i==="horizontal"&&!r?{scaleX:t==="bottom"?1:-1,rotation:Math.PI/2}:i==="horizontal"&&r?{scaleX:t==="bottom"?-1:1,rotation:-Math.PI/2}:i==="vertical"&&!r?{scaleX:t==="left"?1:-1,scaleY:-1}:{scaleX:t==="left"?1:-1})},e.prototype._updateHandle=function(t,i){if(this._useHandle){var r=this._shapes,a=this.visualMapModel,o=r.handleThumbs,s=r.handleLabels,l=a.itemSize,u=a.getExtent(),c=this._applyTransform("left",r.mainGroup);CAe([0,1],function(d){var h=o[d];h.setStyle("fill",i.handlesColor[d]),h.y=t[d];var f=To(t[d],[0,l[1]],u,!0),p=this.getControllerVisual(f,"symbolSize");h.scaleX=h.scaleY=p/l[0],h.x=l[0]-p/2;var m=Qa(r.handleLabelPoints[d],w8(h,this.group));if(this._orient==="horizontal"){var v=c==="left"||c==="top"?(l[0]-p)/2:(l[0]-p)/-2;m[1]+=v}s[d].setStyle({x:m[0],y:m[1],text:a.formatValueText(this._dataInterval[d]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",r.mainGroup):"center"})},this)}},e.prototype._showIndicator=function(t,i,r,a){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],c=this._shapes,d=c.indicator;if(d){d.attr("invisible",!1);var h={convertOpacityToAlpha:!0},f=this.getControllerVisual(t,"color",h),p=this.getControllerVisual(t,"symbolSize"),m=To(t,s,u,!0),v=l[0]-p/2,g={x:d.x,y:d.y};d.y=m,d.x=v;var _=Qa(c.indicatorLabelPoint,w8(d,this.group)),S=c.indicatorLabel;S.attr("invisible",!1);var x=this._applyTransform("left",c.mainGroup),A=this._orient,C=A==="horizontal";S.setStyle({text:(r||"")+o.formatValueText(i),verticalAlign:C?x:"middle",align:C?"center":x});var M={x:v,y:m,style:{fill:f}},I={style:{x:_[0],y:_[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var D={duration:100,easing:"cubicInOut",additive:!0};d.x=g.x,d.y=g.y,d.animateTo(M,D),S.animateTo(I,D)}else d.attr(M),S.attr(I);this._firstShowIndicator=!1;var E=this._shapes.handleLabels;if(E)for(var P=0;P<E.length;P++)this.api.enterBlur(E[P])}},e.prototype._enableHoverLinkToSeries=function(){var t=this;this._shapes.mainGroup.on("mousemove",function(i){if(t._hovering=!0,!t._dragging){var r=t.visualMapModel.itemSize,a=t._applyTransform([i.offsetX,i.offsetY],t._shapes.mainGroup,!0,!0);a[1]=NG(_w(0,a[1]),r[1]),t._doHoverLinkToSeries(a[1],0<=a[0]&&a[0]<=r[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},e.prototype._enableHoverLinkFromSeries=function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},e.prototype._doHoverLinkToSeries=function(t,i){var r=this.visualMapModel,a=r.itemSize;if(r.option.hoverLink){var o=[0,a[1]],s=r.getExtent();t=NG(_w(o[0],t),o[1]);var l=RAe(r,s,o),u=[t-l,t+l],c=To(t,o,s,!0),d=[To(u[0],o,s,!0),To(u[1],o,s,!0)];u[0]<o[0]&&(d[0]=-1/0),u[1]>o[1]&&(d[1]=1/0),i&&(d[0]===-1/0?this._showIndicator(c,d[1],"< ",l):d[1]===1/0?this._showIndicator(c,d[0],"> ",l):this._showIndicator(c,c,"≈ ",l));var h=this._hoverLinkDataIndices,f=[];(i||FG(r))&&(f=this._hoverLinkDataIndices=r.findTargetDataIndices(d));var p=g5e(h,f);this._dispatchHighDown("downplay",fm(p[0],r)),this._dispatchHighDown("highlight",fm(p[1],r))}},e.prototype._hoverLinkFromSeriesMouseOver=function(t){var i;if(o8(t.target,function(l){var u=t3(l);if(u.dataIndex!=null)return i=u,!0},!0),!!i){var r=this.ecModel.getSeriesByIndex(i.seriesIndex),a=this.visualMapModel;if(a.isTargetSeries(r)){var o=r.getData(i.dataType),s=o.getStore().get(a.getDataDimensionIndex(o),i.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},e.prototype._hideIndicator=function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0);var i=this._shapes.handleLabels;if(i)for(var r=0;r<i.length;r++)this.api.leaveBlur(i[r])},e.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",fm(t,this.visualMapModel)),t.length=0},e.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},e.prototype._applyTransform=function(t,i,r,a){var o=w8(i,a?null:this.group);return j2(t)?Qa(t,o,r):Ly(t,o,r)},e.prototype._dispatchHighDown=function(t,i){i&&i.length&&this.api.dispatchAction({type:t,batch:i})},e.prototype.dispose=function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},e.type="visualMap.continuous",e}(oQ);function kG(n,e,t,i){return new lr({shape:{points:n},draggable:!!t,cursor:e,drift:t,onmousemove:function(r){Ws(r.event)},ondragend:i})}function RAe(n,e,t){var i=MAe/2,r=n.get("hoverLinkDataSize");return r&&(i=To(r,e,t,!0)/2),i}function FG(n){var e=n.get("hoverLinkOnHandle");return!!(e==null?n.get("realtime"):e)}function OG(n){return n==="vertical"?"ns-resize":"ew-resize"}const LAe=PAe;var IAe={type:"selectDataRange",event:"dataRangeSelected",update:"update"},DAe=function(n,e){e.eachComponent({mainType:"visualMap",query:n},function(t){t.setSelected(n.selected)})},NAe=[{createOnAllSeries:!0,reset:function(n,e){var t=[];return e.eachComponent("visualMap",function(i){var r=n.pipelineContext;!i.isTargetSeries(n)||r&&r.large||t.push(Ewe(i.stateList,i.targetVisuals,Tt(i.getValueState,i),i.getDataDimensionIndex(n.getData())))}),t}},{createOnAllSeries:!0,reset:function(n,e){var t=n.getData(),i=[];e.eachComponent("visualMap",function(r){if(r.isTargetSeries(n)){var a=r.getVisualMeta(Tt(kAe,null,n,r))||{stops:[],outerColors:[]},o=r.getDataDimensionIndex(t);o>=0&&(a.dimension=o,i.push(a))}}),n.getData().setVisual("visualMeta",i)}}];function kAe(n,e,t,i){for(var r=e.targetVisuals[i],a=Hn.prepareVisualTypes(r),o={color:xh(n.getData(),"color")},s=0,l=a.length;s<l;s++){var u=a[s],c=r[u==="opacity"?"__alphaForOpacity":u];c&&c.applyVisual(t,d,h)}return o.color;function d(f){return o[f]}function h(f,p){o[f]=p}}var BG=ne;function FAe(n){var e=n&&n.visualMap;j2(e)||(e=e?[e]:[]),BG(e,function(t){if(t){H4(t,"splitList")&&!H4(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var i=t.pieces;i&&j2(i)&&BG(i,function(r){Kt(r)&&(H4(r,"start")&&!H4(r,"min")&&(r.min=r.start),H4(r,"end")&&!H4(r,"max")&&(r.max=r.end))})}})}function H4(n,e){return n&&n.hasOwnProperty&&n.hasOwnProperty(e)}var zG=!1;function lQ(n){zG||(zG=!0,n.registerSubTypeDefaulter("visualMap",function(e){return!e.categories&&(!(e.pieces?e.pieces.length>0:e.splitNumber>0)||e.calculable)?"continuous":"piecewise"}),n.registerAction(IAe,DAe),ne(NAe,function(e){n.registerVisual(n.PRIORITY.VISUAL.COMPONENT,e)}),n.registerPreprocessor(FAe))}function uQ(n){n.registerComponentModel(TAe),n.registerComponentView(LAe),lQ(n)}var OAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._pieceList=[],t}return e.prototype.optionUpdated=function(t,i){n.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var r=this._mode=this._determineMode();this._pieceList=[],BAe[this._mode].call(this,this._pieceList),this._resetSelected(t,i);var a=this.option.categories;this.resetVisual(function(o,s){r==="categories"?(o.mappingMethod="category",o.categories=Zt(a)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=q2(this._pieceList,function(l){return l=Zt(l),s!=="inRange"&&(l.visual=null),l}))})},e.prototype.completeVisualOption=function(){var t=this.option,i={},r=Hn.listVisualTypes(),a=this.isCategory();ne(t.pieces,function(s){ne(r,function(l){s.hasOwnProperty(l)&&(i[l]=1)})}),ne(i,function(s,l){var u=!1;ne(this.stateList,function(c){u=u||o(t,c,l)||o(t.target,c,l)},this),!u&&ne(this.stateList,function(c){(t[c]||(t[c]={}))[l]=aQ.get(l,c==="inRange"?"active":"inactive",a)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}n.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,i){var r=this.option,a=this._pieceList,o=(i?r:t).selected||{};if(r.selected=o,ne(a,function(l,u){var c=this.getSelectedMapKey(l);o.hasOwnProperty(c)||(o[c]=!0)},this),r.selectedMode==="single"){var s=!1;ne(a,function(l,u){var c=this.getSelectedMapKey(l);o[c]&&(s?o[c]=!1:s=!0)},this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return this._mode==="categories"?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=Zt(t)},e.prototype.getValueState=function(t){var i=Hn.findPieceIndex(t,this._pieceList);return i!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[i])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var i=[],r=this._pieceList;return this.eachTargetSeries(function(a){var o=[],s=a.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var c=Hn.findPieceIndex(l,r);c===t&&o.push(u)},this),i.push({seriesId:a.id,dataIndex:o})},this),i},e.prototype.getRepresentValue=function(t){var i;if(this.isCategory())i=t.value;else if(t.value!=null)i=t.value;else{var r=t.interval||[];i=r[0]===-1/0&&r[1]===1/0?0:(r[0]+r[1])/2}return i},e.prototype.getVisualMeta=function(t){if(this.isCategory())return;var i=[],r=["",""],a=this;function o(c,d){var h=a.getRepresentValue({interval:c});d||(d=a.getValueState(h));var f=t(h,d);c[0]===-1/0?r[0]=f:c[1]===1/0?r[1]=f:i.push({value:c[0],color:f},{value:c[1],color:f})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];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]})}var u=-1/0;return ne(s,function(c){var d=c.interval;d&&(d[0]>u&&o([u,d[0]],"outOfRange"),o(d.slice()),u=d[1])},this),{stops:i,outerColors:r}},e.type="visualMap.piecewise",e.defaultOption=U5(Mg.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(Mg),BAe={splitNumber:function(n){var e=this.option,t=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var a=(i[1]-i[0])/r;+a.toFixed(t)!==a&&t<5;)t++;e.precision=t,a=+a.toFixed(t),e.minOpen&&n.push({interval:[-1/0,i[0]],close:[0,0]});for(var o=0,s=i[0];o<r;s+=a,o++){var l=o===r-1?i[1]:s+a;n.push({interval:[s,l],close:[1,1]})}e.maxOpen&&n.push({interval:[i[1],1/0],close:[0,0]}),LN(n),ne(n,function(u,c){u.index=c,u.text=this.formatValueText(u.interval)},this)},categories:function(n){var e=this.option;ne(e.categories,function(t){n.push({text:this.formatValueText(t,!0),value:t})},this),GG(e,n)},pieces:function(n){var e=this.option;ne(e.pieces,function(t,i){Kt(t)||(t={value:t});var r={text:"",index:i};if(t.label!=null&&(r.text=t.label),t.hasOwnProperty("value")){var a=r.value=t.value;r.interval=[a,a],r.close=[1,1]}else{for(var o=r.interval=[],s=r.close=[0,0],l=[1,0,1],u=[-1/0,1/0],c=[],d=0;d<2;d++){for(var h=[["gte","gt","min"],["lte","lt","max"]][d],f=0;f<3&&o[d]==null;f++)o[d]=t[h[f]],s[d]=l[f],c[d]=f===2;o[d]==null&&(o[d]=u[d])}c[0]&&o[1]===1/0&&(s[0]=0),c[1]&&o[0]===-1/0&&(s[1]=0),o[0]===o[1]&&s[0]&&s[1]&&(r.value=o[0])}r.visual=Hn.retrieveVisuals(t),n.push(r)},this),GG(e,n),LN(n),ne(n,function(t){var i=t.close,r=[["<","≤"][i[1]],[">","≥"][i[0]]];t.text=t.text||this.formatValueText(t.value!=null?t.value:t.interval,!1,r)},this)}};function GG(n,e){var t=n.inverse;(n.orient==="vertical"?!t:t)&&e.reverse()}const zAe=OAe;var GAe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.doRender=function(){var t=this.group;t.removeAll();var i=this.visualMapModel,r=i.get("textGap"),a=i.textStyleModel,o=a.getFont(),s=a.getTextColor(),l=this._getItemAlign(),u=i.itemSize,c=this._getViewData(),d=c.endsText,h=Pn(i.get("showLabel",!0),!d),f=!i.get("selectedMode");d&&this._renderEndsText(t,d[0],u,h,l),ne(c.viewPieceList,function(p){var m=p.piece,v=new Qt;v.onclick=Tt(this._onItemClick,this,m),this._enableHoverLink(v,p.indexInModelPieceList);var g=i.getRepresentValue(m);if(this._createItemSymbol(v,g,[0,0,u[0],u[1]],f),h){var _=this.visualMapModel.getValueState(g);v.add(new X3({style:{x:l==="right"?-r:u[0]+r,y:u[1]/2,text:m.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:_==="outOfRange"?.5:1},silent:f}))}t.add(v)},this),d&&this._renderEndsText(t,d[1],u,h,l),T8(i.get("orient"),t,i.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,i){var r=this;t.on("mouseover",function(){return a("highlight")}).on("mouseout",function(){return a("downplay")});var a=function(o){var s=r.visualMapModel;s.option.hoverLink&&r.api.dispatchAction({type:o,batch:fm(s.findTargetDataIndices(i),s)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,i=t.option;if(i.orient==="vertical")return sQ(t,this.api,t.itemSize);var r=i.align;return(!r||r==="auto")&&(r="left"),r},e.prototype._renderEndsText=function(t,i,r,a,o){if(i){var s=new Qt,l=this.visualMapModel.textStyleModel;s.add(new X3({style:j1(l,{x:a?o==="right"?r[0]:0:r[0]/2,y:r[1]/2,verticalAlign:"middle",align:a?o:"center",text:i})})),t.add(s)}},e.prototype._getViewData=function(){var t=this.visualMapModel,i=q2(t.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),r=t.get("text"),a=t.get("orient"),o=t.get("inverse");return(a==="horizontal"?o:!o)?i.reverse():r&&(r=r.slice().reverse()),{viewPieceList:i,endsText:r}},e.prototype._createItemSymbol=function(t,i,r,a){var o=X0(this.getControllerVisual(i,"symbol"),r[0],r[1],r[2],r[3],this.getControllerVisual(i,"color"));o.silent=a,t.add(o)},e.prototype._onItemClick=function(t){var i=this.visualMapModel,r=i.option,a=r.selectedMode;if(a){var o=Zt(r.selected),s=i.getSelectedMapKey(t);a==="single"||a===!0?(o[s]=!0,ne(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},e.type="visualMap.piecewise",e}(oQ);const UAe=GAe;function cQ(n){n.registerComponentModel(zAe),n.registerComponentView(UAe),lQ(n)}function VAe(n){C3(uQ),C3(cQ)}var HAe={label:{enabled:!0},decal:{show:!1}},UG=G3(),WAe={};function jAe(n,e){var t=n.getModel("aria");if(!t.get("enabled"))return;var i=Zt(HAe);u3(i.label,n.getLocaleModel().get("aria"),!1),u3(t.option,i,!1),r(),a();function r(){var u=t.getModel("decal"),c=u.get("show");if(c){var d=Rt();n.eachSeries(function(h){if(!h.isColorBySeries()){var f=d.get(h.type);f||(f={},d.set(h.type,f)),UG(h).scope=f}}),n.eachRawSeries(function(h){if(n.isSeriesFiltered(h))return;if(Wt(h.enableAriaDecal)){h.enableAriaDecal();return}var f=h.getData();if(h.isColorBySeries()){var _=NA(h.ecModel,h.name,WAe,n.getSeriesCount()),S=f.getVisual("decal");f.setVisual("decal",x(S,_))}else{var p=h.getRawData(),m={},v=UG(h).scope;f.each(function(A){var C=f.getRawIndex(A);m[C]=A});var g=p.count();p.each(function(A){var C=m[A],M=p.getName(A)||A+"",I=NA(h.ecModel,M,v,g),D=f.getItemVisual(C,"decal");f.setItemVisual(C,"decal",x(D,I))})}function x(A,C){var M=A?I2(I2({},C),A):C;return M.dirty=!0,M}})}}function a(){var u=e.getZr().dom;if(u){var c=n.getLocaleModel().get("aria"),d=t.getModel("label");if(d.option=qt(d.option,c),!!d.get("enabled")){if(u.setAttribute("role","img"),d.get("description")){u.setAttribute("aria-label",d.get("description"));return}var h=n.getSeriesCount(),f=d.get(["data","maxCount"])||10,p=d.get(["series","maxCount"])||10,m=Math.min(h,p),v;if(!(h<1)){var g=s();if(g){var _=d.get(["general","withTitle"]);v=o(_,{title:g})}else v=d.get(["general","withoutTitle"]);var S=[],x=h>1?d.get(["series","multiple","prefix"]):d.get(["series","single","prefix"]);v+=o(x,{seriesCount:h}),n.eachSeries(function(I,D){if(D<m){var E=void 0,P=I.get("name"),F=P?"withName":"withoutName";E=h>1?d.get(["series","multiple",F]):d.get(["series","single",F]),E=o(E,{seriesId:I.seriesIndex,seriesName:I.get("name"),seriesType:l(I.subType)});var V=I.getData();if(V.count()>f){var G=d.get(["data","partialData"]);E+=o(G,{displayCnt:f})}else E+=d.get(["data","allData"]);for(var W=d.get(["data","separator","middle"]),Y=d.get(["data","separator","end"]),Q=d.get(["data","excludeDimensionId"]),K=[],ae=0;ae<V.count();ae++)if(ae<f){var ie=V.getName(ae),he=Q?c1(V.getValues(ae),function(je,xe){return x3(Q,xe)===-1}):V.getValues(ae),Ee=d.get(["data",ie?"withName":"withoutName"]);K.push(o(Ee,{name:ie,value:he.join(W)}))}E+=K.join(W)+Y,S.push(E)}});var A=d.getModel(["series","multiple","separator"]),C=A.get("middle"),M=A.get("end");v+=S.join(C)+M,u.setAttribute("aria-label",v)}}}}function o(u,c){if(!xt(u))return u;var d=u;return ne(c,function(h,f){d=d.replace(new RegExp("\\{\\s*"+f+"\\s*\\}","g"),h)}),d}function s(){var u=n.get("title");return u&&u.length&&(u=u[0]),u&&u.text}function l(u){var c=n.getLocaleModel().get(["series","typeNames"]);return c[u]||c.chart}}function $Ae(n){if(!(!n||!n.aria)){var e=n.aria;e.show!=null&&(e.enabled=e.show),e.label=e.label||{},ne(["description","general","series","data"],function(t){e[t]!=null&&(e.label[t]=e[t])})}}function qAe(n){n.registerPreprocessor($Ae),n.registerVisual(n.PRIORITY.VISUAL.ARIA,jAe)}var VG={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},XAe=function(){function n(e){var t=this._condVal=xt(e)?new RegExp(e):Cse(e)?e:null;if(t==null){var i="";l1(i)}}return n.prototype.evaluate=function(e){var t=typeof e;return xt(t)?this._condVal.test(e):Y3(t)?this._condVal.test(e+""):!1},n}(),YAe=function(){function n(){}return n.prototype.evaluate=function(){return this.value},n}(),KAe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(!e[t].evaluate())return!1;return!0},n}(),ZAe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(e[t].evaluate())return!0;return!1},n}(),JAe=function(){function n(){}return n.prototype.evaluate=function(){return!this.child.evaluate()},n}(),QAe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=!!this.valueParser,t=this.getValue,i=t(this.valueGetterParam),r=e?this.valueParser(i):null,a=0;a<this.subCondList.length;a++)if(!this.subCondList[a].evaluate(e?r:i))return!1;return!0},n}();function tR(n,e){if(n===!0||n===!1){var t=new YAe;return t.value=n,t}var i="";return dQ(n)||l1(i),n.and?HG("and",n,e):n.or?HG("or",n,e):n.not?eCe(n,e):tCe(n,e)}function HG(n,e,t){var i=e[n],r="";j2(i)||l1(r),i.length||l1(r);var a=n==="and"?new KAe:new ZAe;return a.children=q2(i,function(o){return tR(o,t)}),a.children.length||l1(r),a}function eCe(n,e){var t=n.not,i="";dQ(t)||l1(i);var r=new JAe;return r.child=tR(t,e),r.child||l1(i),r}function tCe(n,e){for(var t="",i=e.prepareGetValue(n),r=[],a=L3(n),o=n.parser,s=o?OX(o):null,l=0;l<a.length;l++){var u=a[l];if(!(u==="parser"||e.valueGetterAttrMap.get(u))){var c=Ct(VG,u)?VG[u]:u,d=n[u],h=s?s(d):d,f=I4e(c,h)||c==="reg"&&new XAe(h);f||l1(t),r.push(f)}}r.length||l1(t);var p=new QAe;return p.valueGetterParam=i,p.valueParser=s,p.getValue=e.getValue,p.subCondList=r,p}function dQ(n){return Kt(n)&&!ci(n)}var nCe=function(){function n(e,t){this._cond=tR(e,t)}return n.prototype.evaluate=function(){return this._cond.evaluate()},n}();function iCe(n,e){return new nCe(n,e)}var rCe={type:"echarts:filter",transform:function(n){for(var e=n.upstream,t,i=iCe(n.config,{valueGetterAttrMap:Rt({dimension:!0}),prepareGetValue:function(s){var l="",u=s.dimension;Ct(s,"dimension")||l1(l);var c=e.getDimensionInfo(u);return c||l1(l),{dimIdx:c.index}},getValue:function(s){return e.retrieveValueFromItem(t,s.dimIdx)}}),r=[],a=0,o=e.count();a<o;a++)t=e.getRawDataItem(a),i.evaluate()&&r.push(t);return{data:r}}},aCe={type:"echarts:sort",transform:function(n){var e=n.upstream,t=n.config,i="",r=T1(t);r.length||l1(i);var a=[];ne(r,function(c){var d=c.dimension,h=c.order,f=c.parser,p=c.incomparable;if(d==null&&l1(i),h!=="asc"&&h!=="desc"&&l1(i),p&&p!=="min"&&p!=="max"){var m="";l1(m)}if(h!=="asc"&&h!=="desc"){var v="";l1(v)}var g=e.getDimensionInfo(d);g||l1(i);var _=f?OX(f):null;f&&!_&&l1(i),a.push({dimIdx:g.index,parser:_,comparator:new zX(h,p)})});var o=e.sourceFormat;o!==di&&o!==Ra&&l1(i);for(var s=[],l=0,u=e.count();l<u;l++)s.push(e.getRawDataItem(l));return s.sort(function(c,d){for(var h=0;h<a.length;h++){var f=a[h],p=e.retrieveValueFromItem(c,f.dimIdx),m=e.retrieveValueFromItem(d,f.dimIdx);f.parser&&(p=f.parser(p),m=f.parser(m));var v=f.comparator.evaluate(p,m);if(v!==0)return v}return 0}),{data:s}}};function oCe(n){n.registerTransform(rCe),n.registerTransform(aCe)}var sCe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataset",t}return e.prototype.init=function(t,i,r){n.prototype.init.call(this,t,i,r),this._sourceManager=new HX(this),Hk(this)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),Hk(this)},e.prototype.optionUpdated=function(){this._sourceManager.dirty()},e.prototype.getSourceManager=function(){return this._sourceManager},e.type="dataset",e.defaultOption={seriesLayoutBy:Wo},e}($3),lCe=function(n){o2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataset",t}return e.type="dataset",e}(b0);function uCe(n){n.registerComponentModel(sCe),n.registerComponentView(lCe)}var yo=Qo.CMD;function Ll(n,e){return Math.abs(n-e)<1e-5}function DC(n){var e=n.data,t=n.len(),i=[],r,a=0,o=0,s=0,l=0;function u(V,G){r&&r.length>2&&i.push(r),r=[V,G]}function c(V,G,W,Y){Ll(V,W)&&Ll(G,Y)||r.push(V,G,W,Y,W,Y)}function d(V,G,W,Y,Q,K){var ae=Math.abs(G-V),ie=Math.tan(ae/4)*4/3,he=G<V?-1:1,Ee=Math.cos(V),je=Math.sin(V),xe=Math.cos(G),Oe=Math.sin(G),f2=Ee*Q+W,B2=je*K+Y,S2=xe*Q+W,p2=Oe*K+Y,X2=Q*ie*he,w2=K*ie*he;r.push(f2-X2*je,B2+w2*Ee,S2+X2*Oe,p2-w2*xe,S2,p2)}for(var h,f,p,m,v=0;v<t;){var g=e[v++],_=v===1;switch(_&&(a=e[v],o=e[v+1],s=a,l=o,(g===yo.L||g===yo.C||g===yo.Q)&&(r=[s,l])),g){case yo.M:a=s=e[v++],o=l=e[v++],u(s,l);break;case yo.L:h=e[v++],f=e[v++],c(a,o,h,f),a=h,o=f;break;case yo.C:r.push(e[v++],e[v++],e[v++],e[v++],a=e[v++],o=e[v++]);break;case yo.Q:h=e[v++],f=e[v++],p=e[v++],m=e[v++],r.push(a+2/3*(h-a),o+2/3*(f-o),p+2/3*(h-p),m+2/3*(f-m),p,m),a=p,o=m;break;case yo.A:var S=e[v++],x=e[v++],A=e[v++],C=e[v++],M=e[v++],I=e[v++]+M;v+=1;var D=!e[v++];h=Math.cos(M)*A+S,f=Math.sin(M)*C+x,_?(s=h,l=f,u(s,l)):c(a,o,h,f),a=Math.cos(I)*A+S,o=Math.sin(I)*C+x;for(var E=(D?-1:1)*Math.PI/2,P=M;D?P>I:P<I;P+=E){var F=D?Math.max(P+E,I):Math.min(P+E,I);d(P,F,S,x,A,C)}break;case yo.R:s=a=e[v++],l=o=e[v++],h=s+e[v++],f=l+e[v++],u(h,l),c(h,l,h,f),c(h,f,s,f),c(s,f,s,l),c(s,l,h,l);break;case yo.Z:r&&c(a,o,s,l),a=s,o=l;break}}return r&&r.length>2&&i.push(r),i}function NC(n,e,t,i,r,a,o,s,l,u){if(Ll(n,t)&&Ll(e,i)&&Ll(r,o)&&Ll(a,s)){l.push(o,s);return}var c=2/u,d=c*c,h=o-n,f=s-e,p=Math.sqrt(h*h+f*f);h/=p,f/=p;var m=t-n,v=i-e,g=r-o,_=a-s,S=m*m+v*v,x=g*g+_*_;if(S<d&&x<d){l.push(o,s);return}var A=h*m+f*v,C=-h*g-f*_,M=S-A*A,I=x-C*C;if(M<d&&A>=0&&I<d&&C>=0){l.push(o,s);return}var D=[],E=[];E5(n,t,r,o,.5,D),E5(e,i,a,s,.5,E),NC(D[0],E[0],D[1],E[1],D[2],E[2],D[3],E[3],l,u),NC(D[4],E[4],D[5],E[5],D[6],E[6],D[7],E[7],l,u)}function cCe(n,e){var t=DC(n),i=[];e=e||1;for(var r=0;r<t.length;r++){var a=t[r],o=[],s=a[0],l=a[1];o.push(s,l);for(var u=2;u<a.length;){var c=a[u++],d=a[u++],h=a[u++],f=a[u++],p=a[u++],m=a[u++];NC(s,l,c,d,h,f,p,m,o,e),s=p,l=m}i.push(o)}return i}function hQ(n,e,t){var i=n[e],r=n[1-e],a=Math.abs(i/r),o=Math.ceil(Math.sqrt(a*t)),s=Math.floor(t/o);s===0&&(s=1,o=t);for(var l=[],u=0;u<o;u++)l.push(s);var c=o*s,d=t-c;if(d>0)for(var u=0;u<d;u++)l[u%o]+=1;return l}function WG(n,e,t){for(var i=n.r0,r=n.r,a=n.startAngle,o=n.endAngle,s=Math.abs(o-a),l=s*r,u=r-i,c=l>Math.abs(u),d=hQ([l,u],c?0:1,e),h=(c?s:u)/d.length,f=0;f<d.length;f++)for(var p=(c?u:s)/d[f],m=0;m<d[f];m++){var v={};c?(v.startAngle=a+h*f,v.endAngle=a+h*(f+1),v.r0=i+p*m,v.r=i+p*(m+1)):(v.startAngle=a+p*m,v.endAngle=a+p*(m+1),v.r0=i+h*f,v.r=i+h*(f+1)),v.clockwise=n.clockwise,v.cx=n.cx,v.cy=n.cy,t.push(v)}}function dCe(n,e,t){for(var i=n.width,r=n.height,a=i>r,o=hQ([i,r],a?0:1,e),s=a?"width":"height",l=a?"height":"width",u=a?"x":"y",c=a?"y":"x",d=n[s]/o.length,h=0;h<o.length;h++)for(var f=n[l]/o[h],p=0;p<o[h];p++){var m={};m[u]=h*d,m[c]=p*f,m[s]=d,m[l]=f,m.x+=n.x,m.y+=n.y,t.push(m)}}function jG(n,e,t,i){return n*i-t*e}function hCe(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=jG(c,d,l,u);if(Math.abs(h)<1e-6)return null;var f=n-r,p=e-a,m=jG(f,p,c,d)/h;return m<0||m>1?null:new h3(m*l+n,m*u+e)}function fCe(n,e,t){var i=new h3;h3.sub(i,t,e),i.normalize();var r=new h3;h3.sub(r,n,e);var a=r.dot(i);return a}function W4(n,e){var t=n[n.length-1];t&&t[0]===e[0]&&t[1]===e[1]||n.push(e)}function pCe(n,e,t){for(var i=n.length,r=[],a=0;a<i;a++){var o=n[a],s=n[(a+1)%i],l=hCe(o[0],o[1],s[0],s[1],e.x,e.y,t.x,t.y);l&&r.push({projPt:fCe(l,e,t),pt:l,idx:a})}if(r.length<2)return[{points:n},{points:n}];r.sort(function(v,g){return v.projPt-g.projPt});var u=r[0],c=r[r.length-1];if(c.idx<u.idx){var d=u;u=c,c=d}for(var h=[u.pt.x,u.pt.y],f=[c.pt.x,c.pt.y],p=[h],m=[f],a=u.idx+1;a<=c.idx;a++)W4(p,n[a].slice());W4(p,f),W4(p,h);for(var a=c.idx+1;a<=u.idx+i;a++)W4(m,n[a%i].slice());return W4(m,h),W4(m,f),[{points:p},{points:m}]}function $G(n){var e=n.points,t=[],i=[];Ay(e,t,i);var r=new g3(t[0],t[1],i[0]-t[0],i[1]-t[1]),a=r.width,o=r.height,s=r.x,l=r.y,u=new h3,c=new h3;return a>o?(u.x=c.x=s+a/2,u.y=l,c.y=l+o):(u.y=c.y=l+o/2,u.x=s,c.x=s+a),pCe(e,u,c)}function Eg(n,e,t,i){if(t===1)i.push(e);else{var r=Math.floor(t/2),a=n(e);Eg(n,a[0],r,i),Eg(n,a[1],t-r,i)}return i}function vCe(n,e){for(var t=[],i=0;i<e;i++)t.push(mE(n));return t}function mCe(n,e){e.setStyle(n.style),e.z=n.z,e.z2=n.z2,e.zlevel=n.zlevel}function gCe(n){for(var e=[],t=0;t<n.length;)e.push([n[t++],n[t++]]);return e}function yCe(n,e){var t=[],i=n.shape,r;switch(n.type){case"rect":dCe(i,e,t),r=H3;break;case"sector":WG(i,e,t),r=sr;break;case"circle":WG({r0:0,r:i.r,startAngle:0,endAngle:Math.PI*2,cx:i.cx,cy:i.cy},e,t),r=sr;break;default:var a=n.getComputedTransform(),o=a?Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1],a[2]*a[2]+a[3]*a[3])):1,s=q2(cCe(n.getUpdatedPathProxy(),o),function(g){return gCe(g)}),l=s.length;if(l===0)Eg($G,{points:s[0]},e,t);else if(l===e)for(var u=0;u<l;u++)t.push({points:s[u]});else{var c=0,d=q2(s,function(g){var _=[],S=[];Ay(g,_,S);var x=(S[1]-_[1])*(S[0]-_[0]);return c+=x,{poly:g,area:x}});d.sort(function(g,_){return _.area-g.area});for(var h=e,u=0;u<l;u++){var f=d[u];if(h<=0)break;var p=u===l-1?h:Math.ceil(f.area/c*e);p<0||(Eg($G,{points:f.poly},p,t),h-=p)}}r=lr;break}if(!r)return vCe(n,e);for(var m=[],u=0;u<t.length;u++){var v=new r;v.setShape(t[u]),mCe(n,v),m.push(v)}return m}function _Ce(n,e){var t=n.length,i=e.length;if(t===i)return[n,e];for(var r=[],a=[],o=t<i?n:e,s=Math.min(t,i),l=Math.abs(i-t)/6,u=(s-2)/6,c=Math.ceil(l/u)+1,d=[o[0],o[1]],h=l,f=2;f<s;){var p=o[f-2],m=o[f-1],v=o[f++],g=o[f++],_=o[f++],S=o[f++],x=o[f++],A=o[f++];if(h<=0){d.push(v,g,_,S,x,A);continue}for(var C=Math.min(h,c-1)+1,M=1;M<=C;M++){var I=M/C;E5(p,v,_,x,I,r),E5(m,g,S,A,I,a),p=r[3],m=a[3],d.push(r[1],a[1],r[2],a[2],p,m),v=r[5],g=a[5],_=r[6],S=a[6]}h-=C-1}return o===n?[d,e]:[n,d]}function qG(n,e){for(var t=n.length,i=n[t-2],r=n[t-1],a=[],o=0;o<e.length;)a[o++]=i,a[o++]=r;return a}function SCe(n,e){for(var t,i,r,a=[],o=[],s=0;s<Math.max(n.length,e.length);s++){var l=n[s],u=e[s],c=void 0,d=void 0;l?u?(t=_Ce(l,u),c=t[0],d=t[1],i=c,r=d):(d=qG(r||l,l),c=l):(c=qG(i||u,u),d=u),a.push(c),o.push(d)}return[a,o]}function XG(n){for(var e=0,t=0,i=0,r=n.length,a=0,o=r-2;a<r;o=a,a+=2){var s=n[o],l=n[o+1],u=n[a],c=n[a+1],d=s*c-u*l;e+=d,t+=(s+u)*d,i+=(l+c)*d}return e===0?[n[0]||0,n[1]||0]:[t/e/3,i/e/3,e]}function bCe(n,e,t,i){for(var r=(n.length-2)/6,a=1/0,o=0,s=n.length,l=s-2,u=0;u<r;u++){for(var c=u*6,d=0,h=0;h<s;h+=2){var f=h===0?c:(c+h-2)%l+2,p=n[f]-t[0],m=n[f+1]-t[1],v=e[h]-i[0],g=e[h+1]-i[1],_=v-p,S=g-m;d+=_*_+S*S}d<a&&(a=d,o=u)}return o}function xCe(n){for(var e=[],t=n.length,i=0;i<t;i+=2)e[i]=n[t-i-2],e[i+1]=n[t-i-1];return e}function wCe(n,e,t,i){for(var r=[],a,o=0;o<n.length;o++){var s=n[o],l=e[o],u=XG(s),c=XG(l);a==null&&(a=u[2]<0!=c[2]<0);var d=[],h=[],f=0,p=1/0,m=[],v=s.length;a&&(s=xCe(s));for(var g=bCe(s,l,u,c)*6,_=v-2,S=0;S<_;S+=2){var x=(g+S)%_+2;d[S+2]=s[x]-u[0],d[S+3]=s[x+1]-u[1]}if(d[0]=s[g]-u[0],d[1]=s[g+1]-u[1],t>0)for(var A=i/t,C=-i/2;C<=i/2;C+=A){for(var M=Math.sin(C),I=Math.cos(C),D=0,S=0;S<s.length;S+=2){var E=d[S],P=d[S+1],F=l[S]-c[0],V=l[S+1]-c[1],G=F*I-V*M,W=F*M+V*I;m[S]=G,m[S+1]=W;var Y=G-E,Q=W-P;D+=Y*Y+Q*Q}if(D<p){p=D,f=C;for(var K=0;K<m.length;K++)h[K]=m[K]}}else for(var ae=0;ae<v;ae+=2)h[ae]=l[ae]-c[0],h[ae+1]=l[ae+1]-c[1];r.push({from:d,to:h,fromCp:u,toCp:c,rotation:-f})}return r}function Pg(n){return n.__isCombineMorphing}var fQ="__mOriginal_";function Rg(n,e,t){var i=fQ+e,r=n[i]||n[e];n[i]||(n[i]=n[e]);var a=t.replace,o=t.after,s=t.before;n[e]=function(){var l=arguments,u;return s&&s.apply(this,l),a?u=a.apply(this,l):u=r.apply(this,l),o&&o.apply(this,l),u}}function Qc(n,e){var t=fQ+e;n[t]&&(n[e]=n[t],n[t]=null)}function YG(n,e){for(var t=0;t<n.length;t++)for(var i=n[t],r=0;r<i.length;){var a=i[r],o=i[r+1];i[r++]=e[0]*a+e[2]*o+e[4],i[r++]=e[1]*a+e[3]*o+e[5]}}function pQ(n,e){var t=n.getUpdatedPathProxy(),i=e.getUpdatedPathProxy(),r=SCe(DC(t),DC(i)),a=r[0],o=r[1],s=n.getComputedTransform(),l=e.getComputedTransform();function u(){this.transform=null}s&&YG(a,s),l&&YG(o,l),Rg(e,"updateTransform",{replace:u}),e.transform=null;var c=wCe(a,o,10,Math.PI),d=[];Rg(e,"buildPath",{replace:function(h){for(var f=e.__morphT,p=1-f,m=[],v=0;v<c.length;v++){var g=c[v],_=g.from,S=g.to,x=g.rotation*f,A=g.fromCp,C=g.toCp,M=Math.sin(x),I=Math.cos(x);Yv(m,A,C,f);for(var D=0;D<_.length;D+=2){var E=_[D],P=_[D+1],F=S[D],V=S[D+1],G=E*p+F*f,W=P*p+V*f;d[D]=G*I-W*M+m[0],d[D+1]=G*M+W*I+m[1]}var Y=d[0],Q=d[1];h.moveTo(Y,Q);for(var D=2;D<_.length;){var F=d[D++],V=d[D++],K=d[D++],ae=d[D++],ie=d[D++],he=d[D++];Y===F&&Q===V&&K===ie&&ae===he?h.lineTo(ie,he):h.bezierCurveTo(F,V,K,ae,ie,he),Y=ie,Q=he}}}})}function nR(n,e,t){if(!n||!e)return e;var i=t.done,r=t.during;pQ(n,e),e.__morphT=0;function a(){Qc(e,"buildPath"),Qc(e,"updateTransform"),e.__morphT=-1,e.createPathProxy(),e.dirtyShape()}return e.animateTo({__morphT:1},qt({during:function(o){e.dirtyShape(),r&&r(o)},done:function(){a(),i&&i()}},t)),e}function TCe(n,e,t,i,r,a){var o=16;n=r===t?0:Math.round(32767*(n-t)/(r-t)),e=a===i?0:Math.round(32767*(e-i)/(a-i));for(var s=0,l,u=(1<<o)/2;u>0;u/=2){var c=0,d=0;(n&u)>0&&(c=1),(e&u)>0&&(d=1),s+=u*u*(3*c^d),d===0&&(c===1&&(n=u-1-n,e=u-1-e),l=n,n=e,e=l)}return s}function Lg(n){var e=1/0,t=1/0,i=-1/0,r=-1/0,a=q2(n,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),c=l.x+l.width/2+(u?u[4]:0),d=l.y+l.height/2+(u?u[5]:0);return e=Math.min(c,e),t=Math.min(d,t),i=Math.max(c,i),r=Math.max(d,r),[c,d]}),o=q2(a,function(s,l){return{cp:s,z:TCe(s[0],s[1],e,t,i,r),path:n[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function vQ(n){return yCe(n.path,n.count)}function kC(){return{fromIndividuals:[],toIndividuals:[],count:0}}function ACe(n,e,t){var i=[];function r(A){for(var C=0;C<A.length;C++){var M=A[C];Pg(M)?r(M.childrenRef()):M instanceof E3&&i.push(M)}}r(n);var a=i.length;if(!a)return kC();var o=t.dividePath||vQ,s=o({path:e,count:a});if(s.length!==a)return console.error("Invalid morphing: unmatched splitted path"),kC();i=Lg(i),s=Lg(s);for(var l=t.done,u=t.during,c=t.individualDelay,d=new Ds,h=0;h<a;h++){var f=i[h],p=s[h];p.parent=e,p.copyTransform(d),c||pQ(f,p)}e.__isCombineMorphing=!0,e.childrenRef=function(){return s};function m(A){for(var C=0;C<s.length;C++)s[C].addSelfToZr(A)}Rg(e,"addSelfToZr",{after:function(A){m(A)}}),Rg(e,"removeSelfFromZr",{after:function(A){for(var C=0;C<s.length;C++)s[C].removeSelfFromZr(A)}});function v(){e.__isCombineMorphing=!1,e.__morphT=-1,e.childrenRef=null,Qc(e,"addSelfToZr"),Qc(e,"removeSelfFromZr")}var g=s.length;if(c)for(var _=g,S=function(){_--,_===0&&(v(),l&&l())},h=0;h<g;h++){var x=c?qt({delay:(t.delay||0)+c(h,g,i[h],s[h]),done:S},t):t;nR(i[h],s[h],x)}else e.__morphT=0,e.animateTo({__morphT:1},qt({during:function(A){for(var C=0;C<g;C++){var M=s[C];M.__morphT=e.__morphT,M.dirtyShape()}u&&u(A)},done:function(){v();for(var A=0;A<n.length;A++)Qc(n[A],"updateTransform");l&&l()}},t));return e.__zr&&m(e.__zr),{fromIndividuals:i,toIndividuals:s,count:g}}function CCe(n,e,t){var i=e.length,r=[],a=t.dividePath||vQ;function o(f){for(var p=0;p<f.length;p++){var m=f[p];Pg(m)?o(m.childrenRef()):m instanceof E3&&r.push(m)}}if(Pg(n)){o(n.childrenRef());var s=r.length;if(s<i)for(var l=0,u=s;u<i;u++)r.push(mE(r[l++%s]));r.length=i}else{r=a({path:n,count:i});for(var c=n.getComputedTransform(),u=0;u<r.length;u++)r[u].setLocalTransform(c);if(r.length!==i)return console.error("Invalid morphing: unmatched splitted path"),kC()}r=Lg(r),e=Lg(e);for(var d=t.individualDelay,u=0;u<i;u++){var h=d?qt({delay:(t.delay||0)+d(u,i,r[u],e[u])},t):t;nR(r[u],e[u],h)}return{fromIndividuals:r,toIndividuals:e,count:e.length}}function KG(n){return j2(n[0])}function ZG(n,e){for(var t=[],i=n.length,r=0;r<i;r++)t.push({one:n[r],many:[]});for(var r=0;r<e.length;r++){var a=e[r].length,o=void 0;for(o=0;o<a;o++)t[o%i].many.push(e[r][o])}for(var s=0,r=i-1;r>=0;r--)if(!t[r].many.length){var l=t[s].many;if(l.length<=1)if(s)s=0;else return t;var a=l.length,u=Math.ceil(a/2);t[r].many=l.slice(u,a),t[s].many=l.slice(0,u),s++}return t}var MCe={clone:function(n){for(var e=[],t=1-Math.pow(1-n.path.style.opacity,1/n.count),i=0;i<n.count;i++){var r=mE(n.path);r.setStyle("opacity",t),e.push(r)}return e},split:null};function Sw(n,e,t,i,r,a){if(!n.length||!e.length)return;var o=G7("update",i,r);if(!(o&&o.duration>0))return;var s=i.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,c;KG(n)&&(u=n,c=e),KG(e)&&(u=e,c=n);function d(g,_,S,x,A){var C=g.many,M=g.one;if(C.length===1&&!A){var I=_?C[0]:M,D=_?M:C[0];if(Pg(I))d({many:[I],one:D},!0,S,x,!0);else{var E=s?qt({delay:s(S,x)},l):l;nR(I,D,E),a(I,D,I,D,E)}}else for(var P=qt({dividePath:MCe[t],individualDelay:s&&function(Q,K,ae,ie){return s(Q+S,x)}},l),F=_?ACe(C,M,P):CCe(M,C,P),V=F.fromIndividuals,G=F.toIndividuals,W=V.length,Y=0;Y<W;Y++){var E=s?qt({delay:s(Y,W)},l):l;a(V[Y],G[Y],_?C[Y]:g.one,_?g.one:C[Y],E)}}for(var h=u?u===n:n.length>e.length,f=u?ZG(c,u):ZG(h?e:n,[h?n:e]),p=0,m=0;m<f.length;m++)p+=f[m].many.length;for(var v=0,m=0;m<f.length;m++)d(f[m],h,v,p),v+=f[m].many.length}function j9(n){if(!n)return[];if(j2(n)){for(var e=[],t=0;t<n.length;t++)e.push(j9(n[t]));return e}var i=[];return n.traverse(function(r){r instanceof E3&&!r.disableMorphing&&!r.invisible&&!r.ignore&&i.push(r)}),i}var mQ=1e4,ECe=0,JG=1,QG=2,PCe=G3();function RCe(n,e){for(var t=n.dimensions,i=0;i<t.length;i++){var r=n.getDimensionInfo(t[i]);if(r&&r.otherDims[e]===0)return t[i]}}function LCe(n,e,t){var i=n.getDimensionInfo(t),r=i&&i.ordinalMeta;if(i){var a=n.get(i.name,e);return r&&r.categories[a]||a+""}}function eU(n,e,t,i){var r=i?"itemChildGroupId":"itemGroupId",a=RCe(n,r);if(a){var o=LCe(n,e,a);return o}var s=n.getRawDataItem(e),l=i?"childGroupId":"groupId";if(s&&s[l])return s[l]+"";if(!i)return t||n.getId(e)}function tU(n){var e=[];return ne(n,function(t){var i=t.data,r=t.dataGroupId;if(!(i.count()>mQ))for(var a=i.getIndices(),o=0;o<a.length;o++)e.push({data:i,groupId:eU(i,o,r,!1),childGroupId:eU(i,o,r,!0),divide:t.divide,dataIndex:o})}),e}function bw(n,e,t){n.traverse(function(i){i instanceof E3&&o0(i,{style:{opacity:0}},e,{dataIndex:t,isFrom:!0})})}function xw(n){if(n.parent){var e=n.getComputedTransform();n.setLocalTransform(e),n.parent.remove(n)}}function j4(n){n.stopAnimation(),n.isGroup&&n.traverse(function(e){e.stopAnimation()})}function ICe(n,e,t){var i=G7("update",t,e);i&&n.traverse(function(r){if(r instanceof Ca){var a=d8e(r);a&&r.animateFrom({style:a},i)}})}function DCe(n,e){var t=n.length;if(t!==e.length)return!1;for(var i=0;i<t;i++){var r=n[i],a=e[i];if(r.data.getId(r.dataIndex)!==a.data.getId(a.dataIndex))return!1}return!0}function gQ(n,e,t){var i=tU(n),r=tU(e);function a(S,x,A,C,M){(A||S)&&x.animateFrom({style:A&&A!==S?I2(I2({},A.style),S.style):S.style},M)}var o=!1,s=ECe,l=Rt(),u=Rt();i.forEach(function(S){S.groupId&&l.set(S.groupId,!0),S.childGroupId&&u.set(S.childGroupId,!0)});for(var c=0;c<r.length;c++){var d=r[c].groupId;if(u.get(d)){s=JG;break}var h=r[c].childGroupId;if(h&&l.get(h)){s=QG;break}}function f(S,x){return function(A){var C=A.data,M=A.dataIndex;return x?C.getId(M):S?s===JG?A.childGroupId:A.groupId:s===QG?A.childGroupId:A.groupId}}var p=DCe(i,r),m={};if(!p)for(var c=0;c<r.length;c++){var v=r[c],g=v.data.getItemGraphicEl(v.dataIndex);g&&(m[g.id]=!0)}function _(S,x){var A=i[x],C=r[S],M=C.data.hostModel,I=A.data.getItemGraphicEl(A.dataIndex),D=C.data.getItemGraphicEl(C.dataIndex);if(I===D){D&&ICe(D,C.dataIndex,M);return}I&&m[I.id]||D&&(j4(D),I?(j4(I),xw(I),o=!0,Sw(j9(I),j9(D),C.divide,M,S,a)):bw(D,M,S))}new Xs(i,r,f(!0,p),f(!1,p),null,"multiple").update(_).updateManyToOne(function(S,x){var A=r[S],C=A.data,M=C.hostModel,I=C.getItemGraphicEl(A.dataIndex),D=c1(q2(x,function(E){return i[E].data.getItemGraphicEl(i[E].dataIndex)}),function(E){return E&&E!==I&&!m[E.id]});I&&(j4(I),D.length?(ne(D,function(E){j4(E),xw(E)}),o=!0,Sw(j9(D),j9(I),A.divide,M,S,a)):bw(I,M,A.dataIndex))}).updateOneToMany(function(S,x){var A=i[x],C=A.data.getItemGraphicEl(A.dataIndex);if(!(C&&m[C.id])){var M=c1(q2(S,function(D){return r[D].data.getItemGraphicEl(r[D].dataIndex)}),function(D){return D&&D!==C}),I=r[S[0]].data.hostModel;M.length&&(ne(M,function(D){return j4(D)}),C?(j4(C),xw(C),o=!0,Sw(j9(C),j9(M),A.divide,I,S[0],a)):ne(M,function(D){return bw(D,I,S[0])}))}}).updateManyToMany(function(S,x){new Xs(x,S,function(A){return i[A].data.getId(i[A].dataIndex)},function(A){return r[A].data.getId(r[A].dataIndex)}).update(function(A,C){_(S[A],x[C])}).execute()}).execute(),o&&ne(e,function(S){var x=S.data,A=x.hostModel,C=A&&t.getViewOfSeriesModel(A),M=G7("update",A,0);C&&A.isAnimationEnabled()&&M&&M.duration>0&&C.group.traverse(function(I){I instanceof E3&&!I.animators.length&&I.animateFrom({style:{opacity:0}},M)})})}function nU(n){var e=n.getModel("universalTransition").get("seriesKey");return e||n.id}function iU(n){return j2(n)?n.sort().join(","):n}function W6(n){if(n.hostModel)return n.hostModel.getModel("universalTransition").get("divideShape")}function NCe(n,e){var t=Rt(),i=Rt(),r=Rt();return ne(n.oldSeries,function(a,o){var s=n.oldDataGroupIds[o],l=n.oldData[o],u=nU(a),c=iU(u);i.set(c,{dataGroupId:s,data:l}),j2(u)&&ne(u,function(d){r.set(d,{key:c,dataGroupId:s,data:l})})}),ne(e.updatedSeries,function(a){if(a.isUniversalTransitionEnabled()&&a.isAnimationEnabled()){var o=a.get("dataGroupId"),s=a.getData(),l=nU(a),u=iU(l),c=i.get(u);if(c)t.set(u,{oldSeries:[{dataGroupId:c.dataGroupId,divide:W6(c.data),data:c.data}],newSeries:[{dataGroupId:o,divide:W6(s),data:s}]});else if(j2(l)){var d=[];ne(l,function(p){var m=i.get(p);m.data&&d.push({dataGroupId:m.dataGroupId,divide:W6(m.data),data:m.data})}),d.length&&t.set(u,{oldSeries:d,newSeries:[{dataGroupId:o,data:s,divide:W6(s)}]})}else{var h=r.get(l);if(h){var f=t.get(h.key);f||(f={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:W6(h.data)}],newSeries:[]},t.set(h.key,f)),f.newSeries.push({dataGroupId:o,data:s,divide:W6(s)})}}}}),t}function rU(n,e){for(var t=0;t<n.length;t++){var i=e.seriesIndex!=null&&e.seriesIndex===n[t].seriesIndex||e.seriesId!=null&&e.seriesId===n[t].id;if(i)return t}}function kCe(n,e,t,i){var r=[],a=[];ne(T1(n.from),function(o){var s=rU(e.oldSeries,o);s>=0&&r.push({dataGroupId:e.oldDataGroupIds[s],data:e.oldData[s],divide:W6(e.oldData[s]),groupIdDim:o.dimension})}),ne(T1(n.to),function(o){var s=rU(t.updatedSeries,o);if(s>=0){var l=t.updatedSeries[s].getData();a.push({dataGroupId:e.oldDataGroupIds[s],data:l,divide:W6(l),groupIdDim:o.dimension})}}),r.length>0&&a.length>0&&gQ(r,a,i)}function FCe(n){n.registerUpdateLifecycle("series:beforeupdate",function(e,t,i){ne(T1(i.seriesTransition),function(r){ne(T1(r.to),function(a){for(var o=i.updatedSeries,s=0;s<o.length;s++)(a.seriesIndex!=null&&a.seriesIndex===o[s].seriesIndex||a.seriesId!=null&&a.seriesId===o[s].id)&&(o[s][sm]=!0)})})}),n.registerUpdateLifecycle("series:transition",function(e,t,i){var r=PCe(t);if(r.oldSeries&&i.updatedSeries&&i.optionChanged){var a=i.seriesTransition;if(a)ne(T1(a),function(f){kCe(f,r,i,t)});else{var o=NCe(r,i);ne(o.keys(),function(f){var p=o.get(f);gQ(p.oldSeries,p.newSeries,t)})}ne(i.updatedSeries,function(f){f[sm]&&(f[sm]=!1)})}for(var s=e.getSeries(),l=r.oldSeries=[],u=r.oldDataGroupIds=[],c=r.oldData=[],d=0;d<s.length;d++){var h=s[d].getData();h.count()<mQ&&(l.push(s[d]),u.push(s[d].get("dataGroupId")),c.push(h))}})}C3([Zce]);C3([Wce]);C3([bde,zde,Jde,zhe,nfe,Kfe,Mpe,fve,Uve,Kve,sme,dge,Bge,Zge,gye,Tye,Vye,Jye,d_e,__e,I_e,gSe]);C3(GSe);C3(Sbe);C3(hZ);C3(Obe);C3(JZ);C3(Wbe);C3(Qbe);C3(ewe);C3(wwe);C3(Dh);C3(Hwe);C3($we);C3(sTe);C3(gTe);C3(ATe);C3(DTe);C3(qTe);C3(vAe);C3(iQ);C3(rQ);C3(VAe);C3(uQ);C3(cQ);C3(qAe);C3(oCe);C3(uCe);C3(FCe);C3(lce);var Op=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function OCe(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Bp(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ig={exports:{}};Ig.exports;(function(n,e){function t(J){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H},t(J)}function i(J,H){if(!(J instanceof H))throw new TypeError("Cannot call a class as a function")}function r(J,H){for(var w=0;w<H.length;w++){var T=H[w];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(J,T.key,T)}}function a(J,H,w){return H&&r(J.prototype,H),w&&r(J,w),Object.defineProperty(J,"prototype",{writable:!1}),J}function o(J,H,w){return H in J?Object.defineProperty(J,H,{value:w,enumerable:!0,configurable:!0,writable:!0}):J[H]=w,J}var s=function(){function J(H,w){i(this,J),this.coreX=H,this.coreY=w}return a(J,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}}]),J}();Date.prototype.Format=function(J){var H={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(J)&&(J=J.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in H)new RegExp("("+w+")").test(J)&&(J=J.replace(RegExp.$1,RegExp.$1.length==1?H[w]:("00"+H[w]).substr((""+H[w]).length)));return J};var l=function(H,w,T){var R=document.getElementsByTagName("head")[0].getElementsByTagName("script"),N=!1;if(T)N=T();else for(var z=0;z<R.length;z++)R[z].getAttribute("src")==H&&(N=!0,w());if(N)w();else{var U=document.createElement("script");U.setAttribute("src",H),U.setAttribute("crossorigin",!0),U.onload=w,document.getElementsByTagName("head")[0].appendChild(U)}},u=function(H,w){for(var T=document.getElementsByTagName("head")[0].getElementsByTagName("link"),R=!1,N=0;N<T.length;N++)T[N].getAttribute("href")==H&&(R=!0);if(!R){var z=document.createElement("link");z.rel="stylesheet",z.type="text/css",z.href=H,z.onload=w,document.getElementsByTagName("head")[0].appendChild(z)}},c=function(H){return!!H&&(t(H)==="object"||typeof H=="function")&&typeof H.then=="function"},d=function(H,w){var T=new RegExp("(\\?|#|&)"+H+"=(.*?)(#|&|$)"),R=(w||window.location.href).match(T);return decodeURIComponent(R?R[2]:"")},h=function(H,w){var T=w.parentNode;T.lastChild==w?T.appendChild(H):T.insertBefore(H,w.nextSibling)},f=function(H){console.log("requestFullScreen",document.getElementById(H));var w=H.requestFullScreen||H.webkitRequestFullScreen||H.mozRequestFullScreen||H.msRequestFullScreen;if(w)w.call(H);else if(typeof window.ActiveXObject!="undefined"){var T=new window.ActiveXObject("WScript.Shell");T!==null&&T.SendKeys("{F11}")}},p=function(H){var w=document.documentElement.clientWidth,T=document.documentElement.clientHeight,R=H,N="";N+="width:"+T+"px;",N+="height:"+w+"px;",N+="-webkit-transform: rotate(90.001deg); transform: rotate(90.001deg);",N+="-webkit-transform-origin: "+w/2+"px "+w/2+"px;",N+="transform-origin: "+w/2+"px "+w/2+"px;",N+="position: fixed;top: 0;left: 0;z-index:10",R.style.cssText=N},m=function(H){f(H);var w=new Promise(function(T,R){var N=setInterval(function(){var U=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(U)return clearInterval(N),T(!0)},100),z=setTimeout(function(){var U=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;U||R(!1),clearTimeout(z)},2e3)});return w},v=function(H,w,T){var R="";R+="width:"+w+"px;",R+="height:"+T+"px;",R+="-webkit-transform: none; transform: none;",R+="-webkit-transform-origin: 0 0;",R+="transform-origin: 0 0;",H.style.cssText=R},g=function(){document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen()},_=function(H){g();var w=new Promise(function(T,R){var N=setInterval(function(){var U=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(!U)return clearInterval(N),T(!0)},50),z=setTimeout(function(){var U=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;U&&R(!1),clearTimeout(z)},2e3)});return w},S=function(H){var w=H.split("/")[3],T=H.split("/")[4].split(".")[0],R=H.split("/")[2].split("@").length===2?H.split("/")[2].split("@")[0]:"",N=H.indexOf(".hd")!==-1,z=H.split("/")[4].split(".")[H.split("/")[4].split(".").length-1].split("?")[0];return z==="rec"&&H.indexOf(".cloud.rec")!==-1&&(z="cloud.rec"),{deviceSerial:w,channelNo:T,validCode:R,hd:N,type:z}};function x(J){if(typeof J=="string")try{var H=JSON.parse(J);return!!(t(H)==="object"&&H)}catch(w){return!1}console.log("It is not a string!")}var A=function(H,w,T,R,N,z){var U=H,ue=new XMLHttpRequest;ue.onreadystatechange=function(){if(ue.readyState==4&&ue.status==200)if(x(ue.responseText)){var se=JSON.parse(ue.responseText);N(se)}else N(ue.responseText)},ue.open(w,U,!0);var pe=new FormData;for(var de in T)pe.append(de,T[de]);ue.send(pe)},C=function(){function J(H,w){var T=this;i(this,J),l("https://open.ys7.com/assets/ezuikit_v3.4/js/hls.js",function(){console.log("加载hls.min.js成功",window.Hls),console.log("isSupportHls",window.Hls.isSupported()),window.Hls.isSupported()&&T.initHLS(H,w)},function(){return!!window.Hls})}return a(J,[{key:"toString",value:function(){return"hls ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initHLS",value:function(w,T){var R=document.getElementById(w),N=new window.Hls({defaultAudioCodec:"mp4a.40.2"});N.loadSource(T),N.attachMedia(R),N.on(window.Hls.Events.MANIFEST_PARSED,function(){R.play()}),N.on(window.Hls.Events.ERROR,function(z,U){if(U.fatal)switch(U.type){case window.Hls.ErrorTypes.NETWORK_ERROR:console.log("fatal network error encountered, try to recover"),N.startLoad();break;case window.Hls.ErrorTypes.MEDIA_ERROR:console.log("fatal media error encountered, try to recover"),N.recoverMediaError();break;default:N.destroy();break}}),this.hls=N,this.video=R,this.hlsUrl=T}},{key:"play",value:function(){console.log("执行hls播放",this.video),this.hls.startLoad(),this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.hls.stopLoad()}}]),J}(),M=function(){function J(H,w){var T=this;i(this,J),l("https://open.ys7.com/assets/ezuikit_v3.4/js/flv.min.js",function(){console.log("加载flv.min.js成功",window.flvjs),console.log("isSupportFlv",window.flvjs.isSupported()),window.flvjs.isSupported()&&T.initFLV(H,w)})}return a(J,[{key:"toString",value:function(){return"Flv ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initFLV",value:function(w,T){var R=document.getElementById(w),N=R.getAttribute("controls");N||R.setAttribute("controls",!0);var z=window.flvjs.createPlayer({type:"flv",url:T,isLive:!0},{enableStashBuffer:!0,stashInitialSize:128,enableWorker:!0});z.attachMediaElement(R),z.load(),z.play(),this.flvUrl=T,this.flv=z,this.video=R}},{key:"play",value:function(){console.log("执行flv播放",this.video),this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.flv.unload()}}]),J}(),I=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof Op!="undefined"?Op:typeof self!="undefined"?self:{};function D(J,H){return H={exports:{}},J(H,H.exports),H.exports}var E=D(function(J,H){(function(){var w,T="4.17.21",R=200,N="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",z="Expected a function",U="Invalid `variable` option passed into `_.template`",ue="__lodash_hash_undefined__",pe=500,de="__lodash_placeholder__",se=1,re=2,Be=4,be=1,ge=2,ye=1,Ze=2,fe=4,O=8,te=16,oe=32,De=64,He=128,i2=256,a2=512,x2=30,G2="...",$2=800,F2=16,Dt=1,Ut=2,zt=3,i3=1/0,e3=9007199254740991,c3=17976931348623157e292,e1=0/0,We=4294967295,C2=We-1,W2=We>>>1,gt=[["ary",He],["bind",ye],["bindKey",Ze],["curry",O],["curryRight",te],["flip",a2],["partial",oe],["partialRight",De],["rearg",i2]],Gt="[object Arguments]",p3="[object Array]",d3="[object AsyncFunction]",y3="[object Boolean]",t1="[object Date]",Br="[object DOMException]",hi="[object Error]",O1="[object Function]",qn="[object GeneratorFunction]",n1="[object Map]",x0="[object Number]",cn="[object Null]",U3="[object Object]",x1="[object Promise]",_3="[object Proxy]",Vt="[object RegExp]",w3="[object Set]",v1="[object String]",_e="[object Symbol]",ke="[object Undefined]",qe="[object WeakMap]",t2="[object WeakSet]",ve="[object ArrayBuffer]",c2="[object DataView]",e2="[object Float32Array]",m2="[object Float64Array]",N2="[object Int8Array]",ot="[object Int16Array]",U2="[object Int32Array]",dt="[object Uint8Array]",m1="[object Uint8ClampedArray]",Q1="[object Uint16Array]",v3="[object Uint32Array]",X1=/\b__p \+= '';/g,I3=/\b(__p \+=) '' \+/g,g1=/(__e\(.*?\)|\b__t\)) \+\n'';/g,fi=/&(?:amp|lt|gt|quot|#39);/g,pi=/[&<>"']/g,z3=RegExp(fi.source),B1=RegExp(pi.source),so=/<%-([\s\S]+?)%>/g,o6=/<%([\s\S]+?)%>/g,lo=/<%=([\s\S]+?)%>/g,j5=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,$5=/^\w*$/,y0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Y1=/[\\^$.*+?()[\]{}|]/g,Xn=RegExp(Y1.source),Ii=/^\s+/,zr=/\s/,os=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ss=/\{\n\/\* \[wrapped with (.+)\] \*/,q5=/,? & /,o4=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,s6=/[()=,{}\[\]\/\s]/,vi=/\\(\\)?/g,M_=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,s4=/\w*$/,E_=/^[-+]0x[0-9a-f]+$/i,P_=/^0b[01]+$/i,Z0=/^\[object .+?Constructor\]$/,R_=/^0o[0-7]+$/i,S3=/^(?:0|[1-9]\d*)$/,l0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,X5=/($^)/,Y5=/['\n\r\u2028\u2029\\]/g,l6="\\ud800-\\udfff",X="\\u0300-\\u036f",q="\\ufe20-\\ufe2f",ce="\\u20d0-\\u20ff",Je=X+q+ce,k2="\\u2700-\\u27bf",At="a-z\\xdf-\\xf6\\xf8-\\xff",F3="\\xac\\xb1\\xd7\\xf7",K3="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",w1="\\u2000-\\u206f",b1=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",y1="A-Z\\xc0-\\xd6\\xd8-\\xde",mi="\\ufe0e\\ufe0f",wn=F3+K3+w1+b1,u0="['’]",J0="["+l6+"]",u6="["+wn+"]",uo="["+Je+"]",c6="\\d+",K5="["+k2+"]",d6="["+At+"]",h6="[^"+l6+wn+c6+k2+At+y1+"]",l4="\\ud83c[\\udffb-\\udfff]",$h="(?:"+uo+"|"+l4+")",cL="[^"+l6+"]",L_="(?:\\ud83c[\\udde6-\\uddff]){2}",I_="[\\ud800-\\udbff][\\udc00-\\udfff]",u4="["+y1+"]",dL="\\u200d",hL="(?:"+d6+"|"+h6+")",ste="(?:"+u4+"|"+h6+")",fL="(?:"+u0+"(?:d|ll|m|re|s|t|ve))?",pL="(?:"+u0+"(?:D|LL|M|RE|S|T|VE))?",vL=$h+"?",mL="["+mi+"]?",lte="(?:"+dL+"(?:"+[cL,L_,I_].join("|")+")"+mL+vL+")*",ute="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",cte="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",gL=mL+vL+lte,dte="(?:"+[K5,L_,I_].join("|")+")"+gL,hte="(?:"+[cL+uo+"?",uo,L_,I_,J0].join("|")+")",fte=RegExp(u0,"g"),pte=RegExp(uo,"g"),D_=RegExp(l4+"(?="+l4+")|"+hte+gL,"g"),vte=RegExp([u4+"?"+d6+"+"+fL+"(?="+[u6,u4,"$"].join("|")+")",ste+"+"+pL+"(?="+[u6,u4+hL,"$"].join("|")+")",u4+"?"+hL+"+"+fL,u4+"+"+pL,cte,ute,c6,dte].join("|"),"g"),mte=RegExp("["+dL+l6+Je+mi+"]"),gte=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,yte=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],_te=-1,p0={};p0[e2]=p0[m2]=p0[N2]=p0[ot]=p0[U2]=p0[dt]=p0[m1]=p0[Q1]=p0[v3]=!0,p0[Gt]=p0[p3]=p0[ve]=p0[y3]=p0[c2]=p0[t1]=p0[hi]=p0[O1]=p0[n1]=p0[x0]=p0[U3]=p0[Vt]=p0[w3]=p0[v1]=p0[qe]=!1;var c0={};c0[Gt]=c0[p3]=c0[ve]=c0[c2]=c0[y3]=c0[t1]=c0[e2]=c0[m2]=c0[N2]=c0[ot]=c0[U2]=c0[n1]=c0[x0]=c0[U3]=c0[Vt]=c0[w3]=c0[v1]=c0[_e]=c0[dt]=c0[m1]=c0[Q1]=c0[v3]=!0,c0[hi]=c0[O1]=c0[qe]=!1;var Ste={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},bte={"&":"&","<":"<",">":">",'"':""","'":"'"},xte={"&":"&","<":"<",">":">",""":'"',"'":"'"},wte={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tte=parseFloat,Ate=parseInt,yL=typeof I=="object"&&I&&I.Object===Object&&I,Cte=typeof self=="object"&&self&&self.Object===Object&&self,In=yL||Cte||Function("return this")(),N_=H&&!H.nodeType&&H,Z5=N_&&!0&&J&&!J.nodeType&&J,_L=Z5&&Z5.exports===N_,k_=_L&&yL.process,Gr=function(){try{var h2=Z5&&Z5.require&&Z5.require("util").types;return h2||k_&&k_.binding&&k_.binding("util")}catch(K2){}}(),SL=Gr&&Gr.isArrayBuffer,bL=Gr&&Gr.isDate,xL=Gr&&Gr.isMap,wL=Gr&&Gr.isRegExp,TL=Gr&&Gr.isSet,AL=Gr&&Gr.isTypedArray;function fr(h2,K2,V2){switch(V2.length){case 0:return h2.call(K2);case 1:return h2.call(K2,V2[0]);case 2:return h2.call(K2,V2[0],V2[1]);case 3:return h2.call(K2,V2[0],V2[1],V2[2])}return h2.apply(K2,V2)}function Mte(h2,K2,V2,Yt){for(var D3=-1,A1=h2==null?0:h2.length;++D3<A1;){var dn=h2[D3];K2(Yt,dn,V2(dn),h2)}return Yt}function Ur(h2,K2){for(var V2=-1,Yt=h2==null?0:h2.length;++V2<Yt&&K2(h2[V2],V2,h2)!==!1;);return h2}function Ete(h2,K2){for(var V2=h2==null?0:h2.length;V2--&&K2(h2[V2],V2,h2)!==!1;);return h2}function CL(h2,K2){for(var V2=-1,Yt=h2==null?0:h2.length;++V2<Yt;)if(!K2(h2[V2],V2,h2))return!1;return!0}function f6(h2,K2){for(var V2=-1,Yt=h2==null?0:h2.length,D3=0,A1=[];++V2<Yt;){var dn=h2[V2];K2(dn,V2,h2)&&(A1[D3++]=dn)}return A1}function qh(h2,K2){var V2=h2==null?0:h2.length;return!!V2&&c4(h2,K2,0)>-1}function F_(h2,K2,V2){for(var Yt=-1,D3=h2==null?0:h2.length;++Yt<D3;)if(V2(K2,h2[Yt]))return!0;return!1}function _0(h2,K2){for(var V2=-1,Yt=h2==null?0:h2.length,D3=Array(Yt);++V2<Yt;)D3[V2]=K2(h2[V2],V2,h2);return D3}function p6(h2,K2){for(var V2=-1,Yt=K2.length,D3=h2.length;++V2<Yt;)h2[D3+V2]=K2[V2];return h2}function O_(h2,K2,V2,Yt){var D3=-1,A1=h2==null?0:h2.length;for(Yt&&A1&&(V2=h2[++D3]);++D3<A1;)V2=K2(V2,h2[D3],D3,h2);return V2}function Pte(h2,K2,V2,Yt){var D3=h2==null?0:h2.length;for(Yt&&D3&&(V2=h2[--D3]);D3--;)V2=K2(V2,h2[D3],D3,h2);return V2}function B_(h2,K2){for(var V2=-1,Yt=h2==null?0:h2.length;++V2<Yt;)if(K2(h2[V2],V2,h2))return!0;return!1}var Rte=z_("length");function Lte(h2){return h2.split("")}function Ite(h2){return h2.match(o4)||[]}function ML(h2,K2,V2){var Yt;return V2(h2,function(D3,A1,dn){if(K2(D3,A1,dn))return Yt=A1,!1}),Yt}function Xh(h2,K2,V2,Yt){for(var D3=h2.length,A1=V2+(Yt?1:-1);Yt?A1--:++A1<D3;)if(K2(h2[A1],A1,h2))return A1;return-1}function c4(h2,K2,V2){return K2===K2?Wte(h2,K2,V2):Xh(h2,EL,V2)}function Dte(h2,K2,V2,Yt){for(var D3=V2-1,A1=h2.length;++D3<A1;)if(Yt(h2[D3],K2))return D3;return-1}function EL(h2){return h2!==h2}function PL(h2,K2){var V2=h2==null?0:h2.length;return V2?U_(h2,K2)/V2:e1}function z_(h2){return function(K2){return K2==null?w:K2[h2]}}function G_(h2){return function(K2){return h2==null?w:h2[K2]}}function RL(h2,K2,V2,Yt,D3){return D3(h2,function(A1,dn,e0){V2=Yt?(Yt=!1,A1):K2(V2,A1,dn,e0)}),V2}function Nte(h2,K2){var V2=h2.length;for(h2.sort(K2);V2--;)h2[V2]=h2[V2].value;return h2}function U_(h2,K2){for(var V2,Yt=-1,D3=h2.length;++Yt<D3;){var A1=K2(h2[Yt]);A1!==w&&(V2=V2===w?A1:V2+A1)}return V2}function V_(h2,K2){for(var V2=-1,Yt=Array(h2);++V2<h2;)Yt[V2]=K2(V2);return Yt}function kte(h2,K2){return _0(K2,function(V2){return[V2,h2[V2]]})}function LL(h2){return h2&&h2.slice(0,kL(h2)+1).replace(Ii,"")}function pr(h2){return function(K2){return h2(K2)}}function H_(h2,K2){return _0(K2,function(V2){return h2[V2]})}function su(h2,K2){return h2.has(K2)}function IL(h2,K2){for(var V2=-1,Yt=h2.length;++V2<Yt&&c4(K2,h2[V2],0)>-1;);return V2}function DL(h2,K2){for(var V2=h2.length;V2--&&c4(K2,h2[V2],0)>-1;);return V2}function Fte(h2,K2){for(var V2=h2.length,Yt=0;V2--;)h2[V2]===K2&&++Yt;return Yt}var Ote=G_(Ste),Bte=G_(bte);function zte(h2){return"\\"+wte[h2]}function Gte(h2,K2){return h2==null?w:h2[K2]}function d4(h2){return mte.test(h2)}function Ute(h2){return gte.test(h2)}function Vte(h2){for(var K2,V2=[];!(K2=h2.next()).done;)V2.push(K2.value);return V2}function W_(h2){var K2=-1,V2=Array(h2.size);return h2.forEach(function(Yt,D3){V2[++K2]=[D3,Yt]}),V2}function NL(h2,K2){return function(V2){return h2(K2(V2))}}function v6(h2,K2){for(var V2=-1,Yt=h2.length,D3=0,A1=[];++V2<Yt;){var dn=h2[V2];(dn===K2||dn===de)&&(h2[V2]=de,A1[D3++]=V2)}return A1}function Yh(h2){var K2=-1,V2=Array(h2.size);return h2.forEach(function(Yt){V2[++K2]=Yt}),V2}function Hte(h2){var K2=-1,V2=Array(h2.size);return h2.forEach(function(Yt){V2[++K2]=[Yt,Yt]}),V2}function Wte(h2,K2,V2){for(var Yt=V2-1,D3=h2.length;++Yt<D3;)if(h2[Yt]===K2)return Yt;return-1}function jte(h2,K2,V2){for(var Yt=V2+1;Yt--;)if(h2[Yt]===K2)return Yt;return Yt}function h4(h2){return d4(h2)?qte(h2):Rte(h2)}function Da(h2){return d4(h2)?Xte(h2):Lte(h2)}function kL(h2){for(var K2=h2.length;K2--&&zr.test(h2.charAt(K2)););return K2}var $te=G_(xte);function qte(h2){for(var K2=D_.lastIndex=0;D_.test(h2);)++K2;return K2}function Xte(h2){return h2.match(D_)||[]}function Yte(h2){return h2.match(vte)||[]}var Kte=function h2(K2){K2=K2==null?In:f4.defaults(In.Object(),K2,f4.pick(In,yte));var V2=K2.Array,Yt=K2.Date,D3=K2.Error,A1=K2.Function,dn=K2.Math,e0=K2.Object,j_=K2.RegExp,Zte=K2.String,Vr=K2.TypeError,Kh=V2.prototype,Jte=A1.prototype,p4=e0.prototype,Zh=K2["__core-js_shared__"],Jh=Jte.toString,z1=p4.hasOwnProperty,Qte=0,FL=function(){var y=/[^.]+$/.exec(Zh&&Zh.keys&&Zh.keys.IE_PROTO||"");return y?"Symbol(src)_1."+y:""}(),Qh=p4.toString,e3e=Jh.call(e0),t3e=In._,n3e=j_("^"+Jh.call(z1).replace(Y1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ef=_L?K2.Buffer:w,m6=K2.Symbol,tf=K2.Uint8Array,OL=ef?ef.allocUnsafe:w,nf=NL(e0.getPrototypeOf,e0),BL=e0.create,zL=p4.propertyIsEnumerable,rf=Kh.splice,GL=m6?m6.isConcatSpreadable:w,lu=m6?m6.iterator:w,J5=m6?m6.toStringTag:w,af=function(){try{var y=i9(e0,"defineProperty");return y({},"",{}),y}catch(b){}}(),i3e=K2.clearTimeout!==In.clearTimeout&&K2.clearTimeout,r3e=Yt&&Yt.now!==In.Date.now&&Yt.now,a3e=K2.setTimeout!==In.setTimeout&&K2.setTimeout,of=dn.ceil,sf=dn.floor,$_=e0.getOwnPropertySymbols,o3e=ef?ef.isBuffer:w,UL=K2.isFinite,s3e=Kh.join,l3e=NL(e0.keys,e0),hn=dn.max,Yn=dn.min,u3e=Yt.now,c3e=K2.parseInt,VL=dn.random,d3e=Kh.reverse,q_=i9(K2,"DataView"),uu=i9(K2,"Map"),X_=i9(K2,"Promise"),v4=i9(K2,"Set"),cu=i9(K2,"WeakMap"),du=i9(e0,"create"),lf=cu&&new cu,m4={},h3e=r9(q_),f3e=r9(uu),p3e=r9(X_),v3e=r9(v4),m3e=r9(cu),uf=m6?m6.prototype:w,hu=uf?uf.valueOf:w,HL=uf?uf.toString:w;function Se(y){if(L0(y)&&!O3(y)&&!(y instanceof o1)){if(y instanceof Hr)return y;if(z1.call(y,"__wrapped__"))return WI(y)}return new Hr(y)}var g4=function(){function y(){}return function(b){if(!w0(b))return{};if(BL)return BL(b);y.prototype=b;var L=new y;return y.prototype=w,L}}();function cf(){}function Hr(y,b){this.__wrapped__=y,this.__actions__=[],this.__chain__=!!b,this.__index__=0,this.__values__=w}Se.templateSettings={escape:so,evaluate:o6,interpolate:lo,variable:"",imports:{_:Se}},Se.prototype=cf.prototype,Se.prototype.constructor=Se,Hr.prototype=g4(cf.prototype),Hr.prototype.constructor=Hr;function o1(y){this.__wrapped__=y,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=We,this.__views__=[]}function g3e(){var y=new o1(this.__wrapped__);return y.__actions__=Di(this.__actions__),y.__dir__=this.__dir__,y.__filtered__=this.__filtered__,y.__iteratees__=Di(this.__iteratees__),y.__takeCount__=this.__takeCount__,y.__views__=Di(this.__views__),y}function y3e(){if(this.__filtered__){var y=new o1(this);y.__dir__=-1,y.__filtered__=!0}else y=this.clone(),y.__dir__*=-1;return y}function _3e(){var y=this.__wrapped__.value(),b=this.__dir__,L=O3(y),j=b<0,le=L?y.length:0,Me=L1e(0,le,this.__views__),Ke=Me.start,r2=Me.end,g2=r2-Ke,tt=j?r2:Ke-1,nt=this.__iteratees__,ht=nt.length,Bt=0,r3=Yn(g2,this.__takeCount__);if(!L||!j&&le==g2&&r3==g2)return fI(y,this.__actions__);var T3=[];e:for(;g2--&&Bt<r3;){tt+=b;for(var W3=-1,A3=y[tt];++W3<ht;){var a1=nt[W3],d1=a1.iteratee,gr=a1.type,_i=d1(A3);if(gr==Ut)A3=_i;else if(!_i){if(gr==Dt)continue e;break e}}T3[Bt++]=A3}return T3}o1.prototype=g4(cf.prototype),o1.prototype.constructor=o1;function Q5(y){var b=-1,L=y==null?0:y.length;for(this.clear();++b<L;){var j=y[b];this.set(j[0],j[1])}}function S3e(){this.__data__=du?du(null):{},this.size=0}function b3e(y){var b=this.has(y)&&delete this.__data__[y];return this.size-=b?1:0,b}function x3e(y){var b=this.__data__;if(du){var L=b[y];return L===ue?w:L}return z1.call(b,y)?b[y]:w}function w3e(y){var b=this.__data__;return du?b[y]!==w:z1.call(b,y)}function T3e(y,b){var L=this.__data__;return this.size+=this.has(y)?0:1,L[y]=du&&b===w?ue:b,this}Q5.prototype.clear=S3e,Q5.prototype.delete=b3e,Q5.prototype.get=x3e,Q5.prototype.has=w3e,Q5.prototype.set=T3e;function ls(y){var b=-1,L=y==null?0:y.length;for(this.clear();++b<L;){var j=y[b];this.set(j[0],j[1])}}function A3e(){this.__data__=[],this.size=0}function C3e(y){var b=this.__data__,L=df(b,y);if(L<0)return!1;var j=b.length-1;return L==j?b.pop():rf.call(b,L,1),--this.size,!0}function M3e(y){var b=this.__data__,L=df(b,y);return L<0?w:b[L][1]}function E3e(y){return df(this.__data__,y)>-1}function P3e(y,b){var L=this.__data__,j=df(L,y);return j<0?(++this.size,L.push([y,b])):L[j][1]=b,this}ls.prototype.clear=A3e,ls.prototype.delete=C3e,ls.prototype.get=M3e,ls.prototype.has=E3e,ls.prototype.set=P3e;function us(y){var b=-1,L=y==null?0:y.length;for(this.clear();++b<L;){var j=y[b];this.set(j[0],j[1])}}function R3e(){this.size=0,this.__data__={hash:new Q5,map:new(uu||ls),string:new Q5}}function L3e(y){var b=wf(this,y).delete(y);return this.size-=b?1:0,b}function I3e(y){return wf(this,y).get(y)}function D3e(y){return wf(this,y).has(y)}function N3e(y,b){var L=wf(this,y),j=L.size;return L.set(y,b),this.size+=L.size==j?0:1,this}us.prototype.clear=R3e,us.prototype.delete=L3e,us.prototype.get=I3e,us.prototype.has=D3e,us.prototype.set=N3e;function e9(y){var b=-1,L=y==null?0:y.length;for(this.__data__=new us;++b<L;)this.add(y[b])}function k3e(y){return this.__data__.set(y,ue),this}function F3e(y){return this.__data__.has(y)}e9.prototype.add=e9.prototype.push=k3e,e9.prototype.has=F3e;function Na(y){var b=this.__data__=new ls(y);this.size=b.size}function O3e(){this.__data__=new ls,this.size=0}function B3e(y){var b=this.__data__,L=b.delete(y);return this.size=b.size,L}function z3e(y){return this.__data__.get(y)}function G3e(y){return this.__data__.has(y)}function U3e(y,b){var L=this.__data__;if(L instanceof ls){var j=L.__data__;if(!uu||j.length<R-1)return j.push([y,b]),this.size=++L.size,this;L=this.__data__=new us(j)}return L.set(y,b),this.size=L.size,this}Na.prototype.clear=O3e,Na.prototype.delete=B3e,Na.prototype.get=z3e,Na.prototype.has=G3e,Na.prototype.set=U3e;function WL(y,b){var L=O3(y),j=!L&&a9(y),le=!L&&!j&&b6(y),Me=!L&&!j&&!le&&b4(y),Ke=L||j||le||Me,r2=Ke?V_(y.length,Zte):[],g2=r2.length;for(var tt in y)(b||z1.call(y,tt))&&!(Ke&&(tt=="length"||le&&(tt=="offset"||tt=="parent")||Me&&(tt=="buffer"||tt=="byteLength"||tt=="byteOffset")||fs(tt,g2)))&&r2.push(tt);return r2}function jL(y){var b=y.length;return b?y[aS(0,b-1)]:w}function V3e(y,b){return Tf(Di(y),t9(b,0,y.length))}function H3e(y){return Tf(Di(y))}function Y_(y,b,L){(L!==w&&!ka(y[b],L)||L===w&&!(b in y))&&cs(y,b,L)}function fu(y,b,L){var j=y[b];(!(z1.call(y,b)&&ka(j,L))||L===w&&!(b in y))&&cs(y,b,L)}function df(y,b){for(var L=y.length;L--;)if(ka(y[L][0],b))return L;return-1}function W3e(y,b,L,j){return g6(y,function(le,Me,Ke){b(j,le,L(le),Ke)}),j}function $L(y,b){return y&&ho(b,Tn(b),y)}function j3e(y,b){return y&&ho(b,ki(b),y)}function cs(y,b,L){b=="__proto__"&&af?af(y,b,{configurable:!0,enumerable:!0,value:L,writable:!0}):y[b]=L}function K_(y,b){for(var L=-1,j=b.length,le=V2(j),Me=y==null;++L<j;)le[L]=Me?w:RS(y,b[L]);return le}function t9(y,b,L){return y===y&&(L!==w&&(y=y<=L?y:L),b!==w&&(y=y>=b?y:b)),y}function Wr(y,b,L,j,le,Me){var Ke,r2=b&se,g2=b&re,tt=b&Be;if(L&&(Ke=le?L(y,j,le,Me):L(y)),Ke!==w)return Ke;if(!w0(y))return y;var nt=O3(y);if(nt){if(Ke=D1e(y),!r2)return Di(y,Ke)}else{var ht=Kn(y),Bt=ht==O1||ht==qn;if(b6(y))return mI(y,r2);if(ht==U3||ht==Gt||Bt&&!le){if(Ke=g2||Bt?{}:kI(y),!r2)return g2?x1e(y,j3e(Ke,y)):b1e(y,$L(Ke,y))}else{if(!c0[ht])return le?y:{};Ke=N1e(y,ht,r2)}}Me||(Me=new Na);var r3=Me.get(y);if(r3)return r3;Me.set(y,Ke),cD(y)?y.forEach(function(A3){Ke.add(Wr(A3,b,L,A3,y,Me))}):lD(y)&&y.forEach(function(A3,a1){Ke.set(a1,Wr(A3,b,L,a1,y,Me))});var T3=tt?g2?mS:vS:g2?ki:Tn,W3=nt?w:T3(y);return Ur(W3||y,function(A3,a1){W3&&(a1=A3,A3=y[a1]),fu(Ke,a1,Wr(A3,b,L,a1,y,Me))}),Ke}function $3e(y){var b=Tn(y);return function(L){return qL(L,y,b)}}function qL(y,b,L){var j=L.length;if(y==null)return!j;for(y=e0(y);j--;){var le=L[j],Me=b[le],Ke=y[le];if(Ke===w&&!(le in y)||!Me(Ke))return!1}return!0}function XL(y,b,L){if(typeof y!="function")throw new Vr(z);return Su(function(){y.apply(w,L)},b)}function pu(y,b,L,j){var le=-1,Me=qh,Ke=!0,r2=y.length,g2=[],tt=b.length;if(!r2)return g2;L&&(b=_0(b,pr(L))),j?(Me=F_,Ke=!1):b.length>=R&&(Me=su,Ke=!1,b=new e9(b));e:for(;++le<r2;){var nt=y[le],ht=L==null?nt:L(nt);if(nt=j||nt!==0?nt:0,Ke&&ht===ht){for(var Bt=tt;Bt--;)if(b[Bt]===ht)continue e;g2.push(nt)}else Me(b,ht,j)||g2.push(nt)}return g2}var g6=bI(co),YL=bI(J_,!0);function q3e(y,b){var L=!0;return g6(y,function(j,le,Me){return L=!!b(j,le,Me),L}),L}function hf(y,b,L){for(var j=-1,le=y.length;++j<le;){var Me=y[j],Ke=b(Me);if(Ke!=null&&(r2===w?Ke===Ke&&!mr(Ke):L(Ke,r2)))var r2=Ke,g2=Me}return g2}function X3e(y,b,L,j){var le=y.length;for(L=V3(L),L<0&&(L=-L>le?0:le+L),j=j===w||j>le?le:V3(j),j<0&&(j+=le),j=L>j?0:hD(j);L<j;)y[L++]=b;return y}function KL(y,b){var L=[];return g6(y,function(j,le,Me){b(j,le,Me)&&L.push(j)}),L}function Dn(y,b,L,j,le){var Me=-1,Ke=y.length;for(L||(L=F1e),le||(le=[]);++Me<Ke;){var r2=y[Me];b>0&&L(r2)?b>1?Dn(r2,b-1,L,j,le):p6(le,r2):j||(le[le.length]=r2)}return le}var Z_=xI(),ZL=xI(!0);function co(y,b){return y&&Z_(y,b,Tn)}function J_(y,b){return y&&ZL(y,b,Tn)}function ff(y,b){return f6(b,function(L){return ps(y[L])})}function n9(y,b){b=_6(b,y);for(var L=0,j=b.length;y!=null&&L<j;)y=y[fo(b[L++])];return L&&L==j?y:w}function JL(y,b,L){var j=b(y);return O3(y)?j:p6(j,L(y))}function gi(y){return y==null?y===w?ke:cn:J5&&J5 in e0(y)?R1e(y):H1e(y)}function Q_(y,b){return y>b}function Y3e(y,b){return y!=null&&z1.call(y,b)}function K3e(y,b){return y!=null&&b in e0(y)}function Z3e(y,b,L){return y>=Yn(b,L)&&y<hn(b,L)}function eS(y,b,L){for(var j=L?F_:qh,le=y[0].length,Me=y.length,Ke=Me,r2=V2(Me),g2=1/0,tt=[];Ke--;){var nt=y[Ke];Ke&&b&&(nt=_0(nt,pr(b))),g2=Yn(nt.length,g2),r2[Ke]=!L&&(b||le>=120&&nt.length>=120)?new e9(Ke&&nt):w}nt=y[0];var ht=-1,Bt=r2[0];e:for(;++ht<le&&tt.length<g2;){var r3=nt[ht],T3=b?b(r3):r3;if(r3=L||r3!==0?r3:0,!(Bt?su(Bt,T3):j(tt,T3,L))){for(Ke=Me;--Ke;){var W3=r2[Ke];if(!(W3?su(W3,T3):j(y[Ke],T3,L)))continue e}Bt&&Bt.push(T3),tt.push(r3)}}return tt}function J3e(y,b,L,j){return co(y,function(le,Me,Ke){b(j,L(le),Me,Ke)}),j}function vu(y,b,L){b=_6(b,y),y=zI(y,b);var j=y==null?y:y[fo($r(b))];return j==null?w:fr(j,y,L)}function QL(y){return L0(y)&&gi(y)==Gt}function Q3e(y){return L0(y)&&gi(y)==ve}function e1e(y){return L0(y)&&gi(y)==t1}function mu(y,b,L,j,le){return y===b?!0:y==null||b==null||!L0(y)&&!L0(b)?y!==y&&b!==b:t1e(y,b,L,j,mu,le)}function t1e(y,b,L,j,le,Me){var Ke=O3(y),r2=O3(b),g2=Ke?p3:Kn(y),tt=r2?p3:Kn(b);g2=g2==Gt?U3:g2,tt=tt==Gt?U3:tt;var nt=g2==U3,ht=tt==U3,Bt=g2==tt;if(Bt&&b6(y)){if(!b6(b))return!1;Ke=!0,nt=!1}if(Bt&&!nt)return Me||(Me=new Na),Ke||b4(y)?II(y,b,L,j,le,Me):E1e(y,b,g2,L,j,le,Me);if(!(L&be)){var r3=nt&&z1.call(y,"__wrapped__"),T3=ht&&z1.call(b,"__wrapped__");if(r3||T3){var W3=r3?y.value():y,A3=T3?b.value():b;return Me||(Me=new Na),le(W3,A3,L,j,Me)}}return Bt?(Me||(Me=new Na),P1e(y,b,L,j,le,Me)):!1}function n1e(y){return L0(y)&&Kn(y)==n1}function tS(y,b,L,j){var le=L.length,Me=le,Ke=!j;if(y==null)return!Me;for(y=e0(y);le--;){var r2=L[le];if(Ke&&r2[2]?r2[1]!==y[r2[0]]:!(r2[0]in y))return!1}for(;++le<Me;){r2=L[le];var g2=r2[0],tt=y[g2],nt=r2[1];if(Ke&&r2[2]){if(tt===w&&!(g2 in y))return!1}else{var ht=new Na;if(j)var Bt=j(tt,nt,g2,y,b,ht);if(!(Bt===w?mu(nt,tt,be|ge,j,ht):Bt))return!1}}return!0}function eI(y){if(!w0(y)||B1e(y))return!1;var b=ps(y)?n3e:Z0;return b.test(r9(y))}function i1e(y){return L0(y)&&gi(y)==Vt}function r1e(y){return L0(y)&&Kn(y)==w3}function a1e(y){return L0(y)&&Rf(y.length)&&!!p0[gi(y)]}function tI(y){return typeof y=="function"?y:y==null?Fi:typeof y=="object"?O3(y)?rI(y[0],y[1]):iI(y):wD(y)}function nS(y){if(!_u(y))return l3e(y);var b=[];for(var L in e0(y))z1.call(y,L)&&L!="constructor"&&b.push(L);return b}function o1e(y){if(!w0(y))return V1e(y);var b=_u(y),L=[];for(var j in y)j=="constructor"&&(b||!z1.call(y,j))||L.push(j);return L}function iS(y,b){return y<b}function nI(y,b){var L=-1,j=Ni(y)?V2(y.length):[];return g6(y,function(le,Me,Ke){j[++L]=b(le,Me,Ke)}),j}function iI(y){var b=yS(y);return b.length==1&&b[0][2]?OI(b[0][0],b[0][1]):function(L){return L===y||tS(L,y,b)}}function rI(y,b){return SS(y)&&FI(b)?OI(fo(y),b):function(L){var j=RS(L,y);return j===w&&j===b?LS(L,y):mu(b,j,be|ge)}}function pf(y,b,L,j,le){y!==b&&Z_(b,function(Me,Ke){if(le||(le=new Na),w0(Me))s1e(y,b,Ke,L,pf,j,le);else{var r2=j?j(xS(y,Ke),Me,Ke+"",y,b,le):w;r2===w&&(r2=Me),Y_(y,Ke,r2)}},ki)}function s1e(y,b,L,j,le,Me,Ke){var r2=xS(y,L),g2=xS(b,L),tt=Ke.get(g2);if(tt){Y_(y,L,tt);return}var nt=Me?Me(r2,g2,L+"",y,b,Ke):w,ht=nt===w;if(ht){var Bt=O3(g2),r3=!Bt&&b6(g2),T3=!Bt&&!r3&&b4(g2);nt=g2,Bt||r3||T3?O3(r2)?nt=r2:B0(r2)?nt=Di(r2):r3?(ht=!1,nt=mI(g2,!0)):T3?(ht=!1,nt=gI(g2,!0)):nt=[]:bu(g2)||a9(g2)?(nt=r2,a9(r2)?nt=fD(r2):(!w0(r2)||ps(r2))&&(nt=kI(g2))):ht=!1}ht&&(Ke.set(g2,nt),le(nt,g2,j,Me,Ke),Ke.delete(g2)),Y_(y,L,nt)}function aI(y,b){var L=y.length;if(L)return b+=b<0?L:0,fs(b,L)?y[b]:w}function oI(y,b,L){b.length?b=_0(b,function(Me){return O3(Me)?function(Ke){return n9(Ke,Me.length===1?Me[0]:Me)}:Me}):b=[Fi];var j=-1;b=_0(b,pr(b3()));var le=nI(y,function(Me,Ke,r2){var g2=_0(b,function(tt){return tt(Me)});return{criteria:g2,index:++j,value:Me}});return Nte(le,function(Me,Ke){return S1e(Me,Ke,L)})}function l1e(y,b){return sI(y,b,function(L,j){return LS(y,j)})}function sI(y,b,L){for(var j=-1,le=b.length,Me={};++j<le;){var Ke=b[j],r2=n9(y,Ke);L(r2,Ke)&&gu(Me,_6(Ke,y),r2)}return Me}function u1e(y){return function(b){return n9(b,y)}}function rS(y,b,L,j){var le=j?Dte:c4,Me=-1,Ke=b.length,r2=y;for(y===b&&(b=Di(b)),L&&(r2=_0(y,pr(L)));++Me<Ke;)for(var g2=0,tt=b[Me],nt=L?L(tt):tt;(g2=le(r2,nt,g2,j))>-1;)r2!==y&&rf.call(r2,g2,1),rf.call(y,g2,1);return y}function lI(y,b){for(var L=y?b.length:0,j=L-1;L--;){var le=b[L];if(L==j||le!==Me){var Me=le;fs(le)?rf.call(y,le,1):lS(y,le)}}return y}function aS(y,b){return y+sf(VL()*(b-y+1))}function c1e(y,b,L,j){for(var le=-1,Me=hn(of((b-y)/(L||1)),0),Ke=V2(Me);Me--;)Ke[j?Me:++le]=y,y+=L;return Ke}function oS(y,b){var L="";if(!y||b<1||b>e3)return L;do b%2&&(L+=y),b=sf(b/2),b&&(y+=y);while(b);return L}function Z3(y,b){return wS(BI(y,b,Fi),y+"")}function d1e(y){return jL(x4(y))}function h1e(y,b){var L=x4(y);return Tf(L,t9(b,0,L.length))}function gu(y,b,L,j){if(!w0(y))return y;b=_6(b,y);for(var le=-1,Me=b.length,Ke=Me-1,r2=y;r2!=null&&++le<Me;){var g2=fo(b[le]),tt=L;if(g2==="__proto__"||g2==="constructor"||g2==="prototype")return y;if(le!=Ke){var nt=r2[g2];tt=j?j(nt,g2,r2):w,tt===w&&(tt=w0(nt)?nt:fs(b[le+1])?[]:{})}fu(r2,g2,tt),r2=r2[g2]}return y}var uI=lf?function(y,b){return lf.set(y,b),y}:Fi,f1e=af?function(y,b){return af(y,"toString",{configurable:!0,enumerable:!1,value:DS(b),writable:!0})}:Fi;function p1e(y){return Tf(x4(y))}function jr(y,b,L){var j=-1,le=y.length;b<0&&(b=-b>le?0:le+b),L=L>le?le:L,L<0&&(L+=le),le=b>L?0:L-b>>>0,b>>>=0;for(var Me=V2(le);++j<le;)Me[j]=y[j+b];return Me}function v1e(y,b){var L;return g6(y,function(j,le,Me){return L=b(j,le,Me),!L}),!!L}function vf(y,b,L){var j=0,le=y==null?j:y.length;if(typeof b=="number"&&b===b&&le<=W2){for(;j<le;){var Me=j+le>>>1,Ke=y[Me];Ke!==null&&!mr(Ke)&&(L?Ke<=b:Ke<b)?j=Me+1:le=Me}return le}return sS(y,b,Fi,L)}function sS(y,b,L,j){var le=0,Me=y==null?0:y.length;if(Me===0)return 0;b=L(b);for(var Ke=b!==b,r2=b===null,g2=mr(b),tt=b===w;le<Me;){var nt=sf((le+Me)/2),ht=L(y[nt]),Bt=ht!==w,r3=ht===null,T3=ht===ht,W3=mr(ht);if(Ke)var A3=j||T3;else tt?A3=T3&&(j||Bt):r2?A3=T3&&Bt&&(j||!r3):g2?A3=T3&&Bt&&!r3&&(j||!W3):r3||W3?A3=!1:A3=j?ht<=b:ht<b;A3?le=nt+1:Me=nt}return Yn(Me,C2)}function cI(y,b){for(var L=-1,j=y.length,le=0,Me=[];++L<j;){var Ke=y[L],r2=b?b(Ke):Ke;if(!L||!ka(r2,g2)){var g2=r2;Me[le++]=Ke===0?0:Ke}}return Me}function dI(y){return typeof y=="number"?y:mr(y)?e1:+y}function vr(y){if(typeof y=="string")return y;if(O3(y))return _0(y,vr)+"";if(mr(y))return HL?HL.call(y):"";var b=y+"";return b=="0"&&1/y==-i3?"-0":b}function y6(y,b,L){var j=-1,le=qh,Me=y.length,Ke=!0,r2=[],g2=r2;if(L)Ke=!1,le=F_;else if(Me>=R){var tt=b?null:C1e(y);if(tt)return Yh(tt);Ke=!1,le=su,g2=new e9}else g2=b?[]:r2;e:for(;++j<Me;){var nt=y[j],ht=b?b(nt):nt;if(nt=L||nt!==0?nt:0,Ke&&ht===ht){for(var Bt=g2.length;Bt--;)if(g2[Bt]===ht)continue e;b&&g2.push(ht),r2.push(nt)}else le(g2,ht,L)||(g2!==r2&&g2.push(ht),r2.push(nt))}return r2}function lS(y,b){return b=_6(b,y),y=zI(y,b),y==null||delete y[fo($r(b))]}function hI(y,b,L,j){return gu(y,b,L(n9(y,b)),j)}function mf(y,b,L,j){for(var le=y.length,Me=j?le:-1;(j?Me--:++Me<le)&&b(y[Me],Me,y););return L?jr(y,j?0:Me,j?Me+1:le):jr(y,j?Me+1:0,j?le:Me)}function fI(y,b){var L=y;return L instanceof o1&&(L=L.value()),O_(b,function(j,le){return le.func.apply(le.thisArg,p6([j],le.args))},L)}function uS(y,b,L){var j=y.length;if(j<2)return j?y6(y[0]):[];for(var le=-1,Me=V2(j);++le<j;)for(var Ke=y[le],r2=-1;++r2<j;)r2!=le&&(Me[le]=pu(Me[le]||Ke,y[r2],b,L));return y6(Dn(Me,1),b,L)}function pI(y,b,L){for(var j=-1,le=y.length,Me=b.length,Ke={};++j<le;){var r2=j<Me?b[j]:w;L(Ke,y[j],r2)}return Ke}function cS(y){return B0(y)?y:[]}function dS(y){return typeof y=="function"?y:Fi}function _6(y,b){return O3(y)?y:SS(y,b)?[y]:HI(E1(y))}var m1e=Z3;function S6(y,b,L){var j=y.length;return L=L===w?j:L,!b&&L>=j?y:jr(y,b,L)}var vI=i3e||function(y){return In.clearTimeout(y)};function mI(y,b){if(b)return y.slice();var L=y.length,j=OL?OL(L):new y.constructor(L);return y.copy(j),j}function hS(y){var b=new y.constructor(y.byteLength);return new tf(b).set(new tf(y)),b}function g1e(y,b){var L=b?hS(y.buffer):y.buffer;return new y.constructor(L,y.byteOffset,y.byteLength)}function y1e(y){var b=new y.constructor(y.source,s4.exec(y));return b.lastIndex=y.lastIndex,b}function _1e(y){return hu?e0(hu.call(y)):{}}function gI(y,b){var L=b?hS(y.buffer):y.buffer;return new y.constructor(L,y.byteOffset,y.length)}function yI(y,b){if(y!==b){var L=y!==w,j=y===null,le=y===y,Me=mr(y),Ke=b!==w,r2=b===null,g2=b===b,tt=mr(b);if(!r2&&!tt&&!Me&&y>b||Me&&Ke&&g2&&!r2&&!tt||j&&Ke&&g2||!L&&g2||!le)return 1;if(!j&&!Me&&!tt&&y<b||tt&&L&&le&&!j&&!Me||r2&&L&&le||!Ke&&le||!g2)return-1}return 0}function S1e(y,b,L){for(var j=-1,le=y.criteria,Me=b.criteria,Ke=le.length,r2=L.length;++j<Ke;){var g2=yI(le[j],Me[j]);if(g2){if(j>=r2)return g2;var tt=L[j];return g2*(tt=="desc"?-1:1)}}return y.index-b.index}function _I(y,b,L,j){for(var le=-1,Me=y.length,Ke=L.length,r2=-1,g2=b.length,tt=hn(Me-Ke,0),nt=V2(g2+tt),ht=!j;++r2<g2;)nt[r2]=b[r2];for(;++le<Ke;)(ht||le<Me)&&(nt[L[le]]=y[le]);for(;tt--;)nt[r2++]=y[le++];return nt}function SI(y,b,L,j){for(var le=-1,Me=y.length,Ke=-1,r2=L.length,g2=-1,tt=b.length,nt=hn(Me-r2,0),ht=V2(nt+tt),Bt=!j;++le<nt;)ht[le]=y[le];for(var r3=le;++g2<tt;)ht[r3+g2]=b[g2];for(;++Ke<r2;)(Bt||le<Me)&&(ht[r3+L[Ke]]=y[le++]);return ht}function Di(y,b){var L=-1,j=y.length;for(b||(b=V2(j));++L<j;)b[L]=y[L];return b}function ho(y,b,L,j){var le=!L;L||(L={});for(var Me=-1,Ke=b.length;++Me<Ke;){var r2=b[Me],g2=j?j(L[r2],y[r2],r2,L,y):w;g2===w&&(g2=y[r2]),le?cs(L,r2,g2):fu(L,r2,g2)}return L}function b1e(y,b){return ho(y,_S(y),b)}function x1e(y,b){return ho(y,DI(y),b)}function gf(y,b){return function(L,j){var le=O3(L)?Mte:W3e,Me=b?b():{};return le(L,y,b3(j,2),Me)}}function y4(y){return Z3(function(b,L){var j=-1,le=L.length,Me=le>1?L[le-1]:w,Ke=le>2?L[2]:w;for(Me=y.length>3&&typeof Me=="function"?(le--,Me):w,Ke&&yi(L[0],L[1],Ke)&&(Me=le<3?w:Me,le=1),b=e0(b);++j<le;){var r2=L[j];r2&&y(b,r2,j,Me)}return b})}function bI(y,b){return function(L,j){if(L==null)return L;if(!Ni(L))return y(L,j);for(var le=L.length,Me=b?le:-1,Ke=e0(L);(b?Me--:++Me<le)&&j(Ke[Me],Me,Ke)!==!1;);return L}}function xI(y){return function(b,L,j){for(var le=-1,Me=e0(b),Ke=j(b),r2=Ke.length;r2--;){var g2=Ke[y?r2:++le];if(L(Me[g2],g2,Me)===!1)break}return b}}function w1e(y,b,L){var j=b&ye,le=yu(y);function Me(){var Ke=this&&this!==In&&this instanceof Me?le:y;return Ke.apply(j?L:this,arguments)}return Me}function wI(y){return function(b){b=E1(b);var L=d4(b)?Da(b):w,j=L?L[0]:b.charAt(0),le=L?S6(L,1).join(""):b.slice(1);return j[y]()+le}}function _4(y){return function(b){return O_(bD(SD(b).replace(fte,"")),y,"")}}function yu(y){return function(){var b=arguments;switch(b.length){case 0:return new y;case 1:return new y(b[0]);case 2:return new y(b[0],b[1]);case 3:return new y(b[0],b[1],b[2]);case 4:return new y(b[0],b[1],b[2],b[3]);case 5:return new y(b[0],b[1],b[2],b[3],b[4]);case 6:return new y(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new y(b[0],b[1],b[2],b[3],b[4],b[5],b[6])}var L=g4(y.prototype),j=y.apply(L,b);return w0(j)?j:L}}function T1e(y,b,L){var j=yu(y);function le(){for(var Me=arguments.length,Ke=V2(Me),r2=Me,g2=S4(le);r2--;)Ke[r2]=arguments[r2];var tt=Me<3&&Ke[0]!==g2&&Ke[Me-1]!==g2?[]:v6(Ke,g2);if(Me-=tt.length,Me<L)return EI(y,b,yf,le.placeholder,w,Ke,tt,w,w,L-Me);var nt=this&&this!==In&&this instanceof le?j:y;return fr(nt,this,Ke)}return le}function TI(y){return function(b,L,j){var le=e0(b);if(!Ni(b)){var Me=b3(L,3);b=Tn(b),L=function(r2){return Me(le[r2],r2,le)}}var Ke=y(b,L,j);return Ke>-1?le[Me?b[Ke]:Ke]:w}}function AI(y){return hs(function(b){var L=b.length,j=L,le=Hr.prototype.thru;for(y&&b.reverse();j--;){var Me=b[j];if(typeof Me!="function")throw new Vr(z);if(le&&!Ke&&xf(Me)=="wrapper")var Ke=new Hr([],!0)}for(j=Ke?j:L;++j<L;){Me=b[j];var r2=xf(Me),g2=r2=="wrapper"?gS(Me):w;g2&&bS(g2[0])&&g2[1]==(He|O|oe|i2)&&!g2[4].length&&g2[9]==1?Ke=Ke[xf(g2[0])].apply(Ke,g2[3]):Ke=Me.length==1&&bS(Me)?Ke[r2]():Ke.thru(Me)}return function(){var tt=arguments,nt=tt[0];if(Ke&&tt.length==1&&O3(nt))return Ke.plant(nt).value();for(var ht=0,Bt=L?b[ht].apply(this,tt):nt;++ht<L;)Bt=b[ht].call(this,Bt);return Bt}})}function yf(y,b,L,j,le,Me,Ke,r2,g2,tt){var nt=b&He,ht=b&ye,Bt=b&Ze,r3=b&(O|te),T3=b&a2,W3=Bt?w:yu(y);function A3(){for(var a1=arguments.length,d1=V2(a1),gr=a1;gr--;)d1[gr]=arguments[gr];if(r3)var _i=S4(A3),yr=Fte(d1,_i);if(j&&(d1=_I(d1,j,le,r3)),Me&&(d1=SI(d1,Me,Ke,r3)),a1-=yr,r3&&a1<tt){var z0=v6(d1,_i);return EI(y,b,yf,A3.placeholder,L,d1,z0,r2,g2,tt-a1)}var Fa=ht?L:this,ms=Bt?Fa[y]:y;return a1=d1.length,r2?d1=W1e(d1,r2):T3&&a1>1&&d1.reverse(),nt&&g2<a1&&(d1.length=g2),this&&this!==In&&this instanceof A3&&(ms=W3||yu(ms)),ms.apply(Fa,d1)}return A3}function CI(y,b){return function(L,j){return J3e(L,y,b(j),{})}}function _f(y,b){return function(L,j){var le;if(L===w&&j===w)return b;if(L!==w&&(le=L),j!==w){if(le===w)return j;typeof L=="string"||typeof j=="string"?(L=vr(L),j=vr(j)):(L=dI(L),j=dI(j)),le=y(L,j)}return le}}function fS(y){return hs(function(b){return b=_0(b,pr(b3())),Z3(function(L){var j=this;return y(b,function(le){return fr(le,j,L)})})})}function Sf(y,b){b=b===w?" ":vr(b);var L=b.length;if(L<2)return L?oS(b,y):b;var j=oS(b,of(y/h4(b)));return d4(b)?S6(Da(j),0,y).join(""):j.slice(0,y)}function A1e(y,b,L,j){var le=b&ye,Me=yu(y);function Ke(){for(var r2=-1,g2=arguments.length,tt=-1,nt=j.length,ht=V2(nt+g2),Bt=this&&this!==In&&this instanceof Ke?Me:y;++tt<nt;)ht[tt]=j[tt];for(;g2--;)ht[tt++]=arguments[++r2];return fr(Bt,le?L:this,ht)}return Ke}function MI(y){return function(b,L,j){return j&&typeof j!="number"&&yi(b,L,j)&&(L=j=w),b=vs(b),L===w?(L=b,b=0):L=vs(L),j=j===w?b<L?1:-1:vs(j),c1e(b,L,j,y)}}function bf(y){return function(b,L){return typeof b=="string"&&typeof L=="string"||(b=qr(b),L=qr(L)),y(b,L)}}function EI(y,b,L,j,le,Me,Ke,r2,g2,tt){var nt=b&O,ht=nt?Ke:w,Bt=nt?w:Ke,r3=nt?Me:w,T3=nt?w:Me;b|=nt?oe:De,b&=~(nt?De:oe),b&fe||(b&=~(ye|Ze));var W3=[y,b,le,r3,ht,T3,Bt,r2,g2,tt],A3=L.apply(w,W3);return bS(y)&&GI(A3,W3),A3.placeholder=j,UI(A3,y,b)}function pS(y){var b=dn[y];return function(L,j){if(L=qr(L),j=j==null?0:Yn(V3(j),292),j&&UL(L)){var le=(E1(L)+"e").split("e"),Me=b(le[0]+"e"+(+le[1]+j));return le=(E1(Me)+"e").split("e"),+(le[0]+"e"+(+le[1]-j))}return b(L)}}var C1e=v4&&1/Yh(new v4([,-0]))[1]==i3?function(y){return new v4(y)}:FS;function PI(y){return function(b){var L=Kn(b);return L==n1?W_(b):L==w3?Hte(b):kte(b,y(b))}}function ds(y,b,L,j,le,Me,Ke,r2){var g2=b&Ze;if(!g2&&typeof y!="function")throw new Vr(z);var tt=j?j.length:0;if(tt||(b&=~(oe|De),j=le=w),Ke=Ke===w?Ke:hn(V3(Ke),0),r2=r2===w?r2:V3(r2),tt-=le?le.length:0,b&De){var nt=j,ht=le;j=le=w}var Bt=g2?w:gS(y),r3=[y,b,L,j,le,nt,ht,Me,Ke,r2];if(Bt&&U1e(r3,Bt),y=r3[0],b=r3[1],L=r3[2],j=r3[3],le=r3[4],r2=r3[9]=r3[9]===w?g2?0:y.length:hn(r3[9]-tt,0),!r2&&b&(O|te)&&(b&=~(O|te)),!b||b==ye)var T3=w1e(y,b,L);else b==O||b==te?T3=T1e(y,b,r2):(b==oe||b==(ye|oe))&&!le.length?T3=A1e(y,b,L,j):T3=yf.apply(w,r3);var W3=Bt?uI:GI;return UI(W3(T3,r3),y,b)}function RI(y,b,L,j){return y===w||ka(y,p4[L])&&!z1.call(j,L)?b:y}function LI(y,b,L,j,le,Me){return w0(y)&&w0(b)&&(Me.set(b,y),pf(y,b,w,LI,Me),Me.delete(b)),y}function M1e(y){return bu(y)?w:y}function II(y,b,L,j,le,Me){var Ke=L&be,r2=y.length,g2=b.length;if(r2!=g2&&!(Ke&&g2>r2))return!1;var tt=Me.get(y),nt=Me.get(b);if(tt&&nt)return tt==b&&nt==y;var ht=-1,Bt=!0,r3=L&ge?new e9:w;for(Me.set(y,b),Me.set(b,y);++ht<r2;){var T3=y[ht],W3=b[ht];if(j)var A3=Ke?j(W3,T3,ht,b,y,Me):j(T3,W3,ht,y,b,Me);if(A3!==w){if(A3)continue;Bt=!1;break}if(r3){if(!B_(b,function(a1,d1){if(!su(r3,d1)&&(T3===a1||le(T3,a1,L,j,Me)))return r3.push(d1)})){Bt=!1;break}}else if(!(T3===W3||le(T3,W3,L,j,Me))){Bt=!1;break}}return Me.delete(y),Me.delete(b),Bt}function E1e(y,b,L,j,le,Me,Ke){switch(L){case c2:if(y.byteLength!=b.byteLength||y.byteOffset!=b.byteOffset)return!1;y=y.buffer,b=b.buffer;case ve:return!(y.byteLength!=b.byteLength||!Me(new tf(y),new tf(b)));case y3:case t1:case x0:return ka(+y,+b);case hi:return y.name==b.name&&y.message==b.message;case Vt:case v1:return y==b+"";case n1:var r2=W_;case w3:var g2=j&be;if(r2||(r2=Yh),y.size!=b.size&&!g2)return!1;var tt=Ke.get(y);if(tt)return tt==b;j|=ge,Ke.set(y,b);var nt=II(r2(y),r2(b),j,le,Me,Ke);return Ke.delete(y),nt;case _e:if(hu)return hu.call(y)==hu.call(b)}return!1}function P1e(y,b,L,j,le,Me){var Ke=L&be,r2=vS(y),g2=r2.length,tt=vS(b),nt=tt.length;if(g2!=nt&&!Ke)return!1;for(var ht=g2;ht--;){var Bt=r2[ht];if(!(Ke?Bt in b:z1.call(b,Bt)))return!1}var r3=Me.get(y),T3=Me.get(b);if(r3&&T3)return r3==b&&T3==y;var W3=!0;Me.set(y,b),Me.set(b,y);for(var A3=Ke;++ht<g2;){Bt=r2[ht];var a1=y[Bt],d1=b[Bt];if(j)var gr=Ke?j(d1,a1,Bt,b,y,Me):j(a1,d1,Bt,y,b,Me);if(!(gr===w?a1===d1||le(a1,d1,L,j,Me):gr)){W3=!1;break}A3||(A3=Bt=="constructor")}if(W3&&!A3){var _i=y.constructor,yr=b.constructor;_i!=yr&&"constructor"in y&&"constructor"in b&&!(typeof _i=="function"&&_i instanceof _i&&typeof yr=="function"&&yr instanceof yr)&&(W3=!1)}return Me.delete(y),Me.delete(b),W3}function hs(y){return wS(BI(y,w,qI),y+"")}function vS(y){return JL(y,Tn,_S)}function mS(y){return JL(y,ki,DI)}var gS=lf?function(y){return lf.get(y)}:FS;function xf(y){for(var b=y.name+"",L=m4[b],j=z1.call(m4,b)?L.length:0;j--;){var le=L[j],Me=le.func;if(Me==null||Me==y)return le.name}return b}function S4(y){var b=z1.call(Se,"placeholder")?Se:y;return b.placeholder}function b3(){var y=Se.iteratee||NS;return y=y===NS?tI:y,arguments.length?y(arguments[0],arguments[1]):y}function wf(y,b){var L=y.__data__;return O1e(b)?L[typeof b=="string"?"string":"hash"]:L.map}function yS(y){for(var b=Tn(y),L=b.length;L--;){var j=b[L],le=y[j];b[L]=[j,le,FI(le)]}return b}function i9(y,b){var L=Gte(y,b);return eI(L)?L:w}function R1e(y){var b=z1.call(y,J5),L=y[J5];try{y[J5]=w;var j=!0}catch(Me){}var le=Qh.call(y);return j&&(b?y[J5]=L:delete y[J5]),le}var _S=$_?function(y){return y==null?[]:(y=e0(y),f6($_(y),function(b){return zL.call(y,b)}))}:OS,DI=$_?function(y){for(var b=[];y;)p6(b,_S(y)),y=nf(y);return b}:OS,Kn=gi;(q_&&Kn(new q_(new ArrayBuffer(1)))!=c2||uu&&Kn(new uu)!=n1||X_&&Kn(X_.resolve())!=x1||v4&&Kn(new v4)!=w3||cu&&Kn(new cu)!=qe)&&(Kn=function(y){var b=gi(y),L=b==U3?y.constructor:w,j=L?r9(L):"";if(j)switch(j){case h3e:return c2;case f3e:return n1;case p3e:return x1;case v3e:return w3;case m3e:return qe}return b});function L1e(y,b,L){for(var j=-1,le=L.length;++j<le;){var Me=L[j],Ke=Me.size;switch(Me.type){case"drop":y+=Ke;break;case"dropRight":b-=Ke;break;case"take":b=Yn(b,y+Ke);break;case"takeRight":y=hn(y,b-Ke);break}}return{start:y,end:b}}function I1e(y){var b=y.match(ss);return b?b[1].split(q5):[]}function NI(y,b,L){b=_6(b,y);for(var j=-1,le=b.length,Me=!1;++j<le;){var Ke=fo(b[j]);if(!(Me=y!=null&&L(y,Ke)))break;y=y[Ke]}return Me||++j!=le?Me:(le=y==null?0:y.length,!!le&&Rf(le)&&fs(Ke,le)&&(O3(y)||a9(y)))}function D1e(y){var b=y.length,L=new y.constructor(b);return b&&typeof y[0]=="string"&&z1.call(y,"index")&&(L.index=y.index,L.input=y.input),L}function kI(y){return typeof y.constructor=="function"&&!_u(y)?g4(nf(y)):{}}function N1e(y,b,L){var j=y.constructor;switch(b){case ve:return hS(y);case y3:case t1:return new j(+y);case c2:return g1e(y,L);case e2:case m2:case N2:case ot:case U2:case dt:case m1:case Q1:case v3:return gI(y,L);case n1:return new j;case x0:case v1:return new j(y);case Vt:return y1e(y);case w3:return new j;case _e:return _1e(y)}}function k1e(y,b){var L=b.length;if(!L)return y;var j=L-1;return b[j]=(L>1?"& ":"")+b[j],b=b.join(L>2?", ":" "),y.replace(os,`{ |
|
|
/* [wrapped with `+b+`] */ |
|
|
`)}function F1e(y){return O3(y)||a9(y)||!!(GL&&y&&y[GL])}function fs(y,b){var L=typeof y;return b=b==null?e3:b,!!b&&(L=="number"||L!="symbol"&&S3.test(y))&&y>-1&&y%1==0&&y<b}function yi(y,b,L){if(!w0(L))return!1;var j=typeof b;return(j=="number"?Ni(L)&&fs(b,L.length):j=="string"&&b in L)?ka(L[b],y):!1}function SS(y,b){if(O3(y))return!1;var L=typeof y;return L=="number"||L=="symbol"||L=="boolean"||y==null||mr(y)?!0:$5.test(y)||!j5.test(y)||b!=null&&y in e0(b)}function O1e(y){var b=typeof y;return b=="string"||b=="number"||b=="symbol"||b=="boolean"?y!=="__proto__":y===null}function bS(y){var b=xf(y),L=Se[b];if(typeof L!="function"||!(b in o1.prototype))return!1;if(y===L)return!0;var j=gS(L);return!!j&&y===j[0]}function B1e(y){return!!FL&&FL in y}var z1e=Zh?ps:BS;function _u(y){var b=y&&y.constructor,L=typeof b=="function"&&b.prototype||p4;return y===L}function FI(y){return y===y&&!w0(y)}function OI(y,b){return function(L){return L==null?!1:L[y]===b&&(b!==w||y in e0(L))}}function G1e(y){var b=Ef(y,function(j){return L.size===pe&&L.clear(),j}),L=b.cache;return b}function U1e(y,b){var L=y[1],j=b[1],le=L|j,Me=le<(ye|Ze|He),Ke=j==He&&L==O||j==He&&L==i2&&y[7].length<=b[8]||j==(He|i2)&&b[7].length<=b[8]&&L==O;if(!(Me||Ke))return y;j&ye&&(y[2]=b[2],le|=L&ye?0:fe);var r2=b[3];if(r2){var g2=y[3];y[3]=g2?_I(g2,r2,b[4]):r2,y[4]=g2?v6(y[3],de):b[4]}return r2=b[5],r2&&(g2=y[5],y[5]=g2?SI(g2,r2,b[6]):r2,y[6]=g2?v6(y[5],de):b[6]),r2=b[7],r2&&(y[7]=r2),j&He&&(y[8]=y[8]==null?b[8]:Yn(y[8],b[8])),y[9]==null&&(y[9]=b[9]),y[0]=b[0],y[1]=le,y}function V1e(y){var b=[];if(y!=null)for(var L in e0(y))b.push(L);return b}function H1e(y){return Qh.call(y)}function BI(y,b,L){return b=hn(b===w?y.length-1:b,0),function(){for(var j=arguments,le=-1,Me=hn(j.length-b,0),Ke=V2(Me);++le<Me;)Ke[le]=j[b+le];le=-1;for(var r2=V2(b+1);++le<b;)r2[le]=j[le];return r2[b]=L(Ke),fr(y,this,r2)}}function zI(y,b){return b.length<2?y:n9(y,jr(b,0,-1))}function W1e(y,b){for(var L=y.length,j=Yn(b.length,L),le=Di(y);j--;){var Me=b[j];y[j]=fs(Me,L)?le[Me]:w}return y}function xS(y,b){if(!(b==="constructor"&&typeof y[b]=="function")&&b!="__proto__")return y[b]}var GI=VI(uI),Su=a3e||function(y,b){return In.setTimeout(y,b)},wS=VI(f1e);function UI(y,b,L){var j=b+"";return wS(y,k1e(j,j1e(I1e(j),L)))}function VI(y){var b=0,L=0;return function(){var j=u3e(),le=F2-(j-L);if(L=j,le>0){if(++b>=$2)return arguments[0]}else b=0;return y.apply(w,arguments)}}function Tf(y,b){var L=-1,j=y.length,le=j-1;for(b=b===w?j:b;++L<b;){var Me=aS(L,le),Ke=y[Me];y[Me]=y[L],y[L]=Ke}return y.length=b,y}var HI=G1e(function(y){var b=[];return y.charCodeAt(0)===46&&b.push(""),y.replace(y0,function(L,j,le,Me){b.push(le?Me.replace(vi,"$1"):j||L)}),b});function fo(y){if(typeof y=="string"||mr(y))return y;var b=y+"";return b=="0"&&1/y==-i3?"-0":b}function r9(y){if(y!=null){try{return Jh.call(y)}catch(b){}try{return y+""}catch(b){}}return""}function j1e(y,b){return Ur(gt,function(L){var j="_."+L[0];b&L[1]&&!qh(y,j)&&y.push(j)}),y.sort()}function WI(y){if(y instanceof o1)return y.clone();var b=new Hr(y.__wrapped__,y.__chain__);return b.__actions__=Di(y.__actions__),b.__index__=y.__index__,b.__values__=y.__values__,b}function $1e(y,b,L){(L?yi(y,b,L):b===w)?b=1:b=hn(V3(b),0);var j=y==null?0:y.length;if(!j||b<1)return[];for(var le=0,Me=0,Ke=V2(of(j/b));le<j;)Ke[Me++]=jr(y,le,le+=b);return Ke}function q1e(y){for(var b=-1,L=y==null?0:y.length,j=0,le=[];++b<L;){var Me=y[b];Me&&(le[j++]=Me)}return le}function X1e(){var y=arguments.length;if(!y)return[];for(var b=V2(y-1),L=arguments[0],j=y;j--;)b[j-1]=arguments[j];return p6(O3(L)?Di(L):[L],Dn(b,1))}var Y1e=Z3(function(y,b){return B0(y)?pu(y,Dn(b,1,B0,!0)):[]}),K1e=Z3(function(y,b){var L=$r(b);return B0(L)&&(L=w),B0(y)?pu(y,Dn(b,1,B0,!0),b3(L,2)):[]}),Z1e=Z3(function(y,b){var L=$r(b);return B0(L)&&(L=w),B0(y)?pu(y,Dn(b,1,B0,!0),w,L):[]});function J1e(y,b,L){var j=y==null?0:y.length;return j?(b=L||b===w?1:V3(b),jr(y,b<0?0:b,j)):[]}function Q1e(y,b,L){var j=y==null?0:y.length;return j?(b=L||b===w?1:V3(b),b=j-b,jr(y,0,b<0?0:b)):[]}function e0e(y,b){return y&&y.length?mf(y,b3(b,3),!0,!0):[]}function t0e(y,b){return y&&y.length?mf(y,b3(b,3),!0):[]}function n0e(y,b,L,j){var le=y==null?0:y.length;return le?(L&&typeof L!="number"&&yi(y,b,L)&&(L=0,j=le),X3e(y,b,L,j)):[]}function jI(y,b,L){var j=y==null?0:y.length;if(!j)return-1;var le=L==null?0:V3(L);return le<0&&(le=hn(j+le,0)),Xh(y,b3(b,3),le)}function $I(y,b,L){var j=y==null?0:y.length;if(!j)return-1;var le=j-1;return L!==w&&(le=V3(L),le=L<0?hn(j+le,0):Yn(le,j-1)),Xh(y,b3(b,3),le,!0)}function qI(y){var b=y==null?0:y.length;return b?Dn(y,1):[]}function i0e(y){var b=y==null?0:y.length;return b?Dn(y,i3):[]}function r0e(y,b){var L=y==null?0:y.length;return L?(b=b===w?1:V3(b),Dn(y,b)):[]}function a0e(y){for(var b=-1,L=y==null?0:y.length,j={};++b<L;){var le=y[b];j[le[0]]=le[1]}return j}function XI(y){return y&&y.length?y[0]:w}function o0e(y,b,L){var j=y==null?0:y.length;if(!j)return-1;var le=L==null?0:V3(L);return le<0&&(le=hn(j+le,0)),c4(y,b,le)}function s0e(y){var b=y==null?0:y.length;return b?jr(y,0,-1):[]}var l0e=Z3(function(y){var b=_0(y,cS);return b.length&&b[0]===y[0]?eS(b):[]}),u0e=Z3(function(y){var b=$r(y),L=_0(y,cS);return b===$r(L)?b=w:L.pop(),L.length&&L[0]===y[0]?eS(L,b3(b,2)):[]}),c0e=Z3(function(y){var b=$r(y),L=_0(y,cS);return b=typeof b=="function"?b:w,b&&L.pop(),L.length&&L[0]===y[0]?eS(L,w,b):[]});function d0e(y,b){return y==null?"":s3e.call(y,b)}function $r(y){var b=y==null?0:y.length;return b?y[b-1]:w}function h0e(y,b,L){var j=y==null?0:y.length;if(!j)return-1;var le=j;return L!==w&&(le=V3(L),le=le<0?hn(j+le,0):Yn(le,j-1)),b===b?jte(y,b,le):Xh(y,EL,le,!0)}function f0e(y,b){return y&&y.length?aI(y,V3(b)):w}var p0e=Z3(YI);function YI(y,b){return y&&y.length&&b&&b.length?rS(y,b):y}function v0e(y,b,L){return y&&y.length&&b&&b.length?rS(y,b,b3(L,2)):y}function m0e(y,b,L){return y&&y.length&&b&&b.length?rS(y,b,w,L):y}var g0e=hs(function(y,b){var L=y==null?0:y.length,j=K_(y,b);return lI(y,_0(b,function(le){return fs(le,L)?+le:le}).sort(yI)),j});function y0e(y,b){var L=[];if(!(y&&y.length))return L;var j=-1,le=[],Me=y.length;for(b=b3(b,3);++j<Me;){var Ke=y[j];b(Ke,j,y)&&(L.push(Ke),le.push(j))}return lI(y,le),L}function TS(y){return y==null?y:d3e.call(y)}function _0e(y,b,L){var j=y==null?0:y.length;return j?(L&&typeof L!="number"&&yi(y,b,L)?(b=0,L=j):(b=b==null?0:V3(b),L=L===w?j:V3(L)),jr(y,b,L)):[]}function S0e(y,b){return vf(y,b)}function b0e(y,b,L){return sS(y,b,b3(L,2))}function x0e(y,b){var L=y==null?0:y.length;if(L){var j=vf(y,b);if(j<L&&ka(y[j],b))return j}return-1}function w0e(y,b){return vf(y,b,!0)}function T0e(y,b,L){return sS(y,b,b3(L,2),!0)}function A0e(y,b){var L=y==null?0:y.length;if(L){var j=vf(y,b,!0)-1;if(ka(y[j],b))return j}return-1}function C0e(y){return y&&y.length?cI(y):[]}function M0e(y,b){return y&&y.length?cI(y,b3(b,2)):[]}function E0e(y){var b=y==null?0:y.length;return b?jr(y,1,b):[]}function P0e(y,b,L){return y&&y.length?(b=L||b===w?1:V3(b),jr(y,0,b<0?0:b)):[]}function R0e(y,b,L){var j=y==null?0:y.length;return j?(b=L||b===w?1:V3(b),b=j-b,jr(y,b<0?0:b,j)):[]}function L0e(y,b){return y&&y.length?mf(y,b3(b,3),!1,!0):[]}function I0e(y,b){return y&&y.length?mf(y,b3(b,3)):[]}var D0e=Z3(function(y){return y6(Dn(y,1,B0,!0))}),N0e=Z3(function(y){var b=$r(y);return B0(b)&&(b=w),y6(Dn(y,1,B0,!0),b3(b,2))}),k0e=Z3(function(y){var b=$r(y);return b=typeof b=="function"?b:w,y6(Dn(y,1,B0,!0),w,b)});function F0e(y){return y&&y.length?y6(y):[]}function O0e(y,b){return y&&y.length?y6(y,b3(b,2)):[]}function B0e(y,b){return b=typeof b=="function"?b:w,y&&y.length?y6(y,w,b):[]}function AS(y){if(!(y&&y.length))return[];var b=0;return y=f6(y,function(L){if(B0(L))return b=hn(L.length,b),!0}),V_(b,function(L){return _0(y,z_(L))})}function KI(y,b){if(!(y&&y.length))return[];var L=AS(y);return b==null?L:_0(L,function(j){return fr(b,w,j)})}var z0e=Z3(function(y,b){return B0(y)?pu(y,b):[]}),G0e=Z3(function(y){return uS(f6(y,B0))}),U0e=Z3(function(y){var b=$r(y);return B0(b)&&(b=w),uS(f6(y,B0),b3(b,2))}),V0e=Z3(function(y){var b=$r(y);return b=typeof b=="function"?b:w,uS(f6(y,B0),w,b)}),H0e=Z3(AS);function W0e(y,b){return pI(y||[],b||[],fu)}function j0e(y,b){return pI(y||[],b||[],gu)}var $0e=Z3(function(y){var b=y.length,L=b>1?y[b-1]:w;return L=typeof L=="function"?(y.pop(),L):w,KI(y,L)});function ZI(y){var b=Se(y);return b.__chain__=!0,b}function q0e(y,b){return b(y),y}function Af(y,b){return b(y)}var X0e=hs(function(y){var b=y.length,L=b?y[0]:0,j=this.__wrapped__,le=function(Me){return K_(Me,y)};return b>1||this.__actions__.length||!(j instanceof o1)||!fs(L)?this.thru(le):(j=j.slice(L,+L+(b?1:0)),j.__actions__.push({func:Af,args:[le],thisArg:w}),new Hr(j,this.__chain__).thru(function(Me){return b&&!Me.length&&Me.push(w),Me}))});function Y0e(){return ZI(this)}function K0e(){return new Hr(this.value(),this.__chain__)}function Z0e(){this.__values__===w&&(this.__values__=dD(this.value()));var y=this.__index__>=this.__values__.length,b=y?w:this.__values__[this.__index__++];return{done:y,value:b}}function J0e(){return this}function Q0e(y){for(var b,L=this;L instanceof cf;){var j=WI(L);j.__index__=0,j.__values__=w,b?le.__wrapped__=j:b=j;var le=j;L=L.__wrapped__}return le.__wrapped__=y,b}function ene(){var y=this.__wrapped__;if(y instanceof o1){var b=y;return this.__actions__.length&&(b=new o1(this)),b=b.reverse(),b.__actions__.push({func:Af,args:[TS],thisArg:w}),new Hr(b,this.__chain__)}return this.thru(TS)}function tne(){return fI(this.__wrapped__,this.__actions__)}var nne=gf(function(y,b,L){z1.call(y,L)?++y[L]:cs(y,L,1)});function ine(y,b,L){var j=O3(y)?CL:q3e;return L&&yi(y,b,L)&&(b=w),j(y,b3(b,3))}function rne(y,b){var L=O3(y)?f6:KL;return L(y,b3(b,3))}var ane=TI(jI),one=TI($I);function sne(y,b){return Dn(Cf(y,b),1)}function lne(y,b){return Dn(Cf(y,b),i3)}function une(y,b,L){return L=L===w?1:V3(L),Dn(Cf(y,b),L)}function JI(y,b){var L=O3(y)?Ur:g6;return L(y,b3(b,3))}function QI(y,b){var L=O3(y)?Ete:YL;return L(y,b3(b,3))}var cne=gf(function(y,b,L){z1.call(y,L)?y[L].push(b):cs(y,L,[b])});function dne(y,b,L,j){y=Ni(y)?y:x4(y),L=L&&!j?V3(L):0;var le=y.length;return L<0&&(L=hn(le+L,0)),Lf(y)?L<=le&&y.indexOf(b,L)>-1:!!le&&c4(y,b,L)>-1}var hne=Z3(function(y,b,L){var j=-1,le=typeof b=="function",Me=Ni(y)?V2(y.length):[];return g6(y,function(Ke){Me[++j]=le?fr(b,Ke,L):vu(Ke,b,L)}),Me}),fne=gf(function(y,b,L){cs(y,L,b)});function Cf(y,b){var L=O3(y)?_0:nI;return L(y,b3(b,3))}function pne(y,b,L,j){return y==null?[]:(O3(b)||(b=b==null?[]:[b]),L=j?w:L,O3(L)||(L=L==null?[]:[L]),oI(y,b,L))}var vne=gf(function(y,b,L){y[L?0:1].push(b)},function(){return[[],[]]});function mne(y,b,L){var j=O3(y)?O_:RL,le=arguments.length<3;return j(y,b3(b,4),L,le,g6)}function gne(y,b,L){var j=O3(y)?Pte:RL,le=arguments.length<3;return j(y,b3(b,4),L,le,YL)}function yne(y,b){var L=O3(y)?f6:KL;return L(y,Pf(b3(b,3)))}function _ne(y){var b=O3(y)?jL:d1e;return b(y)}function Sne(y,b,L){(L?yi(y,b,L):b===w)?b=1:b=V3(b);var j=O3(y)?V3e:h1e;return j(y,b)}function bne(y){var b=O3(y)?H3e:p1e;return b(y)}function xne(y){if(y==null)return 0;if(Ni(y))return Lf(y)?h4(y):y.length;var b=Kn(y);return b==n1||b==w3?y.size:nS(y).length}function wne(y,b,L){var j=O3(y)?B_:v1e;return L&&yi(y,b,L)&&(b=w),j(y,b3(b,3))}var Tne=Z3(function(y,b){if(y==null)return[];var L=b.length;return L>1&&yi(y,b[0],b[1])?b=[]:L>2&&yi(b[0],b[1],b[2])&&(b=[b[0]]),oI(y,Dn(b,1),[])}),Mf=r3e||function(){return In.Date.now()};function Ane(y,b){if(typeof b!="function")throw new Vr(z);return y=V3(y),function(){if(--y<1)return b.apply(this,arguments)}}function eD(y,b,L){return b=L?w:b,b=y&&b==null?y.length:b,ds(y,He,w,w,w,w,b)}function tD(y,b){var L;if(typeof b!="function")throw new Vr(z);return y=V3(y),function(){return--y>0&&(L=b.apply(this,arguments)),y<=1&&(b=w),L}}var CS=Z3(function(y,b,L){var j=ye;if(L.length){var le=v6(L,S4(CS));j|=oe}return ds(y,j,b,L,le)}),nD=Z3(function(y,b,L){var j=ye|Ze;if(L.length){var le=v6(L,S4(nD));j|=oe}return ds(b,j,y,L,le)});function iD(y,b,L){b=L?w:b;var j=ds(y,O,w,w,w,w,w,b);return j.placeholder=iD.placeholder,j}function rD(y,b,L){b=L?w:b;var j=ds(y,te,w,w,w,w,w,b);return j.placeholder=rD.placeholder,j}function aD(y,b,L){var j,le,Me,Ke,r2,g2,tt=0,nt=!1,ht=!1,Bt=!0;if(typeof y!="function")throw new Vr(z);b=qr(b)||0,w0(L)&&(nt=!!L.leading,ht="maxWait"in L,Me=ht?hn(qr(L.maxWait)||0,b):Me,Bt="trailing"in L?!!L.trailing:Bt);function r3(z0){var Fa=j,ms=le;return j=le=w,tt=z0,Ke=y.apply(ms,Fa),Ke}function T3(z0){return tt=z0,r2=Su(a1,b),nt?r3(z0):Ke}function W3(z0){var Fa=z0-g2,ms=z0-tt,TD=b-Fa;return ht?Yn(TD,Me-ms):TD}function A3(z0){var Fa=z0-g2,ms=z0-tt;return g2===w||Fa>=b||Fa<0||ht&&ms>=Me}function a1(){var z0=Mf();if(A3(z0))return d1(z0);r2=Su(a1,W3(z0))}function d1(z0){return r2=w,Bt&&j?r3(z0):(j=le=w,Ke)}function gr(){r2!==w&&vI(r2),tt=0,j=g2=le=r2=w}function _i(){return r2===w?Ke:d1(Mf())}function yr(){var z0=Mf(),Fa=A3(z0);if(j=arguments,le=this,g2=z0,Fa){if(r2===w)return T3(g2);if(ht)return vI(r2),r2=Su(a1,b),r3(g2)}return r2===w&&(r2=Su(a1,b)),Ke}return yr.cancel=gr,yr.flush=_i,yr}var Cne=Z3(function(y,b){return XL(y,1,b)}),Mne=Z3(function(y,b,L){return XL(y,qr(b)||0,L)});function Ene(y){return ds(y,a2)}function Ef(y,b){if(typeof y!="function"||b!=null&&typeof b!="function")throw new Vr(z);var L=function(){var j=arguments,le=b?b.apply(this,j):j[0],Me=L.cache;if(Me.has(le))return Me.get(le);var Ke=y.apply(this,j);return L.cache=Me.set(le,Ke)||Me,Ke};return L.cache=new(Ef.Cache||us),L}Ef.Cache=us;function Pf(y){if(typeof y!="function")throw new Vr(z);return function(){var b=arguments;switch(b.length){case 0:return!y.call(this);case 1:return!y.call(this,b[0]);case 2:return!y.call(this,b[0],b[1]);case 3:return!y.call(this,b[0],b[1],b[2])}return!y.apply(this,b)}}function Pne(y){return tD(2,y)}var Rne=m1e(function(y,b){b=b.length==1&&O3(b[0])?_0(b[0],pr(b3())):_0(Dn(b,1),pr(b3()));var L=b.length;return Z3(function(j){for(var le=-1,Me=Yn(j.length,L);++le<Me;)j[le]=b[le].call(this,j[le]);return fr(y,this,j)})}),MS=Z3(function(y,b){var L=v6(b,S4(MS));return ds(y,oe,w,b,L)}),oD=Z3(function(y,b){var L=v6(b,S4(oD));return ds(y,De,w,b,L)}),Lne=hs(function(y,b){return ds(y,i2,w,w,w,b)});function Ine(y,b){if(typeof y!="function")throw new Vr(z);return b=b===w?b:V3(b),Z3(y,b)}function Dne(y,b){if(typeof y!="function")throw new Vr(z);return b=b==null?0:hn(V3(b),0),Z3(function(L){var j=L[b],le=S6(L,0,b);return j&&p6(le,j),fr(y,this,le)})}function Nne(y,b,L){var j=!0,le=!0;if(typeof y!="function")throw new Vr(z);return w0(L)&&(j="leading"in L?!!L.leading:j,le="trailing"in L?!!L.trailing:le),aD(y,b,{leading:j,maxWait:b,trailing:le})}function kne(y){return eD(y,1)}function Fne(y,b){return MS(dS(b),y)}function One(){if(!arguments.length)return[];var y=arguments[0];return O3(y)?y:[y]}function Bne(y){return Wr(y,Be)}function zne(y,b){return b=typeof b=="function"?b:w,Wr(y,Be,b)}function Gne(y){return Wr(y,se|Be)}function Une(y,b){return b=typeof b=="function"?b:w,Wr(y,se|Be,b)}function Vne(y,b){return b==null||qL(y,b,Tn(b))}function ka(y,b){return y===b||y!==y&&b!==b}var Hne=bf(Q_),Wne=bf(function(y,b){return y>=b}),a9=QL(function(){return arguments}())?QL:function(y){return L0(y)&&z1.call(y,"callee")&&!zL.call(y,"callee")},O3=V2.isArray,jne=SL?pr(SL):Q3e;function Ni(y){return y!=null&&Rf(y.length)&&!ps(y)}function B0(y){return L0(y)&&Ni(y)}function $ne(y){return y===!0||y===!1||L0(y)&&gi(y)==y3}var b6=o3e||BS,qne=bL?pr(bL):e1e;function Xne(y){return L0(y)&&y.nodeType===1&&!bu(y)}function Yne(y){if(y==null)return!0;if(Ni(y)&&(O3(y)||typeof y=="string"||typeof y.splice=="function"||b6(y)||b4(y)||a9(y)))return!y.length;var b=Kn(y);if(b==n1||b==w3)return!y.size;if(_u(y))return!nS(y).length;for(var L in y)if(z1.call(y,L))return!1;return!0}function Kne(y,b){return mu(y,b)}function Zne(y,b,L){L=typeof L=="function"?L:w;var j=L?L(y,b):w;return j===w?mu(y,b,w,L):!!j}function ES(y){if(!L0(y))return!1;var b=gi(y);return b==hi||b==Br||typeof y.message=="string"&&typeof y.name=="string"&&!bu(y)}function Jne(y){return typeof y=="number"&&UL(y)}function ps(y){if(!w0(y))return!1;var b=gi(y);return b==O1||b==qn||b==d3||b==_3}function sD(y){return typeof y=="number"&&y==V3(y)}function Rf(y){return typeof y=="number"&&y>-1&&y%1==0&&y<=e3}function w0(y){var b=typeof y;return y!=null&&(b=="object"||b=="function")}function L0(y){return y!=null&&typeof y=="object"}var lD=xL?pr(xL):n1e;function Qne(y,b){return y===b||tS(y,b,yS(b))}function eie(y,b,L){return L=typeof L=="function"?L:w,tS(y,b,yS(b),L)}function tie(y){return uD(y)&&y!=+y}function nie(y){if(z1e(y))throw new D3(N);return eI(y)}function iie(y){return y===null}function rie(y){return y==null}function uD(y){return typeof y=="number"||L0(y)&&gi(y)==x0}function bu(y){if(!L0(y)||gi(y)!=U3)return!1;var b=nf(y);if(b===null)return!0;var L=z1.call(b,"constructor")&&b.constructor;return typeof L=="function"&&L instanceof L&&Jh.call(L)==e3e}var PS=wL?pr(wL):i1e;function aie(y){return sD(y)&&y>=-e3&&y<=e3}var cD=TL?pr(TL):r1e;function Lf(y){return typeof y=="string"||!O3(y)&&L0(y)&&gi(y)==v1}function mr(y){return typeof y=="symbol"||L0(y)&&gi(y)==_e}var b4=AL?pr(AL):a1e;function oie(y){return y===w}function sie(y){return L0(y)&&Kn(y)==qe}function lie(y){return L0(y)&&gi(y)==t2}var uie=bf(iS),cie=bf(function(y,b){return y<=b});function dD(y){if(!y)return[];if(Ni(y))return Lf(y)?Da(y):Di(y);if(lu&&y[lu])return Vte(y[lu]());var b=Kn(y),L=b==n1?W_:b==w3?Yh:x4;return L(y)}function vs(y){if(!y)return y===0?y:0;if(y=qr(y),y===i3||y===-i3){var b=y<0?-1:1;return b*c3}return y===y?y:0}function V3(y){var b=vs(y),L=b%1;return b===b?L?b-L:b:0}function hD(y){return y?t9(V3(y),0,We):0}function qr(y){if(typeof y=="number")return y;if(mr(y))return e1;if(w0(y)){var b=typeof y.valueOf=="function"?y.valueOf():y;y=w0(b)?b+"":b}if(typeof y!="string")return y===0?y:+y;y=LL(y);var L=P_.test(y);return L||R_.test(y)?Ate(y.slice(2),L?2:8):E_.test(y)?e1:+y}function fD(y){return ho(y,ki(y))}function die(y){return y?t9(V3(y),-e3,e3):y===0?y:0}function E1(y){return y==null?"":vr(y)}var hie=y4(function(y,b){if(_u(b)||Ni(b)){ho(b,Tn(b),y);return}for(var L in b)z1.call(b,L)&&fu(y,L,b[L])}),pD=y4(function(y,b){ho(b,ki(b),y)}),If=y4(function(y,b,L,j){ho(b,ki(b),y,j)}),fie=y4(function(y,b,L,j){ho(b,Tn(b),y,j)}),pie=hs(K_);function vie(y,b){var L=g4(y);return b==null?L:$L(L,b)}var mie=Z3(function(y,b){y=e0(y);var L=-1,j=b.length,le=j>2?b[2]:w;for(le&&yi(b[0],b[1],le)&&(j=1);++L<j;)for(var Me=b[L],Ke=ki(Me),r2=-1,g2=Ke.length;++r2<g2;){var tt=Ke[r2],nt=y[tt];(nt===w||ka(nt,p4[tt])&&!z1.call(y,tt))&&(y[tt]=Me[tt])}return y}),gie=Z3(function(y){return y.push(w,LI),fr(vD,w,y)});function yie(y,b){return ML(y,b3(b,3),co)}function _ie(y,b){return ML(y,b3(b,3),J_)}function Sie(y,b){return y==null?y:Z_(y,b3(b,3),ki)}function bie(y,b){return y==null?y:ZL(y,b3(b,3),ki)}function xie(y,b){return y&&co(y,b3(b,3))}function wie(y,b){return y&&J_(y,b3(b,3))}function Tie(y){return y==null?[]:ff(y,Tn(y))}function Aie(y){return y==null?[]:ff(y,ki(y))}function RS(y,b,L){var j=y==null?w:n9(y,b);return j===w?L:j}function Cie(y,b){return y!=null&&NI(y,b,Y3e)}function LS(y,b){return y!=null&&NI(y,b,K3e)}var Mie=CI(function(y,b,L){b!=null&&typeof b.toString!="function"&&(b=Qh.call(b)),y[b]=L},DS(Fi)),Eie=CI(function(y,b,L){b!=null&&typeof b.toString!="function"&&(b=Qh.call(b)),z1.call(y,b)?y[b].push(L):y[b]=[L]},b3),Pie=Z3(vu);function Tn(y){return Ni(y)?WL(y):nS(y)}function ki(y){return Ni(y)?WL(y,!0):o1e(y)}function Rie(y,b){var L={};return b=b3(b,3),co(y,function(j,le,Me){cs(L,b(j,le,Me),j)}),L}function Lie(y,b){var L={};return b=b3(b,3),co(y,function(j,le,Me){cs(L,le,b(j,le,Me))}),L}var Iie=y4(function(y,b,L){pf(y,b,L)}),vD=y4(function(y,b,L,j){pf(y,b,L,j)}),Die=hs(function(y,b){var L={};if(y==null)return L;var j=!1;b=_0(b,function(Me){return Me=_6(Me,y),j||(j=Me.length>1),Me}),ho(y,mS(y),L),j&&(L=Wr(L,se|re|Be,M1e));for(var le=b.length;le--;)lS(L,b[le]);return L});function Nie(y,b){return mD(y,Pf(b3(b)))}var kie=hs(function(y,b){return y==null?{}:l1e(y,b)});function mD(y,b){if(y==null)return{};var L=_0(mS(y),function(j){return[j]});return b=b3(b),sI(y,L,function(j,le){return b(j,le[0])})}function Fie(y,b,L){b=_6(b,y);var j=-1,le=b.length;for(le||(le=1,y=w);++j<le;){var Me=y==null?w:y[fo(b[j])];Me===w&&(j=le,Me=L),y=ps(Me)?Me.call(y):Me}return y}function Oie(y,b,L){return y==null?y:gu(y,b,L)}function Bie(y,b,L,j){return j=typeof j=="function"?j:w,y==null?y:gu(y,b,L,j)}var gD=PI(Tn),yD=PI(ki);function zie(y,b,L){var j=O3(y),le=j||b6(y)||b4(y);if(b=b3(b,4),L==null){var Me=y&&y.constructor;le?L=j?new Me:[]:w0(y)?L=ps(Me)?g4(nf(y)):{}:L={}}return(le?Ur:co)(y,function(Ke,r2,g2){return b(L,Ke,r2,g2)}),L}function Gie(y,b){return y==null?!0:lS(y,b)}function Uie(y,b,L){return y==null?y:hI(y,b,dS(L))}function Vie(y,b,L,j){return j=typeof j=="function"?j:w,y==null?y:hI(y,b,dS(L),j)}function x4(y){return y==null?[]:H_(y,Tn(y))}function Hie(y){return y==null?[]:H_(y,ki(y))}function Wie(y,b,L){return L===w&&(L=b,b=w),L!==w&&(L=qr(L),L=L===L?L:0),b!==w&&(b=qr(b),b=b===b?b:0),t9(qr(y),b,L)}function jie(y,b,L){return b=vs(b),L===w?(L=b,b=0):L=vs(L),y=qr(y),Z3e(y,b,L)}function $ie(y,b,L){if(L&&typeof L!="boolean"&&yi(y,b,L)&&(b=L=w),L===w&&(typeof b=="boolean"?(L=b,b=w):typeof y=="boolean"&&(L=y,y=w)),y===w&&b===w?(y=0,b=1):(y=vs(y),b===w?(b=y,y=0):b=vs(b)),y>b){var j=y;y=b,b=j}if(L||y%1||b%1){var le=VL();return Yn(y+le*(b-y+Tte("1e-"+((le+"").length-1))),b)}return aS(y,b)}var qie=_4(function(y,b,L){return b=b.toLowerCase(),y+(L?_D(b):b)});function _D(y){return IS(E1(y).toLowerCase())}function SD(y){return y=E1(y),y&&y.replace(l0,Ote).replace(pte,"")}function Xie(y,b,L){y=E1(y),b=vr(b);var j=y.length;L=L===w?j:t9(V3(L),0,j);var le=L;return L-=b.length,L>=0&&y.slice(L,le)==b}function Yie(y){return y=E1(y),y&&B1.test(y)?y.replace(pi,Bte):y}function Kie(y){return y=E1(y),y&&Xn.test(y)?y.replace(Y1,"\\$&"):y}var Zie=_4(function(y,b,L){return y+(L?"-":"")+b.toLowerCase()}),Jie=_4(function(y,b,L){return y+(L?" ":"")+b.toLowerCase()}),Qie=wI("toLowerCase");function ere(y,b,L){y=E1(y),b=V3(b);var j=b?h4(y):0;if(!b||j>=b)return y;var le=(b-j)/2;return Sf(sf(le),L)+y+Sf(of(le),L)}function tre(y,b,L){y=E1(y),b=V3(b);var j=b?h4(y):0;return b&&j<b?y+Sf(b-j,L):y}function nre(y,b,L){y=E1(y),b=V3(b);var j=b?h4(y):0;return b&&j<b?Sf(b-j,L)+y:y}function ire(y,b,L){return L||b==null?b=0:b&&(b=+b),c3e(E1(y).replace(Ii,""),b||0)}function rre(y,b,L){return(L?yi(y,b,L):b===w)?b=1:b=V3(b),oS(E1(y),b)}function are(){var y=arguments,b=E1(y[0]);return y.length<3?b:b.replace(y[1],y[2])}var ore=_4(function(y,b,L){return y+(L?"_":"")+b.toLowerCase()});function sre(y,b,L){return L&&typeof L!="number"&&yi(y,b,L)&&(b=L=w),L=L===w?We:L>>>0,L?(y=E1(y),y&&(typeof b=="string"||b!=null&&!PS(b))&&(b=vr(b),!b&&d4(y))?S6(Da(y),0,L):y.split(b,L)):[]}var lre=_4(function(y,b,L){return y+(L?" ":"")+IS(b)});function ure(y,b,L){return y=E1(y),L=L==null?0:t9(V3(L),0,y.length),b=vr(b),y.slice(L,L+b.length)==b}function cre(y,b,L){var j=Se.templateSettings;L&&yi(y,b,L)&&(b=w),y=E1(y),b=If({},b,j,RI);var le=If({},b.imports,j.imports,RI),Me=Tn(le),Ke=H_(le,Me),r2,g2,tt=0,nt=b.interpolate||X5,ht="__p += '",Bt=j_((b.escape||X5).source+"|"+nt.source+"|"+(nt===lo?M_:X5).source+"|"+(b.evaluate||X5).source+"|$","g"),r3="//# sourceURL="+(z1.call(b,"sourceURL")?(b.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++_te+"]")+` |
|
|
`;y.replace(Bt,function(A3,a1,d1,gr,_i,yr){return d1||(d1=gr),ht+=y.slice(tt,yr).replace(Y5,zte),a1&&(r2=!0,ht+=`' + |
|
|
__e(`+a1+`) + |
|
|
'`),_i&&(g2=!0,ht+=`'; |
|
|
`+_i+`; |
|
|
__p += '`),d1&&(ht+=`' + |
|
|
((__t = (`+d1+`)) == null ? '' : __t) + |
|
|
'`),tt=yr+A3.length,A3}),ht+=`'; |
|
|
`;var T3=z1.call(b,"variable")&&b.variable;if(!T3)ht=`with (obj) { |
|
|
`+ht+` |
|
|
} |
|
|
`;else if(s6.test(T3))throw new D3(U);ht=(g2?ht.replace(X1,""):ht).replace(I3,"$1").replace(g1,"$1;"),ht="function("+(T3||"obj")+`) { |
|
|
`+(T3?"":`obj || (obj = {}); |
|
|
`)+"var __t, __p = ''"+(r2?", __e = _.escape":"")+(g2?`, __j = Array.prototype.join; |
|
|
function print() { __p += __j.call(arguments, '') } |
|
|
`:`; |
|
|
`)+ht+`return __p |
|
|
}`;var W3=xD(function(){return A1(Me,r3+"return "+ht).apply(w,Ke)});if(W3.source=ht,ES(W3))throw W3;return W3}function dre(y){return E1(y).toLowerCase()}function hre(y){return E1(y).toUpperCase()}function fre(y,b,L){if(y=E1(y),y&&(L||b===w))return LL(y);if(!y||!(b=vr(b)))return y;var j=Da(y),le=Da(b),Me=IL(j,le),Ke=DL(j,le)+1;return S6(j,Me,Ke).join("")}function pre(y,b,L){if(y=E1(y),y&&(L||b===w))return y.slice(0,kL(y)+1);if(!y||!(b=vr(b)))return y;var j=Da(y),le=DL(j,Da(b))+1;return S6(j,0,le).join("")}function vre(y,b,L){if(y=E1(y),y&&(L||b===w))return y.replace(Ii,"");if(!y||!(b=vr(b)))return y;var j=Da(y),le=IL(j,Da(b));return S6(j,le).join("")}function mre(y,b){var L=x2,j=G2;if(w0(b)){var le="separator"in b?b.separator:le;L="length"in b?V3(b.length):L,j="omission"in b?vr(b.omission):j}y=E1(y);var Me=y.length;if(d4(y)){var Ke=Da(y);Me=Ke.length}if(L>=Me)return y;var r2=L-h4(j);if(r2<1)return j;var g2=Ke?S6(Ke,0,r2).join(""):y.slice(0,r2);if(le===w)return g2+j;if(Ke&&(r2+=g2.length-r2),PS(le)){if(y.slice(r2).search(le)){var tt,nt=g2;for(le.global||(le=j_(le.source,E1(s4.exec(le))+"g")),le.lastIndex=0;tt=le.exec(nt);)var ht=tt.index;g2=g2.slice(0,ht===w?r2:ht)}}else if(y.indexOf(vr(le),r2)!=r2){var Bt=g2.lastIndexOf(le);Bt>-1&&(g2=g2.slice(0,Bt))}return g2+j}function gre(y){return y=E1(y),y&&z3.test(y)?y.replace(fi,$te):y}var yre=_4(function(y,b,L){return y+(L?" ":"")+b.toUpperCase()}),IS=wI("toUpperCase");function bD(y,b,L){return y=E1(y),b=L?w:b,b===w?Ute(y)?Yte(y):Ite(y):y.match(b)||[]}var xD=Z3(function(y,b){try{return fr(y,w,b)}catch(L){return ES(L)?L:new D3(L)}}),_re=hs(function(y,b){return Ur(b,function(L){L=fo(L),cs(y,L,CS(y[L],y))}),y});function Sre(y){var b=y==null?0:y.length,L=b3();return y=b?_0(y,function(j){if(typeof j[1]!="function")throw new Vr(z);return[L(j[0]),j[1]]}):[],Z3(function(j){for(var le=-1;++le<b;){var Me=y[le];if(fr(Me[0],this,j))return fr(Me[1],this,j)}})}function bre(y){return $3e(Wr(y,se))}function DS(y){return function(){return y}}function xre(y,b){return y==null||y!==y?b:y}var wre=AI(),Tre=AI(!0);function Fi(y){return y}function NS(y){return tI(typeof y=="function"?y:Wr(y,se))}function Are(y){return iI(Wr(y,se))}function Cre(y,b){return rI(y,Wr(b,se))}var Mre=Z3(function(y,b){return function(L){return vu(L,y,b)}}),Ere=Z3(function(y,b){return function(L){return vu(y,L,b)}});function kS(y,b,L){var j=Tn(b),le=ff(b,j);L==null&&!(w0(b)&&(le.length||!j.length))&&(L=b,b=y,y=this,le=ff(b,Tn(b)));var Me=!(w0(L)&&"chain"in L)||!!L.chain,Ke=ps(y);return Ur(le,function(r2){var g2=b[r2];y[r2]=g2,Ke&&(y.prototype[r2]=function(){var tt=this.__chain__;if(Me||tt){var nt=y(this.__wrapped__),ht=nt.__actions__=Di(this.__actions__);return ht.push({func:g2,args:arguments,thisArg:y}),nt.__chain__=tt,nt}return g2.apply(y,p6([this.value()],arguments))})}),y}function Pre(){return In._===this&&(In._=t3e),this}function FS(){}function Rre(y){return y=V3(y),Z3(function(b){return aI(b,y)})}var Lre=fS(_0),Ire=fS(CL),Dre=fS(B_);function wD(y){return SS(y)?z_(fo(y)):u1e(y)}function Nre(y){return function(b){return y==null?w:n9(y,b)}}var kre=MI(),Fre=MI(!0);function OS(){return[]}function BS(){return!1}function Ore(){return{}}function Bre(){return""}function zre(){return!0}function Gre(y,b){if(y=V3(y),y<1||y>e3)return[];var L=We,j=Yn(y,We);b=b3(b),y-=We;for(var le=V_(j,b);++L<y;)b(L);return le}function Ure(y){return O3(y)?_0(y,fo):mr(y)?[y]:Di(HI(E1(y)))}function Vre(y){var b=++Qte;return E1(y)+b}var Hre=_f(function(y,b){return y+b},0),Wre=pS("ceil"),jre=_f(function(y,b){return y/b},1),$re=pS("floor");function qre(y){return y&&y.length?hf(y,Fi,Q_):w}function Xre(y,b){return y&&y.length?hf(y,b3(b,2),Q_):w}function Yre(y){return PL(y,Fi)}function Kre(y,b){return PL(y,b3(b,2))}function Zre(y){return y&&y.length?hf(y,Fi,iS):w}function Jre(y,b){return y&&y.length?hf(y,b3(b,2),iS):w}var Qre=_f(function(y,b){return y*b},1),eae=pS("round"),tae=_f(function(y,b){return y-b},0);function nae(y){return y&&y.length?U_(y,Fi):0}function iae(y,b){return y&&y.length?U_(y,b3(b,2)):0}return Se.after=Ane,Se.ary=eD,Se.assign=hie,Se.assignIn=pD,Se.assignInWith=If,Se.assignWith=fie,Se.at=pie,Se.before=tD,Se.bind=CS,Se.bindAll=_re,Se.bindKey=nD,Se.castArray=One,Se.chain=ZI,Se.chunk=$1e,Se.compact=q1e,Se.concat=X1e,Se.cond=Sre,Se.conforms=bre,Se.constant=DS,Se.countBy=nne,Se.create=vie,Se.curry=iD,Se.curryRight=rD,Se.debounce=aD,Se.defaults=mie,Se.defaultsDeep=gie,Se.defer=Cne,Se.delay=Mne,Se.difference=Y1e,Se.differenceBy=K1e,Se.differenceWith=Z1e,Se.drop=J1e,Se.dropRight=Q1e,Se.dropRightWhile=e0e,Se.dropWhile=t0e,Se.fill=n0e,Se.filter=rne,Se.flatMap=sne,Se.flatMapDeep=lne,Se.flatMapDepth=une,Se.flatten=qI,Se.flattenDeep=i0e,Se.flattenDepth=r0e,Se.flip=Ene,Se.flow=wre,Se.flowRight=Tre,Se.fromPairs=a0e,Se.functions=Tie,Se.functionsIn=Aie,Se.groupBy=cne,Se.initial=s0e,Se.intersection=l0e,Se.intersectionBy=u0e,Se.intersectionWith=c0e,Se.invert=Mie,Se.invertBy=Eie,Se.invokeMap=hne,Se.iteratee=NS,Se.keyBy=fne,Se.keys=Tn,Se.keysIn=ki,Se.map=Cf,Se.mapKeys=Rie,Se.mapValues=Lie,Se.matches=Are,Se.matchesProperty=Cre,Se.memoize=Ef,Se.merge=Iie,Se.mergeWith=vD,Se.method=Mre,Se.methodOf=Ere,Se.mixin=kS,Se.negate=Pf,Se.nthArg=Rre,Se.omit=Die,Se.omitBy=Nie,Se.once=Pne,Se.orderBy=pne,Se.over=Lre,Se.overArgs=Rne,Se.overEvery=Ire,Se.overSome=Dre,Se.partial=MS,Se.partialRight=oD,Se.partition=vne,Se.pick=kie,Se.pickBy=mD,Se.property=wD,Se.propertyOf=Nre,Se.pull=p0e,Se.pullAll=YI,Se.pullAllBy=v0e,Se.pullAllWith=m0e,Se.pullAt=g0e,Se.range=kre,Se.rangeRight=Fre,Se.rearg=Lne,Se.reject=yne,Se.remove=y0e,Se.rest=Ine,Se.reverse=TS,Se.sampleSize=Sne,Se.set=Oie,Se.setWith=Bie,Se.shuffle=bne,Se.slice=_0e,Se.sortBy=Tne,Se.sortedUniq=C0e,Se.sortedUniqBy=M0e,Se.split=sre,Se.spread=Dne,Se.tail=E0e,Se.take=P0e,Se.takeRight=R0e,Se.takeRightWhile=L0e,Se.takeWhile=I0e,Se.tap=q0e,Se.throttle=Nne,Se.thru=Af,Se.toArray=dD,Se.toPairs=gD,Se.toPairsIn=yD,Se.toPath=Ure,Se.toPlainObject=fD,Se.transform=zie,Se.unary=kne,Se.union=D0e,Se.unionBy=N0e,Se.unionWith=k0e,Se.uniq=F0e,Se.uniqBy=O0e,Se.uniqWith=B0e,Se.unset=Gie,Se.unzip=AS,Se.unzipWith=KI,Se.update=Uie,Se.updateWith=Vie,Se.values=x4,Se.valuesIn=Hie,Se.without=z0e,Se.words=bD,Se.wrap=Fne,Se.xor=G0e,Se.xorBy=U0e,Se.xorWith=V0e,Se.zip=H0e,Se.zipObject=W0e,Se.zipObjectDeep=j0e,Se.zipWith=$0e,Se.entries=gD,Se.entriesIn=yD,Se.extend=pD,Se.extendWith=If,kS(Se,Se),Se.add=Hre,Se.attempt=xD,Se.camelCase=qie,Se.capitalize=_D,Se.ceil=Wre,Se.clamp=Wie,Se.clone=Bne,Se.cloneDeep=Gne,Se.cloneDeepWith=Une,Se.cloneWith=zne,Se.conformsTo=Vne,Se.deburr=SD,Se.defaultTo=xre,Se.divide=jre,Se.endsWith=Xie,Se.eq=ka,Se.escape=Yie,Se.escapeRegExp=Kie,Se.every=ine,Se.find=ane,Se.findIndex=jI,Se.findKey=yie,Se.findLast=one,Se.findLastIndex=$I,Se.findLastKey=_ie,Se.floor=$re,Se.forEach=JI,Se.forEachRight=QI,Se.forIn=Sie,Se.forInRight=bie,Se.forOwn=xie,Se.forOwnRight=wie,Se.get=RS,Se.gt=Hne,Se.gte=Wne,Se.has=Cie,Se.hasIn=LS,Se.head=XI,Se.identity=Fi,Se.includes=dne,Se.indexOf=o0e,Se.inRange=jie,Se.invoke=Pie,Se.isArguments=a9,Se.isArray=O3,Se.isArrayBuffer=jne,Se.isArrayLike=Ni,Se.isArrayLikeObject=B0,Se.isBoolean=$ne,Se.isBuffer=b6,Se.isDate=qne,Se.isElement=Xne,Se.isEmpty=Yne,Se.isEqual=Kne,Se.isEqualWith=Zne,Se.isError=ES,Se.isFinite=Jne,Se.isFunction=ps,Se.isInteger=sD,Se.isLength=Rf,Se.isMap=lD,Se.isMatch=Qne,Se.isMatchWith=eie,Se.isNaN=tie,Se.isNative=nie,Se.isNil=rie,Se.isNull=iie,Se.isNumber=uD,Se.isObject=w0,Se.isObjectLike=L0,Se.isPlainObject=bu,Se.isRegExp=PS,Se.isSafeInteger=aie,Se.isSet=cD,Se.isString=Lf,Se.isSymbol=mr,Se.isTypedArray=b4,Se.isUndefined=oie,Se.isWeakMap=sie,Se.isWeakSet=lie,Se.join=d0e,Se.kebabCase=Zie,Se.last=$r,Se.lastIndexOf=h0e,Se.lowerCase=Jie,Se.lowerFirst=Qie,Se.lt=uie,Se.lte=cie,Se.max=qre,Se.maxBy=Xre,Se.mean=Yre,Se.meanBy=Kre,Se.min=Zre,Se.minBy=Jre,Se.stubArray=OS,Se.stubFalse=BS,Se.stubObject=Ore,Se.stubString=Bre,Se.stubTrue=zre,Se.multiply=Qre,Se.nth=f0e,Se.noConflict=Pre,Se.noop=FS,Se.now=Mf,Se.pad=ere,Se.padEnd=tre,Se.padStart=nre,Se.parseInt=ire,Se.random=$ie,Se.reduce=mne,Se.reduceRight=gne,Se.repeat=rre,Se.replace=are,Se.result=Fie,Se.round=eae,Se.runInContext=h2,Se.sample=_ne,Se.size=xne,Se.snakeCase=ore,Se.some=wne,Se.sortedIndex=S0e,Se.sortedIndexBy=b0e,Se.sortedIndexOf=x0e,Se.sortedLastIndex=w0e,Se.sortedLastIndexBy=T0e,Se.sortedLastIndexOf=A0e,Se.startCase=lre,Se.startsWith=ure,Se.subtract=tae,Se.sum=nae,Se.sumBy=iae,Se.template=cre,Se.times=Gre,Se.toFinite=vs,Se.toInteger=V3,Se.toLength=hD,Se.toLower=dre,Se.toNumber=qr,Se.toSafeInteger=die,Se.toString=E1,Se.toUpper=hre,Se.trim=fre,Se.trimEnd=pre,Se.trimStart=vre,Se.truncate=mre,Se.unescape=gre,Se.uniqueId=Vre,Se.upperCase=yre,Se.upperFirst=IS,Se.each=JI,Se.eachRight=QI,Se.first=XI,kS(Se,function(){var y={};return co(Se,function(b,L){z1.call(Se.prototype,L)||(y[L]=b)}),y}(),{chain:!1}),Se.VERSION=T,Ur(["bind","bindKey","curry","curryRight","partial","partialRight"],function(y){Se[y].placeholder=Se}),Ur(["drop","take"],function(y,b){o1.prototype[y]=function(L){L=L===w?1:hn(V3(L),0);var j=this.__filtered__&&!b?new o1(this):this.clone();return j.__filtered__?j.__takeCount__=Yn(L,j.__takeCount__):j.__views__.push({size:Yn(L,We),type:y+(j.__dir__<0?"Right":"")}),j},o1.prototype[y+"Right"]=function(L){return this.reverse()[y](L).reverse()}}),Ur(["filter","map","takeWhile"],function(y,b){var L=b+1,j=L==Dt||L==zt;o1.prototype[y]=function(le){var Me=this.clone();return Me.__iteratees__.push({iteratee:b3(le,3),type:L}),Me.__filtered__=Me.__filtered__||j,Me}}),Ur(["head","last"],function(y,b){var L="take"+(b?"Right":"");o1.prototype[y]=function(){return this[L](1).value()[0]}}),Ur(["initial","tail"],function(y,b){var L="drop"+(b?"":"Right");o1.prototype[y]=function(){return this.__filtered__?new o1(this):this[L](1)}}),o1.prototype.compact=function(){return this.filter(Fi)},o1.prototype.find=function(y){return this.filter(y).head()},o1.prototype.findLast=function(y){return this.reverse().find(y)},o1.prototype.invokeMap=Z3(function(y,b){return typeof y=="function"?new o1(this):this.map(function(L){return vu(L,y,b)})}),o1.prototype.reject=function(y){return this.filter(Pf(b3(y)))},o1.prototype.slice=function(y,b){y=V3(y);var L=this;return L.__filtered__&&(y>0||b<0)?new o1(L):(y<0?L=L.takeRight(-y):y&&(L=L.drop(y)),b!==w&&(b=V3(b),L=b<0?L.dropRight(-b):L.take(b-y)),L)},o1.prototype.takeRightWhile=function(y){return this.reverse().takeWhile(y).reverse()},o1.prototype.toArray=function(){return this.take(We)},co(o1.prototype,function(y,b){var L=/^(?:filter|find|map|reject)|While$/.test(b),j=/^(?:head|last)$/.test(b),le=Se[j?"take"+(b=="last"?"Right":""):b],Me=j||/^find/.test(b);le&&(Se.prototype[b]=function(){var Ke=this.__wrapped__,r2=j?[1]:arguments,g2=Ke instanceof o1,tt=r2[0],nt=g2||O3(Ke),ht=function(a1){var d1=le.apply(Se,p6([a1],r2));return j&&Bt?d1[0]:d1};nt&&L&&typeof tt=="function"&&tt.length!=1&&(g2=nt=!1);var Bt=this.__chain__,r3=!!this.__actions__.length,T3=Me&&!Bt,W3=g2&&!r3;if(!Me&&nt){Ke=W3?Ke:new o1(this);var A3=y.apply(Ke,r2);return A3.__actions__.push({func:Af,args:[ht],thisArg:w}),new Hr(A3,Bt)}return T3&&W3?y.apply(this,r2):(A3=this.thru(ht),T3?j?A3.value()[0]:A3.value():A3)})}),Ur(["pop","push","shift","sort","splice","unshift"],function(y){var b=Kh[y],L=/^(?:push|sort|unshift)$/.test(y)?"tap":"thru",j=/^(?:pop|shift)$/.test(y);Se.prototype[y]=function(){var le=arguments;if(j&&!this.__chain__){var Me=this.value();return b.apply(O3(Me)?Me:[],le)}return this[L](function(Ke){return b.apply(O3(Ke)?Ke:[],le)})}}),co(o1.prototype,function(y,b){var L=Se[b];if(L){var j=L.name+"";z1.call(m4,j)||(m4[j]=[]),m4[j].push({name:b,func:L})}}),m4[yf(w,Ze).name]=[{name:"wrapper",func:w}],o1.prototype.clone=g3e,o1.prototype.reverse=y3e,o1.prototype.value=_3e,Se.prototype.at=X0e,Se.prototype.chain=Y0e,Se.prototype.commit=K0e,Se.prototype.next=Z0e,Se.prototype.plant=Q0e,Se.prototype.reverse=ene,Se.prototype.toJSON=Se.prototype.valueOf=Se.prototype.value=tne,Se.prototype.first=Se.prototype.head,lu&&(Se.prototype[lu]=J0e),Se},f4=Kte();Z5?((Z5.exports=f4)._=f4,N_._=f4):In._=f4}).call(I)});function P(J,H){var w=H.parentNode;w.lastChild==H?w.appendChild(J):w.insertBefore(J,H.nextSibling)}var F=function(){function J(H,w){i(this,J),this.id=w,this.jSPlugin=H,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return a(J,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(w){this.state=Object.assign(this.state,w)}},{key:"loadingStart",value:function(w){var T=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(T),T.innerHTML="@keyframes antRotate {to {transform: rotate(400deg);transform-origin:50% 50%;}} .loading {display: inline-block;z-index: 1000;-webkit-animation: antRotate 1s infinite linear;animation: antRotate 1s infinite linear;}";var R=w,N=document.getElementById(R),z=N.offsetWidth,U=N.offsetHeight,ue=0,pe=N.offsetLeft;document.getElementById("".concat(w,"-loading-id-0"))&&document.getElementById("".concat(w,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(w,"-loading-id-0")));var de=document.createElement("div");de.setAttribute("id","".concat(w,"-loading-id-0"));var be="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),be+="width: 100%;background-size: cover; background-repeat:no-repeat;",be+="height: 100%;",be+="top:"+ue+";",be+="left:"+pe+"px;",de.setAttribute("style",be),de.style.height=U,de.setAttribute("class","loading-container"),P(de,N);var se=1,re=document.createElement("div"),Be=document.createElement("div");re.setAttribute("class","loading-item"),re.setAttribute("id","".concat(w,"-loading-item-0"));var be="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+U+"px;outline:none;vertical-align: top;position:absolute;";be+="left:"+ge(U,z,se,0).left+"px;",be+="top:"+ge(U,z,se,0).top+"px;",re.setAttribute("style",be);function ge(fe,O,te,oe){var De=parseInt(oe/te,10)*(fe/te),He=oe%te*(O/te);return{top:De,left:He}}var ye=document.createElement("div");Be.innerHTML="",Be.style.color="#fff",ye.setAttribute("class","loading"),ye.setAttribute("id","loading-icon");var Ze='<svg t="1567069979438" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2399" width="32" height="32"><path d="M538.5344 266.4448a133.12 133.12 0 1 1 133.12-133.12 133.4272 133.4272 0 0 1-133.12 133.12zM255.0144 372.1984a121.6768 121.6768 0 1 1 121.6768-121.6768 121.856 121.856 0 0 1-121.6768 121.6768zM134.72 647.424a107.3664 107.3664 0 1 1 107.3664-107.264A107.52 107.52 0 0 1 134.72 647.424z m120.32 272.4608a90.9824 90.9824 0 1 1 90.9824-90.9824A91.1616 91.1616 0 0 1 255.04 919.8848zM538.5344 1024a79.36 79.36 0 1 1 79.36-79.36 79.36 79.36 0 0 1-79.36 79.36z m287.6928-134.144a64.1792 64.1792 0 1 1 64.1792-64.1792 64.3584 64.3584 0 0 1-64.1792 64.1792z m117.76-296.704a52.6336 52.6336 0 1 1 52.6592-52.6336 52.608 52.608 0 0 1-52.6336 52.6336z m-158.72-338.7136a40.96 40.96 0 1 1 12.0064 28.8512 40.5248 40.5248 0 0 1-12.0064-28.8512z" fill="#ffffff" p-id="2400"></path></svg>';ye.innerHTML=Ze,re.appendChild(ye),re.appendChild(Be),de.appendChild(re)}},{key:"loadingStop",value:function(w){var T=document.getElementById("".concat(w,"-loading-item-0"));T&&T.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(w){var T=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var R=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!R){var N=document.getElementById("".concat(this.id,"-loading-item-0"));N.style.height="100%",R=document.createElement("div"),R.innerHTML=w.text,N.appendChild(R)}R.innerHTML=w.text,R.style.fontSize="14px",R.style.color=w.color||"#FFFFFF",this.state.text=w.text,w.delayClear&&setTimeout(function(){T.loadingClearText()},parseInt(w.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var w=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;w.length>1?w[1].parentNode.removeChild(w[1]):w[0]&&w[0].parentNode.removeChild(w[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var w=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,T=w.length-1;T>=0;T--)w[T].parentNode.removeChild(w[T]);document.getElementById("".concat(this.id,"-loading-id-0"))&&(document.getElementById("".concat(this.id,"-loading-id-0")).style.background="none"),document.getElementById("loading-icon")&&document.getElementById("loading-icon").parentNode.removeChild(document.getElementById("loading-icon"))}}},{key:"loadingEnd",value:function(){var w=document.getElementById("".concat(this.id,"-loading-item-0"));if(w){w.parentNode.removeChild(w);var T=document.getElementById("".concat(this.id,"-loading-id-0"));T&&T.children.length===0&&T.parentNode.removeChild(T)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),J}(),V=function(){function J(H,w){i(this,J),this.id=w,this.jSPlugin=H,this.timer=null,this.state={play:!1,loading:!1}}return a(J,[{key:"default",value:function(w){var T=this,R="msgId";document.getElementById("".concat(this.id,"-").concat(R))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(R)));var N=document.createElement("div");N.id="".concat(this.id,"-").concat(R),N.style="position: absolute;top: 50%;left:calc(50% - ".concat(w.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),N.innerHTML=w,document.getElementById("".concat(this.id,"-wrap")).appendChild(N),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(T.id,"-wrap")).removeChild(document.getElementById("".concat(T.id,"-").concat(R)))},2e3)}}]),J}(),G=[{moduleCode:"",detailCode:"405984",description:"",solution:"",updateTime:1559564188e3},{moduleCode:"",detailCode:"10035",description:"获取子账户AccessToken异常,子账户不存在或子账户不属于该开发者",solution:"",updateTime:1559551958e3},{moduleCode:"",detailCode:"1052674",description:"获取本地录像失败",solution:"",updateTime:1558579653e3},{moduleCode:"",detailCode:"395547",description:"",solution:"",updateTime:1557367296e3},{moduleCode:"",detailCode:"12",description:"",solution:"",updateTime:1557229476e3},{moduleCode:"",detailCode:"10052",description:"余额不足",solution:"",updateTime:1557121463e3},{moduleCode:"",detailCode:"20108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:1556541725e3},{moduleCode:"",detailCode:"10009",description:"",solution:"",updateTime:1556422452e3},{moduleCode:"",detailCode:"320001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:1556419044e3},{moduleCode:"",detailCode:"120001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:155641903e4},{moduleCode:"",detailCode:"320049",description:"",solution:"",updateTime:1556272984e3},{moduleCode:"",detailCode:"380227",description:"",solution:"",updateTime:1556264379e3},{moduleCode:"",detailCode:"10033",description:"policy参数信息异常",solution:"",updateTime:1555922124e3},{moduleCode:"",detailCode:"10065",description:"weakAppKey 不属于accessToken对应的用户",solution:"",updateTime:1555497522e3},{moduleCode:"",detailCode:"100001",description:"",solution:"",updateTime:1555141776e3},{moduleCode:"",detailCode:"395558",description:"",solution:"",updateTime:1554987121e3},{moduleCode:"",detailCode:"70001",description:"智能家居买断用户设备受到限制,建议合理选择pagestart和pageSize",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"170001",description:"",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"1012",description:"重置失败",solution:"",updateTime:1554645841e3},{moduleCode:"",detailCode:"1043",description:"重置失败",solution:"",updateTime:1554645834e3},{moduleCode:"",detailCode:"60060",description:"直播功能未开通",solution:"通道未开通直播功能,请先开通直播",updateTime:1554346018e3},{moduleCode:"",detailCode:"380203",description:"",solution:"",updateTime:1554093666e3},{moduleCode:"",detailCode:"399048",description:"免费版并发数达到上限,请升级企业版使用多并发能力",solution:"升级成为企业版套餐即可取消并发数限制",updateTime:1553839878e3},{moduleCode:"",detailCode:"60007",description:"预置点个数超过最大值",solution:"",updateTime:1553671316e3},{moduleCode:"",detailCode:"1005",description:"",solution:"",updateTime:1553513701e3},{moduleCode:"",detailCode:"20605",description:"其他用户正在认证中",solution:"",updateTime:1552976317e3},{moduleCode:"",detailCode:"90004",description:"当前型号设备暂时不支持AI任务:CS-C3W-3B1WFR-YGL",solution:"",updateTime:1552898525e3},{moduleCode:"",detailCode:"60046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:1552872372e3},{moduleCode:"",detailCode:"3",description:"修改视频清晰度失败!",solution:"",updateTime:1552440229e3},{moduleCode:"",detailCode:"1013",description:"",solution:"",updateTime:1552035069e3},{moduleCode:"",detailCode:"370007",description:"",solution:"",updateTime:1551852327e3},{moduleCode:"",detailCode:"-1",description:"",solution:"",updateTime:1551752889e3},{moduleCode:"",detailCode:"30005",description:"弱账户不存在",solution:"",updateTime:1551422358e3},{moduleCode:"",detailCode:"90006",description:"用户操作AI任务受限",solution:"",updateTime:155107332e4},{moduleCode:"",detailCode:"60203",description:"未开通相关服务",solution:"",updateTime:155062307e4},{moduleCode:"",detailCode:"10002",description:"accessToken过期或异常",solution:"",updateTime:1550300346e3},{moduleCode:"",detailCode:"380339",description:"",solution:"",updateTime:1549889458e3},{moduleCode:"",detailCode:"90002",description:"AI任务设备配置数达到上限:3",solution:"",updateTime:1549071664e3},{moduleCode:"",detailCode:"380008",description:"",solution:"",updateTime:1549005979e3},{moduleCode:"",detailCode:"320227",description:"",solution:"",updateTime:1548739731e3},{moduleCode:"",detailCode:"60059",description:"ezopen地址均不可用",solution:"",updateTime:154839535e4},{moduleCode:"",detailCode:"10005",description:"appKey异常",solution:"",updateTime:1548317858e3},{moduleCode:"",detailCode:"60045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:1548155085e3},{moduleCode:"",detailCode:"60047",description:"码流类型不支持",solution:"",updateTime:1547962108e3},{moduleCode:"",detailCode:"60041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:154796098e4},{moduleCode:"",detailCode:"110029",description:"个人用户接口调用频率超限",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1547606859e3},{moduleCode:"",detailCode:"380355",description:"设备直连推流异常结束",solution:"",updateTime:1547106294e3},{moduleCode:"",detailCode:"320081",description:"",solution:"",updateTime:1547106279e3},{moduleCode:"",detailCode:"60035",description:"购买云存储服务失败",solution:"",updateTime:1547026959e3},{moduleCode:"",detailCode:"90005",description:"设备已存在:C75714141",solution:"",updateTime:1546940622e3},{moduleCode:"",detailCode:"1053445",description:"该时间段没有录像片段",solution:"",updateTime:1546935727e3},{moduleCode:"",detailCode:"90007",description:"设备未加入到AI任务",solution:"",updateTime:1546932948e3},{moduleCode:"",detailCode:"326000",description:"",solution:"",updateTime:1546823143e3},{moduleCode:"",detailCode:"1021",description:"重置失败",solution:"",updateTime:1546781152e3},{moduleCode:"",detailCode:"2001",description:"删除设备失败!",solution:"",updateTime:1546422886e3},{moduleCode:"",detailCode:"380425",description:"",solution:"",updateTime:1546407694e3},{moduleCode:"",detailCode:"120097",description:"",solution:"",updateTime:1546085995e3},{moduleCode:"",detailCode:"10059",description:"requestId已存在",solution:"",updateTime:1545824509e3},{moduleCode:"",detailCode:"1154723",description:"",solution:"",updateTime:1545795209e3},{moduleCode:"",detailCode:"60043",description:"添加的设备超出最大数量",solution:"",updateTime:1545493607e3},{moduleCode:"",detailCode:"1152677",description:"",solution:"",updateTime:1545313404e3},{moduleCode:"",detailCode:"20097",description:"设备添加异常,设备验证码为ABCDEF或设备被N1,R1关联",solution:"",updateTime:1545310795e3},{moduleCode:"",detailCode:"10060",description:"设备不支持该云存储类型",solution:"",updateTime:1545309064e3},{moduleCode:"",detailCode:"20102",description:"无相应邀请信息,无法接受邀请",solution:"",updateTime:1545204966e3},{moduleCode:"",detailCode:"10053",description:"云存储开通中",solution:"",updateTime:1545100293e3},{moduleCode:"",detailCode:"20401",description:"用户云空间信息不存在",solution:"",updateTime:154501788e4},{moduleCode:"",detailCode:"20600",description:"临时密码数已达上限",solution:"",updateTime:1544873457e3},{moduleCode:"",detailCode:"901",description:"",solution:"",updateTime:1544693519e3},{moduleCode:"",detailCode:"60210",description:"图片数据错误",solution:"",updateTime:1544604457e3},{moduleCode:"",detailCode:"10013",description:"您的应用没有权限调用",solution:"",updateTime:1544416237e3},{moduleCode:"",detailCode:"70007",description:"授权码不存在",solution:"",updateTime:1544179533e3},{moduleCode:"",detailCode:"10015",description:"授权地址不存在",solution:"",updateTime:154416324e4},{moduleCode:"",detailCode:"320423",description:"",solution:"",updateTime:1544100685e3},{moduleCode:"",detailCode:"370009",description:"",solution:"",updateTime:1544077151e3},{moduleCode:"",detailCode:"10031",description:"子账户或萤石用户没有权限",solution:"",updateTime:1543990462e3},{moduleCode:"",detailCode:"10055",description:"设备不支持试用云存储服务",solution:"",updateTime:1543986292e3},{moduleCode:"",detailCode:"60042",description:"添加的设备密码错误",solution:"",updateTime:1543710913e3},{moduleCode:"",detailCode:"60082",description:"设备正在响应本次声源定位",solution:"",updateTime:1543647426e3},{moduleCode:"",detailCode:"10056",description:"设备不支持云存储服务转出",solution:"",updateTime:1543558342e3},{moduleCode:"",detailCode:"20104",description:"好友不存在",solution:"",updateTime:1543492403e3},{moduleCode:"",detailCode:"20111",description:"好友不是等待验证状态,无法接受邀请",solution:"",updateTime:1543492365e3},{moduleCode:"",detailCode:"20107",description:"不能添加自己为好友",solution:"",updateTime:1543480986e3},{moduleCode:"",detailCode:"1",description:"设备返回其他错误",solution:"",updateTime:1543459921e3},{moduleCode:"",detailCode:"60084",description:"当前正在关闭隐私遮蔽",solution:"",updateTime:1543456515e3},{moduleCode:"",detailCode:"380255",description:"",solution:"",updateTime:1543411652e3},{moduleCode:"",detailCode:"20015",description:"设备不支持",solution:"",updateTime:1543390936e3},{moduleCode:"",detailCode:"30003",description:"手机验证码错误",solution:"",updateTime:1543389137e3},{moduleCode:"",detailCode:"20615",description:"锁用户已存在",solution:"",updateTime:1543388325e3},{moduleCode:"",detailCode:"60061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:1543372581e3},{moduleCode:"",detailCode:"60020",description:"设备不支持该信令",solution:"",updateTime:1543321636e3},{moduleCode:"",detailCode:"320146",description:"",solution:"",updateTime:1543318472e3},{moduleCode:"",detailCode:"60018",description:"设备升级失败",solution:"",updateTime:1543304928e3},{moduleCode:"",detailCode:"60044",description:"添加的设备网络不可达超时",solution:"",updateTime:1543304102e3},{moduleCode:"",detailCode:"20619",description:"主用户无法删除",solution:"",updateTime:1543290219e3},{moduleCode:"",detailCode:"20608",description:"锁用户不存在",solution:"",updateTime:154328195e4},{moduleCode:"",detailCode:"20609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:1543281601e3},{moduleCode:"",detailCode:"1049954",description:"升级设备失败",solution:"",updateTime:1543279264e3},{moduleCode:"",detailCode:"60009",description:"正在调用预置点",solution:"",updateTime:1543238114e3},{moduleCode:"",detailCode:"1052677",description:"获取本地录像失败",solution:"",updateTime:1543207604e3},{moduleCode:"",detailCode:"327000",description:"",solution:"",updateTime:1543196609e3},{moduleCode:"",detailCode:"20021",description:"设备在线,未被用户添加",solution:"",updateTime:1543193436e3},{moduleCode:"",detailCode:"20202",description:"操作留言信息失败",solution:"",updateTime:1543191562e3},{moduleCode:"",detailCode:"1052678",description:"获取本地录像失败",solution:"",updateTime:1543132218e3},{moduleCode:"",detailCode:"1054723",description:"格式化设备失败",solution:"",updateTime:1543129833e3},{moduleCode:"",detailCode:"20109",description:"对应分享不存在",solution:"",updateTime:1543129111e3},{moduleCode:"",detailCode:"60026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:1543110403e3},{moduleCode:"",detailCode:"60083",description:"当前正在开启隐私遮蔽",solution:"",updateTime:1543071148e3},{moduleCode:"",detailCode:"60001",description:"用户无云台控制权限",solution:"",updateTime:1543059167e3},{moduleCode:"",detailCode:"2003",description:"设备不在线",solution:"",updateTime:1543051046e3},{moduleCode:"",detailCode:"-24",description:"设置设备enable错误",solution:"",updateTime:1543042701e3},{moduleCode:"",detailCode:"10018",description:"",solution:"",updateTime:1543041564e3},{moduleCode:"",detailCode:"20103",description:"好友已存在",solution:"",updateTime:154303843e4},{moduleCode:"",detailCode:"70010",description:"授权异常请重试",solution:"",updateTime:154303559e4},{moduleCode:"",detailCode:"60056",description:"删除设备失败",solution:"",updateTime:1543031275e3},{moduleCode:"",detailCode:"60040",description:"添加的设备不在同一局域网",solution:"",updateTime:154303121e4},{moduleCode:"",detailCode:"60019",description:"加密已开启",solution:"",updateTime:1543029931e3},{moduleCode:"",detailCode:"1054722",description:"格式化设备失败",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"20016",description:"当前设备正在格式化",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"10024",description:"透明通道权限校验不通过",solution:"",updateTime:154302554e4},{moduleCode:"",detailCode:"6002",description:"删除设备失败!",solution:"",updateTime:1543025026e3},{moduleCode:"",detailCode:"1011",description:"验证码错误!",solution:"",updateTime:1543016865e3},{moduleCode:"",detailCode:"60032",description:"卡密已使用",solution:"",updateTime:1543006668e3},{moduleCode:"",detailCode:"10034",description:"子账号已存在",solution:"",updateTime:1542989194e3},{moduleCode:"",detailCode:"20301",description:"根据uuid查询联动信息不存在",solution:"",updateTime:1542988651e3},{moduleCode:"",detailCode:"1041",description:"获取验证码过于频繁",solution:"",updateTime:1542980953e3},{moduleCode:"",detailCode:"10012",description:"该appkey下已绑定重复的phone!",solution:"",updateTime:15429808e5},{moduleCode:"",detailCode:"1008",description:"phone不合法!",solution:"",updateTime:1542979812e3},{moduleCode:"",detailCode:"60023",description:"订阅操作失败",solution:"",updateTime:1542979006e3},{moduleCode:"",detailCode:"5",description:"设备返回其他错误",solution:"",updateTime:1542977828e3},{moduleCode:"",detailCode:"60006",description:"云台当前操作失败",solution:"",updateTime:1542977598e3},{moduleCode:"",detailCode:"131",description:"修改视频清晰度失败!",solution:"",updateTime:1542977246e3},{moduleCode:"",detailCode:"10019",description:"密码错误",solution:"",updateTime:1542976628e3},{moduleCode:"",detailCode:"10004",description:"用户不存在",solution:"",updateTime:1542976268e3},{moduleCode:"",detailCode:"20201",description:"操作报警信息失败",solution:"",updateTime:1542975906e3},{moduleCode:"",detailCode:"20024",description:"设备不在线,已经被别的用户添加",solution:"",updateTime:1542975858e3},{moduleCode:"",detailCode:"60004",description:"设备云台旋转达到左限位",solution:"",updateTime:1542975207e3},{moduleCode:"",detailCode:"1052679",description:"修改视频清晰度失败!",solution:"",updateTime:1542974886e3},{moduleCode:"",detailCode:"20031",description:"请在萤石客户端关闭终端绑定",solution:"",updateTime:1542974756e3},{moduleCode:"",detailCode:"1053825",description:"获取本地录像失败",solution:"",updateTime:1542974692e3},{moduleCode:"",detailCode:"60011",description:"预置点不存在",solution:"",updateTime:1542974414e3},{moduleCode:"",detailCode:"1052936",description:"修改视频清晰度失败!",solution:"",updateTime:154297439e4},{moduleCode:"",detailCode:"1016",description:"",solution:"",updateTime:1542974273e3},{moduleCode:"",detailCode:"10032",description:"子账号不存在",solution:"",updateTime:1542973906e3},{moduleCode:"",detailCode:"20013",description:"设备已被别人添加",solution:"",updateTime:1542973817e3},{moduleCode:"",detailCode:"50000",description:"服务器错误!",solution:"",updateTime:1542973801e3},{moduleCode:"",detailCode:"60010",description:"该预置点已经是当前位置",solution:"",updateTime:15429738e5},{moduleCode:"",detailCode:"60003",description:"设备云台旋转达到下限位",solution:"",updateTime:154297377e4},{moduleCode:"",detailCode:"4",description:"设备返回其他错误",solution:"",updateTime:1542973755e3},{moduleCode:"",detailCode:"60016",description:"加密未开启,无需关闭",solution:"",updateTime:1542973753e3},{moduleCode:"",detailCode:"60002",description:"设备云台旋转达到上限位",solution:"",updateTime:1542973742e3},{moduleCode:"",detailCode:"20023",description:"设备不在线,未被用户添加",solution:"",updateTime:1542973685e3},{moduleCode:"",detailCode:"10008",description:"",solution:"",updateTime:1542973676e3},{moduleCode:"",detailCode:"20010",description:"设备验证码错误",solution:"",updateTime:1542973658e3},{moduleCode:"",detailCode:"60005",description:"设备云台旋转达到右限位",solution:"",updateTime:1542973657e3},{moduleCode:"",detailCode:"20017",description:"设备已经被自己添加",solution:"",updateTime:1542973648e3},{moduleCode:"",detailCode:"20020",description:"设备在线,已经被自己添加",solution:"",updateTime:1542973533e3},{moduleCode:"",detailCode:"20029",description:"设备不在线,已经被自己添加",solution:"",updateTime:154297353e4},{moduleCode:"",detailCode:"10014",description:"APPKEY下对应的第三方userId和phone未绑定!",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"20002",description:"设备不存在",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"10030",description:"appkey和appsecret不匹配",solution:"",updateTime:154297349e4},{moduleCode:"",detailCode:"20022",description:"设备在线,已经被别的用户添加",solution:"",updateTime:1542973486e3},{moduleCode:"",detailCode:"20008",description:"设备响应超时",solution:"",updateTime:1542973484e3},{moduleCode:"",detailCode:"20032",description:"该用户下通道不存在",solution:"",updateTime:1542973481e3},{moduleCode:"",detailCode:"20006",description:"网络异常",solution:"",updateTime:1542973475e3},{moduleCode:"",detailCode:"20014",description:"deviceSerial不合法!",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20007",description:"设备不在线",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20018",description:"该用户不拥有该设备",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10010",description:"",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10011",description:"未绑定!",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"20001",description:"通道不存在!",solution:"",updateTime:1542973452e3},{moduleCode:"",detailCode:"10017",description:"appKey不存在",solution:"",updateTime:1542973451e3},{moduleCode:"",detailCode:"400259",description:"",solution:"",updateTime:1542875643e3},{moduleCode:"",detailCode:"400004",description:"",solution:"",updateTime:1542873364e3},{moduleCode:"",detailCode:"3840",description:"",solution:"",updateTime:154186e7},{moduleCode:"",detailCode:"-1017",description:"",solution:"",updateTime:1541733663e3},{moduleCode:"",detailCode:"320025",description:"",solution:"",updateTime:1541078281e3},{moduleCode:"",detailCode:"320024",description:"",solution:"",updateTime:1540801374e3},{moduleCode:"",detailCode:"321002",description:"",solution:"",updateTime:1540631734e3},{moduleCode:"",detailCode:"321000",description:"",solution:"",updateTime:1540609178e3},{moduleCode:"",detailCode:"321022",description:"",solution:"",updateTime:1540548345e3},{moduleCode:"",detailCode:"321016",description:"",solution:"",updateTime:1540287187e3},{moduleCode:"",detailCode:"320023",description:"",solution:"",updateTime:1539825993e3},{moduleCode:"",detailCode:"-1016",description:"",solution:"",updateTime:1539584931e3},{moduleCode:"",detailCode:"8",description:"",solution:"",updateTime:1539391812e3},{moduleCode:"",detailCode:"1075127593",description:"",solution:"",updateTime:1538959251e3},{moduleCode:"",detailCode:"380421",description:"",solution:"",updateTime:1537288465e3},{moduleCode:"",detailCode:"322000",description:"麦克风权限未开启",solution:"",updateTime:1536820136e3},{moduleCode:"",detailCode:"1152678",description:"",solution:"",updateTime:1536738348e3},{moduleCode:"",detailCode:"320047",description:"",solution:"",updateTime:1536664472e3},{moduleCode:"",detailCode:"327006",description:"",solution:"",updateTime:153613612e4},{moduleCode:"",detailCode:"1074807593",description:"",solution:"",updateTime:1536135035e3},{moduleCode:"",detailCode:"320291",description:"",solution:"",updateTime:1536110836e3},{moduleCode:"",detailCode:"320045",description:"",solution:"",updateTime:1535963775e3},{moduleCode:"",detailCode:"370004",description:"",solution:"",updateTime:1535883699e3},{moduleCode:"",detailCode:"1149954",description:"",solution:"",updateTime:1535700674e3},{moduleCode:"",detailCode:"320053",description:"",solution:"",updateTime:1535681079e3},{moduleCode:"",detailCode:"400000",description:"",solution:"",updateTime:1535532332e3},{moduleCode:"",detailCode:"110028",description:"个人版抓图接口日调用次数超出限制",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348756e3},{moduleCode:"",detailCode:"110027",description:"个人版帐号数量超出安全限制,无法调用",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348734e3},{moduleCode:"",detailCode:"110026",description:"设备数量超出个人版限制,当前设备无法操作",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348588e3},{moduleCode:"",detailCode:"100000",description:"",solution:"",updateTime:1534980008e3},{moduleCode:"",detailCode:"324004",description:"",solution:"",updateTime:1534927762e3},{moduleCode:"",detailCode:"360104",description:"",solution:"",updateTime:1534761006e3},{moduleCode:"",detailCode:"320204",description:"",solution:"",updateTime:1534584221e3},{moduleCode:"",detailCode:"380001",description:"",solution:"",updateTime:1534404715e3},{moduleCode:"",detailCode:"380204",description:"",solution:"",updateTime:1534401682e3},{moduleCode:"",detailCode:"328006",description:"",solution:"",updateTime:1534144407e3},{moduleCode:"",detailCode:"321703",description:"",solution:"",updateTime:1534127274e3},{moduleCode:"",detailCode:"321510",description:"",solution:"",updateTime:1533428892e3},{moduleCode:"",detailCode:"321006",description:"",solution:"",updateTime:1533036916e3},{moduleCode:"",detailCode:"50009",description:"",solution:"",updateTime:1532078548e3},{moduleCode:"",detailCode:"50007",description:"",solution:"",updateTime:153199172e4},{moduleCode:"",detailCode:"50018",description:"",solution:"",updateTime:1531912829e3},{moduleCode:"",detailCode:"380451",description:"",solution:"",updateTime:15316157e5},{moduleCode:"",detailCode:"380336",description:"",solution:"",updateTime:1531231721e3},{moduleCode:"",detailCode:"360020",description:"",solution:"",updateTime:1531117554e3},{moduleCode:"",detailCode:"380418",description:"",solution:"",updateTime:153110707e4},{moduleCode:"",detailCode:"1153445",description:"设备在该时间段内没有录像",solution:"",updateTime:1530944007e3},{moduleCode:"",detailCode:"110007",description:"调用接口总次数达到上限",solution:"请升级企业版,获取更高能力",updateTime:1530935584e3},{moduleCode:"",detailCode:"360019",description:"",solution:"",updateTime:1530869771e3},{moduleCode:"",detailCode:"360100",description:"",solution:"",updateTime:1530786188e3},{moduleCode:"",detailCode:"380042",description:"",solution:"",updateTime:1530775199e3},{moduleCode:"",detailCode:"320355",description:"",solution:"",updateTime:1530716074e3},{moduleCode:"",detailCode:"100003",description:"",solution:"",updateTime:1530232541e3},{moduleCode:"",detailCode:"371026",description:"",solution:"",updateTime:15301926e5},{moduleCode:"",detailCode:"102",description:"",solution:"",updateTime:1529895641e3},{moduleCode:"",detailCode:"380201",description:"",solution:"",updateTime:1529740929e3},{moduleCode:"",detailCode:"320054",description:"",solution:"",updateTime:1529544875e3},{moduleCode:"",detailCode:"500101",description:"",solution:"",updateTime:1529485953e3},{moduleCode:"",detailCode:"321001",description:"",solution:"",updateTime:1529411048e3},{moduleCode:"",detailCode:"321508",description:"",solution:"",updateTime:1529393279e3},{moduleCode:"",detailCode:"405991",description:"",solution:"",updateTime:1529380238e3},{moduleCode:"",detailCode:"380461",description:"",solution:"",updateTime:1529130941e3},{moduleCode:"",detailCode:"-1019",description:"",solution:"",updateTime:1529057245e3},{moduleCode:"",detailCode:"322009",description:"",solution:"",updateTime:1528965717e3},{moduleCode:"",detailCode:"324005",description:"",solution:"",updateTime:1528950153e3},{moduleCode:"",detailCode:"325000",description:"",solution:"",updateTime:1528947143e3},{moduleCode:"",detailCode:"326032",description:"",solution:"",updateTime:1528872971e3},{moduleCode:"",detailCode:"325032",description:"",solution:"",updateTime:1528863189e3},{moduleCode:"",detailCode:"328000",description:"",solution:"",updateTime:1528794505e3},{moduleCode:"",detailCode:"53",description:"",solution:"",updateTime:1528693249e3},{moduleCode:"",detailCode:"-1020",description:"",solution:"",updateTime:152849944e4},{moduleCode:"",detailCode:"329032",description:"",solution:"",updateTime:1528446301e3},{moduleCode:"",detailCode:"-1202",description:"",solution:"",updateTime:152843982e4},{moduleCode:"",detailCode:"2",description:"",solution:"",updateTime:1528434175e3},{moduleCode:"",detailCode:"1152936",description:"",solution:"",updateTime:1528345986e3},{moduleCode:"",detailCode:"328011",description:"",solution:"",updateTime:15283386e5},{moduleCode:"",detailCode:"28",description:"",solution:"",updateTime:152833753e4},{moduleCode:"",detailCode:"320356",description:"",solution:"",updateTime:1528188693e3},{moduleCode:"",detailCode:"320357",description:"",solution:"",updateTime:1528188517e3},{moduleCode:"",detailCode:"405800",description:"",solution:"",updateTime:1528168732e3},{moduleCode:"",detailCode:"405996",description:"",solution:"",updateTime:1528168686e3},{moduleCode:"",detailCode:"380357",description:"",solution:"",updateTime:1528011565e3},{moduleCode:"",detailCode:"328022",description:"",solution:"",updateTime:1527929065e3},{moduleCode:"",detailCode:"380003",description:"",solution:"",updateTime:1527927819e3},{moduleCode:"",detailCode:"50004",description:"",solution:"",updateTime:1527770643e3},{moduleCode:"",detailCode:"50011",description:"",solution:"",updateTime:1527770635e3},{moduleCode:"",detailCode:"370017",description:"",solution:"",updateTime:1527739514e3},{moduleCode:"",detailCode:"327032",description:"",solution:"",updateTime:1527726704e3},{moduleCode:"",detailCode:"324001",description:"",solution:"",updateTime:1527681892e3},{moduleCode:"",detailCode:"405997",description:"",solution:"",updateTime:1527653408e3},{moduleCode:"",detailCode:"405995",description:"",solution:"",updateTime:1527647283e3},{moduleCode:"",detailCode:"1153825",description:"",solution:"",updateTime:1527601747e3},{moduleCode:"",detailCode:"328002",description:"",solution:"",updateTime:1527495292e3},{moduleCode:"",detailCode:"1152679",description:"",solution:"",updateTime:1527486665e3},{moduleCode:"",detailCode:"380356",description:"",solution:"",updateTime:1527125669e3},{moduleCode:"",detailCode:"328032",description:"",solution:"",updateTime:1527069382e3},{moduleCode:"",detailCode:"22",description:"",solution:"",updateTime:1527049826e3},{moduleCode:"",detailCode:"9",description:"",solution:"",updateTime:1527006778e3},{moduleCode:"",detailCode:"89",description:"",solution:"",updateTime:1526622784e3},{moduleCode:"",detailCode:"328016",description:"",solution:"",updateTime:1526452365e3},{moduleCode:"",detailCode:"368005",description:"",solution:"",updateTime:1525921264e3},{moduleCode:"",detailCode:"0",description:"",solution:"",updateTime:1525920242e3},{moduleCode:"",detailCode:"380006",description:"",solution:"",updateTime:1525918868e3},{moduleCode:"",detailCode:"310",description:"",solution:"",updateTime:1525834436e3},{moduleCode:"",detailCode:"360011",description:"",solution:"",updateTime:1525681552e3},{moduleCode:"",detailCode:"170005",description:"",solution:"",updateTime:15254339e5},{moduleCode:"",detailCode:"50023",description:"",solution:"",updateTime:1525403338e3},{moduleCode:"",detailCode:"100131",description:"",solution:"",updateTime:1525229691e3},{moduleCode:"",detailCode:"-1018",description:"",solution:"",updateTime:1525142341e3},{moduleCode:"",detailCode:"362026",description:"",solution:"",updateTime:1524882677e3},{moduleCode:"",detailCode:"368007",description:"",solution:"",updateTime:1524832269e3},{moduleCode:"",detailCode:"54",description:"",solution:"",updateTime:1524793646e3},{moduleCode:"",detailCode:"1154722",description:"",solution:"",updateTime:1524620807e3},{moduleCode:"",detailCode:"320229",description:"",solution:"",updateTime:1524551682e3},{moduleCode:"",detailCode:"360012",description:"",solution:"",updateTime:1524472094e3},{moduleCode:"",detailCode:"380229",description:"",solution:"",updateTime:1524110755e3},{moduleCode:"",detailCode:"360016",description:"",solution:"",updateTime:1523933518e3},{moduleCode:"",detailCode:"-1003",description:"",solution:"",updateTime:1523584804e3},{moduleCode:"",detailCode:"410026",description:"",solution:"",updateTime:152351743e4},{moduleCode:"",detailCode:"360102",description:"TTS初始化失败",solution:"",updateTime:1523503528e3},{moduleCode:"",detailCode:"360013",description:"设备开启了隐私保护",solution:"",updateTime:1523503507e3},{moduleCode:"",detailCode:"360010",description:"设备正在对讲中",solution:"",updateTime:1523503491e3},{moduleCode:"",detailCode:"360007",description:"TTS关闭了与客户端的连接",solution:"",updateTime:1523503475e3},{moduleCode:"",detailCode:"360006",description:"客户端接收发生错误",solution:"",updateTime:1523503457e3},{moduleCode:"",detailCode:"360005",description:"客户端发送的消息错误",solution:"",updateTime:1523503437e3},{moduleCode:"",detailCode:"360004",description:"TTS内部发生错误",solution:"",updateTime:1523503421e3},{moduleCode:"",detailCode:"360003",description:"TTS的设备端发生错误",solution:"",updateTime:1523503397e3},{moduleCode:"",detailCode:"360002",description:"对讲发起超时",solution:"",updateTime:1523503376e3},{moduleCode:"",detailCode:"360001",description:"客户端请求超时",solution:"",updateTime:1523503357e3},{moduleCode:"",detailCode:"320077",description:"",solution:"",updateTime:1523444274e3},{moduleCode:"",detailCode:"370047",description:"",solution:"",updateTime:152344048e4},{moduleCode:"",detailCode:"100002",description:"",solution:"",updateTime:1523413964e3},{moduleCode:"",detailCode:"-1004",description:"",solution:"",updateTime:1523336653e3},{moduleCode:"",detailCode:"380000",description:"",solution:"",updateTime:1523180856e3},{moduleCode:"",detailCode:"380213",description:"",solution:"",updateTime:1523180623e3},{moduleCode:"",detailCode:"380101",description:"",solution:"",updateTime:1522834231e3},{moduleCode:"",detailCode:"50047",description:"",solution:"",updateTime:1522833243e3},{moduleCode:"",detailCode:"-999",description:"",solution:"",updateTime:1522831034e3},{moduleCode:"",detailCode:"320418",description:"",solution:"",updateTime:1522829072e3},{moduleCode:"",detailCode:"-1009",description:"",solution:"",updateTime:1522746247e3},{moduleCode:"",detailCode:"320209",description:"",solution:"",updateTime:1522744395e3},{moduleCode:"",detailCode:"368006",description:"",solution:"",updateTime:15227443e5},{moduleCode:"",detailCode:"369003",description:"",solution:"",updateTime:1522736355e3},{moduleCode:"",detailCode:"405989",description:"",solution:"",updateTime:1522726571e3},{moduleCode:"",detailCode:"-1012",description:"",solution:"",updateTime:1522726203e3},{moduleCode:"",detailCode:"322016",description:"",solution:"",updateTime:1522722918e3},{moduleCode:"",detailCode:"500103",description:"",solution:"",updateTime:1522655556e3},{moduleCode:"",detailCode:"405999",description:"",solution:"",updateTime:1522654716e3},{moduleCode:"",detailCode:"321032",description:"",solution:"",updateTime:1522647732e3},{moduleCode:"",detailCode:"381101",description:"",solution:"",updateTime:1522392414e3},{moduleCode:"",detailCode:"399999",description:"",solution:"",updateTime:1522379834e3},{moduleCode:"",detailCode:"380103",description:"",solution:"",updateTime:1522312724e3},{moduleCode:"",detailCode:"360014",description:"",solution:"",updateTime:1522304341e3},{moduleCode:"",detailCode:"-1005",description:"",solution:"",updateTime:1522288195e3},{moduleCode:"",detailCode:"100005",description:"",solution:"",updateTime:1522218849e3},{moduleCode:"",detailCode:"100004",description:"",solution:"",updateTime:1522209053e3},{moduleCode:"",detailCode:"106002",description:"",solution:"",updateTime:15222062e5},{moduleCode:"",detailCode:"410030",description:"",solution:"",updateTime:1522162252e3},{moduleCode:"",detailCode:"-1002",description:"",solution:"",updateTime:152215069e4},{moduleCode:"",detailCode:"-1200",description:"",solution:"",updateTime:1522139025e3},{moduleCode:"",detailCode:"-1001",description:"",solution:"",updateTime:1522046436e3},{moduleCode:"",detailCode:"-1011",description:"",solution:"",updateTime:1522045931e3},{moduleCode:"",detailCode:"381102",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"381103",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"391205",description:"vtdu解析服务器ip失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391206",description:"vtdu描述符select失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391207",description:"vtdu文件描述符不在可读中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391208",description:"vtdu网络发生错误getsockopt",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391209",description:"vtdu描述符select超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395000",description:"cas回复信令,发现内存已经释放(和设备之间异常断开)",msg:"播放失败请重试",solution:"检查设备网络;刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395400",description:"私有化协议vtm检测私有化协议中码流类型小于0或者设备序列号为空等非法参数场景返回(app不重试取流)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395402",description:"回放找不到录像文件",msg:"回放找不到录像文件,本地存储请检查存储卡是否接触良好",solution:"检查是否有存储卡并且接触良好",updateTime:1522034841e3},{moduleCode:"",detailCode:"395403",description:"操作码或信令密钥与设备不匹配",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395404",description:"设备不在线",solution:"检查设备网络;重启设备接入萤石云",msg:"设备不在线,请检查设备网络或重启设备接入萤石云",updateTime:1522034841e3},{moduleCode:"",detailCode:"395405",description:"流媒体向设备发送或接受信令超时/cas响应超时",msg:"播放失败,请检查设备网络或重启设备",solution:"检查设备网络;重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395406",description:"token失效",msg:"播放失败请重试或重启设备",solution:"刷新重试或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395407",description:"客户端的URL格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395409",description:"预览开启隐私保护",msg:"播放失败请关闭隐私遮蔽",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395410",description:"设备达到最大连接数",solution:"请升级设备固件版本",updateTime:1522034841e3},{moduleCode:"",detailCode:"395411",description:"token无权限",msg:"播放失败",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395412",description:"session不存在",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395413",description:"验证token的他异常(不具体) ",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395415",description:"设备通道错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395416",description:"设备资源受限",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395451",description:"设备不支持的码流类型",msg:"播放失败请重试或切换设备码流",solution:"刷新重试或者切换到高清模式",updateTime:1522034841e3},{moduleCode:"",detailCode:"395452",description:"设备链接流媒体服务器失败",msg:"播放失败,请检查设备网络或重启设备或重新加载",solution:"检查设备网络,重启设备,刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395454",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395455",description:"设备通道未关联",msg:"播放失败,请检查设备通道是否关联",solution:"检查设备通道是否关联",updateTime:152222018e4},{moduleCode:"",detailCode:"395456",description:"设备通道关联设备不在线",msg:"播放失败,请检查设备通道是否上线",solution:"检查设备通道是否上线",updateTime:152222018e4},{moduleCode:"",detailCode:"395457",description:"客户端不支持端到端加密",msg:"播放失败",solution:"客户端不支持端到端加密",updateTime:152222018e4},{moduleCode:"",detailCode:"395458",description:"设备不支持当前并发ECDH密",msg:"客户端不支持端到端加密",solution:"设备不支持当前并发ECDH密",updateTime:152222018e4},{moduleCode:"",detailCode:"395459",description:"VTDU 处理ECDH 加密失败",msg:"播放失败",solution:"VTDU 处理ECDH 加密失败",updateTime:152222018e4},{moduleCode:"",detailCode:"395460",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395492",description:"设备不支持的命令",msg:"操作失败,设备不支持",solution:"",updateTime:152222018e4},{moduleCode:"",detailCode:"395500",description:"服务器处理失败",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395501",description:"流媒体vtdu达到最大负载,请扩容",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395503",description:"vtm返回分配vtdu失败",msg:"播放失败请重试",solution:"vtdu服务异常,请请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395504",description:"流媒体vtdu达到最大负载",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395505",description:"vtm ecdh解密失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395506",description:"vtm 返回IPC不支持取流(需要IPC添加NVR后支持)",msg:"播放失败,请绑定NVR使用",solution:"IPC绑定NVR使用",updateTime:1522034841e3},{moduleCode:"",detailCode:"395544",description:"设备返回无视频源",msg:"播放失败,请检查设备接触情况",solution:"设备是否接触良好; 如果一直无法解决,请联系技术支持",updateTime:1522034841e3},{moduleCode:"",detailCode:"395545",description:"视频分享时间已经结束",msg:"视频分享时间已结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395546",description:"vtdu返回达到取流并发路数限制",msg:"并发上限,请升级为企业版",solution:"请升级为企业版,放开并发限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395547",description:"vtdu返回开放平台用户并发限制",msg:"并发上限,请升级为企业版",solution:"请确定开放平台用户预览是否超过用户并发数量限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395556",description:"ticket校验失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395557",description:"回放服务器等待流头超时",msg:"播放失败请重试",solution:"刷新重试,检测设备网络,重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395558",description:"查找录像开始时间错误",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395560",description:"群组分享取流二次验证失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395561",description:"分享群组用户被锁住",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395562",description:"群组分享用户权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395563",description:"认证服务连接失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395564",description:"认证超时",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395566",description:"不在分享时间内预览",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395567",description:"分享通道被锁定",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395568",description:"未找到认证类型",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395569",description:"认证返回的参数异常",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395600",description:"分享设备不在分享时间内",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395601",description:"群组分享用户没权限",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395602",description:"群组分享权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395610",description:"接收流头失败",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395620",description:"心跳超时",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395530",description:"机房故障不可用",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395701",description:"cas信令返回格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395702",description:"SPGW请求Cas、Status透传超时",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395703",description:"SPGW请求http不通",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396001",description:"客户端参数出错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396099",description:"客户端默认错误",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396101",description:"不支持的命令",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396102",description:"设备流头发送失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396103",description:"cas/设备返回错误1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396104",description:"cas/设备返回错误-1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396105",description:"设备返回错误码3",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396106",description:"设备返回错误码4",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396107",description:"设备返回错误码5",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396108",description:"cas信令回应重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396109",description:"视频广场取消分享",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396110",description:"设备信令默认错误",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396501",description:"设备数据链路和实际链路不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396502",description:"设备数据链路重复建立连接",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396503",description:"设备数据链路端口不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396504",description:"缓存设备数据链路失败(内存块不足)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396505",description:"设备发送确认头消息重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396506",description:"设备数据先于确定头部到达",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396508",description:"设备数据头部长度非法",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396509",description:"索引找不到设备数据管理块",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396510",description:"设备数据链路vtdu内存块协议状态不匹配",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396511",description:"设备数据头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396512",description:"设备数据头部非法(较笼统)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396513",description:"设备数据长度过小",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396514",description:"设备老协议推流头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396515",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396516",description:"设备老协议索引找不到内存管理块",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396517",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396518",description:"设备数据包过大",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396519",description:"设备推流链路网络不稳定",msg:"播放失败,请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396520",description:"设备推流链路网络不稳定(默认)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396700",description:"异常数据包",msg:"播放失败,设备重启",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396701",description:"回放结束数据包",msg:"回放结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397001",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397002",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397003",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397004",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397005",description:"VTDU连接失败,或VTDU侧断开连接",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397006",description:"vtm断开连接(无需 关注)",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397007",description:"客户端发送缓冲区满(上行带宽太小)",msg:"播放失败,上行带宽过小请检查设备网络情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399000",description:"无效包,包过大",msg:" 检查设备重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399001",description:"地址不合法",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399002",description:"缺少端口",msg:" 播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"170003",description:"refreshToken不存在",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"170004",description:"refreshToken已过期",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"380011",description:"设备隐私保护中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380045",description:"设备直连取流连接数量过大",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380047",description:"设备不支持该命令",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380077",description:"设备正在对讲中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380102",description:"数据接收异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380205",description:"设备检测入参异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380209",description:"网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380212",description:"设备端网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"101007",description:"手机号未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120503",description:"正在响铃",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390016",description:"vtdu成功响应未携带流头",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101008",description:"手机号码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120504",description:"室内机正在通话",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390017",description:"无数据流,尚未使用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101009",description:"用户名与手机不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120505",description:"设备操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390018",description:"信令消息体PB解析失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101010",description:"获取验证码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120506",description:"非法命令",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390019",description:"信令消息体PB封装失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101011",description:"验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120507",description:"智能锁密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390020",description:"申请系统内存资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101012",description:"验证码失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120508",description:"开关锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390021",description:"vtdu地址尚未获取到",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101013",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120509",description:"开关锁超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390022",description:"客户端尚未支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101014",description:"密码不正确或者appKey不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120510",description:"智能锁设备繁忙",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390023",description:"获取系统socket资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101015",description:"用户被锁住",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120511",description:"远程开锁功能未打开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390024",description:"上层填充的StreamSsnId不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101021",description:"验证参数异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120600",description:"临时密码数已达上限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390025",description:"链接服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101026",description:"邮箱已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120601",description:"添加临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390026",description:"客户端请求未收到服务端应答",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101031",description:"邮箱未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120602",description:"删除临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390027",description:"链路断开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101032",description:"邮箱不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120603",description:"该临时密码不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390028",description:"没有取流链接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101041",description:"获取验证码过于频繁",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120604",description:"指纹锁射频通信失败,请稍后再试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390029",description:"流成功停止",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101043",description:"手机验证码输入错误超过规定次数",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120605",description:"其他用户正在认证中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390030",description:"客户端防串流校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102000",description:"设备不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120606",description:"验证已启动,请在120s内进行本地验证和调用添加设备接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390031",description:"应用层tcp粘包处理缓冲区满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102001",description:"摄像机不存在",solution:"摄像机未注册到萤石云平台,请仔细检查摄像机的网络配置,确保连接到网络",updateTime:152203484e4},{moduleCode:"",detailCode:"120607",description:"删除用户失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390032",description:"无效状态迁移",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102003",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"120608",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390033",description:"无效客户端状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102004",description:"设备异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390034",description:"向vtm取流流媒体信息请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102007",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120610",description:"获取临时密码列表失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390035",description:"向代理取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102009",description:"设备请求响应超时异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130001",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390036",description:"向代理保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105000",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130002",description:"手机号码已经注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390037",description:"向vtdu取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105001",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130003",description:"手机验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390038",description:"向vtdu保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105002",description:"设备验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130004",description:"终端绑定操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391001",description:"vtm地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107001",description:"邀请不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"149999",description:"数据异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391002",description:"vtm生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107002",description:"邀请验证失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"150000",description:"服务器异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391003",description:"vtm设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107003",description:"邀请用户不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160000",description:"设备不支持云台控制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391004",description:"vtm设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107004",description:"云存储连接失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160001",description:"用户无云台控制权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391005",description:"vtm解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"7005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160002",description:"设备云台旋转达到上限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391006",description:"vtm描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107006",description:"不能邀请自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160003",description:"设备云台旋转达到下限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391007",description:"vtm文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107007",description:"重复邀请",solution:"分享和删除分享必须全部由接口形式操作,如果与萤石客户端混用会造成这个问题,解决办法:在萤石客户端清空所有相关分享数据并重新添加设备,再通过接口操作即可",updateTime:152203484e4},{moduleCode:"",detailCode:"160004",description:"设备云台旋转达到左限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391008",description:"vtm网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110001",description:"参数错误",solution:"参数为空或者格式不对",updateTime:152203484e4},{moduleCode:"",detailCode:"160005",description:"设备云台旋转达到右限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391009",description:"vtm描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110002",description:"accessToken异常或过期",solution:"accessToken有效期为七天,建议在accessToken即将过期或者出现10002错误码的时候重新获取accessToken",updateTime:152203484e4},{moduleCode:"",detailCode:"160006",description:"云台当前操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391101",description:"proxy地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110004",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160007",description:"预置点个数超过最大值",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391102",description:"proxy生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110005",description:"appKey异常",solution:"确认appKey状态,不通过或者冻结状态会返回该错误码",updateTime:152203484e4},{moduleCode:"",detailCode:"160009",description:"正在调用预置点",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391103",description:"proxy设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110006",description:"ip受限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160010",description:"该预置点已经是当前位置",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391104",description:"proxy设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160011",description:"预置点不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391105",description:"proxy解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110008",description:"签名错误",solution:"①获取签名方式详见apidemo及[旧]API文档 ②注意编码格式为UTF-8",updateTime:152203484e4},{moduleCode:"",detailCode:"160013",description:"设备版本已是最新",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391106",description:"proxy描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110009",description:"签名参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160014",description:"设备正在升级",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391107",description:"proxy文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110010",description:"签名超时",solution:"请调用同步服务器时间接口进行校时",updateTime:152203484e4},{moduleCode:"",detailCode:"160015",description:"设备正在重启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391108",description:"proxy网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110011",description:"未开通萤石云服务",solution:"参照绑定流程",updateTime:152203484e4},{moduleCode:"",detailCode:"160016",description:"加密未开启,无须关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391109",description:"proxy描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110012",description:"第三方账户与萤石账号已经绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160017",description:"设备抓图失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391201",description:"vtdu地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110013",description:"应用没有权限调用此接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160018",description:"设备升级失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391202",description:"vtdu生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110014",description:"APPKEY下对应的第三方userId和phone未绑定",solution:"获取AccessToken时所用appKey与SDK所用appKey不一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160019",description:"加密已开启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391203",description:"vtdu设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110017",description:"appKey不存在",solution:"请填写在官网申请的应用秘钥",updateTime:152203484e4},{moduleCode:"",detailCode:"160020",description:"不支持该命令",solution:"请确认设备是否支持该命令",updateTime:152203484e4},{moduleCode:"",detailCode:"391204",description:"vtdu设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110018",description:"AccessToken与Appkey不匹配",solution:"请检查获取accessToken对应的appKey和SDK中设置的appKey是否一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160023",description:"订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110019",description:"密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160024",description:"取消订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110020",description:"请求方法为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160025",description:"客流统计配置失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110021",description:"ticket校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110022",description:"透传目的地非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160027",description:"设备正在镜像操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110024",description:"无透传权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160028",description:"设备正在键控动作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110025",description:"appKey被禁止使用通明通道",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160029",description:"设备处于语音对讲状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160030",description:"卡密输入错误次数过多,24小时后再输入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160031",description:"卡密信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160032",description:"卡密状态不对或已过期",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160033",description:"卡密非卖品,只能开通对应的绑定设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110030",description:"appKey和appSecret不匹配",solution:"请检查appKey和appSecret是否对应",updateTime:152203484e4},{moduleCode:"",detailCode:"160035",description:"购买云存储服务失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110031",description:"子账户或萤石用户没有权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160040",description:"添加的设备不在同一局域网",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110032",description:"子账户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110033",description:"子账户未设置授权策略",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160042",description:"添加的设备密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110034",description:"子账户已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160043",description:"添加的设备超出最大数量",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110035",description:"获取子账户AccessToken异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160044",description:"添加的设备网络不可达超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110036",description:"子账户被禁用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110051",description:"无权限进行抓图",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160047",description:"码流类型不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120002",description:"设备不存在",solution:"①设备没有注册到萤石云平台,请检查下设备网络参数,确保能正常连接网络②设备序列号不存在",updateTime:152203484e4},{moduleCode:"",detailCode:"160048",description:"带宽超出系统接入带宽",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120003",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160049",description:"IP或者端口不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120004",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160050",description:"添加的设备版本不支持需要升级才能接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120005",description:"安全认证失败,需进行SDK安全认证",solution:"已去掉安全验证",updateTime:152203484e4},{moduleCode:"",detailCode:"160051",description:"添加的设备不支持接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120006",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160052",description:"添加的设备通道号出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120007",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"160053",description:"添加的设备分辨率不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120008",description:"设备响应超时",solution:"设备响应超时,请检测设备网络或重试",updateTime:152203484e4},{moduleCode:"",detailCode:"160054",description:"添加的设备账号被锁定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120009",description:"子账号不能添加设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160055",description:"添加的设备取码流出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120010",description:"设备验证码错误",solution:"验证码在设备标签上,六位大写字母,注意大小写",updateTime:152203484e4},{moduleCode:"",detailCode:"160056",description:"删除设备失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120012",description:"设备添加失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160057",description:"删除的设备未关联",solution:"检查IPC与NVR是否有关联关系",updateTime:152203484e4},{moduleCode:"",detailCode:"120013",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160060",description:"地址未绑定",solution:"请前往官网设置直播",updateTime:152203484e4},{moduleCode:"",detailCode:"120014",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120015",description:"设备不支持该功能",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160062",description:"该通道直播已开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120016",description:"当前设备正在格式化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160063",description:"直播未使用或直播已关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120017",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160070",description:"设备不能转移给自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120018",description:"该用户不拥有该设备",solution:"确认设备是否属于用户",updateTime:152203484e4},{moduleCode:"",detailCode:"160071",description:"设备不能转移,设备与其他设备存在关联关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400001",description:"参数为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120019",description:"设备不支持云存储服务",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160072",description:"设备不能转移,通道被分享给其他用户或者分享到视频广场",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400002",description:"参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120020",description:"设备在线,被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160073",description:"云存储转移失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400025",description:"设备不支持对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120021",description:"设备在线,但是未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160080",description:"当前正在声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400029",description:"没有初始化或资源被释放",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120022",description:"设备在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160081",description:"当前正在轨迹巡航",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400030",description:"json解析异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120023",description:"设备不在线,未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160082",description:"设备正在响应本次声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400031",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120024",description:"设备不在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160083",description:"当前正在开启隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400032",description:"设备信息异常为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120025",description:"重复申请分享",solution:"确认设备是否由添加过该设备且申请过分享的账户下是否还存在分享记录",updateTime:152203484e4},{moduleCode:"",detailCode:"160084",description:"当前正在关闭隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400034",description:"取流超时",solution:"一般是由于网络状况不好导致,可以尝试下让用户重新播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120026",description:"视频广场不存在该视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"380290",description:" 连接CAS服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400035",description:"设备已加密,需要输入验证码",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120027",description:"视频转码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361001",description:"对讲服务端排队超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400036",description:"播放验证码错误",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120028",description:"设备固件升级包不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361002",description:"对讲服务端处理超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400037",description:"surfacehold错误",solution:"请检查是否是播放之前销毁了surface,收到此错误也可以重新建立surface后播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120029",description:"设备不在线,但是已经被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361003",description:"设备链接对讲服务器超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400100",description:"未知错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120030",description:"该用户不拥有该视频广场视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361004",description:"服务器内部错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400200",description:"player sdk出错,这种错误一般开发者也是无法解决,不具体分类传出,传一个统一的inner错误码出去",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120031",description:"开启终端绑定,硬件特征码验证失败",solution:"请在萤石客户端关闭终端绑定,参考此步骤",updateTime:152203484e4},{moduleCode:"",detailCode:"361005",description:"解析消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400300",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120032",description:"该用户下通道不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361006",description:"请求重定向--需要向其他服务申请对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400901",description:"设备不在线,可以提示用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120033",description:"无法收藏自己分享的视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361007",description:"请求url非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400902",description:"accesstoken异常或失效,需要重新获取accesstoken,并传入到sdk",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120034",description:"该用户下无设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361008",description:"token失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400903",description:"当前账号开启了终端绑定,只允许指定设备登录操作,提示用户登录i.ys7.com解除终端绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120090",description:"用户反馈失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361009",description:"设备验证码或者通信秘钥不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400904",description:"设备正在对讲中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120095",description:"APP包下载失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361010",description:"设备已经在对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400905",description:"设备开启了隐私保护,不允许预览、对讲等",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120096",description:"APP包信息删除失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361011",description:"设备10s响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120101",description:"视频不支持分享给本人",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361012",description:"设备不在线",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320002",description:"参数无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120102",description:"无相应邀请信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361013",description:"设备开启隐私保护拒绝对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320003",description:"暂不支持此操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120103",description:"好友已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361014",description:"token无权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320004",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120104",description:"好友不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361015",description:"设备返回session不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320005",description:"创建CAS session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120105",description:"好友状态错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361016",description:"验证token其他异常错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320006",description:"创建cloud session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120106",description:"对应群组不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361017",description:"服务端监听设备建立端口超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320007",description:"token失效",solution:"重新设置token后再重试",updateTime:152203484e4},{moduleCode:"",detailCode:"120107",description:"不能添加自己为好友",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361018",description:"设备链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320008",description:"token池里面没有token,请传入token",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361019",description:"对讲服务端不支持的信令消息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320009",description:"传入新的INIT_PARAM并reset(保留,目前未用)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120109",description:"对应分享不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361020",description:"对讲服务端解析对讲请求未携带会话描述能力集",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320010",description:"请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120110",description:"好友群组不属于当前用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361021",description:"对讲服务端优先能力集结果为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320011",description:"500毫秒后请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120111",description:"好友不是等待验证状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361022",description:"cas链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320012",description:"token池已满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120112",description:"添加应用下的用户为好友失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361023",description:"对讲服务端分配对讲会话资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320013",description:"P2P client超过限制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120201",description:"操作报警信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361024",description:"对讲服务端解析信令消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320014",description:"sdk未初始化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120202",description:"操作留言信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390001",description:"通用错误返回",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320015",description:"超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120301",description:"根据UUID查询报警消息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390002",description:"入参为空指针",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320016",description:"正在打洞中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120302",description:"根据UUID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390003",description:"入参值无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320017",description:"没有视频文件头(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120303",description:"根据FID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390004",description:"信令消息解析非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320018",description:"解码错误/超时(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120305",description:"设备ip解析错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390005",description:"内存资源不足",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320019",description:"取消(保留,用户不用处理)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120401",description:"用户云空间信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390006",description:"协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320020",description:"播放过程中预连接被用户清除预操作信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120402",description:"云空间操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390007",description:"设备序列号长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320021",description:"流加密码不对",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120403",description:"用户目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390008",description:"取流url长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320022",description:"未传入播放窗口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120404",description:"要操作的目标目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390009",description:"解析vtm返回vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"100200",description:"操作成功",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120405",description:"要删除的文件信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390010",description:"解析vtm返回级联vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101001",description:"用户名不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120406",description:"已开通云存储",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390011",description:"解析vtm返回会话标识长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101002",description:"用户名已被占用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120407",description:"开通记录失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390012",description:"vtdu返回流头长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101003",description:"密码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120500",description:"获取数据错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390013",description:"vtdu会话长度非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101004",description:"密码为同一字符",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120501",description:"开锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390014",description:"回调函数未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101006",description:"手机号码已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120502",description:"室内机未收到呼叫",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390015",description:"vtdu成功响应未携带会话标识",solution:"",updateTime:152203484e4}],W="200",Y="操作成功!",Q={data:G,code:W,msg:Y},K=function(){function J(H,w){i(this,J),this.coreX=H,this.coreY=w,console.log("ErrorCode",Q)}return a(J,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(w){return Q.data.find(function(T){return T.detailCode.substr(-4)==w})}}]),J}(),ae={color:"red",backgroundColor:"red",activeColor:"red",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-0",iconId:"deviceID",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"},{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-1",iconId:"deviceName",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},ie={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},he={header:ae,footer:ie},Ee=function J(H){this.jsPlugin=H;var w={isMouseDown:!1,isOver:!1,mousePosition:null,oldTime:null,nowTime:null,moved:null,hoverTime:"2018-12-07 12:00:00",hoverLeft:0,timeTipShow:!1,randomNum:123,timeWidthTbls:[60,1800,3600,86400],timeUnits:["范围: 1分钟; 单位: 秒","范围: 30分钟; 单位: 分钟","范围: 1小时; 单位: 分钟","范围: 1天; 单位: 小时","范围: 3天; 单位: 小时"],drawPen:null,timeSection:[],canvasWidth:null,canvasHeight:null,timeTips:null},T=this;Object.keys(w).forEach(function(R){T[R]=w[R]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},J.prototype.subTime=function(R){return R<10?"0"+R:R},J.prototype.tranTime=function(R){var N=R;if(R){var z=new Date(R);N=z.getFullYear()+"/"+(z.getMonth()+1)+"/"+z.getDate()+" "+this.subTime(z.getHours())+":"+this.subTime(z.getMinutes())+":"+this.subTime(z.getSeconds())}return N},J.prototype.init=function(R){R.width&&document.getElementById(R.id).setAttribute("width",parseInt(R.width,10)+"px");var N=this,z=this.options;N.randomNum=(Math.random()+"").split(".").join(""),N.timeWidthTblIndex=z.timeWidth;var U=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));N.drawPen=U.getContext("2d"),N.nowTime=z.time||Date.now(),N.timeSection=z.timeSection||[],N.canvasWidth=U.offsetWidth,N.canvasHeight=U.offsetHeight,N.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(ue){N.options.readOnly||N.mousemove(ue)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(ue){N.options.readOnly||N.mouseover(ue)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(ue){N.options.readOnly||N.mouseleave(ue)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(ue){N.options.readOnly||N.mousedown(ue)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(ue){if(!N.options.readOnly){var pe=R.onChange;N.mouseUpFn(ue,pe)}})},J.prototype.setWidth=function(R){var N=this,z=this;R.width&&(document.getElementById(this.jsPlugin.id).style.width=R.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=R.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=R.width,z.canvasWidth=R.width,setTimeout(function(){N.updata({time:new Date})},500))},J.prototype.mousemove=function(R){if(this.isMouseDown&&this.isOver){var N=this.mousePosition-R.pageX;if(N===0)return;var z=0;switch(this.timeWidth){case 60:z=1/10;break;case 1800:z=1/20*60;break;case 3600:z=1/20*60;break;case 86400:z=1/30*60*60;break}var U=new Date(this.oldTime).getTime()+N*z*1e3;this.updata({time:U}),this.moved=!0}else{var ue=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=R.pageX-ue,this.updata()}},J.prototype.mousedown=function(R){this.isMouseDown=!0,this.mousePosition=R.pageX,this.oldTime=this.nowTime},J.prototype.mouseover=function(R){this.isOver=!0},J.prototype.mouseleave=function(R){this.isOver=!1,this.isMouseDown=!1,this.updata()},J.prototype.changeSize=function(R){console.log("changeSize",R),this.options.timeWidth=R,this.updata({timeWidth:R})},J.prototype.mouseUpFn=function(R,N){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var z=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),U=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(U," ").concat(z)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(U," ").concat(z)),N(this.nowTime)}},J.prototype.readOnly=function(R){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},J.prototype.unReadOnly=function(R){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},J.prototype.run=function(R){this.isMouseDown||this.updata(R)},J.prototype.getTime=function(R){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},J.prototype.updata=function(R){var N=this;R=R||{},N.nowTime=R.time||N.nowTime,N.timeSection=R.timeSection||N.timeSection,N.timeWidthTblIndex=R.timeWidth||N.timeWidthTblIndex,N.timeWidth=N.timeWidthTbls[R.timeWidth||N.timeWidthTblIndex],N.timeUnit=N.timeUnits[R.timeWidth||N.timeWidthTblIndex],R.timeWidth===0&&(N.timeWidthTblIndex=0,N.timeWidth=N.timeWidthTbls[0],N.timeUnit=N.timeUnits[0]),N.drawPen.fillStyle="#000000",N.drawPen.fillRect(0,0,N.canvasWidth,N.canvasHeight),N.drawScale(),N.drawRecord(),N.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=N.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=N.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=N.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=N.options.height+"px"},J.prototype.drawSolidLine=function(R,N,z,U,ue,pe){this.drawPen.save(),this.drawPen.strokeStyle=pe,this.drawPen.lineWidth=ue,this.drawPen.beginPath(),this.drawPen.moveTo(R,N),this.drawPen.lineTo(z,U),this.drawPen.stroke(),this.drawPen.restore()},J.prototype.drawString=function(R,N,z,U,ue){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=U||"left",this.drawPen.fillText(R,N,z+10)},J.prototype.drawScale=function(){var R=this,N="rgba(255,255,255)",z=new Date(R.nowTime),U=z.getFullYear(),ue=z.getSeconds(),pe=z.getMinutes(),de=z.getHours(),se=z.getDate(),re=0;switch(R.timeWidth){case 60:{var Be=parseInt(R.canvasWidth/10);z.setSeconds(z.getSeconds()-parseInt(Be/2,10)),se=z.getDate(),de=z.getHours(),pe=z.getMinutes(),ue=z.getSeconds();for(var be=0;be<Be;be++){if(re=ue+be,z.setSeconds(re),re%10===0){R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5+8,1,N);var ge=this.subTime(z.getHours())+":"+this.subTime(z.getMinutes())+":"+this.subTime(z.getSeconds());R.drawString(ge,be*R.canvasWidth/Be,R.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*.5+8,1,N);z.setDate(se),z.setHours(de),z.setMinutes(pe)}break}case 1800:{var Be=parseInt(R.canvasWidth/20);z.setMinutes(z.getMinutes()-parseInt(Be/2,10)),de=z.getHours(),pe=z.getMinutes();for(var be=0;be<=Be;be++){if(re=pe+be,z.setMinutes(re),re%5===0){R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*1.5+8,1,N);var ge=this.subTime(z.getHours())+":"+this.subTime(z.getMinutes());R.drawString(ge,be*R.canvasWidth/Be,R.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*.5+8,1,N);z.setHours(de)}break}case 3600:{var Be=parseInt(R.canvasWidth/20);z.setMinutes(z.getMinutes()-parseInt(Be/2,10)),de=z.getHours(),pe=z.getMinutes();for(var be=0;be<=Be;be++){if(re=pe+be,z.setMinutes(re),re%10===0){R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*1.5+8,1,N);var ge=this.subTime(z.getHours())+":"+this.subTime(z.getMinutes());R.drawString(ge,be*R.canvasWidth/Be,R.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*.5+8,1,N);z.setHours(de)}break}case 86400:{var Be=parseInt(R.canvasWidth/30);z.setHours(z.getHours()-parseInt(Be/2,10)),ue=z.getSeconds(),pe=z.getMinutes(),de=z.getHours(),se=z.getDate(),U=z.getFullYear();for(var be=0;be<=Be;be++){re=de+be,z.setHours(re);var ge;ge=this.subTime(z.getHours())+":00",R.drawSolidLine(be*R.canvasWidth/Be,8,be*R.canvasWidth/Be,R.canvasHeight/5*.5+8,1,N),re%2===0&&R.drawString(ge,be*R.canvasWidth/Be,R.canvasHeight/5*2,"center","rgba(255,255,255,0.3)"),z.setFullYear(U),z.setDate(se),z.setHours(de)}break}}},J.prototype.getRecord=function(R,N,z){this.timeSection=R,this.drawRecord()},J.prototype.drawRecord=function(){for(var R=this.timeSection||[],N=this,z=N.drawPen,U=0;U<R.length;U++){var ue=de(R[U].startTime),pe=de(R[U].endTime);z.fillStyle="#1890ff80",z.fillRect(ue,0,pe-ue,48)}function de(se){var re=10;switch(N.timeWidth){case 60:re=10;break;case 1800:re=20/60;break;case 3600:re=20/60;break;case 86400:re=20/60/60;break}var Be=N.canvasWidth/2,be=Be+(se-N.nowTime)/1e3*re;return be>N.canvasWidth&&(be=N.canvasWidth),be<=0&&(be=0),be}},J.prototype.drawOtherMsg=function(){this.drawSolidLine(this.canvasWidth/2,0,this.canvasWidth/2,this.canvasHeight,2,"#1890FF"),this.drawPen.shadowBlur=0,this.isOver&&!this.isMouseDown?(this.mouseTime=this.mousePosition/this.canvasWidth*this.timeWidth*1e3+this.nowTime-this.timeWidth/2*1e3,this.mouseString=this.tranTime(this.mouseTime),this.hoverTime=this.mouseString,this.hoverLeft=this.mousePosition-60,this.timeTipShow=!0):this.timeTipShow=!1}},je=function(){function J(H){if(i(this,J),this.jSPlugin=H,!document.getElementById("".concat(this.jSPlugin.id,"-audioControls")))return!1;this.currentTimeWidth=0,this.date=new Date,this.datepickerVisible=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),this.recInit()}return a(J,[{key:"recInit",value:function(){var w=this;this.currentTimeWidth=0;var T=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,R=document.createElement("div");R.style="display:inline-block;height:48px;",R.id=this.jSPlugin.id+"-canvas-container";var N=document.createElement("canvas");N.id=this.jSPlugin.id+"-canvas",N.className="time-line-body",N.height="48",N.width=T,N.style="display:inline-block;",N.innerHTML="该浏览器不支持canvas",R.appendChild(N),h(R,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var z=document.createElement("div");z.className="timeline-controls",z.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var U=` |
|
|
<div class="timeline-controls-scale" style="display: inline-flex;flex-direction: column;justify-content: center;vertical-align: top;padding: 0 20px;"> |
|
|
<span style="vertical-Align: middle;line-height: 14px;height: 18px; width: 18px;cursor:pointer;" id="`.concat(this.jSPlugin.id,`-timeline-scale-add"> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>add</title> |
|
|
<g> |
|
|
<polygon points="0.1,0.5 15,0.5 15,15.4 0.1,15.4 " /> |
|
|
</g> |
|
|
<g> |
|
|
<path |
|
|
fill="#FFFFFF"; |
|
|
d="M7.6,12.4c-0.3,0-0.5-0.2-0.5-0.5v-8c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v8C8.1,12.2,7.9,12.4,7.6,12.4z" /> |
|
|
</g> |
|
|
<g> |
|
|
<path |
|
|
fill="#FFFFFF"; |
|
|
d="M11.6,8.4h-8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h8c0.3,0,0.5,0.2,0.5,0.5S11.8,8.4,11.6,8.4z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
<span style="vertical-Align: middle;line-height: 14px;height: 18px; width: 18px;cursor:pointer;" id="`).concat(this.jSPlugin.id,`-timeline-scale-sub"> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>reduce</title> |
|
|
<g> |
|
|
<polygon class="st0" points="1,0.8 15.2,0.8 15.2,15 1,15 " /> |
|
|
</g> |
|
|
<g> |
|
|
<path class="st1" |
|
|
fill="#FFFFFF"; |
|
|
d="M12.1,8.4h-8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h8c0.3,0,0.5,0.2,0.5,0.5S12.4,8.4,12.1,8.4z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
</div> |
|
|
<label for="`).concat(this.jSPlugin.id,`-datepicker"> |
|
|
<div class="timeline-controls-date"> |
|
|
<span> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>ifttt</title> |
|
|
<g id="Rectangle"> |
|
|
<rect x="0.6" y="0.9" class="st0" width="20" height="20" /> |
|
|
</g> |
|
|
<g id="Stroke-1"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M14,7.2c-0.3,0-0.5-0.2-0.5-0.5V3.4c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v3.3C14.5,7,14.2,7.2,14,7.2z" /> |
|
|
</g> |
|
|
<g id="Stroke-3"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M7.3,7.2C7,7.2,6.8,7,6.8,6.7V3.4c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v3.3C7.8,7,7.6,7.2,7.3,7.2z" /> |
|
|
</g> |
|
|
<g id="Stroke-5"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M18.1,9.7h-15c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h15c0.3,0,0.5,0.2,0.5,0.5S18.4,9.7,18.1,9.7z" /> |
|
|
</g> |
|
|
<g id="Stroke-7"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M16.5,19.7H4.8c-1.2,0-2.2-1-2.2-2.2V6.7c0-1.2,1-2.2,2.2-2.2h11.7c1.2,0,2.2,1,2.2,2.2v10.8 |
|
|
C18.6,18.8,17.7,19.7,16.5,19.7z M4.8,5.6c-0.6,0-1.2,0.5-1.2,1.2v10.8c0,0.6,0.5,1.2,1.2,1.2h11.7c0.6,0,1.2-0.5,1.2-1.2V6.7 |
|
|
c0-0.6-0.5-1.2-1.2-1.2H4.8z" /> |
|
|
</g> |
|
|
<g id="Stroke-9"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M10.6,13.3c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5s0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
S11,13.3,10.6,13.3z" /> |
|
|
</g> |
|
|
<g id="Stroke-11"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M14.8,13.3c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2c0.4,0,0.7,0.3,0.7,0.7 |
|
|
S15.2,13.3,14.8,13.3z M14.8,12.3c-0.2,0-0.3,0.1-0.3,0.3c0,0.2,0.3,0.4,0.5,0.2c0.1-0.1,0.1-0.1,0.1-0.2 |
|
|
C15.1,12.4,15,12.3,14.8,12.3z" /> |
|
|
</g> |
|
|
<g id="Stroke-13"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M6.5,16.6c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
C7.2,16.3,6.9,16.6,6.5,16.6z" /> |
|
|
</g> |
|
|
<g id="Stroke-15"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M10.6,16.6c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
C11.4,16.3,11,16.6,10.6,16.6z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
</div> |
|
|
</label> |
|
|
<input autocomplete="off" data-toggle="`).concat(this.jSPlugin.id,'-datepicker" id="').concat(this.jSPlugin.id,'-datepicker" name="').concat(this.jSPlugin.id,`-datepicker" style="opacity:0;width:24px;margin-left:-24px;cursor:pointer;" /> |
|
|
`);z.innerHTML=U,h(z,R),this.timeLine=new Ee(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:T,onChange:function(re){console.log("time",re,new Date(re).Format("yyyyMMddhhmmss"));var Be=new Date(re).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",w.jSPlugin.url),S(w.jSPlugin.url).type==="cloud.rec"||w.jSPlugin.capacity&&w.jSPlugin.capacity.support_seek_playback=="1"){var be=function(){w.jSPlugin.seek(Be.substr(8,6),"235959"),w.unSyncTimeLine(),setTimeout(function(){w.syncTimeLine()},6e3)};w.seekTimer?clearTimeout(w.seekTimer):be(),w.seekTimer=setTimeout(function(){be(),clearTimeout(w.seekTimer),w.seekTimer=null},w.seekFrequency)}else{var ge=function(){setTimeout(function(){w.disabled=!1},w.seekFrequency)},ye=function(fe){w.disabled=!0,w.jSPlugin.pause().then(function(){console.log("暂停成功"),w.jSPlugin.resume(Be).then(function(O){console.log("恢复成功:",O),w.jSPlugin.Theme&&w.jSPlugin.Theme.setDecoderState({play:!0}),w.jSPlugin.Theme&&w.jSPlugin.Theme.decoderState.state.sound&&w.jSPlugin.openSound(),fe&&fe()}).catch(function(O){console.log("恢复失败",O)})}).catch(function(){console.log("暂停失败"),w.jSPlugin.resume(Be).then(function(O){console.log("恢复成功"),w.jSPlugin.Theme&&w.jSPlugin.Theme.setDecoderState({play:!0}),fe&&fe()}).catch(function(O){console.log("恢复失败",O)})})};w.disabled?(console.log("操作频繁,等待2秒后执行"),w.seekTimer&&clearTimeout(w.seekTimer),w.seekTimer=setTimeout(function(){ye(ge)},w.seekFrequency)):ye(ge)}}}),this.syncTimeLine(),u("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),l("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){l("".concat(w.jSPlugin.staticPath,"/rec/datepicker.js"),function(){l("".concat(w.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(w.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(w.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(d("begin",w.jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(w.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),w.datepickerVisible=!1,$("#".concat(w.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(se){console.log("重新选择日期",se.date,new Date(se.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),se.date>new Date||new Date(se.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?se.preventDefault():(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value=new Date(se.date).Format("yyyy-MM-dd"),w.renderRec(se.date),w.jSPlugin.decoderState&&w.jSPlugin.decoderState.state?w.jSPlugin.decoderState.state.cloudRec?w.jSPlugin.changePlayUrl({begin:new Date(se.date).Format("yyyyMMdd"),type:"cloud.rec"}):w.jSPlugin.decoderState.state.rec?w.jSPlugin.changePlayUrl({begin:new Date(se.date).Format("yyyyMMdd"),type:"rec"}):w.jSPlugin.changePlayUrl({begin:new Date(se.date).Format("yyyyMMdd")}):w.jSPlugin.changePlayUrl({begin:new Date(se.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),w.datepickerVisible=!1,w.jSPlugin.decoderState&&w.jSPlugin.decoderState&&w.jSPlugin.decoderState.state&&w.jSPlugin.decoderState.state.zoom&&(w.jSPlugin.setDecoderState({zoom:!1}),w.jSPlugin.Zoom.stopZoom())}),$("#".concat(w.jSPlugin.id,"-datepicker")).off("click").on("click",function(se){console.log("点击日期"),w.datepickerVisible?document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"):document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),w.datepickerVisible=!w.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var se=w.currentTimeWidth;se<3&&w.timeLine.changeSize(++w.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var se=w.currentTimeWidth;se>0&&w.timeLine.changeSize(--w.currentTimeWidth)};var ue=d("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(ue.slice(0,4),"-").concat(ue.slice(4,6),"-").concat(ue.slice(6,8))),this.observer=new MutationObserver(function(se,re){w.recAutoSize()});var pe={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},de=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(de,pe)}},{key:"setDatepickerDate",value:function(w){if(document.getElementsByClassName("datepicker-container")[0]){var T=document.getElementsByClassName("datepicker-container")[0],R=T.parentNode;R.removeChild(T),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=w.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"),$("#".concat(this.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",defaultDate:w,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(this.jSPlugin.id,"-wrap"))})}}},{key:"datepickerHide",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),this.datepickerVisible=!1}},{key:"datepickerShow",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),this.datepickerVisible=!0}},{key:"recAutoSize",value:function(){var w=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var T=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;T!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=T,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:T,onChange:function(N){console.log("time",N,new Date(N).Format("yyyyMMddhhmmss")),console.log("jSPlugin",w.jSPlugin);var z=new Date(N).Format("yyyyMMddhhmmss");w.jSPlugin.changePlayUrl({begin:z})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var w=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var T=w.jSPlugin.getOSDTime();T.then(function(R){var N=R.data;N===-1?console.log("获取播放时间错误"):N>0&&w.timeLine.run({time:new Date(N>1e12?N:N*1e3)})}).catch(function(R){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(w){var T=this;this.date=w;var R=this,N=new Date(new Date(w).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),z=new Date(new Date(w).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],N,z),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var U={accessToken:this.jSPlugin.accessToken,recType:S(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:S(this.jSPlugin.url).deviceSerial,channelNo:S(this.jSPlugin.url).channelNo,startTime:N,endTime:z,version:"2.0"},ue=function(se){if(se.data&&se.data.files&&se.data.files.length>0){var re=se.data.files,Be=new Date().getTime(),be=se.data.isAll;if(be)T.timeLine.getRecord(re,N,z);else{var ge=function ye(){function Ze(fe){fe.data&&fe.data.files&&fe.data.files.length>0?fe.data.isAll==!1?(fe.data.files&&(re=re.concat(fe.data.files)),Be=fe.data.nextFileTime>0?fe.data.nextFileTime:new Date().getTime(),ye()):(console.log("云存储执行渲染片段"),R.timeLine.getRecord(re,N,z)):R.timeLine.getRecord(re,N,z)}U.startTime=Be,A(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",U,"",Ze)};ge()}T.timeLine.run({time:new Date(N)})}else se.data&&se.data.length>0&&(console.log("获取本地录像片段成功",se),R.timeLine.getRecord(se.data,N,z),R.timeLine.run({time:new Date(N)}))},pe=this.jSPlugin.env.domain+"/api/lapp/video/by/time";A(pe,"POST",U,"",ue)}}]),J}(),xe=function(H){console.log("执行TimeLine - params",H),this.state={id:H.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var w=this;this.setState=function(T){Object.keys(T).forEach(function(R){w.state[R]=T[R],R==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,T[R]),R==="current"&&(document.getElementById("time-line-current").innerHTML=T[R])})},this.setDisabled=function(T){this.setState({disabled:T}),document.getElementById("time-line-item").parentNode.style.overflowY=T?"hidden":"scroll"},this.timeToSecond=function(T){var R=T.split(":"),N=Number(R[0]),z=Number(R[1]),U=Number(R[2]);return N*60*60+z*60+(U||0)},this.minuteToTime=function(T){var R=Math.floor(T/60),N=T%60;return(R>9?R:"0"+R)+":"+(N>9?N:"0"+N)},this.timeToMinute=function(T){var R=T.split(":"),N=Number(R[0]),z=Number(R[1]);return N*60+z},this.getPalyParam=H.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(w.state.disabled)return!1;H.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(w.state.disabled)return!1;H.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(w.state.disabled)return!1;var T,R=new Promise(function(N,z){var U=-1;T=setInterval(function(){var ue=document.getElementById("time-line-item").parentNode.scrollTop;ue!==U?(console.log("scolling",ue,U),U=ue):(console.log("scoll stop",ue,U),clearInterval(T),N(ue))},100)});R.then(function(N){console.log("scollPromise: then",N,w),w.rectTopTotime(N),console.log("页面滚动实际高度",N,w.state),w.getPalyParam({current:w.state.current})}),H.ontouchend()},this.matchTimeDot()};xe.prototype.changeScale=function(J){this.setState({timelag:J}),this.matchTimeDot()},xe.prototype.setDateLine=function(J,H){J.length>0?(typeof H=="undefined"&&(H=J.length-1),this.setState({availTimeLine:J,start:J[H].st,end:J[H].et,current:J[H].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},xe.prototype.matchTimeDot=function(){var J=this.state,H=J.start,w=J.end,T=J.timelag;J.availTimeLine,console.log("start",H,"end",w);var R=[],N=this.timeToMinute(w);N=Math.floor(N/T)*T;for(var z=N;z>=0;){var U=0,ue=0,pe=[];z==N&&(U=70),z==0&&(ue=230);var de=this.minuteToTime(z);R.push({id:z,current:de,label:"a"+z,marginTop:U,marginBottom:ue,recArr:pe}),z=z-T}this.setState({timeArr:R}),this.renderDateLine()},xe.prototype.matchRecTimeDot=function(){var J=this.state,H=J.start,w=J.end,T=J.timelag,R=J.availTimeLine,N=J.timeArr;console.log("start",H,"end",w);var z=[],U=R.length;if(U===0)for(var ue=0;ue<N.length;ue++)N[ue].recArr=[];else{for(var pe=0;pe<N.length;pe++)N[pe].recArr=[];for(var de=0;de<U;de++){var se=R[de],re=this.timeToSecond(se.st),Be=this.timeToSecond(se.et),be=void 0,ge=void 0,ye=0,Ze=0;be=Math.floor(re/(T*60))*T,ye=(re-be*60)/T,ge=Math.floor(Be/(T*60))*T,Ze=(Be-ge*60)/T,z[de]={st:be,et:ge,stAvailPercent:ye,etAvailPercent:Ze};for(var ue=0;ue<N.length;ue++)if(N[ue].id==be&&N[ue].id==ge){var fe=Ze-ye,O=60-Ze;N[ue].recArr.push({height:fe,top:O})}else N[ue].id==be?N[ue].recArr.push({height:60-ye,top:0}):N[ue].id==ge?N[ue].recArr.push({height:Ze,top:60-Ze}):N[ue].id>be&&N[ue].id<ge&&N[ue].recArr.push({height:60,top:0})}}console.log("availArr: ",z),this.setState({timeArr:N}),console.log("timeArr:",this.state),this.renderDateLine()},xe.prototype.renderDateLine=function(){var J=this.state,H=J.id,w=J.timeArr;console.log("id,timeArr",H,w);var T=document.getElementById("time-line-item");T.innerHTML="",w.forEach(function(R,N){var z=document.createElement("div");z.setAttribute("class","time-item"),z.style="margin-top: ".concat(R.marginTop,"px; margin-bottom: ").concat(R.marginBottom,"px; border-right-color: ").concat(R.borderColor,";");var U=document.createElement("div");U.setAttribute("class","scale");var ue='<div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale" style="width:10px"></div>';R.recArr.forEach(function(pe,de){ue+='<div class="item-unavail" style="height: '.concat(pe.height,"px;background-color:#A8B9ED; top: ").concat(pe.top,'px"></div>')}),ue+="<div id=".concat(R.label,' style="position: relative; top: 51px; left: 40%"> ').concat(R.current,"</div>"),z.innerHTML=ue,T.appendChild(z)})},xe.prototype.primaryOffsetH=function(){var J=this.state,H=J.start,w=J.timelag,T=J.timeArr,R=T[0].current,N=this.timeToSecond(R),z=this.timeToSecond(H),U=N-z,ue=Math.ceil(U/w)+60;this.setState({scrollTop:ue}),console.log("起始偏移量",ue)},xe.prototype.currentOffsetH=function(){var J=this.state,H=J.current,w=J.timelag,T=J.timeArr,R=T[0].current,N=this.timeToSecond(R),z=this.timeToSecond(H),U=N-z,ue=Math.ceil(U/w)+60;this.setState({scrollTop:ue})},xe.prototype.rectTopTotime=function(J){var H=this.state.timelag,w=Math.floor(J/60),T=J-w*60,R,N;if(console.log("index:",w,"offsetH:",T),T==0)R=this.state.timeArr[w-1].current,N=0;else{var z=this.state.timeArr[w].current,U=this.timeToMinute(z),ue=60-T,pe=ue*H,de=Math.floor(pe/60)+U,se=Math.floor(pe/60)*60;N=Math.ceil(pe-se),R=this.minuteToTime(de)}this.setState({current:R+":"+(N>9?N:"0"+N),scrollTop:J})},xe.prototype.stepScrollTimeLine=function(J){this.setState({current:J}),this.currentOffsetH()},xe.prototype.secondCountDown=function(J){var H=this.state.current,w=H.split(":"),T=Number(w[0]),R=Number(w[1]),N=Number(w[2]),z=T*60*60+R*60+N+1,U=Math.floor(z/3600),ue=Math.floor((z-U*3600)/60),pe=z-U*3600-ue*60;this.setState({current:(U>9?U:"0"+U)+":"+(ue>9?ue:"0"+ue)+":"+(pe>9?pe:"0"+pe)})};var Oe=xe;Date.prototype.Format=function(J){var H={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(J)&&(J=J.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in H)new RegExp("("+w+")").test(J)&&(J=J.replace(RegExp.$1,RegExp.$1.length==1?H[w]:("00"+H[w]).substr((""+H[w]).length)));return J};function f2(J){var H=new Date(J),w=H.getHours(),T=H.getMinutes(),R=H.getSeconds();return(w>9?w:"0"+w)+":"+(T>9?T:"0"+T)+":"+(R>9?R:"0"+R)}var B2=function(){function J(H,w,T){var R=this;i(this,J),this.changeRecSpeed=w,this.resetMobileZoomStatus=T,this.isMobile=!0,this.jSPlugin=H,this.timer=null,this.date=new Date().Format("yyyy-MM-dd"),this.begin=(new Date().Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=(new Date().Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=S(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency);var N=document.createElement("style");if(N.innerHTML=` |
|
|
body{ |
|
|
padding: 0; |
|
|
margin: 0; |
|
|
} |
|
|
.time-line-container { |
|
|
text-align: left; |
|
|
height: 300px; |
|
|
/* outline: 1px solid red; */ |
|
|
/* background: gray; */ |
|
|
position: relative; |
|
|
/* padding-top: 60px; */ |
|
|
margin-top: 20px; |
|
|
} |
|
|
|
|
|
.time-line-container .time-line-item-container { |
|
|
display: inline-block; |
|
|
/* height: 400px; */ |
|
|
width: 30%; |
|
|
/* background: indianred; */ |
|
|
overflow-y: scroll; |
|
|
overflow-x: hidden; |
|
|
/* padding-top: 60px; */ |
|
|
height: 300px; |
|
|
box-sizing: border-box; |
|
|
white-space: nowrap; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.time-line-container .time-line-item-container::-webkit-scrollbar { |
|
|
width: 0px; |
|
|
/*滚动条宽度*/ |
|
|
height: 0px; |
|
|
/*滚动条高度*/ |
|
|
} |
|
|
|
|
|
.time-line-item .time-item { |
|
|
position: relative; |
|
|
box-sizing: border-box; |
|
|
height: 60px; |
|
|
font-size: 12px; |
|
|
color: rgb(150, 150, 150); |
|
|
border-right: 6px solid; |
|
|
border-right-color: #ddd; |
|
|
} |
|
|
|
|
|
.time-line-item .time-item .scale { |
|
|
width: 6px; |
|
|
height: 9px; |
|
|
border-bottom: 1px solid #ccc; |
|
|
float: right; |
|
|
clear: both; |
|
|
} |
|
|
|
|
|
.time-line-item .time-item .item-unavail { |
|
|
width: 6px; |
|
|
position: absolute; |
|
|
left: 100%; |
|
|
background-color: #ddd; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time { |
|
|
position: absolute; |
|
|
left: 0; |
|
|
top: 40px; |
|
|
height: 29px; |
|
|
/* line-height: 58px; */ |
|
|
border-bottom: 1px solid #648FFC; |
|
|
width: 60%; |
|
|
margin-left: 26%; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time .current-time-bg { |
|
|
position: relative; |
|
|
top: 15px; |
|
|
width: 100px; |
|
|
height: 29px; |
|
|
line-height: 29px; |
|
|
left: -70px; |
|
|
font-size: 12px; |
|
|
color: #2C2C2C; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time .current-time-bg::before { |
|
|
content: ''; |
|
|
display: inline-block; |
|
|
width: 6px; |
|
|
height: 6px; |
|
|
border-radius: 100%; |
|
|
background: #648FFC; |
|
|
top: 11px; |
|
|
position: absolute; |
|
|
right: 30px; |
|
|
} |
|
|
|
|
|
.date-switch-container { |
|
|
height: 40px; |
|
|
position: relative; |
|
|
text-align: center; |
|
|
margin: 20px 10px; |
|
|
} |
|
|
|
|
|
.date-switch-container .current-date { |
|
|
line-height: 40px; |
|
|
height: 22px; |
|
|
font-size: 16px; |
|
|
color: #2C2C2C; |
|
|
text-align: center; |
|
|
font-weight: bold; |
|
|
} |
|
|
|
|
|
.date-container { |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
position: absolute; |
|
|
right: 0; |
|
|
top: 0; |
|
|
} |
|
|
|
|
|
.rec-type-container { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
} |
|
|
|
|
|
.rec-type-container .rec-type-text { |
|
|
padding: 0 15px; |
|
|
font-size: 12px; |
|
|
color: #2C2C2C; |
|
|
} |
|
|
|
|
|
.rec-type-container .rec-type-switch { |
|
|
padding: 0 20px; |
|
|
} |
|
|
|
|
|
.date-container input { |
|
|
position: absolute; |
|
|
opacity: 0; |
|
|
display: inline-block; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
z-index: 10; |
|
|
left: 0; |
|
|
} |
|
|
|
|
|
.date-container label { |
|
|
position: absolute; |
|
|
left: 0; |
|
|
top: 0; |
|
|
/* display: none; */ |
|
|
z-index: 0; |
|
|
} |
|
|
|
|
|
.date-icon { |
|
|
display: inline-block; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
background: url('https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png') no-repeat 100% 100%; |
|
|
} |
|
|
.select-container { |
|
|
padding: 10px; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
} |
|
|
|
|
|
.advice { |
|
|
height: 24px; |
|
|
width: 70px; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
line-height: 24px; |
|
|
background: #F8F8F8; |
|
|
border-radius: 8px; |
|
|
} |
|
|
|
|
|
.advice span { |
|
|
width: 40px; |
|
|
display: inline-block; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:not(:checked)+.advice span:first-child { |
|
|
box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); |
|
|
border-radius: 8px; |
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
|
|
|
input[type="checkbox"]:checked+.advice span:last-child { |
|
|
box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); |
|
|
border-radius: 8px; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:not(:checked)+.advice span:first-child svg { |
|
|
fill: #648FFC !important; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:checked+.advice span:last-child svg { |
|
|
fill: #648FFC !important; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(N),d("begin",this.jSPlugin.url)){var z=d("begin",this.jSPlugin.url);this.date=z.slice(0,4)+"/"+z.slice(4,6)+"/"+z.slice(6,8),this.begin=this.date+" ".concat(z.slice(8,10)||"00",":").concat(z.slice(10,12)||"00",":").concat(z.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(d("end",this.jSPlugin.url)){var U=d("end",this.jSPlugin.url);this.end=this.date+" ".concat(U.slice(8,10)||"23",":").concat(U.slice(10,12)||"59",":").concat(U.slice(12,14)||"59"),this.initEnd=this.end}var ue=document.createElement("div");ue.id="date-switch-container-wrap",ue.className="date-switch-container-wrap",ue.style="",ue.innerHTML=` |
|
|
<div class="date-switch-container"> |
|
|
<div class="current-date" id="current-date">今日录像</div> |
|
|
<div class="date-container"> |
|
|
<label for="date"> |
|
|
<div class="date-icon"></div> |
|
|
</label> |
|
|
<input type="date" name="date" id="date" /> |
|
|
</div> |
|
|
</div> |
|
|
`,h(ue,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var pe=document.createElement("div");pe.id="rec-type-container-wrap",pe.className="rec-type-container-wrap",pe.style="",pe.innerHTML=` |
|
|
<div class="rec-type-container"> |
|
|
<div class="rec-type-text">共<span id="recCount">0</span>个录像</div> |
|
|
<div class="rec-type-switch"> |
|
|
<label> |
|
|
<input type="checkbox" name="type" id="cloudType" value="1" hidden /> |
|
|
<label for="cloudType" class="advice"> |
|
|
<span> |
|
|
<svg fill="#CCCCCC" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 0 20 20"> |
|
|
<path class="st0" d="M12.6,5c-2.3,0.1-4.3,1.4-5.3,3.3L7.2,8.6c-2.4,0.5-4.1,2.5-4.1,4.9c0,2.8,2.4,5,5.2,5h9.9 |
|
|
c2.4,0,4.3-1.9,4.3-4.2l0-0.2c-0.1-2-1.6-3.5-3.5-3.9l-0.1,0l0-0.2c-0.4-2.8-3-5-6.1-5L12.6,5z"/> |
|
|
</svg> |
|
|
</span> |
|
|
<span> |
|
|
<svg fill="#CCCCCC" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 0 20 20"> |
|
|
<path id="形状结合" class="st0" d="M14.3,4c0.6,0,1.2,0.2,1.7,0.7l0,0L18.3,7C18.7,7.4,19,8,19,8.6l0,0v9c0,1.3-1.1,2.3-2.4,2.3 |
|
|
l0,0H8.4C7.1,20,6,19,6,17.7l0,0V6.3C6,5,7.1,4,8.4,4l0,0H14.3z M9.7,7.2C9.3,7.2,8.9,7.6,8.9,8l0,0v2.5l0,0.1 |
|
|
c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C10.4,7.5,10,7.2,9.7,7.2z M12.2,7.2c-0.4,0-0.8,0.3-0.8,0.8l0,0v2.5 |
|
|
l0,0.1c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C12.9,7.5,12.5,7.2,12.2,7.2z M14.7,7.2c-0.4,0-0.8,0.3-0.8,0.8l0,0 |
|
|
v2.5l0,0.1c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C15.4,7.5,15,7.2,14.7,7.2z"/> |
|
|
</svg> |
|
|
</span> |
|
|
</label> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
`,h(pe,ue);var de=document.createElement("div");de.id="mobile-rec-wrap",de.className="mobileRec-wrap",de.style="",de.innerHTML=` |
|
|
<div class="time-line-container"> |
|
|
<div class="current-time"> |
|
|
<div class="current-time-bg" id="time-line-current">2020-01-01 00:00:00</div> |
|
|
</div> |
|
|
<div class="time-line-item-container"> |
|
|
<div class="time-line-item" id="time-line-item"> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
`,h(de,pe);var se=function(ye){console.log("子组件传值到父组件",ye,ye.current);var Ze=ye.current,fe=new Date(R.date).Format("yyyyMMdd").substr(0,8)+(ye.current?Ze.replace(/:/g,""):ye.current.replace(/:/g,""));if(R.initBegin&&new Date("".concat(R.date," ").concat(ye.current)).getTime()<new Date(R.initBegin).getTime()&&(console.log("超过限制最低值"),fe=new Date(R.initBegin).Format("yyyyMMddhhmmss")),R.initEnd&&new Date("".concat(R.date," ").concat(ye.current)).getTime()>new Date(R.initEnd).getTime()&&(console.log("超过限制最高值"),fe=new Date(R.initBegin).Format("yyyyMMddhhmmss")),R.type==="cloud.rec"){var O=function(){R.jSPlugin.seek(fe.substr(8,6),"235959"),setTimeout(function(){R.syncTimeLine()},6e3)};R.seekTimer?clearTimeout(R.seekTimer):O(),console.log("this.jsPlug",R.jSPlugin.params),R.seekTimer=setTimeout(function(){O(),clearTimeout(R.seekTimer),R.seekTimer=null},R.seekFrequency)}else{var te=function(){setTimeout(function(){R.disabled=!1},R.seekFrequency)},oe=function(He){R.disabled=!0,R.jSPlugin.pause().then(function(){console.log("暂停成功"),R.jSPlugin.resume(fe).then(function(i2){console.log("恢复成功"),R.jSPlugin.Theme&&R.jSPlugin.Theme.setDecoderState({play:!0}),R.jSPlugin.Theme&&R.jSPlugin.Theme.decoderState.state.sound&&R.jSPlugin.openSound(),R.syncTimeLine(),He&&He()})}).catch(function(){console.log("暂停失败"),R.jSPlugin.resume(fe).then(function(i2){console.log("恢复成功"),R.jSPlugin.Theme&&R.jSPlugin.Theme.setDecoderState({play:!0}),R.syncTimeLine(),He&&He()})})};R.disabled?(console.log("操作频繁,等待2秒后执行"),R.seekTimer&&clearTimeout(R.seekTimer),R.seekTimer=setTimeout(function(){oe(te)},R.seekFrequency)):oe(te)}},re=function(){R.operating=!0,R.unSyncTimeLine()},Be=function(){},be=function(){R.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new Oe({id:"time-line-item",getPalyParam:se,ontouchstart:re,ontouchmove:Be,ontouchend:be}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(ge){if(console.log("日期变化",ge.target.value),R.initBegin||R.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;R.date=new Date(ge.target.value).Format("yyyy/MM/dd"),R.begin=R.date+" 00:00:00",R.end=R.date+" 23:59:59",R.fetchDeviceRec(),R.jSPlugin.changePlayUrl({type:R.type,begin:"".concat(new Date(R.date).Format("yyyyMMdd"),"000000")}),R.changeRecSpeed(1),R.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(ge){var ye=ge.target.checked?2:1;R.type=ge.target.checked?"rec":"cloud.rec",console.log("recType",ye),R.fetchDeviceRec(),R.jSPlugin.changePlayUrl({type:R.type,begin:"".concat(new Date(R.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),R.syncTimeLine(),R.changeRecSpeed(1),R.resetMobileZoomStatus()},function(Ze){console.log("err",Ze)}).catch(function(Ze){console.log(Ze)})}),this.syncTimeLine()}return a(J,[{key:"fetchDeviceRec",value:function(){var w=this,T=function(z){var U=z.length;document.getElementById("recCount").innerHTML=U;for(var ue=[],pe=U-1;pe>=0;pe--){var de=z[pe],se=f2(de.endTime),re=f2(de.startTime);ue.push({st:re,et:se})}w.TimeLineOBJ.setDateLine(ue)},R=new FormData;R.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),R.append("channelNo",S(this.jSPlugin.url).channelNo),R.append("accessToken",this.jSPlugin.accessToken),R.append("recType",this.type==="cloud.rec"?1:2),R.append("startTime",new Date(this.begin).getTime()),R.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:R}).then(function(N){return N.json()}).then(function(N){if(N.code==200&&N.data){var z=[];z=N.data,T(z)}else T([])})}},{key:"syncTimeLine",value:function(){var w=this,T=function(N){var z=new Date(N),U=z.getHours(),ue=z.getMinutes(),pe=z.getSeconds();return(U>9?U:"0"+U)+":"+(ue>9?ue:"0"+ue)+":"+(pe>9?pe:"0"+pe)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(w.operating)return console.log("操作中"),!1;w.jSPlugin.getOSDTime().then(function(R){R.data>0?w.TimeLineOBJ.stepScrollTimeLine(T(R.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",R))}).catch(function(R){console.log("err:-----",R),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),J}(),S2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStart"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStart"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStart"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStart"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStart"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStart"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStart"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStart"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStart"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStart"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStart"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStart"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStart"},{code:60002,msg:"设备已旋转到上限位",desc:"",text:"设备云台旋转达到上限位",type:"ptzStart"},{code:60003,msg:"设备已旋转到下限位",desc:"",text:"设备云台旋转达到下限位",type:"ptzStart"},{code:60004,msg:"设备已旋转到左限位",desc:"",text:"设备云台旋转达到左限位",type:"ptzStart"},{code:60005,msg:"设备已旋转到右限位",desc:"",text:"设备云台旋转达到右限位",type:"ptzStart"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStart"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStart"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStart"}],p2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStop"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStop"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStop"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStop"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStop"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStop"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStop"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStop"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStop"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStop"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStop"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStop"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStop"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStop"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStop"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStop"}],X2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"talk"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"talk"},{code:10002,msg:"账号异常,操作失败",desc:"",text:"accessToken异常或过期",type:"talk"},{code:10031,msg:"账号异常,操作失败",desc:"",text:"子账户或萤石用户没有权限",type:"talk"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"talk"},{code:60059,msg:"播放失败",desc:"",text:"ezopen地址均不可用",type:"talk"}],w2=[{code:200,msg:"",desc:"",text:"操作成功",type:"time"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"time"},{code:10002,msg:"账号异常,播放失败",desc:"",text:"accessToken异常或过期",type:"time"},{code:10004,msg:"账号异常,播放失败",desc:"",text:"用户不存在",type:"time"},{code:10005,msg:"账号异常,播放失败",desc:"",text:"appKey异常",type:"time"},{code:10011,msg:"播放失败",desc:"设备对应用户未注册至应用下",text:"未开通萤石服务",type:"time"},{code:10013,msg:"账号异常,播放失败",desc:"",text:"非开发者账号无权限调用",type:"time"},{code:10030,msg:"播放失败",desc:"",text:"appkey和appsecret不匹配",type:"time"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"time"},{code:20014,msg:"播放失败",desc:"",text:"deviceSerial不合法",type:"time"},{code:20032,msg:"设备不存在请检查设备连接情况",desc:"",text:"该用户下通道不存在",type:"time"},{code:60024,msg:"播放失败请重试",desc:"",text:"取消订阅操作失败",type:"time"},{code:49999,msg:"播放失败请重试",desc:"",text:"操作异常",type:"time"}],Ce={ptzStart:S2,ptzStop:p2,talk:X2,time:w2},R2=function(){function J(H,w){i(this,J),this.coreX=H,this.coreY=w,console.log("uikitCode",Ce)}return a(J,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(w,T){if(Ce[T]){var R={};return Ce[T].map(function(N){N.code==w&&(R=N)}),R}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:T}}}]),J}(),v2=function(){function J(H){var w=this;if(i(this,J),this.jSPlugin=H,this.codeHandler=new R2,this.pluginStatus=new F(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var T=document.createElement("div");T.id=this.jSPlugin.id+"-ez-ptz-item",T.className="ez-ptz-wrap",T.style="display:none";var R=document.createElement("style");R.innerHTML=` |
|
|
.ez-ptz-container { |
|
|
position: relative; |
|
|
width: 80px; |
|
|
height: 80px; |
|
|
background: rgba(255, 255, 255, 0.80); |
|
|
box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%); |
|
|
border: 1px solid rgba(255, 255, 255, 0.80); |
|
|
border-radius: 100%; |
|
|
cursor: pointer; |
|
|
overflow: hidden; |
|
|
user-select: none; |
|
|
} |
|
|
.ez-ptz-container .ez-ptz-icon.top { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 3px solid transparent; |
|
|
border-right: 3px solid transparent; |
|
|
border-bottom: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 3px); |
|
|
top: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.top.active { |
|
|
border-bottom-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.bottom { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 3px solid transparent; |
|
|
border-right: 3px solid transparent; |
|
|
border-top: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 3px); |
|
|
bottom: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.bottom.active { |
|
|
border-top-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.right { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 3px solid transparent; |
|
|
border-bottom: 3px solid transparent; |
|
|
border-left: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 3px); |
|
|
right: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.right.active { |
|
|
border-left-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.left { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 3px solid transparent; |
|
|
border-bottom: 3px solid transparent; |
|
|
border-right: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 3px); |
|
|
left: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.left.active { |
|
|
border-right-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-main.center { |
|
|
width: 23px; |
|
|
height: 23px; |
|
|
background: #1890FF; |
|
|
border-radius: 100%; |
|
|
top: calc(50% - 12.3px); |
|
|
left: calc(50% - 12.3px); |
|
|
position: absolute; |
|
|
} |
|
|
|
|
|
.ez-ptz-wrap { |
|
|
position: absolute; |
|
|
right: 20px; |
|
|
top: calc(50% - 50px); |
|
|
width: 100px; |
|
|
height: 100px; |
|
|
z-index: 999; |
|
|
} |
|
|
|
|
|
.ez-ptz-close { |
|
|
position: absolute; |
|
|
color: #FFFFFF; |
|
|
top: 0; |
|
|
right: 0px; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(R),T.innerHTML=` |
|
|
<div class="ez-ptz-container" id="`.concat(this.jSPlugin.id,`-ez-ptz-container" style="position: relative;width: 80px;height: 80px;background: rgba(255, 255, 255, 0.80);box-shadow: 0px 0px 33px 4px rgba(0, 0, 0, 0.15);border: 1px solid rgba(255, 255, 255, 0.80);border-radius: 100%;cursor: pointer;overflow: hidden;user-select: none;"> |
|
|
<div class="ez-ptz-main center"></div> |
|
|
<div class="ez-ptz-icon top active"></div> |
|
|
<div class="ez-ptz-icon left active"></div> |
|
|
<div class="ez-ptz-icon bottom active"></div> |
|
|
<div class="ez-ptz-icon right active"></div> |
|
|
`),document.getElementById("".concat(H.id,"-wrap")).appendChild(T),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(N){N.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(N,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(N){N.preventDefault(),console.log("触摸结束"),w._handlePtzTouch(N,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(N){N.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(N,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(N){N.preventDefault(),console.log("触摸结束",N),w._handlePtzTouch(N,"stop")}}return a(J,[{key:"show",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: none"}},{key:"_handlePtzTouch",value:function(w,T){var R=this,N=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),z=N.left+41,U=N.top+41,ue=w.x||w.changedTouches[0].clientX,pe=w.y||w.changedTouches[0].clientY,de=ue-z,se=pe-U,re=0,Be=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(de)>Math.abs(se)?de>0?re=3:re=2:se>0?re=1:re=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(re){case 0:re=2;break;case 1:re=3;break;case 2:re=1;break;case 3:re=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(re===0?180:re===1?0:re===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),T==="stop"&&(Be=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var be=new FormData;be.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),be.append("channelNo",S(this.jSPlugin.url).channelNo),be.append("speed",1),be.append("direction",re),be.append("accessToken",this.jSPlugin.accessToken),fetch(Be,{method:"POST",body:be}).then(function(ge){return ge.json()}).then(function(ge){ge.code==200||(console.log(ge.code,R.codeHandler.matchInfo(ge.code,T==="start"?"ptzStart":"ptzStop")),R.pluginStatus.loadingSetText({text:R.codeHandler.matchInfo(ge.code,T==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(ge.code==60005||ge.code==60002||ge.code==60003||ge.code==60004)&&(document.getElementById("".concat(R.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(re===0?180:re===1?0:re===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(ge){console.log("云台调用异常",ge)})}}]),J}();(function(J){if(t(e)==="object")n.exports=J();else{var H;typeof window!="undefined"?H=window:typeof Op!="undefined"?H=Op:typeof self!="undefined"?H=self:H=this,H.adapter=J()}})(function(){return function(){function J(H,w,T){function R(U,ue){if(!w[U]){if(!H[U]){var pe=typeof Bp=="function"&&Bp;if(!ue&&pe)return pe(U,!0);if(N)return N(U,!0);var de=new Error("Cannot find module '"+U+"'");throw de.code="MODULE_NOT_FOUND",de}var se=w[U]={exports:{}};H[U][0].call(se.exports,function(re){var Be=H[U][1][re];return R(Be||re)},se,se.exports,J,H,w,T)}return w[U].exports}for(var N=typeof Bp=="function"&&Bp,z=0;z<T.length;z++)R(T[z]);return R}return J}()({1:[function(J,H,w){var T=J("./adapter_factory.js"),R=(0,T.adapterFactory)({window});window.adapter=R,H.exports=R},{"./adapter_factory.js":2}],2:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.adapterFactory=ye;var T=J("./utils"),R=ge(T),N=J("./chrome/chrome_shim"),z=ge(N),U=J("./edge/edge_shim"),ue=ge(U),pe=J("./firefox/firefox_shim"),de=ge(pe),se=J("./safari/safari_shim"),re=ge(se),Be=J("./common_shim"),be=ge(Be);function ge(Ze){if(Ze&&Ze.__esModule)return Ze;var fe={};if(Ze!=null)for(var O in Ze)Object.prototype.hasOwnProperty.call(Ze,O)&&(fe[O]=Ze[O]);return fe.default=Ze,fe}function ye(){var Ze=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},fe=Ze.window,O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},te=R.log,oe=R.detectBrowser(fe),De={browserDetails:oe,commonShim:be,extractVersion:R.extractVersion,disableLog:R.disableLog,disableWarnings:R.disableWarnings};switch(oe.browser){case"chrome":if(!z||!z.shimPeerConnection||!O.shimChrome)return te("Chrome shim is not included in this adapter release."),De;te("adapter.js shimming chrome."),De.browserShim=z,z.shimGetUserMedia(fe),z.shimMediaStream(fe),z.shimPeerConnection(fe),z.shimOnTrack(fe),z.shimAddTrackRemoveTrack(fe),z.shimGetSendersWithDtmf(fe),z.shimGetStats(fe),z.shimSenderReceiverGetStats(fe),z.fixNegotiationNeeded(fe),be.shimRTCIceCandidate(fe),be.shimConnectionState(fe),be.shimMaxMessageSize(fe),be.shimSendThrowTypeError(fe),be.removeAllowExtmapMixed(fe);break;case"firefox":if(!de||!de.shimPeerConnection||!O.shimFirefox)return te("Firefox shim is not included in this adapter release."),De;te("adapter.js shimming firefox."),De.browserShim=de,de.shimGetUserMedia(fe),de.shimPeerConnection(fe),de.shimOnTrack(fe),de.shimRemoveStream(fe),de.shimSenderGetStats(fe),de.shimReceiverGetStats(fe),de.shimRTCDataChannel(fe),de.shimAddTransceiver(fe),de.shimCreateOffer(fe),de.shimCreateAnswer(fe),be.shimRTCIceCandidate(fe),be.shimConnectionState(fe),be.shimMaxMessageSize(fe),be.shimSendThrowTypeError(fe);break;case"edge":if(!ue||!ue.shimPeerConnection||!O.shimEdge)return te("MS edge shim is not included in this adapter release."),De;te("adapter.js shimming edge."),De.browserShim=ue,ue.shimGetUserMedia(fe),ue.shimGetDisplayMedia(fe),ue.shimPeerConnection(fe),ue.shimReplaceTrack(fe),be.shimMaxMessageSize(fe),be.shimSendThrowTypeError(fe);break;case"safari":if(!re||!O.shimSafari)return te("Safari shim is not included in this adapter release."),De;te("adapter.js shimming safari."),De.browserShim=re,re.shimRTCIceServerUrls(fe),re.shimCreateOfferLegacy(fe),re.shimCallbacksAPI(fe),re.shimLocalStreamsAPI(fe),re.shimRemoteStreamsAPI(fe),re.shimTrackEventTransceiver(fe),re.shimGetUserMedia(fe),be.shimRTCIceCandidate(fe),be.shimMaxMessageSize(fe),be.shimSendThrowTypeError(fe),be.removeAllowExtmapMixed(fe);break;default:te("Unsupported browser!");break}return De}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(O){return t(O)}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":t(O)},R=J("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return R.shimGetUserMedia}});var N=J("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return N.shimGetDisplayMedia}}),w.shimMediaStream=de,w.shimOnTrack=se,w.shimGetSendersWithDtmf=re,w.shimGetStats=Be,w.shimSenderReceiverGetStats=be,w.shimAddTrackRemoveTrackWithNative=ge,w.shimAddTrackRemoveTrack=ye,w.shimPeerConnection=Ze,w.fixNegotiationNeeded=fe;var z=J("../utils.js"),U=ue(z);function ue(O){if(O&&O.__esModule)return O;var te={};if(O!=null)for(var oe in O)Object.prototype.hasOwnProperty.call(O,oe)&&(te[oe]=O[oe]);return te.default=O,te}function pe(O,te,oe){return te in O?Object.defineProperty(O,te,{value:oe,enumerable:!0,configurable:!0,writable:!0}):O[te]=oe,O}function de(O){O.MediaStream=O.MediaStream||O.webkitMediaStream}function se(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&!("ontrack"in O.RTCPeerConnection.prototype)){Object.defineProperty(O.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(De){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=De)},enumerable:!0,configurable:!0});var te=O.RTCPeerConnection.prototype.setRemoteDescription;O.RTCPeerConnection.prototype.setRemoteDescription=function(){var De=this;return this._ontrackpoly||(this._ontrackpoly=function(He){He.stream.addEventListener("addtrack",function(i2){var a2=void 0;O.RTCPeerConnection.prototype.getReceivers?a2=De.getReceivers().find(function(G2){return G2.track&&G2.track.id===i2.track.id}):a2={track:i2.track};var x2=new Event("track");x2.track=i2.track,x2.receiver=a2,x2.transceiver={receiver:a2},x2.streams=[He.stream],De.dispatchEvent(x2)}),He.stream.getTracks().forEach(function(i2){var a2=void 0;O.RTCPeerConnection.prototype.getReceivers?a2=De.getReceivers().find(function(G2){return G2.track&&G2.track.id===i2.id}):a2={track:i2};var x2=new Event("track");x2.track=i2,x2.receiver=a2,x2.transceiver={receiver:a2},x2.streams=[He.stream],De.dispatchEvent(x2)})},this.addEventListener("addstream",this._ontrackpoly)),te.apply(this,arguments)}}else U.wrapPeerConnectionEvent(O,"track",function(oe){return oe.transceiver||Object.defineProperty(oe,"transceiver",{value:{receiver:oe.receiver}}),oe})}function re(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&!("getSenders"in O.RTCPeerConnection.prototype)&&"createDTMFSender"in O.RTCPeerConnection.prototype){var te=function(G2,$2){return{track:$2,get dtmf(){return this._dtmf===void 0&&($2.kind==="audio"?this._dtmf=G2.createDTMFSender($2):this._dtmf=null),this._dtmf},_pc:G2}};if(!O.RTCPeerConnection.prototype.getSenders){O.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var oe=O.RTCPeerConnection.prototype.addTrack;O.RTCPeerConnection.prototype.addTrack=function(G2,$2){var F2=oe.apply(this,arguments);return F2||(F2=te(this,G2),this._senders.push(F2)),F2};var De=O.RTCPeerConnection.prototype.removeTrack;O.RTCPeerConnection.prototype.removeTrack=function(G2){De.apply(this,arguments);var $2=this._senders.indexOf(G2);$2!==-1&&this._senders.splice($2,1)}}var He=O.RTCPeerConnection.prototype.addStream;O.RTCPeerConnection.prototype.addStream=function(G2){var $2=this;this._senders=this._senders||[],He.apply(this,[G2]),G2.getTracks().forEach(function(F2){$2._senders.push(te($2,F2))})};var i2=O.RTCPeerConnection.prototype.removeStream;O.RTCPeerConnection.prototype.removeStream=function(G2){var $2=this;this._senders=this._senders||[],i2.apply(this,[G2]),G2.getTracks().forEach(function(F2){var Dt=$2._senders.find(function(Ut){return Ut.track===F2});Dt&&$2._senders.splice($2._senders.indexOf(Dt),1)})}}else if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&"getSenders"in O.RTCPeerConnection.prototype&&"createDTMFSender"in O.RTCPeerConnection.prototype&&O.RTCRtpSender&&!("dtmf"in O.RTCRtpSender.prototype)){var a2=O.RTCPeerConnection.prototype.getSenders;O.RTCPeerConnection.prototype.getSenders=function(){var G2=this,$2=a2.apply(this,[]);return $2.forEach(function(F2){return F2._pc=G2}),$2},Object.defineProperty(O.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Be(O){if(O.RTCPeerConnection){var te=O.RTCPeerConnection.prototype.getStats;O.RTCPeerConnection.prototype.getStats=function(){var De=this,He=Array.prototype.slice.call(arguments),i2=He[0],a2=He[1],x2=He[2];if(arguments.length>0&&typeof i2=="function")return te.apply(this,arguments);if(te.length===0&&(arguments.length===0||typeof i2!="function"))return te.apply(this,[]);var G2=function(Ut){var zt={},i3=Ut.result();return i3.forEach(function(e3){var c3={id:e3.id,timestamp:e3.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e3.type]||e3.type};e3.names().forEach(function(e1){c3[e1]=e3.stat(e1)}),zt[c3.id]=c3}),zt},$2=function(Ut){return new Map(Object.keys(Ut).map(function(zt){return[zt,Ut[zt]]}))};if(arguments.length>=2){var F2=function(Ut){a2($2(G2(Ut)))};return te.apply(this,[F2,i2])}return new Promise(function(Dt,Ut){te.apply(De,[function(zt){Dt($2(G2(zt)))},Ut])}).then(a2,x2)}}}function be(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&O.RTCRtpSender&&O.RTCRtpReceiver){if(!("getStats"in O.RTCRtpSender.prototype)){var te=O.RTCPeerConnection.prototype.getSenders;te&&(O.RTCPeerConnection.prototype.getSenders=function(){var a2=this,x2=te.apply(this,[]);return x2.forEach(function(G2){return G2._pc=a2}),x2});var oe=O.RTCPeerConnection.prototype.addTrack;oe&&(O.RTCPeerConnection.prototype.addTrack=function(){var a2=oe.apply(this,arguments);return a2._pc=this,a2}),O.RTCRtpSender.prototype.getStats=function(){var a2=this;return this._pc.getStats().then(function(x2){return U.filterStats(x2,a2.track,!0)})}}if(!("getStats"in O.RTCRtpReceiver.prototype)){var De=O.RTCPeerConnection.prototype.getReceivers;De&&(O.RTCPeerConnection.prototype.getReceivers=function(){var a2=this,x2=De.apply(this,[]);return x2.forEach(function(G2){return G2._pc=a2}),x2}),U.wrapPeerConnectionEvent(O,"track",function(i2){return i2.receiver._pc=i2.srcElement,i2}),O.RTCRtpReceiver.prototype.getStats=function(){var a2=this;return this._pc.getStats().then(function(x2){return U.filterStats(x2,a2.track,!1)})}}if("getStats"in O.RTCRtpSender.prototype&&"getStats"in O.RTCRtpReceiver.prototype){var He=O.RTCPeerConnection.prototype.getStats;O.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof O.MediaStreamTrack){var a2=arguments[0],x2=void 0,G2=void 0,$2=void 0;return this.getSenders().forEach(function(F2){F2.track===a2&&(x2?$2=!0:x2=F2)}),this.getReceivers().forEach(function(F2){return F2.track===a2&&(G2?$2=!0:G2=F2),F2.track===a2}),$2||x2&&G2?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):x2?x2.getStats():G2?G2.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return He.apply(this,arguments)}}}}function ge(O){O.RTCPeerConnection.prototype.getLocalStreams=function(){var a2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(x2){return a2._shimmedLocalStreams[x2][0]})};var te=O.RTCPeerConnection.prototype.addTrack;O.RTCPeerConnection.prototype.addTrack=function(a2,x2){if(!x2)return te.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var G2=te.apply(this,arguments);return this._shimmedLocalStreams[x2.id]?this._shimmedLocalStreams[x2.id].indexOf(G2)===-1&&this._shimmedLocalStreams[x2.id].push(G2):this._shimmedLocalStreams[x2.id]=[x2,G2],G2};var oe=O.RTCPeerConnection.prototype.addStream;O.RTCPeerConnection.prototype.addStream=function(a2){var x2=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},a2.getTracks().forEach(function(F2){var Dt=x2.getSenders().find(function(Ut){return Ut.track===F2});if(Dt)throw new DOMException("Track already exists.","InvalidAccessError")});var G2=this.getSenders();oe.apply(this,arguments);var $2=this.getSenders().filter(function(F2){return G2.indexOf(F2)===-1});this._shimmedLocalStreams[a2.id]=[a2].concat($2)};var De=O.RTCPeerConnection.prototype.removeStream;O.RTCPeerConnection.prototype.removeStream=function(a2){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a2.id],De.apply(this,arguments)};var He=O.RTCPeerConnection.prototype.removeTrack;O.RTCPeerConnection.prototype.removeTrack=function(a2){var x2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a2&&Object.keys(this._shimmedLocalStreams).forEach(function(G2){var $2=x2._shimmedLocalStreams[G2].indexOf(a2);$2!==-1&&x2._shimmedLocalStreams[G2].splice($2,1),x2._shimmedLocalStreams[G2].length===1&&delete x2._shimmedLocalStreams[G2]}),He.apply(this,arguments)}}function ye(O){if(!O.RTCPeerConnection)return;var te=U.detectBrowser(O);if(O.RTCPeerConnection.prototype.addTrack&&te.version>=65)return ge(O);var oe=O.RTCPeerConnection.prototype.getLocalStreams;O.RTCPeerConnection.prototype.getLocalStreams=function(){var F2=this,Dt=oe.apply(this);return this._reverseStreams=this._reverseStreams||{},Dt.map(function(Ut){return F2._reverseStreams[Ut.id]})};var De=O.RTCPeerConnection.prototype.addStream;O.RTCPeerConnection.prototype.addStream=function(F2){var Dt=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},F2.getTracks().forEach(function(zt){var i3=Dt.getSenders().find(function(e3){return e3.track===zt});if(i3)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[F2.id]){var Ut=new O.MediaStream(F2.getTracks());this._streams[F2.id]=Ut,this._reverseStreams[Ut.id]=F2,F2=Ut}De.apply(this,[F2])};var He=O.RTCPeerConnection.prototype.removeStream;O.RTCPeerConnection.prototype.removeStream=function(F2){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},He.apply(this,[this._streams[F2.id]||F2]),delete this._reverseStreams[this._streams[F2.id]?this._streams[F2.id].id:F2.id],delete this._streams[F2.id]},O.RTCPeerConnection.prototype.addTrack=function(F2,Dt){var Ut=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var zt=[].slice.call(arguments,1);if(zt.length!==1||!zt[0].getTracks().find(function(e1){return e1===F2}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var i3=this.getSenders().find(function(e1){return e1.track===F2});if(i3)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var e3=this._streams[Dt.id];if(e3)e3.addTrack(F2),Promise.resolve().then(function(){Ut.dispatchEvent(new Event("negotiationneeded"))});else{var c3=new O.MediaStream([F2]);this._streams[Dt.id]=c3,this._reverseStreams[c3.id]=Dt,this.addStream(c3)}return this.getSenders().find(function(e1){return e1.track===F2})};function i2($2,F2){var Dt=F2.sdp;return Object.keys($2._reverseStreams||[]).forEach(function(Ut){var zt=$2._reverseStreams[Ut],i3=$2._streams[zt.id];Dt=Dt.replace(new RegExp(i3.id,"g"),zt.id)}),new RTCSessionDescription({type:F2.type,sdp:Dt})}function a2($2,F2){var Dt=F2.sdp;return Object.keys($2._reverseStreams||[]).forEach(function(Ut){var zt=$2._reverseStreams[Ut],i3=$2._streams[zt.id];Dt=Dt.replace(new RegExp(zt.id,"g"),i3.id)}),new RTCSessionDescription({type:F2.type,sdp:Dt})}["createOffer","createAnswer"].forEach(function($2){var F2=O.RTCPeerConnection.prototype[$2],Dt=pe({},$2,function(){var Ut=this,zt=arguments,i3=arguments.length&&typeof arguments[0]=="function";return i3?F2.apply(this,[function(e3){var c3=i2(Ut,e3);zt[0].apply(null,[c3])},function(e3){zt[1]&&zt[1].apply(null,e3)},arguments[2]]):F2.apply(this,arguments).then(function(e3){return i2(Ut,e3)})});O.RTCPeerConnection.prototype[$2]=Dt[$2]});var x2=O.RTCPeerConnection.prototype.setLocalDescription;O.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?x2.apply(this,arguments):(arguments[0]=a2(this,arguments[0]),x2.apply(this,arguments))};var G2=Object.getOwnPropertyDescriptor(O.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(O.RTCPeerConnection.prototype,"localDescription",{get:function(){var F2=G2.get.apply(this);return F2.type===""?F2:i2(this,F2)}}),O.RTCPeerConnection.prototype.removeTrack=function(F2){var Dt=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!F2._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var Ut=F2._pc===this;if(!Ut)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var zt=void 0;Object.keys(this._streams).forEach(function(i3){var e3=Dt._streams[i3].getTracks().find(function(c3){return F2.track===c3});e3&&(zt=Dt._streams[i3])}),zt&&(zt.getTracks().length===1?this.removeStream(this._reverseStreams[zt.id]):zt.removeTrack(F2.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Ze(O){var te=U.detectBrowser(O);if(!O.RTCPeerConnection&&O.webkitRTCPeerConnection&&(O.RTCPeerConnection=O.webkitRTCPeerConnection),!!O.RTCPeerConnection){te.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(De){var He=O.RTCPeerConnection.prototype[De],i2=pe({},De,function(){return arguments[0]=new(De==="addIceCandidate"?O.RTCIceCandidate:O.RTCSessionDescription)(arguments[0]),He.apply(this,arguments)});O.RTCPeerConnection.prototype[De]=i2[De]});var oe=O.RTCPeerConnection.prototype.addIceCandidate;O.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?te.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():oe.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function fe(O){U.wrapPeerConnectionEvent(O,"negotiationneeded",function(te){var oe=te.target;if(oe.signalingState==="stable")return te})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(R,N){if(!(R.navigator.mediaDevices&&"getDisplayMedia"in R.navigator.mediaDevices)&&R.navigator.mediaDevices){if(typeof N!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}R.navigator.mediaDevices.getDisplayMedia=function(U){return N(U).then(function(ue){var pe=U.video&&U.video.width,de=U.video&&U.video.height,se=U.video&&U.video.frameRate;return U.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:ue,maxFrameRate:se||3}},pe&&(U.video.mandatory.maxWidth=pe),de&&(U.video.mandatory.maxHeight=de),R.navigator.mediaDevices.getUserMedia(U)})}}}},{}],5:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(pe){return t(pe)}:function(pe){return pe&&typeof Symbol=="function"&&pe.constructor===Symbol&&pe!==Symbol.prototype?"symbol":t(pe)};w.shimGetUserMedia=ue;var R=J("../utils.js"),N=z(R);function z(pe){if(pe&&pe.__esModule)return pe;var de={};if(pe!=null)for(var se in pe)Object.prototype.hasOwnProperty.call(pe,se)&&(de[se]=pe[se]);return de.default=pe,de}var U=N.log;function ue(pe){var de=pe&&pe.navigator;if(de.mediaDevices){var se=N.detectBrowser(pe),re=function(fe){if((typeof fe=="undefined"?"undefined":T(fe))!=="object"||fe.mandatory||fe.optional)return fe;var O={};return Object.keys(fe).forEach(function(te){if(!(te==="require"||te==="advanced"||te==="mediaSource")){var oe=T(fe[te])==="object"?fe[te]:{ideal:fe[te]};oe.exact!==void 0&&typeof oe.exact=="number"&&(oe.min=oe.max=oe.exact);var De=function(a2,x2){return a2?a2+x2.charAt(0).toUpperCase()+x2.slice(1):x2==="deviceId"?"sourceId":x2};if(oe.ideal!==void 0){O.optional=O.optional||[];var He={};typeof oe.ideal=="number"?(He[De("min",te)]=oe.ideal,O.optional.push(He),He={},He[De("max",te)]=oe.ideal,O.optional.push(He)):(He[De("",te)]=oe.ideal,O.optional.push(He))}oe.exact!==void 0&&typeof oe.exact!="number"?(O.mandatory=O.mandatory||{},O.mandatory[De("",te)]=oe.exact):["min","max"].forEach(function(i2){oe[i2]!==void 0&&(O.mandatory=O.mandatory||{},O.mandatory[De(i2,te)]=oe[i2])})}}),fe.advanced&&(O.optional=(O.optional||[]).concat(fe.advanced)),O},Be=function(fe,O){if(se.version>=61)return O(fe);if(fe=JSON.parse(JSON.stringify(fe)),fe&&T(fe.audio)==="object"){var te=function(a2,x2,G2){x2 in a2&&!(G2 in a2)&&(a2[G2]=a2[x2],delete a2[x2])};fe=JSON.parse(JSON.stringify(fe)),te(fe.audio,"autoGainControl","googAutoGainControl"),te(fe.audio,"noiseSuppression","googNoiseSuppression"),fe.audio=re(fe.audio)}if(fe&&T(fe.video)==="object"){var oe=fe.video.facingMode;oe=oe&&((typeof oe=="undefined"?"undefined":T(oe))==="object"?oe:{ideal:oe});var De=se.version<66;if(oe&&(oe.exact==="user"||oe.exact==="environment"||oe.ideal==="user"||oe.ideal==="environment")&&!(de.mediaDevices.getSupportedConstraints&&de.mediaDevices.getSupportedConstraints().facingMode&&!De)){delete fe.video.facingMode;var He=void 0;if(oe.exact==="environment"||oe.ideal==="environment"?He=["back","rear"]:(oe.exact==="user"||oe.ideal==="user")&&(He=["front"]),He)return de.mediaDevices.enumerateDevices().then(function(i2){i2=i2.filter(function(x2){return x2.kind==="videoinput"});var a2=i2.find(function(x2){return He.some(function(G2){return x2.label.toLowerCase().includes(G2)})});return!a2&&i2.length&&He.includes("back")&&(a2=i2[i2.length-1]),a2&&(fe.video.deviceId=oe.exact?{exact:a2.deviceId}:{ideal:a2.deviceId}),fe.video=re(fe.video),U("chrome: "+JSON.stringify(fe)),O(fe)})}fe.video=re(fe.video)}return U("chrome: "+JSON.stringify(fe)),O(fe)},be=function(fe){return se.version>=64?fe:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[fe.name]||fe.name,message:fe.message,constraint:fe.constraint||fe.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},ge=function(fe,O,te){Be(fe,function(oe){de.webkitGetUserMedia(oe,O,function(De){te&&te(be(De))})})};if(de.getUserMedia=ge.bind(de),de.mediaDevices.getUserMedia){var ye=de.mediaDevices.getUserMedia.bind(de.mediaDevices);de.mediaDevices.getUserMedia=function(Ze){return Be(Ze,function(fe){return ye(fe).then(function(O){if(fe.audio&&!O.getAudioTracks().length||fe.video&&!O.getVideoTracks().length)throw O.getTracks().forEach(function(te){te.stop()}),new DOMException("","NotFoundError");return O},function(O){return Promise.reject(be(O))})})}}}}},{"../utils.js":15}],6:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(ge){return t(ge)}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":t(ge)};w.shimRTCIceCandidate=de,w.shimMaxMessageSize=se,w.shimSendThrowTypeError=re,w.shimConnectionState=Be,w.removeAllowExtmapMixed=be;var R=J("sdp"),N=pe(R),z=J("./utils"),U=ue(z);function ue(ge){if(ge&&ge.__esModule)return ge;var ye={};if(ge!=null)for(var Ze in ge)Object.prototype.hasOwnProperty.call(ge,Ze)&&(ye[Ze]=ge[Ze]);return ye.default=ge,ye}function pe(ge){return ge&&ge.__esModule?ge:{default:ge}}function de(ge){if(!(!ge.RTCIceCandidate||ge.RTCIceCandidate&&"foundation"in ge.RTCIceCandidate.prototype)){var ye=ge.RTCIceCandidate;ge.RTCIceCandidate=function(fe){if((typeof fe=="undefined"?"undefined":T(fe))==="object"&&fe.candidate&&fe.candidate.indexOf("a=")===0&&(fe=JSON.parse(JSON.stringify(fe)),fe.candidate=fe.candidate.substr(2)),fe.candidate&&fe.candidate.length){var O=new ye(fe),te=N.default.parseCandidate(fe.candidate),oe=Object.assign(O,te);return oe.toJSON=function(){return{candidate:oe.candidate,sdpMid:oe.sdpMid,sdpMLineIndex:oe.sdpMLineIndex,usernameFragment:oe.usernameFragment}},oe}return new ye(fe)},ge.RTCIceCandidate.prototype=ye.prototype,U.wrapPeerConnectionEvent(ge,"icecandidate",function(Ze){return Ze.candidate&&Object.defineProperty(Ze,"candidate",{value:new ge.RTCIceCandidate(Ze.candidate),writable:"false"}),Ze})}}function se(ge){if(ge.RTCPeerConnection){var ye=U.detectBrowser(ge);"sctp"in ge.RTCPeerConnection.prototype||Object.defineProperty(ge.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var Ze=function(He){if(!He||!He.sdp)return!1;var i2=N.default.splitSections(He.sdp);return i2.shift(),i2.some(function(a2){var x2=N.default.parseMLine(a2);return x2&&x2.kind==="application"&&x2.protocol.indexOf("SCTP")!==-1})},fe=function(He){var i2=He.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(i2===null||i2.length<2)return-1;var a2=parseInt(i2[1],10);return a2!==a2?-1:a2},O=function(He){var i2=65536;return ye.browser==="firefox"&&(ye.version<57?He===-1?i2=16384:i2=2147483637:ye.version<60?i2=ye.version===57?65535:65536:i2=2147483637),i2},te=function(He,i2){var a2=65536;ye.browser==="firefox"&&ye.version===57&&(a2=65535);var x2=N.default.matchPrefix(He.sdp,"a=max-message-size:");return x2.length>0?a2=parseInt(x2[0].substr(19),10):ye.browser==="firefox"&&i2!==-1&&(a2=2147483637),a2},oe=ge.RTCPeerConnection.prototype.setRemoteDescription;ge.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,ye.browser==="chrome"&&ye.version>=76){var He=this.getConfiguration(),i2=He.sdpSemantics;i2==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(Ze(arguments[0])){var a2=fe(arguments[0]),x2=O(a2),G2=te(arguments[0],a2),$2=void 0;x2===0&&G2===0?$2=Number.POSITIVE_INFINITY:x2===0||G2===0?$2=Math.max(x2,G2):$2=Math.min(x2,G2);var F2={};Object.defineProperty(F2,"maxMessageSize",{get:function(){return $2}}),this._sctp=F2}return oe.apply(this,arguments)}}}function re(ge){if(!(ge.RTCPeerConnection&&"createDataChannel"in ge.RTCPeerConnection.prototype))return;function ye(fe,O){var te=fe.send;fe.send=function(){var De=arguments[0],He=De.length||De.size||De.byteLength;if(fe.readyState==="open"&&O.sctp&&He>O.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+O.sctp.maxMessageSize+" bytes)");return te.apply(fe,arguments)}}var Ze=ge.RTCPeerConnection.prototype.createDataChannel;ge.RTCPeerConnection.prototype.createDataChannel=function(){var O=Ze.apply(this,arguments);return ye(O,this),O},U.wrapPeerConnectionEvent(ge,"datachannel",function(fe){return ye(fe.channel,fe.target),fe})}function Be(ge){if(!(!ge.RTCPeerConnection||"connectionState"in ge.RTCPeerConnection.prototype)){var ye=ge.RTCPeerConnection.prototype;Object.defineProperty(ye,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(ye,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(fe){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),fe&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=fe)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(Ze){var fe=ye[Ze];ye[Ze]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(O){var te=O.target;if(te._lastConnectionState!==te.connectionState){te._lastConnectionState=te.connectionState;var oe=new Event("connectionstatechange",O);te.dispatchEvent(oe)}return O},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),fe.apply(this,arguments)}})}}function be(ge){if(ge.RTCPeerConnection){var ye=U.detectBrowser(ge);if(!(ye.browser==="chrome"&&ye.version>=71)){var Ze=ge.RTCPeerConnection.prototype.setRemoteDescription;ge.RTCPeerConnection.prototype.setRemoteDescription=function(O){return O&&O.sdp&&O.sdp.indexOf(` |
|
|
a=extmap-allow-mixed`)!==-1&&(O.sdp=O.sdp.split(` |
|
|
`).filter(function(te){return te.trim()!=="a=extmap-allow-mixed"}).join(` |
|
|
`)),Ze.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=J("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return T.shimGetUserMedia}});var R=J("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return R.shimGetDisplayMedia}}),w.shimPeerConnection=re,w.shimReplaceTrack=Be;var N=J("../utils"),z=se(N),U=J("./filtericeservers"),ue=J("rtcpeerconnection-shim"),pe=de(ue);function de(be){return be&&be.__esModule?be:{default:be}}function se(be){if(be&&be.__esModule)return be;var ge={};if(be!=null)for(var ye in be)Object.prototype.hasOwnProperty.call(be,ye)&&(ge[ye]=be[ye]);return ge.default=be,ge}function re(be){var ge=z.detectBrowser(be);if(be.RTCIceGatherer&&(be.RTCIceCandidate||(be.RTCIceCandidate=function(O){return O}),be.RTCSessionDescription||(be.RTCSessionDescription=function(O){return O}),ge.version<15025)){var ye=Object.getOwnPropertyDescriptor(be.MediaStreamTrack.prototype,"enabled");Object.defineProperty(be.MediaStreamTrack.prototype,"enabled",{set:function(O){ye.set.call(this,O);var te=new Event("enabled");te.enabled=O,this.dispatchEvent(te)}})}be.RTCRtpSender&&!("dtmf"in be.RTCRtpSender.prototype)&&Object.defineProperty(be.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new be.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),be.RTCDtmfSender&&!be.RTCDTMFSender&&(be.RTCDTMFSender=be.RTCDtmfSender);var Ze=(0,pe.default)(be,ge.version);be.RTCPeerConnection=function(O){return O&&O.iceServers&&(O.iceServers=(0,U.filterIceServers)(O.iceServers,ge.version),z.log("ICE servers after filtering:",O.iceServers)),new Ze(O)},be.RTCPeerConnection.prototype=Ze.prototype}function Be(be){be.RTCRtpSender&&!("replaceTrack"in be.RTCRtpSender.prototype)&&(be.RTCRtpSender.prototype.replaceTrack=be.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.filterIceServers=z;var T=J("../utils"),R=N(T);function N(U){if(U&&U.__esModule)return U;var ue={};if(U!=null)for(var pe in U)Object.prototype.hasOwnProperty.call(U,pe)&&(ue[pe]=U[pe]);return ue.default=U,ue}function z(U,ue){var pe=!1;return U=JSON.parse(JSON.stringify(U)),U.filter(function(de){if(de&&(de.urls||de.url)){var se=de.urls||de.url;de.url&&!de.urls&&R.deprecated("RTCIceServer.url","RTCIceServer.urls");var re=typeof se=="string";return re&&(se=[se]),se=se.filter(function(Be){if(Be.indexOf("stun:")===0)return!1;var be=Be.startsWith("turn")&&!Be.startsWith("turn:[")&&Be.includes("transport=udp");return be&&!pe?(pe=!0,!0):be&&!pe}),delete de.url,de.urls=re?se[0]:se,!!se.length}})}},{"../utils":15}],9:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(R){"getDisplayMedia"in R.navigator&&R.navigator.mediaDevices&&(R.navigator.mediaDevices&&"getDisplayMedia"in R.navigator.mediaDevices||(R.navigator.mediaDevices.getDisplayMedia=R.navigator.getDisplayMedia.bind(R.navigator)))}},{}],10:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetUserMedia=T;function T(R){var N=R&&R.navigator,z=function(pe){return{name:{PermissionDeniedError:"NotAllowedError"}[pe.name]||pe.name,message:pe.message,constraint:pe.constraint,toString:function(){return this.name}}},U=N.mediaDevices.getUserMedia.bind(N.mediaDevices);N.mediaDevices.getUserMedia=function(ue){return U(ue).catch(function(pe){return Promise.reject(z(pe))})}}},{}],11:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(O){return t(O)}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":t(O)},R=J("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return R.shimGetUserMedia}});var N=J("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return N.shimGetDisplayMedia}}),w.shimOnTrack=de,w.shimPeerConnection=se,w.shimSenderGetStats=re,w.shimReceiverGetStats=Be,w.shimRemoveStream=be,w.shimRTCDataChannel=ge,w.shimAddTransceiver=ye,w.shimCreateOffer=Ze,w.shimCreateAnswer=fe;var z=J("../utils"),U=ue(z);function ue(O){if(O&&O.__esModule)return O;var te={};if(O!=null)for(var oe in O)Object.prototype.hasOwnProperty.call(O,oe)&&(te[oe]=O[oe]);return te.default=O,te}function pe(O,te,oe){return te in O?Object.defineProperty(O,te,{value:oe,enumerable:!0,configurable:!0,writable:!0}):O[te]=oe,O}function de(O){(typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCTrackEvent&&"receiver"in O.RTCTrackEvent.prototype&&!("transceiver"in O.RTCTrackEvent.prototype)&&Object.defineProperty(O.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function se(O){var te=U.detectBrowser(O);if(!((typeof O=="undefined"?"undefined":T(O))!=="object"||!(O.RTCPeerConnection||O.mozRTCPeerConnection))){if(!O.RTCPeerConnection&&O.mozRTCPeerConnection&&(O.RTCPeerConnection=O.mozRTCPeerConnection),te.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i2){var a2=O.RTCPeerConnection.prototype[i2],x2=pe({},i2,function(){return arguments[0]=new(i2==="addIceCandidate"?O.RTCIceCandidate:O.RTCSessionDescription)(arguments[0]),a2.apply(this,arguments)});O.RTCPeerConnection.prototype[i2]=x2[i2]}),te.version<68){var oe=O.RTCPeerConnection.prototype.addIceCandidate;O.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():oe.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var De={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},He=O.RTCPeerConnection.prototype.getStats;O.RTCPeerConnection.prototype.getStats=function(){var a2=Array.prototype.slice.call(arguments),x2=a2[0],G2=a2[1],$2=a2[2];return He.apply(this,[x2||null]).then(function(F2){if(te.version<53&&!G2)try{F2.forEach(function(Dt){Dt.type=De[Dt.type]||Dt.type})}catch(Dt){if(Dt.name!=="TypeError")throw Dt;F2.forEach(function(Ut,zt){F2.set(zt,Object.assign({},Ut,{type:De[Ut.type]||Ut.type}))})}return F2}).then(G2,$2)}}}function re(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&O.RTCRtpSender&&!(O.RTCRtpSender&&"getStats"in O.RTCRtpSender.prototype)){var te=O.RTCPeerConnection.prototype.getSenders;te&&(O.RTCPeerConnection.prototype.getSenders=function(){var He=this,i2=te.apply(this,[]);return i2.forEach(function(a2){return a2._pc=He}),i2});var oe=O.RTCPeerConnection.prototype.addTrack;oe&&(O.RTCPeerConnection.prototype.addTrack=function(){var He=oe.apply(this,arguments);return He._pc=this,He}),O.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function Be(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection&&O.RTCRtpSender&&!(O.RTCRtpSender&&"getStats"in O.RTCRtpReceiver.prototype)){var te=O.RTCPeerConnection.prototype.getReceivers;te&&(O.RTCPeerConnection.prototype.getReceivers=function(){var De=this,He=te.apply(this,[]);return He.forEach(function(i2){return i2._pc=De}),He}),U.wrapPeerConnectionEvent(O,"track",function(oe){return oe.receiver._pc=oe.srcElement,oe}),O.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function be(O){!O.RTCPeerConnection||"removeStream"in O.RTCPeerConnection.prototype||(O.RTCPeerConnection.prototype.removeStream=function(oe){var De=this;U.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(He){He.track&&oe.getTracks().includes(He.track)&&De.removeTrack(He)})})}function ge(O){O.DataChannel&&!O.RTCDataChannel&&(O.RTCDataChannel=O.DataChannel)}function ye(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection){var te=O.RTCPeerConnection.prototype.addTransceiver;te&&(O.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var De=arguments[1],He=De&&"sendEncodings"in De;He&&De.sendEncodings.forEach(function(G2){if("rid"in G2){var $2=/^[a-z0-9]{0,16}$/i;if(!$2.test(G2.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in G2&&!(parseFloat(G2.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in G2&&!(parseFloat(G2.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var i2=te.apply(this,arguments);if(He){var a2=i2.sender,x2=a2.getParameters();"encodings"in x2||(x2.encodings=De.sendEncodings,this.setParametersPromises.push(a2.setParameters(x2).catch(function(){})))}return i2})}}function Ze(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection){var te=O.RTCPeerConnection.prototype.createOffer;O.RTCPeerConnection.prototype.createOffer=function(){var De=this,He=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return te.apply(De,He)}).finally(function(){De.setParametersPromises=[]}):te.apply(this,arguments)}}}function fe(O){if((typeof O=="undefined"?"undefined":T(O))==="object"&&O.RTCPeerConnection){var te=O.RTCPeerConnection.prototype.createAnswer;O.RTCPeerConnection.prototype.createAnswer=function(){var De=this,He=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return te.apply(De,He)}).finally(function(){De.setParametersPromises=[]}):te.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(R,N){R.navigator.mediaDevices&&"getDisplayMedia"in R.navigator.mediaDevices||R.navigator.mediaDevices&&(R.navigator.mediaDevices.getDisplayMedia=function(U){if(!(U&&U.video)){var ue=new DOMException("getDisplayMedia without video constraints is undefined");return ue.name="NotFoundError",ue.code=8,Promise.reject(ue)}return U.video===!0?U.video={mediaSource:N}:U.video.mediaSource=N,R.navigator.mediaDevices.getUserMedia(U)})}},{}],13:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(ue){return t(ue)}:function(ue){return ue&&typeof Symbol=="function"&&ue.constructor===Symbol&&ue!==Symbol.prototype?"symbol":t(ue)};w.shimGetUserMedia=U;var R=J("../utils"),N=z(R);function z(ue){if(ue&&ue.__esModule)return ue;var pe={};if(ue!=null)for(var de in ue)Object.prototype.hasOwnProperty.call(ue,de)&&(pe[de]=ue[de]);return pe.default=ue,pe}function U(ue){var pe=N.detectBrowser(ue),de=ue&&ue.navigator,se=ue&&ue.MediaStreamTrack;if(de.getUserMedia=function(ye,Ze,fe){N.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),de.mediaDevices.getUserMedia(ye).then(Ze,fe)},!(pe.version>55&&"autoGainControl"in de.mediaDevices.getSupportedConstraints())){var re=function(Ze,fe,O){fe in Ze&&!(O in Ze)&&(Ze[O]=Ze[fe],delete Ze[fe])},Be=de.mediaDevices.getUserMedia.bind(de.mediaDevices);if(de.mediaDevices.getUserMedia=function(ye){return(typeof ye=="undefined"?"undefined":T(ye))==="object"&&T(ye.audio)==="object"&&(ye=JSON.parse(JSON.stringify(ye)),re(ye.audio,"autoGainControl","mozAutoGainControl"),re(ye.audio,"noiseSuppression","mozNoiseSuppression")),Be(ye)},se&&se.prototype.getSettings){var be=se.prototype.getSettings;se.prototype.getSettings=function(){var ye=be.apply(this,arguments);return re(ye,"mozAutoGainControl","autoGainControl"),re(ye,"mozNoiseSuppression","noiseSuppression"),ye}}if(se&&se.prototype.applyConstraints){var ge=se.prototype.applyConstraints;se.prototype.applyConstraints=function(ye){return this.kind==="audio"&&(typeof ye=="undefined"?"undefined":T(ye))==="object"&&(ye=JSON.parse(JSON.stringify(ye)),re(ye,"autoGainControl","mozAutoGainControl"),re(ye,"noiseSuppression","mozNoiseSuppression")),ge.apply(this,[ye])}}}}},{"../utils":15}],14:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(ge){return t(ge)}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":t(ge)};w.shimLocalStreamsAPI=U,w.shimRemoteStreamsAPI=ue,w.shimCallbacksAPI=pe,w.shimGetUserMedia=de,w.shimConstraints=se,w.shimRTCIceServerUrls=re,w.shimTrackEventTransceiver=Be,w.shimCreateOfferLegacy=be;var R=J("../utils"),N=z(R);function z(ge){if(ge&&ge.__esModule)return ge;var ye={};if(ge!=null)for(var Ze in ge)Object.prototype.hasOwnProperty.call(ge,Ze)&&(ye[Ze]=ge[Ze]);return ye.default=ge,ye}function U(ge){if(!((typeof ge=="undefined"?"undefined":T(ge))!=="object"||!ge.RTCPeerConnection)){if("getLocalStreams"in ge.RTCPeerConnection.prototype||(ge.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in ge.RTCPeerConnection.prototype)){var ye=ge.RTCPeerConnection.prototype.addTrack;ge.RTCPeerConnection.prototype.addStream=function(fe){var O=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(fe)||this._localStreams.push(fe),fe.getAudioTracks().forEach(function(te){return ye.call(O,te,fe)}),fe.getVideoTracks().forEach(function(te){return ye.call(O,te,fe)})},ge.RTCPeerConnection.prototype.addTrack=function(fe){var O=arguments[1];return O&&(this._localStreams?this._localStreams.includes(O)||this._localStreams.push(O):this._localStreams=[O]),ye.apply(this,arguments)}}"removeStream"in ge.RTCPeerConnection.prototype||(ge.RTCPeerConnection.prototype.removeStream=function(fe){var O=this;this._localStreams||(this._localStreams=[]);var te=this._localStreams.indexOf(fe);if(te!==-1){this._localStreams.splice(te,1);var oe=fe.getTracks();this.getSenders().forEach(function(De){oe.includes(De.track)&&O.removeTrack(De)})}})}}function ue(ge){if(!((typeof ge=="undefined"?"undefined":T(ge))!=="object"||!ge.RTCPeerConnection)&&("getRemoteStreams"in ge.RTCPeerConnection.prototype||(ge.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in ge.RTCPeerConnection.prototype))){Object.defineProperty(ge.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(fe){var O=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=fe),this.addEventListener("track",this._onaddstreampoly=function(te){te.streams.forEach(function(oe){if(O._remoteStreams||(O._remoteStreams=[]),!O._remoteStreams.includes(oe)){O._remoteStreams.push(oe);var De=new Event("addstream");De.stream=oe,O.dispatchEvent(De)}})})}});var ye=ge.RTCPeerConnection.prototype.setRemoteDescription;ge.RTCPeerConnection.prototype.setRemoteDescription=function(){var fe=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(O){O.streams.forEach(function(te){if(fe._remoteStreams||(fe._remoteStreams=[]),!(fe._remoteStreams.indexOf(te)>=0)){fe._remoteStreams.push(te);var oe=new Event("addstream");oe.stream=te,fe.dispatchEvent(oe)}})}),ye.apply(fe,arguments)}}}function pe(ge){if(!((typeof ge=="undefined"?"undefined":T(ge))!=="object"||!ge.RTCPeerConnection)){var ye=ge.RTCPeerConnection.prototype,Ze=ye.createOffer,fe=ye.createAnswer,O=ye.setLocalDescription,te=ye.setRemoteDescription,oe=ye.addIceCandidate;ye.createOffer=function(i2,a2){var x2=arguments.length>=2?arguments[2]:arguments[0],G2=Ze.apply(this,[x2]);return a2?(G2.then(i2,a2),Promise.resolve()):G2},ye.createAnswer=function(i2,a2){var x2=arguments.length>=2?arguments[2]:arguments[0],G2=fe.apply(this,[x2]);return a2?(G2.then(i2,a2),Promise.resolve()):G2};var De=function(i2,a2,x2){var G2=O.apply(this,[i2]);return x2?(G2.then(a2,x2),Promise.resolve()):G2};ye.setLocalDescription=De,De=function(i2,a2,x2){var G2=te.apply(this,[i2]);return x2?(G2.then(a2,x2),Promise.resolve()):G2},ye.setRemoteDescription=De,De=function(i2,a2,x2){var G2=oe.apply(this,[i2]);return x2?(G2.then(a2,x2),Promise.resolve()):G2},ye.addIceCandidate=De}}function de(ge){var ye=ge&&ge.navigator;if(ye.mediaDevices&&ye.mediaDevices.getUserMedia){var Ze=ye.mediaDevices,fe=Ze.getUserMedia.bind(Ze);ye.mediaDevices.getUserMedia=function(O){return fe(se(O))}}!ye.getUserMedia&&ye.mediaDevices&&ye.mediaDevices.getUserMedia&&(ye.getUserMedia=function(te,oe,De){ye.mediaDevices.getUserMedia(te).then(oe,De)}.bind(ye))}function se(ge){return ge&&ge.video!==void 0?Object.assign({},ge,{video:N.compactObject(ge.video)}):ge}function re(ge){var ye=ge.RTCPeerConnection;ge.RTCPeerConnection=function(fe,O){if(fe&&fe.iceServers){for(var te=[],oe=0;oe<fe.iceServers.length;oe++){var De=fe.iceServers[oe];!De.hasOwnProperty("urls")&&De.hasOwnProperty("url")?(N.deprecated("RTCIceServer.url","RTCIceServer.urls"),De=JSON.parse(JSON.stringify(De)),De.urls=De.url,delete De.url,te.push(De)):te.push(fe.iceServers[oe])}fe.iceServers=te}return new ye(fe,O)},ge.RTCPeerConnection.prototype=ye.prototype,"generateCertificate"in ge.RTCPeerConnection&&Object.defineProperty(ge.RTCPeerConnection,"generateCertificate",{get:function(){return ye.generateCertificate}})}function Be(ge){(typeof ge=="undefined"?"undefined":T(ge))==="object"&&ge.RTCTrackEvent&&"receiver"in ge.RTCTrackEvent.prototype&&!("transceiver"in ge.RTCTrackEvent.prototype)&&Object.defineProperty(ge.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function be(ge){var ye=ge.RTCPeerConnection.prototype.createOffer;ge.RTCPeerConnection.prototype.createOffer=function(fe){if(fe){typeof fe.offerToReceiveAudio!="undefined"&&(fe.offerToReceiveAudio=!!fe.offerToReceiveAudio);var O=this.getTransceivers().find(function(oe){return oe.receiver.track.kind==="audio"});fe.offerToReceiveAudio===!1&&O?O.direction==="sendrecv"?O.setDirection?O.setDirection("sendonly"):O.direction="sendonly":O.direction==="recvonly"&&(O.setDirection?O.setDirection("inactive"):O.direction="inactive"):fe.offerToReceiveAudio===!0&&!O&&this.addTransceiver("audio"),typeof fe.offerToReceiveVideo!="undefined"&&(fe.offerToReceiveVideo=!!fe.offerToReceiveVideo);var te=this.getTransceivers().find(function(oe){return oe.receiver.track.kind==="video"});fe.offerToReceiveVideo===!1&&te?te.direction==="sendrecv"?te.setDirection?te.setDirection("sendonly"):te.direction="sendonly":te.direction==="recvonly"&&(te.setDirection?te.setDirection("inactive"):te.direction="inactive"):fe.offerToReceiveVideo===!0&&!te&&this.addTransceiver("video")}return ye.apply(this,arguments)}}},{"../utils":15}],15:[function(J,H,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(fe){return t(fe)}:function(fe){return fe&&typeof Symbol=="function"&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":t(fe)};w.extractVersion=U,w.wrapPeerConnectionEvent=ue,w.disableLog=pe,w.disableWarnings=de,w.log=se,w.deprecated=re,w.detectBrowser=Be,w.compactObject=ge,w.walkStats=ye,w.filterStats=Ze;function R(fe,O,te){return O in fe?Object.defineProperty(fe,O,{value:te,enumerable:!0,configurable:!0,writable:!0}):fe[O]=te,fe}var N=!0,z=!0;function U(fe,O,te){var oe=fe.match(O);return oe&&oe.length>=te&&parseInt(oe[te],10)}function ue(fe,O,te){if(fe.RTCPeerConnection){var oe=fe.RTCPeerConnection.prototype,De=oe.addEventListener;oe.addEventListener=function(i2,a2){if(i2!==O)return De.apply(this,arguments);var x2=function($2){var F2=te($2);F2&&a2(F2)};return this._eventMap=this._eventMap||{},this._eventMap[a2]=x2,De.apply(this,[i2,x2])};var He=oe.removeEventListener;oe.removeEventListener=function(i2,a2){if(i2!==O||!this._eventMap||!this._eventMap[a2])return He.apply(this,arguments);var x2=this._eventMap[a2];return delete this._eventMap[a2],He.apply(this,[i2,x2])},Object.defineProperty(oe,"on"+O,{get:function(){return this["_on"+O]},set:function(a2){this["_on"+O]&&(this.removeEventListener(O,this["_on"+O]),delete this["_on"+O]),a2&&this.addEventListener(O,this["_on"+O]=a2)},enumerable:!0,configurable:!0})}}function pe(fe){return typeof fe!="boolean"?new Error("Argument type: "+(typeof fe=="undefined"?"undefined":T(fe))+". Please use a boolean."):(N=fe,fe?"adapter.js logging disabled":"adapter.js logging enabled")}function de(fe){return typeof fe!="boolean"?new Error("Argument type: "+(typeof fe=="undefined"?"undefined":T(fe))+". Please use a boolean."):(z=!fe,"adapter.js deprecation warnings "+(fe?"disabled":"enabled"))}function se(){if((typeof window=="undefined"?"undefined":T(window))==="object"){if(N)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function re(fe,O){z&&console.warn(fe+" is deprecated, please use "+O+" instead.")}function Be(fe){var O=fe.navigator,te={browser:null,version:null};if(typeof fe=="undefined"||!fe.navigator)return te.browser="Not a browser.",te;if(O.mozGetUserMedia)te.browser="firefox",te.version=U(O.userAgent,/Firefox\/(\d+)\./,1);else if(O.webkitGetUserMedia||fe.isSecureContext===!1&&fe.webkitRTCPeerConnection&&!fe.RTCIceGatherer)te.browser="chrome",te.version=U(O.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(O.mediaDevices&&O.userAgent.match(/Edge\/(\d+).(\d+)$/))te.browser="edge",te.version=U(O.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(fe.RTCPeerConnection&&O.userAgent.match(/AppleWebKit\/(\d+)\./))te.browser="safari",te.version=U(O.userAgent,/AppleWebKit\/(\d+)\./,1),te.supportsUnifiedPlan=fe.RTCRtpTransceiver&&"currentDirection"in fe.RTCRtpTransceiver.prototype;else return te.browser="Not a supported browser.",te;return te}function be(fe){return Object.prototype.toString.call(fe)==="[object Object]"}function ge(fe){return be(fe)?Object.keys(fe).reduce(function(O,te){var oe=be(fe[te]),De=oe?ge(fe[te]):fe[te],He=oe&&!Object.keys(De).length;return De===void 0||He?O:Object.assign(O,R({},te,De))},{}):fe}function ye(fe,O,te){!O||te.has(O.id)||(te.set(O.id,O),Object.keys(O).forEach(function(oe){oe.endsWith("Id")?ye(fe,fe.get(O[oe]),te):oe.endsWith("Ids")&&O[oe].forEach(function(De){ye(fe,fe.get(De),te)})}))}function Ze(fe,O,te){var oe=te?"outbound-rtp":"inbound-rtp",De=new Map;if(O===null)return De;var He=[];return fe.forEach(function(i2){i2.type==="track"&&i2.trackIdentifier===O.id&&He.push(i2)}),He.forEach(function(i2){fe.forEach(function(a2){a2.type===oe&&a2.trackId===i2.id&&ye(fe,a2,De)})}),De}},{}],16:[function(J,H,w){var T=J("sdp");function R(se){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[se.type]||se.type}function N(se,re,Be,be,ge){var ye=T.writeRtpDescription(se.kind,re);if(ye+=T.writeIceParameters(se.iceGatherer.getLocalParameters()),ye+=T.writeDtlsParameters(se.dtlsTransport.getLocalParameters(),Be==="offer"?"actpass":ge||"active"),ye+="a=mid:"+se.mid+`\r |
|
|
`,se.rtpSender&&se.rtpReceiver?ye+=`a=sendrecv\r |
|
|
`:se.rtpSender?ye+=`a=sendonly\r |
|
|
`:se.rtpReceiver?ye+=`a=recvonly\r |
|
|
`:ye+=`a=inactive\r |
|
|
`,se.rtpSender){var Ze=se.rtpSender._initialTrackId||se.rtpSender.track.id;se.rtpSender._initialTrackId=Ze;var fe="msid:"+(be?be.id:"-")+" "+Ze+`\r |
|
|
`;ye+="a="+fe,ye+="a=ssrc:"+se.sendEncodingParameters[0].ssrc+" "+fe,se.sendEncodingParameters[0].rtx&&(ye+="a=ssrc:"+se.sendEncodingParameters[0].rtx.ssrc+" "+fe,ye+="a=ssrc-group:FID "+se.sendEncodingParameters[0].ssrc+" "+se.sendEncodingParameters[0].rtx.ssrc+`\r |
|
|
`)}return ye+="a=ssrc:"+se.sendEncodingParameters[0].ssrc+" cname:"+T.localCName+`\r |
|
|
`,se.rtpSender&&se.sendEncodingParameters[0].rtx&&(ye+="a=ssrc:"+se.sendEncodingParameters[0].rtx.ssrc+" cname:"+T.localCName+`\r |
|
|
`),ye}function z(se,re){var Be=!1;return se=JSON.parse(JSON.stringify(se)),se.filter(function(be){if(be&&(be.urls||be.url)){var ge=be.urls||be.url;be.url&&!be.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var ye=typeof ge=="string";return ye&&(ge=[ge]),ge=ge.filter(function(Ze){var fe=Ze.indexOf("turn:")===0&&Ze.indexOf("transport=udp")!==-1&&Ze.indexOf("turn:[")===-1&&!Be;return fe?(Be=!0,!0):Ze.indexOf("stun:")===0&&re>=14393&&Ze.indexOf("?transport=udp")===-1}),delete be.url,be.urls=ye?ge[0]:ge,!!ge.length}})}function U(se,re){var Be={codecs:[],headerExtensions:[],fecMechanisms:[]},be=function(Ze,fe){Ze=parseInt(Ze,10);for(var O=0;O<fe.length;O++)if(fe[O].payloadType===Ze||fe[O].preferredPayloadType===Ze)return fe[O]},ge=function(Ze,fe,O,te){var oe=be(Ze.parameters.apt,O),De=be(fe.parameters.apt,te);return oe&&De&&oe.name.toLowerCase()===De.name.toLowerCase()};return se.codecs.forEach(function(ye){for(var Ze=0;Ze<re.codecs.length;Ze++){var fe=re.codecs[Ze];if(ye.name.toLowerCase()===fe.name.toLowerCase()&&ye.clockRate===fe.clockRate){if(ye.name.toLowerCase()==="rtx"&&ye.parameters&&fe.parameters.apt&&!ge(ye,fe,se.codecs,re.codecs))continue;fe=JSON.parse(JSON.stringify(fe)),fe.numChannels=Math.min(ye.numChannels,fe.numChannels),Be.codecs.push(fe),fe.rtcpFeedback=fe.rtcpFeedback.filter(function(O){for(var te=0;te<ye.rtcpFeedback.length;te++)if(ye.rtcpFeedback[te].type===O.type&&ye.rtcpFeedback[te].parameter===O.parameter)return!0;return!1});break}}}),se.headerExtensions.forEach(function(ye){for(var Ze=0;Ze<re.headerExtensions.length;Ze++){var fe=re.headerExtensions[Ze];if(ye.uri===fe.uri){Be.headerExtensions.push(fe);break}}}),Be}function ue(se,re,Be){return{offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[re][se].indexOf(Be)!==-1}function pe(se,re){var Be=se.getRemoteCandidates().find(function(be){return re.foundation===be.foundation&&re.ip===be.ip&&re.port===be.port&&re.priority===be.priority&&re.protocol===be.protocol&&re.type===be.type});return Be||se.addRemoteCandidate(re),!Be}function de(se,re){var Be=new Error(re);return Be.name=se,Be.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[se],Be}H.exports=function(se,re){function Be(O,te){te.addTrack(O),te.dispatchEvent(new se.MediaStreamTrackEvent("addtrack",{track:O}))}function be(O,te){te.removeTrack(O),te.dispatchEvent(new se.MediaStreamTrackEvent("removetrack",{track:O}))}function ge(O,te,oe,De){var He=new Event("track");He.track=te,He.receiver=oe,He.transceiver={receiver:oe},He.streams=De,se.setTimeout(function(){O._dispatchEvent("track",He)})}var ye=function(te){var oe=this,De=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(i2){oe[i2]=De[i2].bind(De)}),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",te=JSON.parse(JSON.stringify(te||{})),this.usingBundle=te.bundlePolicy==="max-bundle",te.rtcpMuxPolicy==="negotiate")throw de("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(te.rtcpMuxPolicy||(te.rtcpMuxPolicy="require"),te.iceTransportPolicy){case"all":case"relay":break;default:te.iceTransportPolicy="all";break}switch(te.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:te.bundlePolicy="balanced";break}if(te.iceServers=z(te.iceServers||[],re),this._iceGatherers=[],te.iceCandidatePoolSize)for(var He=te.iceCandidatePoolSize;He>0;He--)this._iceGatherers.push(new se.RTCIceGatherer({iceServers:te.iceServers,gatherPolicy:te.iceTransportPolicy}));else te.iceCandidatePoolSize=0;this._config=te,this.transceivers=[],this._sdpSessionId=T.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(ye.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(ye.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),ye.prototype.onicecandidate=null,ye.prototype.onaddstream=null,ye.prototype.ontrack=null,ye.prototype.onremovestream=null,ye.prototype.onsignalingstatechange=null,ye.prototype.oniceconnectionstatechange=null,ye.prototype.onconnectionstatechange=null,ye.prototype.onicegatheringstatechange=null,ye.prototype.onnegotiationneeded=null,ye.prototype.ondatachannel=null,ye.prototype._dispatchEvent=function(O,te){this._isClosed||(this.dispatchEvent(te),typeof this["on"+O]=="function"&&this["on"+O](te))},ye.prototype._emitGatheringStateChange=function(){var O=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",O)},ye.prototype.getConfiguration=function(){return this._config},ye.prototype.getLocalStreams=function(){return this.localStreams},ye.prototype.getRemoteStreams=function(){return this.remoteStreams},ye.prototype._createTransceiver=function(O,te){var oe=this.transceivers.length>0,De={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:O,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&oe)De.iceTransport=this.transceivers[0].iceTransport,De.dtlsTransport=this.transceivers[0].dtlsTransport;else{var He=this._createIceAndDtlsTransports();De.iceTransport=He.iceTransport,De.dtlsTransport=He.dtlsTransport}return te||this.transceivers.push(De),De},ye.prototype.addTrack=function(O,te){if(this._isClosed)throw de("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var oe=this.transceivers.find(function(i2){return i2.track===O});if(oe)throw de("InvalidAccessError","Track already exists.");for(var De,He=0;He<this.transceivers.length;He++)!this.transceivers[He].track&&this.transceivers[He].kind===O.kind&&(De=this.transceivers[He]);return De||(De=this._createTransceiver(O.kind)),this._maybeFireNegotiationNeeded(),this.localStreams.indexOf(te)===-1&&this.localStreams.push(te),De.track=O,De.stream=te,De.rtpSender=new se.RTCRtpSender(O,De.dtlsTransport),De.rtpSender},ye.prototype.addStream=function(O){var te=this;if(re>=15025)O.getTracks().forEach(function(De){te.addTrack(De,O)});else{var oe=O.clone();O.getTracks().forEach(function(De,He){var i2=oe.getTracks()[He];De.addEventListener("enabled",function(a2){i2.enabled=a2.enabled})}),oe.getTracks().forEach(function(De){te.addTrack(De,oe)})}},ye.prototype.removeTrack=function(O){if(this._isClosed)throw de("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(O instanceof se.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var te=this.transceivers.find(function(He){return He.rtpSender===O});if(!te)throw de("InvalidAccessError","Sender was not created by this connection.");var oe=te.stream;te.rtpSender.stop(),te.rtpSender=null,te.track=null,te.stream=null;var De=this.transceivers.map(function(He){return He.stream});De.indexOf(oe)===-1&&this.localStreams.indexOf(oe)>-1&&this.localStreams.splice(this.localStreams.indexOf(oe),1),this._maybeFireNegotiationNeeded()},ye.prototype.removeStream=function(O){var te=this;O.getTracks().forEach(function(oe){var De=te.getSenders().find(function(He){return He.track===oe});De&&te.removeTrack(De)})},ye.prototype.getSenders=function(){return this.transceivers.filter(function(O){return!!O.rtpSender}).map(function(O){return O.rtpSender})},ye.prototype.getReceivers=function(){return this.transceivers.filter(function(O){return!!O.rtpReceiver}).map(function(O){return O.rtpReceiver})},ye.prototype._createIceGatherer=function(O,te){var oe=this;if(te&&O>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var De=new se.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(De,"state",{value:"new",writable:!0}),this.transceivers[O].bufferedCandidateEvents=[],this.transceivers[O].bufferCandidates=function(He){var i2=!He.candidate||Object.keys(He.candidate).length===0;De.state=i2?"completed":"gathering",oe.transceivers[O].bufferedCandidateEvents!==null&&oe.transceivers[O].bufferedCandidateEvents.push(He)},De.addEventListener("localcandidate",this.transceivers[O].bufferCandidates),De},ye.prototype._gather=function(O,te){var oe=this,De=this.transceivers[te].iceGatherer;if(!De.onlocalcandidate){var He=this.transceivers[te].bufferedCandidateEvents;this.transceivers[te].bufferedCandidateEvents=null,De.removeEventListener("localcandidate",this.transceivers[te].bufferCandidates),De.onlocalcandidate=function(i2){if(!(oe.usingBundle&&te>0)){var a2=new Event("icecandidate");a2.candidate={sdpMid:O,sdpMLineIndex:te};var x2=i2.candidate,G2=!x2||Object.keys(x2).length===0;if(G2)(De.state==="new"||De.state==="gathering")&&(De.state="completed");else{De.state==="new"&&(De.state="gathering"),x2.component=1,x2.ufrag=De.getLocalParameters().usernameFragment;var $2=T.writeCandidate(x2);a2.candidate=Object.assign(a2.candidate,T.parseCandidate($2)),a2.candidate.candidate=$2,a2.candidate.toJSON=function(){return{candidate:a2.candidate.candidate,sdpMid:a2.candidate.sdpMid,sdpMLineIndex:a2.candidate.sdpMLineIndex,usernameFragment:a2.candidate.usernameFragment}}}var F2=T.getMediaSections(oe._localDescription.sdp);G2?F2[a2.candidate.sdpMLineIndex]+=`a=end-of-candidates\r |
|
|
`:F2[a2.candidate.sdpMLineIndex]+="a="+a2.candidate.candidate+`\r |
|
|
`,oe._localDescription.sdp=T.getDescription(oe._localDescription.sdp)+F2.join("");var Dt=oe.transceivers.every(function(Ut){return Ut.iceGatherer&&Ut.iceGatherer.state==="completed"});oe.iceGatheringState!=="gathering"&&(oe.iceGatheringState="gathering",oe._emitGatheringStateChange()),G2||oe._dispatchEvent("icecandidate",a2),Dt&&(oe._dispatchEvent("icecandidate",new Event("icecandidate")),oe.iceGatheringState="complete",oe._emitGatheringStateChange())}},se.setTimeout(function(){He.forEach(function(i2){De.onlocalcandidate(i2)})},0)}},ye.prototype._createIceAndDtlsTransports=function(){var O=this,te=new se.RTCIceTransport(null);te.onicestatechange=function(){O._updateIceConnectionState(),O._updateConnectionState()};var oe=new se.RTCDtlsTransport(te);return oe.ondtlsstatechange=function(){O._updateConnectionState()},oe.onerror=function(){Object.defineProperty(oe,"state",{value:"failed",writable:!0}),O._updateConnectionState()},{iceTransport:te,dtlsTransport:oe}},ye.prototype._disposeIceAndDtlsTransports=function(O){var te=this.transceivers[O].iceGatherer;te&&(delete te.onlocalcandidate,delete this.transceivers[O].iceGatherer);var oe=this.transceivers[O].iceTransport;oe&&(delete oe.onicestatechange,delete this.transceivers[O].iceTransport);var De=this.transceivers[O].dtlsTransport;De&&(delete De.ondtlsstatechange,delete De.onerror,delete this.transceivers[O].dtlsTransport)},ye.prototype._transceive=function(O,te,oe){var De=U(O.localCapabilities,O.remoteCapabilities);te&&O.rtpSender&&(De.encodings=O.sendEncodingParameters,De.rtcp={cname:T.localCName,compound:O.rtcpParameters.compound},O.recvEncodingParameters.length&&(De.rtcp.ssrc=O.recvEncodingParameters[0].ssrc),O.rtpSender.send(De)),oe&&O.rtpReceiver&&De.codecs.length>0&&(O.kind==="video"&&O.recvEncodingParameters&&re<15019&&O.recvEncodingParameters.forEach(function(He){delete He.rtx}),O.recvEncodingParameters.length?De.encodings=O.recvEncodingParameters:De.encodings=[{}],De.rtcp={compound:O.rtcpParameters.compound},O.rtcpParameters.cname&&(De.rtcp.cname=O.rtcpParameters.cname),O.sendEncodingParameters.length&&(De.rtcp.ssrc=O.sendEncodingParameters[0].ssrc),O.rtpReceiver.receive(De))},ye.prototype.setLocalDescription=function(O){var te=this;if(["offer","answer"].indexOf(O.type)===-1)return Promise.reject(de("TypeError",'Unsupported type "'+O.type+'"'));if(!ue("setLocalDescription",O.type,te.signalingState)||te._isClosed)return Promise.reject(de("InvalidStateError","Can not set local "+O.type+" in state "+te.signalingState));var oe,De;if(O.type==="offer")oe=T.splitSections(O.sdp),De=oe.shift(),oe.forEach(function(i2,a2){var x2=T.parseRtpParameters(i2);te.transceivers[a2].localCapabilities=x2}),te.transceivers.forEach(function(i2,a2){te._gather(i2.mid,a2)});else if(O.type==="answer"){oe=T.splitSections(te._remoteDescription.sdp),De=oe.shift();var He=T.matchPrefix(De,"a=ice-lite").length>0;oe.forEach(function(i2,a2){var x2=te.transceivers[a2],G2=x2.iceGatherer,$2=x2.iceTransport,F2=x2.dtlsTransport,Dt=x2.localCapabilities,Ut=x2.remoteCapabilities,zt=T.isRejected(i2)&&T.matchPrefix(i2,"a=bundle-only").length===0;if(!zt&&!x2.rejected){var i3=T.getIceParameters(i2,De),e3=T.getDtlsParameters(i2,De);He&&(e3.role="server"),(!te.usingBundle||a2===0)&&(te._gather(x2.mid,a2),$2.state==="new"&&$2.start(G2,i3,He?"controlling":"controlled"),F2.state==="new"&&F2.start(e3));var c3=U(Dt,Ut);te._transceive(x2,c3.codecs.length>0,!1)}})}return te._localDescription={type:O.type,sdp:O.sdp},O.type==="offer"?te._updateSignalingState("have-local-offer"):te._updateSignalingState("stable"),Promise.resolve()},ye.prototype.setRemoteDescription=function(O){var te=this;if(["offer","answer"].indexOf(O.type)===-1)return Promise.reject(de("TypeError",'Unsupported type "'+O.type+'"'));if(!ue("setRemoteDescription",O.type,te.signalingState)||te._isClosed)return Promise.reject(de("InvalidStateError","Can not set remote "+O.type+" in state "+te.signalingState));var oe={};te.remoteStreams.forEach(function($2){oe[$2.id]=$2});var De=[],He=T.splitSections(O.sdp),i2=He.shift(),a2=T.matchPrefix(i2,"a=ice-lite").length>0,x2=T.matchPrefix(i2,"a=group:BUNDLE ").length>0;te.usingBundle=x2;var G2=T.matchPrefix(i2,"a=ice-options:")[0];return G2?te.canTrickleIceCandidates=G2.substr(14).split(" ").indexOf("trickle")>=0:te.canTrickleIceCandidates=!1,He.forEach(function($2,F2){var Dt=T.splitLines($2),Ut=T.getKind($2),zt=T.isRejected($2)&&T.matchPrefix($2,"a=bundle-only").length===0,i3=Dt[0].substr(2).split(" ")[2],e3=T.getDirection($2,i2),c3=T.parseMsid($2),e1=T.getMid($2)||T.generateIdentifier();if(zt||Ut==="application"&&(i3==="DTLS/SCTP"||i3==="UDP/DTLS/SCTP")){te.transceivers[F2]={mid:e1,kind:Ut,protocol:i3,rejected:!0};return}!zt&&te.transceivers[F2]&&te.transceivers[F2].rejected&&(te.transceivers[F2]=te._createTransceiver(Ut,!0));var We,C2,W2,gt,Gt,p3,d3,y3,t1,Br=T.parseRtpParameters($2),hi,O1;zt||(hi=T.getIceParameters($2,i2),O1=T.getDtlsParameters($2,i2),O1.role="client"),d3=T.parseRtpEncodingParameters($2);var qn=T.parseRtcpParameters($2),n1=T.matchPrefix($2,"a=end-of-candidates",i2).length>0,x0=T.matchPrefix($2,"a=candidate:").map(function(Vt){return T.parseCandidate(Vt)}).filter(function(Vt){return Vt.component===1});if((O.type==="offer"||O.type==="answer")&&!zt&&x2&&F2>0&&te.transceivers[F2]&&(te._disposeIceAndDtlsTransports(F2),te.transceivers[F2].iceGatherer=te.transceivers[0].iceGatherer,te.transceivers[F2].iceTransport=te.transceivers[0].iceTransport,te.transceivers[F2].dtlsTransport=te.transceivers[0].dtlsTransport,te.transceivers[F2].rtpSender&&te.transceivers[F2].rtpSender.setTransport(te.transceivers[0].dtlsTransport),te.transceivers[F2].rtpReceiver&&te.transceivers[F2].rtpReceiver.setTransport(te.transceivers[0].dtlsTransport)),O.type==="offer"&&!zt){We=te.transceivers[F2]||te._createTransceiver(Ut),We.mid=e1,We.iceGatherer||(We.iceGatherer=te._createIceGatherer(F2,x2)),x0.length&&We.iceTransport.state==="new"&&(n1&&(!x2||F2===0)?We.iceTransport.setRemoteCandidates(x0):x0.forEach(function(Vt){pe(We.iceTransport,Vt)})),y3=se.RTCRtpReceiver.getCapabilities(Ut),re<15019&&(y3.codecs=y3.codecs.filter(function(Vt){return Vt.name!=="rtx"})),p3=We.sendEncodingParameters||[{ssrc:(2*F2+2)*1001}];var cn=!1;if(e3==="sendrecv"||e3==="sendonly"){if(cn=!We.rtpReceiver,Gt=We.rtpReceiver||new se.RTCRtpReceiver(We.dtlsTransport,Ut),cn){var U3;t1=Gt.track,c3&&c3.stream==="-"||(c3?(oe[c3.stream]||(oe[c3.stream]=new se.MediaStream,Object.defineProperty(oe[c3.stream],"id",{get:function(){return c3.stream}})),Object.defineProperty(t1,"id",{get:function(){return c3.track}}),U3=oe[c3.stream]):(oe.default||(oe.default=new se.MediaStream),U3=oe.default)),U3&&(Be(t1,U3),We.associatedRemoteMediaStreams.push(U3)),De.push([t1,Gt,U3])}}else We.rtpReceiver&&We.rtpReceiver.track&&(We.associatedRemoteMediaStreams.forEach(function(Vt){var w3=Vt.getTracks().find(function(v1){return v1.id===We.rtpReceiver.track.id});w3&&be(w3,Vt)}),We.associatedRemoteMediaStreams=[]);We.localCapabilities=y3,We.remoteCapabilities=Br,We.rtpReceiver=Gt,We.rtcpParameters=qn,We.sendEncodingParameters=p3,We.recvEncodingParameters=d3,te._transceive(te.transceivers[F2],!1,cn)}else if(O.type==="answer"&&!zt){We=te.transceivers[F2],C2=We.iceGatherer,W2=We.iceTransport,gt=We.dtlsTransport,Gt=We.rtpReceiver,p3=We.sendEncodingParameters,y3=We.localCapabilities,te.transceivers[F2].recvEncodingParameters=d3,te.transceivers[F2].remoteCapabilities=Br,te.transceivers[F2].rtcpParameters=qn,x0.length&&W2.state==="new"&&((a2||n1)&&(!x2||F2===0)?W2.setRemoteCandidates(x0):x0.forEach(function(Vt){pe(We.iceTransport,Vt)})),(!x2||F2===0)&&(W2.state==="new"&&W2.start(C2,hi,"controlling"),gt.state==="new"&>.start(O1));var x1=U(We.localCapabilities,We.remoteCapabilities),_3=x1.codecs.filter(function(Vt){return Vt.name.toLowerCase()==="rtx"}).length;!_3&&We.sendEncodingParameters[0].rtx&&delete We.sendEncodingParameters[0].rtx,te._transceive(We,e3==="sendrecv"||e3==="recvonly",e3==="sendrecv"||e3==="sendonly"),Gt&&(e3==="sendrecv"||e3==="sendonly")?(t1=Gt.track,c3?(oe[c3.stream]||(oe[c3.stream]=new se.MediaStream),Be(t1,oe[c3.stream]),De.push([t1,Gt,oe[c3.stream]])):(oe.default||(oe.default=new se.MediaStream),Be(t1,oe.default),De.push([t1,Gt,oe.default]))):delete We.rtpReceiver}}),te._dtlsRole===void 0&&(te._dtlsRole=O.type==="offer"?"active":"passive"),te._remoteDescription={type:O.type,sdp:O.sdp},O.type==="offer"?te._updateSignalingState("have-remote-offer"):te._updateSignalingState("stable"),Object.keys(oe).forEach(function($2){var F2=oe[$2];if(F2.getTracks().length){if(te.remoteStreams.indexOf(F2)===-1){te.remoteStreams.push(F2);var Dt=new Event("addstream");Dt.stream=F2,se.setTimeout(function(){te._dispatchEvent("addstream",Dt)})}De.forEach(function(Ut){var zt=Ut[0],i3=Ut[1];F2.id===Ut[2].id&&ge(te,zt,i3,[F2])})}}),De.forEach(function($2){$2[2]||ge(te,$2[0],$2[1],[])}),se.setTimeout(function(){te&&te.transceivers&&te.transceivers.forEach(function($2){$2.iceTransport&&$2.iceTransport.state==="new"&&$2.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),$2.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},ye.prototype.close=function(){this.transceivers.forEach(function(O){O.iceTransport&&O.iceTransport.stop(),O.dtlsTransport&&O.dtlsTransport.stop(),O.rtpSender&&O.rtpSender.stop(),O.rtpReceiver&&O.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},ye.prototype._updateSignalingState=function(O){this.signalingState=O;var te=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",te)},ye.prototype._maybeFireNegotiationNeeded=function(){var O=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,se.setTimeout(function(){if(O.needNegotiation){O.needNegotiation=!1;var te=new Event("negotiationneeded");O._dispatchEvent("negotiationneeded",te)}},0))},ye.prototype._updateIceConnectionState=function(){var O,te={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(De){De.iceTransport&&!De.rejected&&te[De.iceTransport.state]++}),O="new",te.failed>0?O="failed":te.checking>0?O="checking":te.disconnected>0?O="disconnected":te.new>0?O="new":te.connected>0?O="connected":te.completed>0&&(O="completed"),O!==this.iceConnectionState){this.iceConnectionState=O;var oe=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",oe)}},ye.prototype._updateConnectionState=function(){var O,te={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(De){De.iceTransport&&De.dtlsTransport&&!De.rejected&&(te[De.iceTransport.state]++,te[De.dtlsTransport.state]++)}),te.connected+=te.completed,O="new",te.failed>0?O="failed":te.connecting>0?O="connecting":te.disconnected>0?O="disconnected":te.new>0?O="new":te.connected>0&&(O="connected"),O!==this.connectionState){this.connectionState=O;var oe=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",oe)}},ye.prototype.createOffer=function(){var O=this;if(O._isClosed)return Promise.reject(de("InvalidStateError","Can not call createOffer after close"));var te=O.transceivers.filter(function(a2){return a2.kind==="audio"}).length,oe=O.transceivers.filter(function(a2){return a2.kind==="video"}).length,De=arguments[0];if(De){if(De.mandatory||De.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");De.offerToReceiveAudio!==void 0&&(De.offerToReceiveAudio===!0?te=1:De.offerToReceiveAudio===!1?te=0:te=De.offerToReceiveAudio),De.offerToReceiveVideo!==void 0&&(De.offerToReceiveVideo===!0?oe=1:De.offerToReceiveVideo===!1?oe=0:oe=De.offerToReceiveVideo)}for(O.transceivers.forEach(function(a2){a2.kind==="audio"?(te--,te<0&&(a2.wantReceive=!1)):a2.kind==="video"&&(oe--,oe<0&&(a2.wantReceive=!1))});te>0||oe>0;)te>0&&(O._createTransceiver("audio"),te--),oe>0&&(O._createTransceiver("video"),oe--);var He=T.writeSessionBoilerplate(O._sdpSessionId,O._sdpSessionVersion++);O.transceivers.forEach(function(a2,x2){var G2=a2.track,$2=a2.kind,F2=a2.mid||T.generateIdentifier();a2.mid=F2,a2.iceGatherer||(a2.iceGatherer=O._createIceGatherer(x2,O.usingBundle));var Dt=se.RTCRtpSender.getCapabilities($2);re<15019&&(Dt.codecs=Dt.codecs.filter(function(zt){return zt.name!=="rtx"})),Dt.codecs.forEach(function(zt){zt.name==="H264"&&zt.parameters["level-asymmetry-allowed"]===void 0&&(zt.parameters["level-asymmetry-allowed"]="1"),a2.remoteCapabilities&&a2.remoteCapabilities.codecs&&a2.remoteCapabilities.codecs.forEach(function(i3){zt.name.toLowerCase()===i3.name.toLowerCase()&&zt.clockRate===i3.clockRate&&(zt.preferredPayloadType=i3.payloadType)})}),Dt.headerExtensions.forEach(function(zt){var i3=a2.remoteCapabilities&&a2.remoteCapabilities.headerExtensions||[];i3.forEach(function(e3){zt.uri===e3.uri&&(zt.id=e3.id)})});var Ut=a2.sendEncodingParameters||[{ssrc:(2*x2+1)*1001}];G2&&re>=15019&&$2==="video"&&!Ut[0].rtx&&(Ut[0].rtx={ssrc:Ut[0].ssrc+1}),a2.wantReceive&&(a2.rtpReceiver=new se.RTCRtpReceiver(a2.dtlsTransport,$2)),a2.localCapabilities=Dt,a2.sendEncodingParameters=Ut}),O._config.bundlePolicy!=="max-compat"&&(He+="a=group:BUNDLE "+O.transceivers.map(function(a2){return a2.mid}).join(" ")+`\r |
|
|
`),He+=`a=ice-options:trickle\r |
|
|
`,O.transceivers.forEach(function(a2,x2){He+=N(a2,a2.localCapabilities,"offer",a2.stream,O._dtlsRole),He+=`a=rtcp-rsize\r |
|
|
`,a2.iceGatherer&&O.iceGatheringState!=="new"&&(x2===0||!O.usingBundle)&&(a2.iceGatherer.getLocalCandidates().forEach(function(G2){G2.component=1,He+="a="+T.writeCandidate(G2)+`\r |
|
|
`}),a2.iceGatherer.state==="completed"&&(He+=`a=end-of-candidates\r |
|
|
`))});var i2=new se.RTCSessionDescription({type:"offer",sdp:He});return Promise.resolve(i2)},ye.prototype.createAnswer=function(){var O=this;if(O._isClosed)return Promise.reject(de("InvalidStateError","Can not call createAnswer after close"));if(!(O.signalingState==="have-remote-offer"||O.signalingState==="have-local-pranswer"))return Promise.reject(de("InvalidStateError","Can not call createAnswer in signalingState "+O.signalingState));var te=T.writeSessionBoilerplate(O._sdpSessionId,O._sdpSessionVersion++);O.usingBundle&&(te+="a=group:BUNDLE "+O.transceivers.map(function(He){return He.mid}).join(" ")+`\r |
|
|
`),te+=`a=ice-options:trickle\r |
|
|
`;var oe=T.getMediaSections(O._remoteDescription.sdp).length;O.transceivers.forEach(function(He,i2){if(!(i2+1>oe)){if(He.rejected){He.kind==="application"?He.protocol==="DTLS/SCTP"?te+=`m=application 0 DTLS/SCTP 5000\r |
|
|
`:te+="m=application 0 "+He.protocol+` webrtc-datachannel\r |
|
|
`:He.kind==="audio"?te+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r |
|
|
a=rtpmap:0 PCMU/8000\r |
|
|
`:He.kind==="video"&&(te+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r |
|
|
a=rtpmap:120 VP8/90000\r |
|
|
`),te+=`c=IN IP4 0.0.0.0\r |
|
|
a=inactive\r |
|
|
a=mid:`+He.mid+`\r |
|
|
`;return}if(He.stream){var a2;He.kind==="audio"?a2=He.stream.getAudioTracks()[0]:He.kind==="video"&&(a2=He.stream.getVideoTracks()[0]),a2&&re>=15019&&He.kind==="video"&&!He.sendEncodingParameters[0].rtx&&(He.sendEncodingParameters[0].rtx={ssrc:He.sendEncodingParameters[0].ssrc+1})}var x2=U(He.localCapabilities,He.remoteCapabilities),G2=x2.codecs.filter(function($2){return $2.name.toLowerCase()==="rtx"}).length;!G2&&He.sendEncodingParameters[0].rtx&&delete He.sendEncodingParameters[0].rtx,te+=N(He,x2,"answer",He.stream,O._dtlsRole),He.rtcpParameters&&He.rtcpParameters.reducedSize&&(te+=`a=rtcp-rsize\r |
|
|
`)}});var De=new se.RTCSessionDescription({type:"answer",sdp:te});return Promise.resolve(De)},ye.prototype.addIceCandidate=function(O){var te=this,oe;return O&&!(O.sdpMLineIndex!==void 0||O.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(De,He){if(te._remoteDescription)if(!O||O.candidate==="")for(var i2=0;i2<te.transceivers.length&&!(!te.transceivers[i2].rejected&&(te.transceivers[i2].iceTransport.addRemoteCandidate({}),oe=T.getMediaSections(te._remoteDescription.sdp),oe[i2]+=`a=end-of-candidates\r |
|
|
`,te._remoteDescription.sdp=T.getDescription(te._remoteDescription.sdp)+oe.join(""),te.usingBundle));i2++);else{var a2=O.sdpMLineIndex;if(O.sdpMid){for(var x2=0;x2<te.transceivers.length;x2++)if(te.transceivers[x2].mid===O.sdpMid){a2=x2;break}}var G2=te.transceivers[a2];if(G2){if(G2.rejected)return De();var $2=Object.keys(O.candidate).length>0?T.parseCandidate(O.candidate):{};if($2.protocol==="tcp"&&($2.port===0||$2.port===9)||$2.component&&$2.component!==1)return De();if((a2===0||a2>0&&G2.iceTransport!==te.transceivers[0].iceTransport)&&!pe(G2.iceTransport,$2))return He(de("OperationError","Can not add ICE candidate"));var F2=O.candidate.trim();F2.indexOf("a=")===0&&(F2=F2.substr(2)),oe=T.getMediaSections(te._remoteDescription.sdp),oe[a2]+="a="+($2.type?F2:"end-of-candidates")+`\r |
|
|
`,te._remoteDescription.sdp=T.getDescription(te._remoteDescription.sdp)+oe.join("")}else return He(de("OperationError","Can not add ICE candidate"))}else return He(de("InvalidStateError","Can not add ICE candidate without a remote description"));De()})},ye.prototype.getStats=function(O){if(O&&O instanceof se.MediaStreamTrack){var te=null;if(this.transceivers.forEach(function(De){De.rtpSender&&De.rtpSender.track===O?te=De.rtpSender:De.rtpReceiver&&De.rtpReceiver.track===O&&(te=De.rtpReceiver)}),!te)throw de("InvalidAccessError","Invalid selector.");return te.getStats()}var oe=[];return this.transceivers.forEach(function(De){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(He){De[He]&&oe.push(De[He].getStats())})}),Promise.all(oe).then(function(De){var He=new Map;return De.forEach(function(i2){i2.forEach(function(a2){He.set(a2.id,a2)})}),He})};var Ze=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];Ze.forEach(function(O){var te=se[O];if(te&&te.prototype&&te.prototype.getStats){var oe=te.prototype.getStats;te.prototype.getStats=function(){return oe.apply(this).then(function(De){var He=new Map;return Object.keys(De).forEach(function(i2){De[i2].type=R(De[i2]),He.set(i2,De[i2])}),He})}}});var fe=["createOffer","createAnswer"];return fe.forEach(function(O){var te=ye.prototype[O];ye.prototype[O]=function(){var oe=arguments;return typeof oe[0]=="function"||typeof oe[1]=="function"?te.apply(this,[arguments[2]]).then(function(De){typeof oe[0]=="function"&&oe[0].apply(null,[De])},function(De){typeof oe[1]=="function"&&oe[1].apply(null,[De])}):te.apply(this,arguments)}}),fe=["setLocalDescription","setRemoteDescription","addIceCandidate"],fe.forEach(function(O){var te=ye.prototype[O];ye.prototype[O]=function(){var oe=arguments;return typeof oe[1]=="function"||typeof oe[2]=="function"?te.apply(this,arguments).then(function(){typeof oe[1]=="function"&&oe[1].apply(null)},function(De){typeof oe[2]=="function"&&oe[2].apply(null,[De])}):te.apply(this,arguments)}}),["getStats"].forEach(function(O){var te=ye.prototype[O];ye.prototype[O]=function(){var oe=arguments;return typeof oe[1]=="function"?te.apply(this,arguments).then(function(){typeof oe[1]=="function"&&oe[1].apply(null)}):te.apply(this,arguments)}}),ye}},{sdp:17}],17:[function(J,H,w){var T={};T.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},T.localCName=T.generateIdentifier(),T.splitLines=function(R){return R.trim().split(` |
|
|
`).map(function(N){return N.trim()})},T.splitSections=function(R){var N=R.split(` |
|
|
m=`);return N.map(function(z,U){return(U>0?"m="+z:z).trim()+`\r |
|
|
`})},T.getDescription=function(R){var N=T.splitSections(R);return N&&N[0]},T.getMediaSections=function(R){var N=T.splitSections(R);return N.shift(),N},T.matchPrefix=function(R,N){return T.splitLines(R).filter(function(z){return z.indexOf(N)===0})},T.parseCandidate=function(R){var N;R.indexOf("a=candidate:")===0?N=R.substring(12).split(" "):N=R.substring(10).split(" ");for(var z={foundation:N[0],component:parseInt(N[1],10),protocol:N[2].toLowerCase(),priority:parseInt(N[3],10),ip:N[4],address:N[4],port:parseInt(N[5],10),type:N[7]},U=8;U<N.length;U+=2)switch(N[U]){case"raddr":z.relatedAddress=N[U+1];break;case"rport":z.relatedPort=parseInt(N[U+1],10);break;case"tcptype":z.tcpType=N[U+1];break;case"ufrag":z.ufrag=N[U+1],z.usernameFragment=N[U+1];break;default:z[N[U]]=N[U+1];break}return z},T.writeCandidate=function(R){var N=[];N.push(R.foundation),N.push(R.component),N.push(R.protocol.toUpperCase()),N.push(R.priority),N.push(R.address||R.ip),N.push(R.port);var z=R.type;return N.push("typ"),N.push(z),z!=="host"&&R.relatedAddress&&R.relatedPort&&(N.push("raddr"),N.push(R.relatedAddress),N.push("rport"),N.push(R.relatedPort)),R.tcpType&&R.protocol.toLowerCase()==="tcp"&&(N.push("tcptype"),N.push(R.tcpType)),(R.usernameFragment||R.ufrag)&&(N.push("ufrag"),N.push(R.usernameFragment||R.ufrag)),"candidate:"+N.join(" ")},T.parseIceOptions=function(R){return R.substr(14).split(" ")},T.parseRtpMap=function(R){var N=R.substr(9).split(" "),z={payloadType:parseInt(N.shift(),10)};return N=N[0].split("/"),z.name=N[0],z.clockRate=parseInt(N[1],10),z.channels=N.length===3?parseInt(N[2],10):1,z.numChannels=z.channels,z},T.writeRtpMap=function(R){var N=R.payloadType;R.preferredPayloadType!==void 0&&(N=R.preferredPayloadType);var z=R.channels||R.numChannels||1;return"a=rtpmap:"+N+" "+R.name+"/"+R.clockRate+(z!==1?"/"+z:"")+`\r |
|
|
`},T.parseExtmap=function(R){var N=R.substr(9).split(" ");return{id:parseInt(N[0],10),direction:N[0].indexOf("/")>0?N[0].split("/")[1]:"sendrecv",uri:N[1]}},T.writeExtmap=function(R){return"a=extmap:"+(R.id||R.preferredId)+(R.direction&&R.direction!=="sendrecv"?"/"+R.direction:"")+" "+R.uri+`\r |
|
|
`},T.parseFmtp=function(R){for(var N={},z,U=R.substr(R.indexOf(" ")+1).split(";"),ue=0;ue<U.length;ue++)z=U[ue].trim().split("="),N[z[0].trim()]=z[1];return N},T.writeFmtp=function(R){var N="",z=R.payloadType;if(R.preferredPayloadType!==void 0&&(z=R.preferredPayloadType),R.parameters&&Object.keys(R.parameters).length){var U=[];Object.keys(R.parameters).forEach(function(ue){R.parameters[ue]?U.push(ue+"="+R.parameters[ue]):U.push(ue)}),N+="a=fmtp:"+z+" "+U.join(";")+`\r |
|
|
`}return N},T.parseRtcpFb=function(R){var N=R.substr(R.indexOf(" ")+1).split(" ");return{type:N.shift(),parameter:N.join(" ")}},T.writeRtcpFb=function(R){var N="",z=R.payloadType;return R.preferredPayloadType!==void 0&&(z=R.preferredPayloadType),R.rtcpFeedback&&R.rtcpFeedback.length&&R.rtcpFeedback.forEach(function(U){N+="a=rtcp-fb:"+z+" "+U.type+(U.parameter&&U.parameter.length?" "+U.parameter:"")+`\r |
|
|
`}),N},T.parseSsrcMedia=function(R){var N=R.indexOf(" "),z={ssrc:parseInt(R.substr(7,N-7),10)},U=R.indexOf(":",N);return U>-1?(z.attribute=R.substr(N+1,U-N-1),z.value=R.substr(U+1)):z.attribute=R.substr(N+1),z},T.parseSsrcGroup=function(R){var N=R.substr(13).split(" ");return{semantics:N.shift(),ssrcs:N.map(function(z){return parseInt(z,10)})}},T.getMid=function(R){var N=T.matchPrefix(R,"a=mid:")[0];if(N)return N.substr(6)},T.parseFingerprint=function(R){var N=R.substr(14).split(" ");return{algorithm:N[0].toLowerCase(),value:N[1]}},T.getDtlsParameters=function(R,N){var z=T.matchPrefix(R+N,"a=fingerprint:");return{role:"auto",fingerprints:z.map(T.parseFingerprint)}},T.writeDtlsParameters=function(R,N){var z="a=setup:"+N+`\r |
|
|
`;return R.fingerprints.forEach(function(U){z+="a=fingerprint:"+U.algorithm+" "+U.value+`\r |
|
|
`}),z},T.getIceParameters=function(R,N){var z=T.splitLines(R);z=z.concat(T.splitLines(N));var U={usernameFragment:z.filter(function(ue){return ue.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:z.filter(function(ue){return ue.indexOf("a=ice-pwd:")===0})[0].substr(10)};return U},T.writeIceParameters=function(R){return"a=ice-ufrag:"+R.usernameFragment+`\r |
|
|
a=ice-pwd:`+R.password+`\r |
|
|
`},T.parseRtpParameters=function(R){for(var N={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},z=T.splitLines(R),U=z[0].split(" "),ue=3;ue<U.length;ue++){var pe=U[ue],de=T.matchPrefix(R,"a=rtpmap:"+pe+" ")[0];if(de){var se=T.parseRtpMap(de),re=T.matchPrefix(R,"a=fmtp:"+pe+" ");switch(se.parameters=re.length?T.parseFmtp(re[0]):{},se.rtcpFeedback=T.matchPrefix(R,"a=rtcp-fb:"+pe+" ").map(T.parseRtcpFb),N.codecs.push(se),se.name.toUpperCase()){case"RED":case"ULPFEC":N.fecMechanisms.push(se.name.toUpperCase());break}}}return T.matchPrefix(R,"a=extmap:").forEach(function(Be){N.headerExtensions.push(T.parseExtmap(Be))}),N},T.writeRtpDescription=function(R,N){var z="";z+="m="+R+" ",z+=N.codecs.length>0?"9":"0",z+=" UDP/TLS/RTP/SAVPF ",z+=N.codecs.map(function(ue){return ue.preferredPayloadType!==void 0?ue.preferredPayloadType:ue.payloadType}).join(" ")+`\r |
|
|
`,z+=`c=IN IP4 0.0.0.0\r |
|
|
`,z+=`a=rtcp:9 IN IP4 0.0.0.0\r |
|
|
`,N.codecs.forEach(function(ue){z+=T.writeRtpMap(ue),z+=T.writeFmtp(ue),z+=T.writeRtcpFb(ue)});var U=0;return N.codecs.forEach(function(ue){ue.maxptime>U&&(U=ue.maxptime)}),U>0&&(z+="a=maxptime:"+U+`\r |
|
|
`),z+=`a=rtcp-mux\r |
|
|
`,N.headerExtensions&&N.headerExtensions.forEach(function(ue){z+=T.writeExtmap(ue)}),z},T.parseRtpEncodingParameters=function(R){var N=[],z=T.parseRtpParameters(R),U=z.fecMechanisms.indexOf("RED")!==-1,ue=z.fecMechanisms.indexOf("ULPFEC")!==-1,pe=T.matchPrefix(R,"a=ssrc:").map(function(be){return T.parseSsrcMedia(be)}).filter(function(be){return be.attribute==="cname"}),de=pe.length>0&&pe[0].ssrc,se,re=T.matchPrefix(R,"a=ssrc-group:FID").map(function(be){var ge=be.substr(17).split(" ");return ge.map(function(ye){return parseInt(ye,10)})});re.length>0&&re[0].length>1&&re[0][0]===de&&(se=re[0][1]),z.codecs.forEach(function(be){if(be.name.toUpperCase()==="RTX"&&be.parameters.apt){var ge={ssrc:de,codecPayloadType:parseInt(be.parameters.apt,10)};de&&se&&(ge.rtx={ssrc:se}),N.push(ge),U&&(ge=JSON.parse(JSON.stringify(ge)),ge.fec={ssrc:de,mechanism:ue?"red+ulpfec":"red"},N.push(ge))}}),N.length===0&&de&&N.push({ssrc:de});var Be=T.matchPrefix(R,"b=");return Be.length&&(Be[0].indexOf("b=TIAS:")===0?Be=parseInt(Be[0].substr(7),10):Be[0].indexOf("b=AS:")===0?Be=parseInt(Be[0].substr(5),10)*1e3*.95-50*40*8:Be=void 0,N.forEach(function(be){be.maxBitrate=Be})),N},T.parseRtcpParameters=function(R){var N={},z=T.matchPrefix(R,"a=ssrc:").map(function(pe){return T.parseSsrcMedia(pe)}).filter(function(pe){return pe.attribute==="cname"})[0];z&&(N.cname=z.value,N.ssrc=z.ssrc);var U=T.matchPrefix(R,"a=rtcp-rsize");N.reducedSize=U.length>0,N.compound=U.length===0;var ue=T.matchPrefix(R,"a=rtcp-mux");return N.mux=ue.length>0,N},T.parseMsid=function(R){var N,z=T.matchPrefix(R,"a=msid:");if(z.length===1)return N=z[0].substr(7).split(" "),{stream:N[0],track:N[1]};var U=T.matchPrefix(R,"a=ssrc:").map(function(ue){return T.parseSsrcMedia(ue)}).filter(function(ue){return ue.attribute==="msid"});if(U.length>0)return N=U[0].value.split(" "),{stream:N[0],track:N[1]}},T.parseSctpDescription=function(R){var N=T.parseMLine(R),z=T.matchPrefix(R,"a=max-message-size:"),U;z.length>0&&(U=parseInt(z[0].substr(19),10)),isNaN(U)&&(U=65536);var ue=T.matchPrefix(R,"a=sctp-port:");if(ue.length>0)return{port:parseInt(ue[0].substr(12),10),protocol:N.fmt,maxMessageSize:U};var pe=T.matchPrefix(R,"a=sctpmap:");if(pe.length>0){var de=T.matchPrefix(R,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(de[0],10),protocol:de[1],maxMessageSize:U}}},T.writeSctpDescription=function(R,N){var z=[];return R.protocol!=="DTLS/SCTP"?z=["m="+R.kind+" 9 "+R.protocol+" "+N.protocol+`\r |
|
|
`,`c=IN IP4 0.0.0.0\r |
|
|
`,"a=sctp-port:"+N.port+`\r |
|
|
`]:z=["m="+R.kind+" 9 "+R.protocol+" "+N.port+`\r |
|
|
`,`c=IN IP4 0.0.0.0\r |
|
|
`,"a=sctpmap:"+N.port+" "+N.protocol+` 65535\r |
|
|
`],N.maxMessageSize!==void 0&&z.push("a=max-message-size:"+N.maxMessageSize+`\r |
|
|
`),z.join("")},T.generateSessionId=function(){return Math.random().toString().substr(2,21)},T.writeSessionBoilerplate=function(R,N,z){var U,ue=N!==void 0?N:2;R?U=R:U=T.generateSessionId();var pe=z||"thisisadapterortc";return`v=0\r |
|
|
o=`+pe+" "+U+" "+ue+` IN IP4 127.0.0.1\r |
|
|
s=-\r |
|
|
t=0 0\r |
|
|
`},T.writeMediaSection=function(R,N,z,U){var ue=T.writeRtpDescription(R.kind,N);if(ue+=T.writeIceParameters(R.iceGatherer.getLocalParameters()),ue+=T.writeDtlsParameters(R.dtlsTransport.getLocalParameters(),z==="offer"?"actpass":"active"),ue+="a=mid:"+R.mid+`\r |
|
|
`,R.direction?ue+="a="+R.direction+`\r |
|
|
`:R.rtpSender&&R.rtpReceiver?ue+=`a=sendrecv\r |
|
|
`:R.rtpSender?ue+=`a=sendonly\r |
|
|
`:R.rtpReceiver?ue+=`a=recvonly\r |
|
|
`:ue+=`a=inactive\r |
|
|
`,R.rtpSender){var pe="msid:"+U.id+" "+R.rtpSender.track.id+`\r |
|
|
`;ue+="a="+pe,ue+="a=ssrc:"+R.sendEncodingParameters[0].ssrc+" "+pe,R.sendEncodingParameters[0].rtx&&(ue+="a=ssrc:"+R.sendEncodingParameters[0].rtx.ssrc+" "+pe,ue+="a=ssrc-group:FID "+R.sendEncodingParameters[0].ssrc+" "+R.sendEncodingParameters[0].rtx.ssrc+`\r |
|
|
`)}return ue+="a=ssrc:"+R.sendEncodingParameters[0].ssrc+" cname:"+T.localCName+`\r |
|
|
`,R.rtpSender&&R.sendEncodingParameters[0].rtx&&(ue+="a=ssrc:"+R.sendEncodingParameters[0].rtx.ssrc+" cname:"+T.localCName+`\r |
|
|
`),ue},T.getDirection=function(R,N){for(var z=T.splitLines(R),U=0;U<z.length;U++)switch(z[U]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return z[U].substr(2)}return N?T.getDirection(N):"sendrecv"},T.getKind=function(R){var N=T.splitLines(R),z=N[0].split(" ");return z[0].substr(2)},T.isRejected=function(R){return R.split(" ",2)[1]==="0"},T.parseMLine=function(R){var N=T.splitLines(R),z=N[0].substr(2).split(" ");return{kind:z[0],port:parseInt(z[1],10),protocol:z[2],fmt:z.slice(3).join(" ")}},T.parseOLine=function(R){var N=T.matchPrefix(R,"o=")[0],z=N.substr(2).split(" ");return{username:z[0],sessionId:z[1],sessionVersion:parseInt(z[2],10),netType:z[3],addressType:z[4],address:z[5]}},T.isValidSDP=function(R){if(typeof R!="string"||R.length===0)return!1;for(var N=T.splitLines(R),z=0;z<N.length;z++)if(N[z].length<2||N[z].charAt(1)!=="=")return!1;return!0},t(H)==="object"&&(H.exports=T)},{}]},{},[1])(1)}),k.sessions={},k.isExtensionEnabled=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return!0;if(window.navigator.userAgent.match("Chrome")){var J=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),H=33;return window.navigator.userAgent.match("Linux")&&(H=35),J>=26&&J<=H?!0:k.extension.isInstalled()}else return!0};var O2={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(H){var w=window.setTimeout(function(){var T=new Error("NavigatorUserMediaError");return T.name='The required Chrome extension is not installed: click <a href="#">here</a> to install it. (NOTE: this will need you to refresh the page)',H(T)},1e3);this.cache[w]=H,window.postMessage({type:"janusGetScreen",id:w},"*")},init:function(){var H={};this.cache=H,window.addEventListener("message",function(w){if(w.origin==window.location.origin)if(w.data.type=="janusGotScreen"&&H[w.data.id]){var T=H[w.data.id];if(delete H[w.data.id],w.data.sourceId===""){var R=new Error("NavigatorUserMediaError");R.name="You cancelled the request for permission, giving up...",T(R)}else T(null,w.data.sourceId)}else w.data.type=="janusGetScreenPending"&&(console.log("clearing ",w.data.id),window.clearTimeout(w.data.id))})}};k.useDefaultDependencies=function(J){var H=J&&J.fetch||fetch,w=J&&J.Promise||Promise,T=J&&J.WebSocket||WebSocket;return{newWebSocket:function(N,z){return new T(N,z)},extension:J&&J.extension||O2,isArray:function(N){return Array.isArray(N)},webRTCAdapter:J&&J.adapter||window.adapter,httpAPICall:function(N,z){var U={method:z.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};z.verb==="POST"&&(U.headers["Content-Type"]="application/json"),z.withCredentials!==void 0&&(U.credentials=z.withCredentials===!0?"include":z.withCredentials?z.withCredentials:"omit"),z.body!==void 0&&(U.body=JSON.stringify(z.body));var ue=H(N,U).catch(function(de){return w.reject({message:"Probably a network error, is the server down?",error:de})});if(z.timeout!==void 0){var pe=new w(function(de,se){var re=setTimeout(function(){return clearTimeout(re),se({message:"Request timed out",timeout:z.timeout})},z.timeout)});ue=w.race([ue,pe])}return ue.then(function(de){if(de.ok){if(t(z.success)===t(k.noop))return de.json().then(function(se){z.success(se)}).catch(function(se){return w.reject({message:"Failed to parse response body",error:se,response:de})})}else return w.reject({message:"API call failed",response:de})}).catch(function(de){t(z.error)===t(k.noop)&&z.error(de.message||"<< internal error >>",de)}),ue}}},k.useOldDependencies=function(J){var H=J&&J.jQuery||jQuery,w=J&&J.WebSocket||WebSocket;return{newWebSocket:function(R,N){return new w(R,N)},isArray:function(R){return H.isArray(R)},extension:J&&J.extension||O2,webRTCAdapter:J&&J.adapter||adapter,httpAPICall:function(R,N){var z=N.body!==void 0?{contentType:"application/json",data:JSON.stringify(N.body)}:{},U=N.withCredentials!==void 0?{xhrFields:{withCredentials:N.withCredentials}}:{};return H.ajax(H.extend(z,U,{url:R,type:N.verb,cache:!1,dataType:"json",async:N.async,timeout:N.timeout,success:function(pe){t(N.success)===t(k.noop)&&N.success(pe)},error:function(pe,de,se){t(N.error)===t(k.noop)&&N.error(de,se)}}))}}},k.noop=function(){},k.dataChanDefaultLabel="JanusDataChannel",k.endOfCandidates=null,k.init=function(J){if(J=J||{},J.callback=typeof J.callback=="function"?J.callback:k.noop,k.initDone===!0)J.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),k.trace=k.noop,k.debug=k.noop,k.vdebug=k.noop,k.log=k.noop,k.warn=k.noop,k.error=k.noop,J.debug===!0||J.debug==="all")k.trace=console.trace.bind(console),k.debug=console.debug.bind(console),k.vdebug=console.debug.bind(console),k.log=console.log.bind(console),k.warn=console.warn.bind(console),k.error=console.error.bind(console);else if(Array.isArray(J.debug))for(var H in J.debug){var w=J.debug[H];switch(w){case"trace":k.trace=console.trace.bind(console);break;case"debug":k.debug=console.debug.bind(console);break;case"vdebug":k.vdebug=console.debug.bind(console);break;case"log":k.log=console.log.bind(console);break;case"warn":k.warn=console.warn.bind(console);break;case"error":k.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+w+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}k.log("Initializing library");var T=J.dependencies||k.useDefaultDependencies();k.isArray=T.isArray,k.webRTCAdapter=T.webRTCAdapter,k.httpAPICall=T.httpAPICall,k.newWebSocket=T.newWebSocket,k.extension=T.extension,k.extension.init(),k.listDevices=function(de,se){de=typeof de=="function"?de:k.noop,se==null&&(se={audio:!0,video:!0}),k.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(se).then(function(re){navigator.mediaDevices.enumerateDevices().then(function(Be){k.debug(Be),de(Be);try{var be=re.getTracks();for(var ge in be){var ye=be[ge];ye!=null&&ye.stop()}}catch(Ze){}})}).catch(function(re){k.error(re),de([])}):(k.warn("navigator.mediaDevices unavailable"),de([]))},k.attachMediaStream=function(de,se){if(k.webRTCAdapter.browserDetails.browser==="chrome"){var re=k.webRTCAdapter.browserDetails.version;re>=52?de.srcObject=se:k.error("Error attaching stream to element")}else de.srcObject=se},k.reattachMediaStream=function(de,se){if(k.webRTCAdapter.browserDetails.browser==="chrome"){var re=k.webRTCAdapter.browserDetails.version;re>=52?de.srcObject=se.srcObject:typeof de.src!="undefined"?de.src=se.src:k.error("Error reattaching stream to element")}else de.srcObject=se.srcObject};var R=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,N=R?"pagehide":"beforeunload",z=window["on"+N];if(window.addEventListener(N,function(de){k.log("Closing window");for(var se in k.sessions)k.sessions[se]!==null&&k.sessions[se]!==void 0&&k.sessions[se].destroyOnUnload&&(k.log("Destroying session "+se),k.sessions[se].destroy({asyncRequest:!1,notifyDestroyed:!1}));z&&typeof z=="function"&&z()}),k.safariVp8=!1,k.webRTCAdapter.browserDetails.browser==="safari"&&k.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var H in RTCRtpSender.getCapabilities("video").codecs){var U=RTCRtpSender.getCapabilities("video").codecs[H];if(U&&U.mimeType&&U.mimeType.toLowerCase()==="video/vp8"){k.safariVp8=!0;break}}k.safariVp8?k.log("This version of Safari supports VP8"):k.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var ue=new RTCPeerConnection({},{});ue.createOffer({offerToReceiveVideo:!0}).then(function(de){k.safariVp8=de.sdp.indexOf("VP8")!==-1,k.safariVp8?k.log("This version of Safari supports VP8"):k.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),ue.close(),ue=null})}if(k.unifiedPlan=!1,k.webRTCAdapter.browserDetails.browser==="firefox"&&k.webRTCAdapter.browserDetails.version>=59)k.unifiedPlan=!0;else if(k.webRTCAdapter.browserDetails.browser==="chrome"&&k.webRTCAdapter.browserDetails.version<72)k.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))k.unifiedPlan=!1;else{var pe=new RTCPeerConnection;try{pe.addTransceiver("audio"),k.unifiedPlan=!0}catch(de){}pe.close()}k.initDone=!0,J.callback()}},k.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},k.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},k.randomString=function(J){for(var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",w="",T=0;T<J;T++){var R=Math.floor(Math.random()*H.length);w+=H.substring(R,R+1)}return w};function k(J){if(k.initDone===void 0)return J.error("Library not initialized"),{};if(!k.isWebrtcSupported())return J.error("WebRTC not supported by this browser"),{};if(k.log("Library initialized: "+k.initDone),J=J||{},J.success=typeof J.success=="function"?J.success:k.noop,J.error=typeof J.error=="function"?J.error:k.noop,J.destroyed=typeof J.destroyed=="function"?J.destroyed:k.noop,J.server===null||J.server===void 0)return J.error("Invalid server url"),{};var H=!1,w=null,T={},R=null,N=null,z=0,U=J.server;k.isArray(U)?(k.log("Multiple servers provided ("+U.length+"), will use the first that works"),U=null,N=J.server,k.debug(N)):U.indexOf("ws")===0?(H=!0,k.log("Using WebSockets to contact Janus: "+U)):(H=!1,k.log("Using REST API to contact Janus: "+U));var ue=J.iceServers;ue==null&&(ue=[{urls:"stun:stun.l.google.com:19302"}]);var pe=J.iceTransportPolicy,de=J.bundlePolicy,se=J.ipv6;se==null&&(se=!1);var re=!1;J.withCredentials!==void 0&&J.withCredentials!==null&&(re=J.withCredentials===!0);var Be=10;J.max_poll_events!==void 0&&J.max_poll_events!==null&&(Be=J.max_poll_events),Be<1&&(Be=1);var be=null;J.token!==void 0&&J.token!==null&&(be=J.token);var ge=null;J.apisecret!==void 0&&J.apisecret!==null&&(ge=J.apisecret),this.destroyOnUnload=!0,J.destroyOnUnload!==void 0&&J.destroyOnUnload!==null&&(this.destroyOnUnload=J.destroyOnUnload===!0);var ye=25e3;J.keepAlivePeriod!==void 0&&J.keepAlivePeriod!==null&&(ye=J.keepAlivePeriod),isNaN(ye)&&(ye=25e3);var Ze=6e4;J.longPollTimeout!==void 0&&J.longPollTimeout!==null&&(Ze=J.longPollTimeout),isNaN(Ze)&&(Ze=6e4);function fe(_e){var ke={high:9e5,medium:3e5,low:1e5};return _e!=null&&(_e.high&&(ke.high=_e.high),_e.medium&&(ke.medium=_e.medium),_e.low&&(ke.low=_e.low)),ke}var O=!1,te=null,oe={},De=this,He=0,i2={};$2(J),this.getServer=function(){return U},this.isConnected=function(){return O},this.reconnect=function(_e){_e=_e||{},_e.success=typeof _e.success=="function"?_e.success:k.noop,_e.error=typeof _e.error=="function"?_e.error:k.noop,_e.reconnect=!0,$2(_e)},this.getSessionId=function(){return te},this.destroy=function(_e){F2(_e)},this.attach=function(_e){Dt(_e)};function a2(){if(te!=null){if(k.debug("Long poll..."),!O){k.warn("Is the server down? (connected=false)");return}var _e=U+"/"+te+"?rid="+new Date().getTime();Be!=null&&(_e=_e+"&maxev="+Be),be!=null&&(_e=_e+"&token="+encodeURIComponent(be)),ge!=null&&(_e=_e+"&apisecret="+encodeURIComponent(ge)),k.httpAPICall(_e,{verb:"GET",withCredentials:re,success:x2,timeout:Ze,error:function(qe,t2){if(k.error(qe+":",t2),He++,He>3){O=!1,J.error("Lost connection to the server (is it down?)");return}a2()}})}}function x2(_e,ke){if(He=0,!H&&te!==void 0&&te!==null&&ke!==!0&&a2(),!H&&k.isArray(_e)){for(var qe=0;qe<_e.length;qe++)x2(_e[qe],!0);return}if(_e.rtcgw==="keepalive"){k.vdebug("Got a keepalive on session "+te);return}else if(_e.rtcgw==="ack"){k.debug("Got an ack on session "+te),k.debug(_e);var t2=_e.transaction;if(t2!=null){var ve=i2[t2];ve!=null&&ve(_e),delete i2[t2]}return}else if(_e.rtcgw==="success"){k.debug("Got a success on session "+te),k.debug(_e);var t2=_e.transaction;if(t2!=null){var ve=i2[t2];ve!=null&&ve(_e),delete i2[t2]}return}else if(_e.rtcgw==="trickle"){var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null){k.debug("This handle is not attached to this session");return}var m2=_e.candidate;k.debug("Got a trickled candidate on session "+te),k.debug(m2);var N2=e2.webrtcStuff;N2.pc&&N2.remoteSdp?(k.debug("Adding remote candidate:",m2),!m2||m2.completed===!0?N2.pc.addIceCandidate(k.endOfCandidates):N2.pc.addIceCandidate(m2)):(k.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),N2.candidates||(N2.candidates=[]),N2.candidates.push(m2),k.debug(N2.candidates))}else if(_e.rtcgw==="webrtcup"){k.debug("Got a webrtcup event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null){k.debug("This handle is not attached to this session");return}e2.webrtcState(!0);return}else if(_e.rtcgw==="hangup"){k.debug("Got a hangup event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null){k.debug("This handle is not attached to this session");return}e2.webrtcState(!1,_e.reason),e2.hangup()}else if(_e.rtcgw==="detached"){k.debug("Got a detached event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null)return;e2.detached=!0,e2.ondetached(),e2.detach()}else if(_e.rtcgw==="media"){k.debug("Got a media event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null){k.debug("This handle is not attached to this session");return}e2.mediaState(_e.type,_e.receiving)}else if(_e.rtcgw==="slowlink"){k.debug("Got a slowlink event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var e2=oe[c2];if(e2==null){k.debug("This handle is not attached to this session");return}e2.slowLink(_e.uplink,_e.lost)}else if(_e.rtcgw==="error"){k.error("Ooops: "+_e.error.code+" "+_e.error.reason),k.debug(_e);var t2=_e.transaction;if(t2!=null){var ve=i2[t2];ve!=null&&ve(_e),delete i2[t2]}return}else if(_e.rtcgw==="event"){k.debug("Got a plugin event on session "+te),k.debug(_e);var c2=_e.sender;if(c2==null){k.warn("Missing sender...");return}var ot=_e.plugindata;if(ot==null){k.warn("Missing plugindata...");return}k.debug(" -- Event is coming from "+c2+" ("+ot.plugin+")");var U2=ot.data;k.debug(U2);var e2=oe[c2];if(e2==null){k.warn("This handle is not attached to this session");return}var dt=_e.jsep;dt!=null&&(k.debug("Handling SDP as well..."),k.debug(dt));var m1=e2.onmessage;m1!=null?(k.debug("Notifying application..."),m1(U2,dt)):k.debug("No provided notification callback")}else if(_e.rtcgw==="timeout"){k.error("Timeout on session "+te),k.debug(_e),H&&w.close(3504,"Gateway timeout");return}else k.warn("Unknown message/event '"+_e.rtcgw+"' on session "+te),k.debug(_e)}function G2(){if(!(U===null||!H||!O)){R=setTimeout(G2,ye);var _e={rtcgw:"keepalive",session_id:te,transaction:k.randomString(12)};be!=null&&(_e.token=be),ge!=null&&(_e.apisecret=ge),w.send(JSON.stringify(_e))}}function $2(_e){var ke=k.randomString(12),qe={rtcgw:"create",transaction:ke,token:window.EZUIKit.opt.stream,device:window.EZUIKit.opt.deviceSerial,channel:window.EZUIKit.opt.channelNo};if(_e.reconnect&&(O=!1,qe.rtcgw="claim",qe.session_id=te,w&&(w.onopen=null,w.onerror=null,w.onclose=null,R&&(clearTimeout(R),R=null))),be!=null&&(qe.token=be),ge!=null&&(qe.apisecret=ge),U===null&&k.isArray(N)&&(U=N[z],U.indexOf("ws")===0?(H=!0,k.log("Server #"+(z+1)+": trying WebSockets to contact Janus ("+U+")")):(H=!1,k.log("Server #"+(z+1)+": trying REST API to contact Janus ("+U+")"))),H){w=k.newWebSocket(U,"rtcgw-protocol"),T={error:function(){if(k.error("Error connecting to the Janus WebSockets server... "+U),k.isArray(N)&&!_e.reconnect){if(z++,z==N.length){_e.error("Error connecting to any of the provided Janus servers: Is the server down?");return}U=null,setTimeout(function(){$2(_e)},200);return}_e.error("Error connecting to the Janus WebSockets server: Is the server down?")},open:function(){i2[ke]=function(c2){if(k.debug(c2),c2.rtcgw!=="success"){k.error("Ooops: "+c2.error.code+" "+c2.error.reason),_e.error(c2.error.reason);return}R=setTimeout(G2,ye),O=!0,te=c2.session_id?c2.session_id:c2.data.id,_e.reconnect?k.log("Claimed session: "+te):k.log("Created session: "+te),k.sessions[te]=De,_e.success()},w.send(JSON.stringify(qe))},message:function(c2){x2(JSON.parse(c2.data))},close:function(){U===null||!O||(O=!1,J.error("Lost connection to the server (is it down?)"))}};for(var t2 in T)w.addEventListener(t2,T[t2]);return}k.httpAPICall(U,{verb:"POST",withCredentials:re,body:qe,success:function(c2){if(k.debug(c2),c2.rtcgw!=="success"){k.error("Ooops: "+c2.error.code+" "+c2.error.reason),_e.error(c2.error.reason);return}O=!0,te=c2.session_id?c2.session_id:c2.data.id,_e.reconnect?k.log("Claimed session: "+te):k.log("Created session: "+te),k.sessions[te]=De,a2(),_e.success()},error:function(c2,e2){if(k.error(c2+":",e2),k.isArray(N)&&!_e.reconnect){if(z++,z==N.length){_e.error("Error connecting to any of the provided Janus servers: Is the server down?");return}U=null,setTimeout(function(){$2(_e)},200);return}e2===""?_e.error(c2+": Is the server down?"):_e.error(c2+": "+e2)}})}function F2(_e){_e=_e||{},_e.success=typeof _e.success=="function"?_e.success:k.noop;var ke=!0;_e.asyncRequest!==void 0&&_e.asyncRequest!==null&&(ke=_e.asyncRequest===!0);var qe=!0;_e.notifyDestroyed!==void 0&&_e.notifyDestroyed!==null&&(qe=_e.notifyDestroyed===!0);var t2=!1;if(_e.cleanupHandles!==void 0&&_e.cleanupHandles!==null&&(t2=_e.cleanupHandles===!0),k.log("Destroying session "+te+" (async="+ke+")"),!O){k.warn("Is the server down? (connected=false)"),_e.success();return}if(te==null){k.warn("No session to destroy"),_e.success(),qe&&J.destroyed();return}if(t2)for(var ve in oe)e1(ve,{noRequest:!0});var c2={rtcgw:"destroy",transaction:k.randomString(12)};if(be!=null&&(c2.token=be),ge!=null&&(c2.apisecret=ge),H){c2.session_id=te;var e2=function(){for(var U2 in T)w.removeEventListener(U2,T[U2]);w.removeEventListener("message",m2),w.removeEventListener("error",N2),R&&clearTimeout(R),w.close()},m2=function(U2){var dt=JSON.parse(U2.data);dt.session_id==c2.session_id&&dt.transaction==c2.transaction&&(e2(),_e.success(),qe&&J.destroyed())},N2=function(U2){e2(),_e.error("Failed to destroy the server: Is the server down?"),qe&&J.destroyed()};w.addEventListener("message",m2),w.addEventListener("error",N2),w.send(JSON.stringify(c2));return}k.httpAPICall(U+"/"+te,{verb:"POST",async:ke,withCredentials:re,body:c2,success:function(U2){k.log("Destroyed session:"),k.debug(U2),te=null,O=!1,U2.rtcgw!=="success"&&k.error("Ooops: "+U2.error.code+" "+U2.error.reason),_e.success(),qe&&J.destroyed()},error:function(U2,dt){k.error(U2+":",dt),te=null,O=!1,_e.success(),qe&&J.destroyed()}})}function Dt(_e){if(_e=_e||{},_e.success=typeof _e.success=="function"?_e.success:k.noop,_e.error=typeof _e.error=="function"?_e.error:k.noop,_e.consentDialog=typeof _e.consentDialog=="function"?_e.consentDialog:k.noop,_e.iceState=typeof _e.iceState=="function"?_e.iceState:k.noop,_e.mediaState=typeof _e.mediaState=="function"?_e.mediaState:k.noop,_e.webrtcState=typeof _e.webrtcState=="function"?_e.webrtcState:k.noop,_e.slowLink=typeof _e.slowLink=="function"?_e.slowLink:k.noop,_e.onmessage=typeof _e.onmessage=="function"?_e.onmessage:k.noop,_e.onlocalstream=typeof _e.onlocalstream=="function"?_e.onlocalstream:k.noop,_e.onremotestream=typeof _e.onremotestream=="function"?_e.onremotestream:k.noop,_e.ondata=typeof _e.ondata=="function"?_e.ondata:k.noop,_e.ondataopen=typeof _e.ondataopen=="function"?_e.ondataopen:k.noop,_e.oncleanup=typeof _e.oncleanup=="function"?_e.oncleanup:k.noop,_e.ondetached=typeof _e.ondetached=="function"?_e.ondetached:k.noop,!O){k.warn("Is the server down? (connected=false)"),_e.error("Is the server down? (connected=false)");return}var ke=_e.plugin;if(ke==null){k.error("Invalid plugin"),_e.error("Invalid plugin");return}var qe=_e.opaqueId,t2=_e.token?_e.token:be,ve=k.randomString(12),c2={rtcgw:"attach",plugin:ke,opaque_id:qe,transaction:ve};if(t2!=null&&(c2.token=t2),ge!=null&&(c2.apisecret=ge),H){i2[ve]=function(e2){if(k.debug(e2),e2.rtcgw!=="success"){k.error("Ooops: "+e2.error.code+" "+e2.error.reason),_e.error("Ooops: "+e2.error.code+" "+e2.error.reason);return}var m2=e2.data.id;k.log("Created handle: "+m2);var N2={session:De,plugin:ke,id:m2,token:t2,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return m2},getPlugin:function(){return ke},getVolume:function(){return d3(m2,!0)},getRemoteVolume:function(){return d3(m2,!0)},getLocalVolume:function(){return d3(m2,!1)},isAudioMuted:function(){return y3(m2,!1)},muteAudio:function(){return t1(m2,!1,!0)},unmuteAudio:function(){return t1(m2,!1,!1)},isVideoMuted:function(){return y3(m2,!0)},muteVideo:function(){return t1(m2,!0,!0)},unmuteVideo:function(){return t1(m2,!0,!1)},getBitrate:function(){return Br(m2)},send:function(U2){Ut(m2,U2)},data:function(U2){e3(m2,U2)},dtmf:function(U2){c3(m2,U2)},consentDialog:_e.consentDialog,iceState:_e.iceState,mediaState:_e.mediaState,webrtcState:_e.webrtcState,slowLink:_e.slowLink,onmessage:_e.onmessage,createOffer:function(U2){C2(m2,!0,U2)},createAnswer:function(U2){C2(m2,!1,U2)},handleRemoteJsep:function(U2){W2(m2,U2)},onlocalstream:_e.onlocalstream,onremotestream:_e.onremotestream,ondata:_e.ondata,ondataopen:_e.ondataopen,oncleanup:_e.oncleanup,ondetached:_e.ondetached,hangup:function(U2){O1(m2,U2===!0)},detach:function(U2){e1(m2,U2)}};oe[m2]=N2,_e.success(N2)},c2.session_id=te,w.send(JSON.stringify(c2));return}k.httpAPICall(U+"/"+te,{verb:"POST",withCredentials:re,body:c2,success:function(m2){if(k.debug(m2),m2.rtcgw!=="success"){k.error("Ooops: "+m2.error.code+" "+m2.error.reason),_e.error("Ooops: "+m2.error.code+" "+m2.error.reason);return}var N2=m2.data.id;k.log("Created handle: "+N2);var ot={session:De,plugin:ke,id:N2,token:t2,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return N2},getPlugin:function(){return ke},getVolume:function(){return d3(N2,!0)},getRemoteVolume:function(){return d3(N2,!0)},getLocalVolume:function(){return d3(N2,!1)},isAudioMuted:function(){return y3(N2,!1)},muteAudio:function(){return t1(N2,!1,!0)},unmuteAudio:function(){return t1(N2,!1,!1)},isVideoMuted:function(){return y3(N2,!0)},muteVideo:function(){return t1(N2,!0,!0)},unmuteVideo:function(){return t1(N2,!0,!1)},getBitrate:function(){return Br(N2)},send:function(dt){Ut(N2,dt)},data:function(dt){e3(N2,dt)},dtmf:function(dt){c3(N2,dt)},consentDialog:_e.consentDialog,iceState:_e.iceState,mediaState:_e.mediaState,webrtcState:_e.webrtcState,slowLink:_e.slowLink,onmessage:_e.onmessage,createOffer:function(dt){C2(N2,!0,dt)},createAnswer:function(dt){C2(N2,!1,dt)},handleRemoteJsep:function(dt){W2(N2,dt)},onlocalstream:_e.onlocalstream,onremotestream:_e.onremotestream,ondata:_e.ondata,ondataopen:_e.ondataopen,oncleanup:_e.oncleanup,ondetached:_e.ondetached,hangup:function(dt){O1(N2,dt===!0)},detach:function(dt){e1(N2,dt)}};oe[N2]=ot,_e.success(ot)},error:function(m2,N2){k.error(m2+":",N2)}})}function Ut(_e,ke){if(ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:k.noop,!O){k.warn("Is the server down? (connected=false)"),ke.error("Is the server down? (connected=false)");return}var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0){k.warn("Invalid handle"),ke.error("Invalid handle");return}var t2=ke.message,ve=ke.jsep,c2=k.randomString(12),e2={rtcgw:"message",body:t2,transaction:c2};if(qe.token!==null&&qe.token!==void 0&&(e2.token=qe.token),ge!=null&&(e2.apisecret=ge),ve!=null&&(e2.jsep=ve),k.debug("Sending message to plugin (handle="+_e+"):"),k.debug(e2),H){e2.session_id=te,e2.handle_id=_e,i2[c2]=function(m2){if(k.debug("Message sent!"),k.debug(m2),m2.rtcgw==="success"){var N2=m2.plugindata;if(N2==null){k.warn("Request succeeded, but missing plugindata..."),ke.success();return}k.log("Synchronous transaction successful ("+N2.plugin+")");var ot=N2.data;k.debug(ot),ke.success(ot);return}else if(m2.rtcgw!=="ack"){m2.error!==void 0&&m2.error!==null?(k.error("Ooops: "+m2.error.code+" "+m2.error.reason),ke.error(m2.error.code+" "+m2.error.reason)):(k.error("Unknown error"),ke.error("Unknown error"));return}ke.success()},w.send(JSON.stringify(e2));return}k.httpAPICall(U+"/"+te+"/"+_e,{verb:"POST",withCredentials:re,body:e2,success:function(N2){if(k.debug("Message sent!"),k.debug(N2),N2.rtcgw==="success"){var ot=N2.plugindata;if(ot==null){k.warn("Request succeeded, but missing plugindata..."),ke.success();return}k.log("Synchronous transaction successful ("+ot.plugin+")");var U2=ot.data;k.debug(U2),ke.success(U2);return}else if(N2.rtcgw!=="ack"){N2.error!==void 0&&N2.error!==null?(k.error("Ooops: "+N2.error.code+" "+N2.error.reason),ke.error(N2.error.code+" "+N2.error.reason)):(k.error("Unknown error"),ke.error("Unknown error"));return}ke.success()},error:function(N2,ot){k.error(N2+":",ot),ke.error(N2+": "+ot)}})}function zt(_e,ke){if(!O){k.warn("Is the server down? (connected=false)");return}var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0){k.warn("Invalid handle");return}var t2={rtcgw:"trickle",candidate:ke,transaction:k.randomString(12)};if(qe.token!==null&&qe.token!==void 0&&(t2.token=qe.token),ge!=null&&(t2.apisecret=ge),k.vdebug("Sending trickle candidate (handle="+_e+"):"),k.vdebug(t2),H){t2.session_id=te,t2.handle_id=_e,w.send(JSON.stringify(t2));return}k.httpAPICall(U+"/"+te+"/"+_e,{verb:"POST",withCredentials:re,body:t2,success:function(c2){if(k.vdebug("Candidate sent!"),k.vdebug(c2),c2.rtcgw!=="ack"){k.error("Ooops: "+c2.error.code+" "+c2.error.reason);return}},error:function(c2,e2){k.error(c2+":",e2)}})}function i3(_e,ke,qe,t2){var ve=oe[_e];if(ve==null||ve.webrtcStuff===null||ve.webrtcStuff===void 0){k.warn("Invalid handle");return}var c2=ve.webrtcStuff,e2=function(U2){k.log("Received message on data channel:",U2);var dt=U2.target.label;ve.ondata(U2.data,dt)},m2=function(U2){k.log("Received state change on data channel:",U2);var dt=U2.target.label,m1=c2.dataChannel[dt]?c2.dataChannel[dt].readyState:"null";if(k.log("State change on <"+dt+"> data channel: "+m1),m1==="open"){if(c2.dataChannel[dt].pending&&c2.dataChannel[dt].pending.length>0){k.log("Sending pending messages on <"+dt+">:",c2.dataChannel[dt].pending.length);for(var Q1 in c2.dataChannel[dt].pending){var v3=c2.dataChannel[dt].pending[Q1];k.log("Sending string on data channel <"+dt+">: "+v3),c2.dataChannel[dt].send(v3)}c2.dataChannel[dt].pending=[]}ve.ondataopen(dt)}},N2=function(U2){k.error("Got error on data channel:",U2)};qe?c2.dataChannel[ke]=qe:c2.dataChannel[ke]=c2.pc.createDataChannel(ke,{ordered:!1}),c2.dataChannel[ke].onmessage=e2,c2.dataChannel[ke].onopen=m2,c2.dataChannel[ke].onclose=m2,c2.dataChannel[ke].onerror=N2,c2.dataChannel[ke].pending=[],t2&&c2.dataChannel[ke].pending.push(t2)}function e3(_e,ke){ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:k.noop;var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0){k.warn("Invalid handle"),ke.error("Invalid handle");return}var t2=qe.webrtcStuff,ve=ke.text;if(ve==null){k.warn("Invalid text"),ke.error("Invalid text");return}var c2=ke.label?ke.label:k.dataChanDefaultLabel;if(!t2.dataChannel[c2]){i3(_e,c2,!1,ve),ke.success();return}if(t2.dataChannel[c2].readyState!=="open"){t2.dataChannel[c2].pending.push(ve),ke.success();return}k.log("Sending string on data channel <"+c2+">: "+ve),t2.dataChannel[c2].send(ve),ke.success()}function c3(_e,ke){ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:k.noop;var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0){k.warn("Invalid handle"),ke.error("Invalid handle");return}var t2=qe.webrtcStuff;if(t2.dtmfSender===null||t2.dtmfSender===void 0){if(t2.pc!==void 0&&t2.pc!==null){var ve=t2.pc.getSenders(),c2=ve.find(function(U2){return U2.track&&U2.track.kind==="audio"});if(!c2){k.warn("Invalid DTMF configuration (no audio track)"),ke.error("Invalid DTMF configuration (no audio track)");return}t2.dtmfSender=c2.dtmf,t2.dtmfSender&&(k.log("Created DTMF Sender"),t2.dtmfSender.ontonechange=function(U2){k.debug("Sent DTMF tone: "+U2.tone)})}if(t2.dtmfSender===null||t2.dtmfSender===void 0){k.warn("Invalid DTMF configuration"),ke.error("Invalid DTMF configuration");return}}var e2=ke.dtmf;if(e2==null){k.warn("Invalid DTMF parameters"),ke.error("Invalid DTMF parameters");return}var m2=e2.tones;if(m2==null){k.warn("Invalid DTMF string"),ke.error("Invalid DTMF string");return}var N2=e2.duration;N2==null&&(N2=500);var ot=e2.gap;ot==null&&(ot=50),k.debug("Sending DTMF string "+m2+" (duration "+N2+"ms, gap "+ot+"ms)"),t2.dtmfSender.insertDTMF(m2,N2,ot),ke.success()}function e1(_e,ke){ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:k.noop;var qe=!0;ke.asyncRequest!==void 0&&ke.asyncRequest!==null&&(qe=ke.asyncRequest===!0);var t2=!0;ke.noRequest!==void 0&&ke.noRequest!==null&&(t2=ke.noRequest===!0),k.log("Destroying handle "+_e+" (async="+qe+")"),O1(_e);var ve=oe[_e];if(ve==null||ve.detached){delete oe[_e],ke.success();return}if(t2){delete oe[_e],ke.success();return}if(!O){k.warn("Is the server down? (connected=false)"),ke.error("Is the server down? (connected=false)");return}var c2={rtcgw:"detach",transaction:k.randomString(12)};if(ve.token!==null&&ve.token!==void 0&&(c2.token=ve.token),ge!=null&&(c2.apisecret=ge),H){c2.session_id=te,c2.handle_id=_e,w.send(JSON.stringify(c2)),delete oe[_e],ke.success();return}k.httpAPICall(U+"/"+te+"/"+_e,{verb:"POST",async:qe,withCredentials:re,body:c2,success:function(m2){k.log("Destroyed handle:"),k.debug(m2),m2.rtcgw!=="success"&&k.error("Ooops: "+m2.error.code+" "+m2.error.reason),delete oe[_e],ke.success()},error:function(m2,N2){k.error(m2+":",N2),delete oe[_e],ke.success()}})}function We(_e,ke,qe,t2,ve){var c2=oe[_e];if(c2==null||c2.webrtcStuff===null||c2.webrtcStuff===void 0){k.warn("Invalid handle"),t2.error("Invalid handle");return}var e2=c2.webrtcStuff;k.debug("streamsDone:",ve),ve&&(k.debug(" -- Audio tracks:",ve.getAudioTracks()),k.debug(" -- Video tracks:",ve.getVideoTracks()));var m2=!1;if(!e2.myStream||!qe.update||e2.streamExternal)e2.myStream=ve,m2=!0;else{if((!qe.update&&n1(qe)||qe.update&&(qe.addAudio||qe.replaceAudio))&&ve.getAudioTracks()&&ve.getAudioTracks().length)if(e2.myStream.addTrack(ve.getAudioTracks()[0]),k.unifiedPlan){k.log((qe.replaceAudio?"Replacing":"Adding")+" audio track:",ve.getAudioTracks()[0]);var N2=null,ot=e2.pc.getTransceivers();if(ot&&ot.length>0)for(var U2 in ot){var dt=ot[U2];if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="audio"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="audio"){N2=dt;break}}N2&&N2.sender?N2.sender.replaceTrack(ve.getAudioTracks()[0]):e2.pc.addTrack(ve.getAudioTracks()[0],ve)}else k.log((qe.replaceAudio?"Replacing":"Adding")+" audio track:",ve.getAudioTracks()[0]),e2.pc.addTrack(ve.getAudioTracks()[0],ve);if((!qe.update&&U3(qe)||qe.update&&(qe.addVideo||qe.replaceVideo))&&ve.getVideoTracks()&&ve.getVideoTracks().length)if(e2.myStream.addTrack(ve.getVideoTracks()[0]),k.unifiedPlan){k.log((qe.replaceVideo?"Replacing":"Adding")+" video track:",ve.getVideoTracks()[0]);var m1=null,ot=e2.pc.getTransceivers();if(ot&&ot.length>0)for(var U2 in ot){var dt=ot[U2];if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="video"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="video"){m1=dt;break}}m1&&m1.sender?m1.sender.replaceTrack(ve.getVideoTracks()[0]):e2.pc.addTrack(ve.getVideoTracks()[0],ve)}else k.log((qe.replaceVideo?"Replacing":"Adding")+" video track:",ve.getVideoTracks()[0]),e2.pc.addTrack(ve.getVideoTracks()[0],ve)}if(!e2.pc){var Q1={iceServers:ue,iceTransportPolicy:pe,bundlePolicy:de};k.webRTCAdapter.browserDetails.browser==="chrome"&&(Q1.sdpSemantics=k.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var v3={optional:[{DtlsSrtpKeyAgreement:!0}]};if(se===!0&&v3.optional.push({googIPv6:!0}),t2.rtcConstraints&&t(t2.rtcConstraints)==="object"){k.debug("Adding custom PeerConnection constraints:",t2.rtcConstraints);for(var U2 in t2.rtcConstraints)v3.optional.push(t2.rtcConstraints[U2])}k.webRTCAdapter.browserDetails.browser==="edge"&&(Q1.bundlePolicy="max-bundle"),k.log("Creating PeerConnection"),k.debug(v3),e2.pc=new RTCPeerConnection(Q1,v3),k.debug(e2.pc),e2.pc.getStats&&(e2.volume={},e2.bitrate.value="0 kbits/sec"),k.log("Preparing local SDP and gathering candidates (trickle="+e2.trickle+")"),e2.pc.oniceconnectionstatechange=function(I3){e2.pc&&c2.iceState(e2.pc.iceConnectionState)},e2.pc.onicecandidate=function(I3){if(I3.candidate==null||k.webRTCAdapter.browserDetails.browser==="edge"&&I3.candidate.candidate.indexOf("endOfCandidates")>0)k.log("End of candidates."),e2.iceDone=!0,e2.trickle===!0?zt(_e,{completed:!0}):p3(_e,t2);else{var g1={candidate:I3.candidate.candidate,sdpMid:I3.candidate.sdpMid,sdpMLineIndex:I3.candidate.sdpMLineIndex};e2.trickle===!0&&zt(_e,g1)}},e2.pc.ontrack=function(I3){k.log("Handling Remote Track"),k.debug(I3),I3.streams&&(e2.remoteStream=I3.streams[0],c2.onremotestream(e2.remoteStream),!I3.track.onended&&(k.log("Adding onended callback to track:",I3.track),I3.track.onended=function(g1){k.log("Remote track muted/removed:",g1),e2.remoteStream&&(e2.remoteStream.removeTrack(g1.target),c2.onremotestream(e2.remoteStream))},I3.track.onmute=I3.track.onended,I3.track.onunmute=function(g1){k.log("Remote track flowing again:",g1);try{e2.remoteStream.addTrack(g1.target),c2.onremotestream(e2.remoteStream)}catch(fi){k.error(fi)}}))}}if(m2&&ve!==null&&ve!==void 0){k.log("Adding local stream");var X1=t2.simulcast2===!0;ve.getTracks().forEach(function(I3){if(k.log("Adding local track:",I3),!X1)e2.pc.addTrack(I3,ve);else if(I3.kind==="audio")e2.pc.addTrack(I3,ve);else{k.log("Enabling rid-based simulcasting:",I3);var g1=fe(t2.simulcastMaxBitrates);e2.pc.addTransceiver(I3,{direction:"sendrecv",streams:[ve],sendEncodings:[{rid:"h",active:!0,maxBitrate:g1.high},{rid:"m",active:!0,maxBitrate:g1.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:g1.low,scaleResolutionDownBy:4}]})}})}w3(qe)&&!e2.dataChannel[k.dataChanDefaultLabel]&&(k.log("Creating data channel"),i3(_e,k.dataChanDefaultLabel,!1),e2.pc.ondatachannel=function(I3){k.log("Data channel created by Janus:",I3),i3(_e,I3.channel.label,I3.channel)}),e2.myStream&&c2.onlocalstream(e2.myStream),ke==null?gt(_e,qe,t2):e2.pc.setRemoteDescription(ke).then(function(){if(k.log("Remote description accepted!"),e2.remoteSdp=ke.sdp,e2.candidates&&e2.candidates.length>0){for(var I3=0;I3<e2.candidates.length;I3++){var g1=e2.candidates[I3];k.debug("Adding remote candidate:",g1),!g1||g1.completed===!0?e2.pc.addIceCandidate(k.endOfCandidates):e2.pc.addIceCandidate(g1)}e2.candidates=[]}Gt(_e,qe,t2)},t2.error)}function C2(_e,ke,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:k.noop,qe.error=typeof qe.error=="function"?qe.error:hi;var t2=qe.jsep;if(ke&&t2){k.error("Provided a JSEP to a createOffer"),qe.error("Provided a JSEP to a createOffer");return}else if(!ke&&(!t2||!t2.type||!t2.sdp)){k.error("A valid JSEP is required for createAnswer"),qe.error("A valid JSEP is required for createAnswer");return}qe.media=qe.media||{audio:!0,video:!0};var ve=qe.media,c2=oe[_e];if(c2==null||c2.webrtcStuff===null||c2.webrtcStuff===void 0){k.warn("Invalid handle"),qe.error("Invalid handle");return}var e2=c2.webrtcStuff;if(e2.trickle=v1(qe.trickle),e2.pc===void 0||e2.pc===null)ve.update=!1,ve.keepAudio=!1,ve.keepVideo=!1;else if(e2.pc!==void 0&&e2.pc!==null){if(k.log("Updating existing media session"),ve.update=!0,qe.stream!==null&&qe.stream!==void 0)qe.stream!==e2.myStream&&k.log("Renegotiation involves a new external stream");else{if(ve.addAudio){if(ve.keepAudio=!1,ve.replaceAudio=!1,ve.removeAudio=!1,ve.audioSend=!0,e2.myStream&&e2.myStream.getAudioTracks()&&e2.myStream.getAudioTracks().length){k.error("Can't add audio stream, there already is one"),qe.error("Can't add audio stream, there already is one");return}}else ve.removeAudio?(ve.keepAudio=!1,ve.replaceAudio=!1,ve.addAudio=!1,ve.audioSend=!1):ve.replaceAudio&&(ve.keepAudio=!1,ve.addAudio=!1,ve.removeAudio=!1,ve.audioSend=!0);if(e2.myStream===null||e2.myStream===void 0?(ve.replaceAudio&&(ve.keepAudio=!1,ve.replaceAudio=!1,ve.addAudio=!0,ve.audioSend=!0),n1(ve)&&(ve.keepAudio=!1,ve.addAudio=!0)):e2.myStream.getAudioTracks()===null||e2.myStream.getAudioTracks()===void 0||e2.myStream.getAudioTracks().length===0?(ve.replaceAudio&&(ve.keepAudio=!1,ve.replaceAudio=!1,ve.addAudio=!0,ve.audioSend=!0),n1(ve)&&(ve.keepVideo=!1,ve.addAudio=!0)):n1(ve)&&!ve.removeAudio&&!ve.replaceAudio&&(ve.keepAudio=!0),ve.addVideo){if(ve.keepVideo=!1,ve.replaceVideo=!1,ve.removeVideo=!1,ve.videoSend=!0,e2.myStream&&e2.myStream.getVideoTracks()&&e2.myStream.getVideoTracks().length){k.error("Can't add video stream, there already is one"),qe.error("Can't add video stream, there already is one");return}}else ve.removeVideo?(ve.keepVideo=!1,ve.replaceVideo=!1,ve.addVideo=!1,ve.videoSend=!1):ve.replaceVideo&&(ve.keepVideo=!1,ve.addVideo=!1,ve.removeVideo=!1,ve.videoSend=!0);e2.myStream===null||e2.myStream===void 0||e2.myStream.getVideoTracks()===null||e2.myStream.getVideoTracks()===void 0||e2.myStream.getVideoTracks().length===0?(ve.replaceVideo&&(ve.keepVideo=!1,ve.replaceVideo=!1,ve.addVideo=!0,ve.videoSend=!0),U3(ve)&&(ve.keepVideo=!1,ve.addVideo=!0)):U3(ve)&&!ve.removeVideo&&!ve.replaceVideo&&(ve.keepVideo=!0),ve.addData&&(ve.data=!0)}if(n1(ve)&&ve.keepAudio&&U3(ve)&&ve.keepVideo){c2.consentDialog(!1),We(_e,t2,ve,qe,e2.myStream);return}}if(ve.update&&!e2.streamExternal){if(ve.removeAudio||ve.replaceAudio){if(e2.myStream&&e2.myStream.getAudioTracks()&&e2.myStream.getAudioTracks().length){var m2=e2.myStream.getAudioTracks()[0];k.log("Removing audio track:",m2),e2.myStream.removeTrack(m2);try{m2.stop()}catch(y0){}}if(e2.pc.getSenders()&&e2.pc.getSenders().length){var N2=!0;if(ve.replaceAudio&&k.unifiedPlan&&(N2=!1),N2)for(var ot in e2.pc.getSenders()){var m2=e2.pc.getSenders()[ot];m2&&m2.track&&m2.track.kind==="audio"&&(k.log("Removing audio sender:",m2),e2.pc.removeTrack(m2))}}}if(ve.removeVideo||ve.replaceVideo){if(e2.myStream&&e2.myStream.getVideoTracks()&&e2.myStream.getVideoTracks().length){var m2=e2.myStream.getVideoTracks()[0];k.log("Removing video track:",m2),e2.myStream.removeTrack(m2);try{m2.stop()}catch(Y1){}}if(e2.pc.getSenders()&&e2.pc.getSenders().length){var U2=!0;if(ve.replaceVideo&&k.unifiedPlan&&(U2=!1),U2)for(var ot in e2.pc.getSenders()){var m2=e2.pc.getSenders()[ot];m2&&m2.track&&m2.track.kind==="video"&&(k.log("Removing video sender:",m2),e2.pc.removeTrack(m2))}}}}if(qe.stream!==null&&qe.stream!==void 0){var dt=qe.stream;if(k.log("MediaStream provided by the application"),k.debug(dt),ve.update&&e2.myStream&&e2.myStream!==qe.stream&&!e2.streamExternal){try{var m1=e2.myStream.getTracks();for(var Q1 in m1){var v3=m1[Q1];k.log(v3),v3!=null&&v3.stop()}}catch(y0){}e2.myStream=null}e2.streamExternal=!0,c2.consentDialog(!1),We(_e,t2,ve,qe,dt);return}if(n1(ve)||U3(ve)){if(!k.isGetUserMediaAvailable()){qe.error("getUserMedia not available");return}var X1={mandatory:{},optional:[]};c2.consentDialog(!0);var I3=n1(ve);I3===!0&&ve!=null&&ve!=null&&t(ve.audio)==="object"&&(I3=ve.audio);var g1=U3(ve);if(g1===!0&&ve!=null&&ve!=null){var fi=qe.simulcast===!0,pi=qe.simulcast2===!0;if((fi||pi)&&!t2&&(ve.video===void 0||ve.video===!1)&&(ve.video="hires"),ve.video&&ve.video!="screen"&&ve.video!="window")if(t(ve.video)==="object")g1=ve.video;else{var z3=0,B1=0;ve.video==="lowres"?(B1=240,z3=320):ve.video==="lowres-16:9"?(B1=180,z3=320):ve.video==="hires"||ve.video==="hires-16:9"||ve.video==="hdres"?(B1=720,z3=1280):ve.video==="fhdres"?(B1=1080,z3=1920):ve.video==="4kres"?(B1=2160,z3=3840):ve.video==="stdres"?(B1=480,z3=640):ve.video==="stdres-16:9"?(B1=360,z3=640):(k.log("Default video setting is stdres 4:3"),B1=480,z3=640),k.log("Adding media constraint:",ve.video),g1={height:{ideal:B1},width:{ideal:z3}},k.log("Adding video constraint:",g1)}else if(ve.video==="screen"||ve.video==="window"){var so=function(Y1,Xn){c2.consentDialog(!1),Y1?qe.error(Y1):We(_e,t2,ve,qe,Xn)},o6=function(Y1,Xn,Ii){k.log("Adding media constraint (screen capture)"),k.debug(Y1),navigator.mediaDevices.getUserMedia(Y1).then(function(zr){Ii?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(os){zr.addTrack(os.getAudioTracks()[0]),Xn(null,zr)}):Xn(null,zr)}).catch(function(zr){c2.consentDialog(!1),Xn(zr)})};if(ve.screenshareFrameRate||(ve.screenshareFrameRate=3),navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia){navigator.mediaDevices.getDisplayMedia({video:!0}).then(function(y0){c2.consentDialog(!1),n1(ve)&&!ve.keepAudio?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(Y1){y0.addTrack(Y1.getAudioTracks()[0]),We(_e,t2,ve,qe,y0)}):We(_e,t2,ve,qe,y0)},function(y0){c2.consentDialog(!1),qe.error(y0)});return}if(k.webRTCAdapter.browserDetails.browser==="chrome"){var lo=k.webRTCAdapter.browserDetails.version,j5=33;window.navigator.userAgent.match("Linux")&&(j5=35),lo>=26&&lo<=j5?(X1={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:ve.screenshareFrameRate,maxFrameRate:ve.screenshareFrameRate,chromeMediaSource:"screen"}},audio:n1(ve)&&!ve.keepAudio},o6(X1,so)):k.extension.getScreen(function(y0,Y1){if(y0)return c2.consentDialog(!1),qe.error(y0);X1={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:ve.screenshareFrameRate,maxFrameRate:ve.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},X1.video.mandatory.chromeMediaSourceId=Y1,o6(X1,so,n1(ve)&&!ve.keepAudio)})}else if(k.webRTCAdapter.browserDetails.browser==="firefox")if(k.webRTCAdapter.browserDetails.version>=33)X1={video:{mozMediaSource:ve.video,mediaSource:ve.video},audio:n1(ve)&&!ve.keepAudio},o6(X1,function(y0,Y1){if(so(y0,Y1),!y0)var Xn=Y1.currentTime,Ii=window.setInterval(function(){Y1||window.clearInterval(Ii),Y1.currentTime==Xn&&(window.clearInterval(Ii),Y1.onended&&Y1.onended()),Xn=Y1.currentTime},500)});else{var $5=new Error("NavigatorUserMediaError");$5.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",c2.consentDialog(!1),qe.error($5);return}return}}(ve==null||ve.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(y0){var Y1=y0.some(function(vi){return vi.kind==="audioinput"}),Xn=Vt(ve)||y0.some(function(vi){return vi.kind==="videoinput"}),Ii=n1(ve),zr=U3(ve),os=x0(ve),ss=x1(ve);if(Ii||zr||os||ss){var q5=Ii?Y1:!1,o4=zr?Xn:!1;if(!q5&&!o4)return c2.consentDialog(!1),qe.error("No capture device found"),!1;if(!q5&&os)return c2.consentDialog(!1),qe.error("Audio capture is required, but no capture device found"),!1;if(!o4&&ss)return c2.consentDialog(!1),qe.error("Video capture is required, but no capture device found"),!1}var s6={audio:Y1&&!ve.keepAudio?I3:!1,video:Xn&&!ve.keepVideo?g1:!1};k.debug("getUserMedia constraints",s6),!s6.audio&&!s6.video?(c2.consentDialog(!1),We(_e,t2,ve,qe,dt)):navigator.mediaDevices.getUserMedia(s6).then(function(vi){c2.consentDialog(!1),We(_e,t2,ve,qe,vi)}).catch(function(vi){c2.consentDialog(!1),qe.error({code:vi.code,name:vi.name,message:vi.message})})}).catch(function(y0){c2.consentDialog(!1),qe.error("enumerateDevices error",y0)})}else We(_e,t2,ve,qe)}function W2(_e,ke){ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:hi;var qe=ke.jsep,t2=oe[_e];if(t2==null||t2.webrtcStuff===null||t2.webrtcStuff===void 0){k.warn("Invalid handle"),ke.error("Invalid handle");return}var ve=t2.webrtcStuff;if(qe!=null){if(ve.pc===null){k.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),ke.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}ve.pc.setRemoteDescription(qe).then(function(){if(k.log("Remote description accepted!"),ve.remoteSdp=qe.sdp,ve.candidates&&ve.candidates.length>0){for(var c2=0;c2<ve.candidates.length;c2++){var e2=ve.candidates[c2];k.debug("Adding remote candidate:",e2),!e2||e2.completed===!0?ve.pc.addIceCandidate(k.endOfCandidates):ve.pc.addIceCandidate(e2)}ve.candidates=[]}ke.success()},ke.error)}else ke.error("Invalid JSEP")}function gt(_e,ke,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:k.noop,qe.error=typeof qe.error=="function"?qe.error:k.noop,qe.customizeSdp=typeof qe.customizeSdp=="function"?qe.customizeSdp:k.noop;var t2=oe[_e];if(t2==null||t2.webrtcStuff===null||t2.webrtcStuff===void 0){k.warn("Invalid handle"),qe.error("Invalid handle");return}var ve=t2.webrtcStuff,c2=qe.simulcast===!0;c2?k.log("Creating offer (iceDone="+ve.iceDone+", simulcast="+c2+")"):k.log("Creating offer (iceDone="+ve.iceDone+")");var e2={};if(k.unifiedPlan){var m2=null,N2=null,ot=ve.pc.getTransceivers();if(ot&&ot.length>0)for(var U2 in ot){var dt=ot[U2];if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="audio"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="audio"){m2||(m2=dt);continue}if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="video"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="video"){N2||(N2=dt);continue}}var m1=n1(ke),Q1=cn(ke);!m1&&!Q1?ke.removeAudio&&m2&&(m2.setDirection?m2.setDirection("inactive"):m2.direction="inactive",k.log("Setting audio transceiver to inactive:",m2)):m1&&Q1?m2&&(m2.setDirection?m2.setDirection("sendrecv"):m2.direction="sendrecv",k.log("Setting audio transceiver to sendrecv:",m2)):m1&&!Q1?m2&&(m2.setDirection?m2.setDirection("sendonly"):m2.direction="sendonly",k.log("Setting audio transceiver to sendonly:",m2)):!m1&&Q1&&(m2?(m2.setDirection?m2.setDirection("recvonly"):m2.direction="recvonly",k.log("Setting audio transceiver to recvonly:",m2)):(m2=ve.pc.addTransceiver("audio",{direction:"recvonly"}),k.log("Adding recvonly audio transceiver:",m2)));var v3=U3(ke),X1=_3(ke);!v3&&!X1?ke.removeVideo&&N2&&(N2.setDirection?N2.setDirection("inactive"):N2.direction="inactive",k.log("Setting video transceiver to inactive:",N2)):v3&&X1?N2&&(N2.setDirection?N2.setDirection("sendrecv"):N2.direction="sendrecv",k.log("Setting video transceiver to sendrecv:",N2)):v3&&!X1?N2&&(N2.setDirection?N2.setDirection("sendonly"):N2.direction="sendonly",k.log("Setting video transceiver to sendonly:",N2)):!v3&&X1&&(N2?(N2.setDirection?N2.setDirection("recvonly"):N2.direction="recvonly",k.log("Setting video transceiver to recvonly:",N2)):(N2=ve.pc.addTransceiver("video",{direction:"recvonly"}),k.log("Adding recvonly video transceiver:",N2)))}else e2.offerToReceiveAudio=cn(ke),e2.offerToReceiveVideo=_3(ke);var I3=qe.iceRestart===!0;I3&&(e2.iceRestart=!0),k.debug(e2);var g1=U3(ke);if(g1&&c2&&k.webRTCAdapter.browserDetails.browser==="firefox"){k.log("Enabling Simulcasting for Firefox (RID)");var fi=ve.pc.getSenders().find(function(B1){return B1.track.kind=="video"});if(fi){var pi=fi.getParameters();pi||(pi={});var z3=fe(qe.simulcastMaxBitrates);pi.encodings=[{rid:"h",active:!0,maxBitrate:z3.high},{rid:"m",active:!0,maxBitrate:z3.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:z3.low,scaleResolutionDownBy:4}],fi.setParameters(pi)}}ve.pc.createOffer(e2).then(function(B1){k.debug(B1);var so={type:B1.type,sdp:B1.sdp};if(qe.customizeSdp(so),B1.sdp=so.sdp,k.log("Setting local description"),g1&&c2&&(k.webRTCAdapter.browserDetails.browser==="chrome"||k.webRTCAdapter.browserDetails.browser==="safari"?(k.log("Enabling Simulcasting for Chrome (SDP munging)"),B1.sdp=qn(B1.sdp)):k.webRTCAdapter.browserDetails.browser!=="firefox"&&k.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),ve.mySdp=B1.sdp,ve.pc.setLocalDescription(B1).catch(qe.error),ve.mediaConstraints=e2,!ve.iceDone&&!ve.trickle){k.log("Waiting for all candidates...");return}k.log("Offer ready"),k.debug(qe),qe.success(B1)},qe.error)}function Gt(_e,ke,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:k.noop,qe.error=typeof qe.error=="function"?qe.error:k.noop,qe.customizeSdp=typeof qe.customizeSdp=="function"?qe.customizeSdp:k.noop;var t2=oe[_e];if(t2==null||t2.webrtcStuff===null||t2.webrtcStuff===void 0){k.warn("Invalid handle"),qe.error("Invalid handle");return}var ve=t2.webrtcStuff,c2=qe.simulcast===!0;c2?k.log("Creating answer (iceDone="+ve.iceDone+", simulcast="+c2+")"):k.log("Creating answer (iceDone="+ve.iceDone+")");var e2=null;if(k.unifiedPlan){e2={};var m2=null,N2=null,ot=ve.pc.getTransceivers();if(ot&&ot.length>0)for(var U2 in ot){var dt=ot[U2];if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="audio"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="audio"){m2||(m2=dt);continue}if(dt.sender&&dt.sender.track&&dt.sender.track.kind==="video"||dt.receiver&&dt.receiver.track&&dt.receiver.track.kind==="video"){N2||(N2=dt);continue}}var m1=n1(ke),Q1=cn(ke);if(!m1&&!Q1){if(ke.removeAudio&&m2)try{m2.setDirection?m2.setDirection("inactive"):m2.direction="inactive",k.log("Setting audio transceiver to inactive:",m2)}catch(z3){k.error(z3)}}else if(m1&&Q1){if(m2)try{m2.setDirection?m2.setDirection("sendrecv"):m2.direction="sendrecv",k.log("Setting audio transceiver to sendrecv:",m2)}catch(z3){k.error(z3)}}else if(m1&&!Q1)try{m2&&(m2.setDirection?m2.setDirection("sendonly"):m2.direction="sendonly",k.log("Setting audio transceiver to sendonly:",m2))}catch(z3){k.error(z3)}else if(!m1&&Q1)if(m2)try{m2.setDirection?m2.setDirection("recvonly"):m2.direction="recvonly",k.log("Setting audio transceiver to recvonly:",m2)}catch(z3){k.error(z3)}else m2=ve.pc.addTransceiver("audio",{direction:"recvonly"}),k.log("Adding recvonly audio transceiver:",m2);var v3=U3(ke),X1=_3(ke);if(!v3&&!X1){if(ke.removeVideo&&N2)try{N2.setDirection?N2.setDirection("inactive"):N2.direction="inactive",k.log("Setting video transceiver to inactive:",N2)}catch(z3){k.error(z3)}}else if(v3&&X1){if(N2)try{N2.setDirection?N2.setDirection("sendrecv"):N2.direction="sendrecv",k.log("Setting video transceiver to sendrecv:",N2)}catch(z3){k.error(z3)}}else if(v3&&!X1){if(N2)try{N2.setDirection?N2.setDirection("sendonly"):N2.direction="sendonly",k.log("Setting video transceiver to sendonly:",N2)}catch(z3){k.error(z3)}}else if(!v3&&X1)if(N2)try{N2.setDirection?N2.setDirection("recvonly"):N2.direction="recvonly",k.log("Setting video transceiver to recvonly:",N2)}catch(z3){k.error(z3)}else N2=ve.pc.addTransceiver("video",{direction:"recvonly"}),k.log("Adding recvonly video transceiver:",N2)}else k.webRTCAdapter.browserDetails.browser=="firefox"||k.webRTCAdapter.browserDetails.browser=="edge"?e2={offerToReceiveAudio:cn(ke),offerToReceiveVideo:_3(ke)}:e2={mandatory:{OfferToReceiveAudio:cn(ke),OfferToReceiveVideo:_3(ke)}};k.debug(e2);var I3=U3(ke);if(I3&&c2&&k.webRTCAdapter.browserDetails.browser==="firefox"){k.log("Enabling Simulcasting for Firefox (RID)");var g1=ve.pc.getSenders()[1];k.log(g1);var fi=g1.getParameters();k.log(fi);var pi=fe(qe.simulcastMaxBitrates);g1.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:pi.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:pi.medium},{rid:"low",active:!0,priority:"low",maxBitrate:pi.low}]})}ve.pc.createAnswer(e2).then(function(z3){k.debug(z3);var B1={type:z3.type,sdp:z3.sdp};if(qe.customizeSdp(B1),z3.sdp=B1.sdp,k.log("Setting local description"),I3&&c2&&(k.webRTCAdapter.browserDetails.browser==="chrome"?k.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):k.webRTCAdapter.browserDetails.browser!=="firefox"&&k.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),ve.mySdp=z3.sdp,ve.pc.setLocalDescription(z3).catch(qe.error),ve.mediaConstraints=e2,!ve.iceDone&&!ve.trickle){k.log("Waiting for all candidates...");return}qe.success(z3)},qe.error)}function p3(_e,ke){ke=ke||{},ke.success=typeof ke.success=="function"?ke.success:k.noop,ke.error=typeof ke.error=="function"?ke.error:k.noop;var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0){k.warn("Invalid handle, not sending anything");return}var t2=qe.webrtcStuff;if(k.log("Sending offer/answer SDP..."),t2.mySdp===null||t2.mySdp===void 0){k.warn("Local SDP instance is invalid, not sending anything...");return}t2.mySdp={type:t2.pc.localDescription.type,sdp:t2.pc.localDescription.sdp},t2.trickle===!1&&(t2.mySdp.trickle=!1),k.debug(ke),t2.sdpSent=!0,ke.success(t2.mySdp)}function d3(_e,ke){var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0)return k.warn("Invalid handle"),0;var t2=ke?"remote":"local",ve=qe.webrtcStuff;return ve.volume[t2]||(ve.volume[t2]={value:0}),ve.pc.getStats&&k.webRTCAdapter.browserDetails.browser==="chrome"?ke&&(ve.remoteStream===null||ve.remoteStream===void 0)?(k.warn("Remote stream unavailable"),0):!ke&&(ve.myStream===null||ve.myStream===void 0)?(k.warn("Local stream unavailable"),0):ve.volume[t2].timer===null||ve.volume[t2].timer===void 0?(k.log("Starting "+t2+" volume monitor"),ve.volume[t2].timer=setInterval(function(){ve.pc.getStats(function(c2){for(var e2=c2.result(),m2=0;m2<e2.length;m2++){var N2=e2[m2];N2.type=="ssrc"&&(ke&&N2.stat("audioOutputLevel")?ve.volume[t2].value=parseInt(N2.stat("audioOutputLevel")):!ke&&N2.stat("audioInputLevel")&&(ve.volume[t2].value=parseInt(N2.stat("audioInputLevel"))))}})},200),0):ve.volume[t2].value:(k.warn("Getting the "+t2+" volume unsupported by browser"),0)}function y3(_e,ke){var qe=oe[_e];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0)return k.warn("Invalid handle"),!0;var t2=qe.webrtcStuff;return t2.pc===null||t2.pc===void 0?(k.warn("Invalid PeerConnection"),!0):t2.myStream===void 0||t2.myStream===null?(k.warn("Invalid local MediaStream"),!0):ke?t2.myStream.getVideoTracks()===null||t2.myStream.getVideoTracks()===void 0||t2.myStream.getVideoTracks().length===0?(k.warn("No video track"),!0):!t2.myStream.getVideoTracks()[0].enabled:t2.myStream.getAudioTracks()===null||t2.myStream.getAudioTracks()===void 0||t2.myStream.getAudioTracks().length===0?(k.warn("No audio track"),!0):!t2.myStream.getAudioTracks()[0].enabled}function t1(_e,ke,qe){var t2=oe[_e];if(t2==null||t2.webrtcStuff===null||t2.webrtcStuff===void 0)return k.warn("Invalid handle"),!1;var ve=t2.webrtcStuff;return ve.pc===null||ve.pc===void 0?(k.warn("Invalid PeerConnection"),!1):ve.myStream===void 0||ve.myStream===null?(k.warn("Invalid local MediaStream"),!1):ke?ve.myStream.getVideoTracks()===null||ve.myStream.getVideoTracks()===void 0||ve.myStream.getVideoTracks().length===0?(k.warn("No video track"),!1):(ve.myStream.getVideoTracks()[0].enabled=!qe,!0):ve.myStream.getAudioTracks()===null||ve.myStream.getAudioTracks()===void 0||ve.myStream.getAudioTracks().length===0?(k.warn("No audio track"),!1):(ve.myStream.getAudioTracks()[0].enabled=!qe,!0)}function Br(_e){var ke=oe[_e];if(ke==null||ke.webrtcStuff===null||ke.webrtcStuff===void 0)return k.warn("Invalid handle"),"Invalid handle";var qe=ke.webrtcStuff;return qe.pc===null||qe.pc===void 0?"Invalid PeerConnection":qe.pc.getStats?qe.bitrate.timer===null||qe.bitrate.timer===void 0?(k.log("Starting bitrate timer (via getStats)"),qe.bitrate.timer=setInterval(function(){qe.pc.getStats().then(function(t2){t2.forEach(function(ve){if(ve){var c2=!1;if(((ve.mediaType==="video"||ve.id.toLowerCase().indexOf("video")>-1)&&ve.type==="inbound-rtp"&&ve.id.indexOf("rtcp")<0||ve.type=="ssrc"&&ve.bytesReceived&&(ve.googCodecName==="VP8"||ve.googCodecName===""))&&(c2=!0),c2)if(qe.bitrate.bsnow=ve.bytesReceived,qe.bitrate.tsnow=ve.timestamp,qe.bitrate.bsbefore===null||qe.bitrate.tsbefore===null)qe.bitrate.bsbefore=qe.bitrate.bsnow,qe.bitrate.tsbefore=qe.bitrate.tsnow;else{var e2=qe.bitrate.tsnow-qe.bitrate.tsbefore;k.webRTCAdapter.browserDetails.browser=="safari"&&(e2=e2/1e3);var m2=Math.round((qe.bitrate.bsnow-qe.bitrate.bsbefore)*8/e2);k.webRTCAdapter.browserDetails.browser==="safari"&&(m2=parseInt(m2/1e3)),qe.bitrate.value=m2+" kbits/sec",qe.bitrate.bsbefore=qe.bitrate.bsnow,qe.bitrate.tsbefore=qe.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):qe.bitrate.value:(k.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function hi(_e){k.error("WebRTC error:",_e)}function O1(_e,ke){k.log("Cleaning WebRTC stuff");var qe=oe[_e];if(qe!=null){var t2=qe.webrtcStuff;if(t2!=null){if(ke===!0){var ve={rtcgw:"hangup",transaction:k.randomString(12)};qe.token!==null&&qe.token!==void 0&&(ve.token=qe.token),ge!=null&&(ve.apisecret=ge),k.debug("Sending hangup request (handle="+_e+"):"),k.debug(ve),H?(ve.session_id=te,ve.handle_id=_e,w.send(JSON.stringify(ve))):k.httpAPICall(U+"/"+te+"/"+_e,{verb:"POST",withCredentials:re,body:ve})}t2.remoteStream=null,t2.volume&&(t2.volume.local&&t2.volume.local.timer&&clearInterval(t2.volume.local.timer),t2.volume.remote&&t2.volume.remote.timer&&clearInterval(t2.volume.remote.timer)),t2.volume={},t2.bitrate.timer&&clearInterval(t2.bitrate.timer),t2.bitrate.timer=null,t2.bitrate.bsnow=null,t2.bitrate.bsbefore=null,t2.bitrate.tsnow=null,t2.bitrate.tsbefore=null,t2.bitrate.value=null;try{if(!t2.streamExternal&&t2.myStream!==null&&t2.myStream!==void 0){k.log("Stopping local stream tracks");var c2=t2.myStream.getTracks();for(var e2 in c2){var m2=c2[e2];k.log(m2),m2!=null&&m2.stop()}}}catch(N2){}t2.streamExternal=!1,t2.myStream=null;try{t2.pc.close()}catch(N2){}t2.pc=null,t2.candidates=null,t2.mySdp=null,t2.remoteSdp=null,t2.iceDone=!1,t2.dataChannel={},t2.dtmfSender=null}qe.oncleanup()}}function qn(_e){for(var ke=_e.split(`\r |
|
|
`),qe=!1,t2=[-1],ve=[-1],c2=null,e2=null,m2=null,N2=null,ot=-1,U2=0;U2<ke.length;U2++){var dt=ke[U2].match(/m=(\w+) */);if(dt){var m1=dt[1];if(m1==="video")if(t2[0]<0)qe=!0;else{ot=U2;break}else if(t2[0]>-1){ot=U2;break}continue}if(qe){var Q1=ke[U2].match(/a=ssrc-group:FID (\d+) (\d+)/);if(Q1){t2[0]=Q1[1],ve[0]=Q1[2],ke.splice(U2,1),U2--;continue}if(t2[0]){var v3=ke[U2].match("a=ssrc:"+t2[0]+" cname:(.+)");if(v3&&(c2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" msid:(.+)"),v3&&(e2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" mslabel:(.+)"),v3&&(m2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" label:(.+)"),v3&&(N2=v3[1]),ke[U2].indexOf("a=ssrc:"+ve[0])===0){ke.splice(U2,1),U2--;continue}if(ke[U2].indexOf("a=ssrc:"+t2[0])===0){ke.splice(U2,1),U2--;continue}}if(ke[U2].length==0){ke.splice(U2,1),U2--;continue}}}if(t2[0]<0){ot=-1,qe=!1;for(var U2=0;U2<ke.length;U2++){var dt=ke[U2].match(/m=(\w+) */);if(dt){var m1=dt[1];if(m1==="video")if(t2[0]<0)qe=!0;else{ot=U2;break}else if(t2[0]>-1){ot=U2;break}continue}if(qe){if(t2[0]<0){var X1=ke[U2].match(/a=ssrc:(\d+)/);if(X1){t2[0]=X1[1],ke.splice(U2,1),U2--;continue}}else{var v3=ke[U2].match("a=ssrc:"+t2[0]+" cname:(.+)");if(v3&&(c2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" msid:(.+)"),v3&&(e2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" mslabel:(.+)"),v3&&(m2=v3[1]),v3=ke[U2].match("a=ssrc:"+t2[0]+" label:(.+)"),v3&&(N2=v3[1]),ke[U2].indexOf("a=ssrc:"+ve[0])===0){ke.splice(U2,1),U2--;continue}if(ke[U2].indexOf("a=ssrc:"+t2[0])===0){ke.splice(U2,1),U2--;continue}}if(ke[U2].length==0){ke.splice(U2,1),U2--;continue}}}}if(t2[0]<0)return k.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),_e;ot<0&&(ot=ke.length),t2[1]=Math.floor(Math.random()*4294967295),t2[2]=Math.floor(Math.random()*4294967295),ve[1]=Math.floor(Math.random()*4294967295),ve[2]=Math.floor(Math.random()*4294967295);for(var U2=0;U2<t2.length;U2++)c2&&(ke.splice(ot,0,"a=ssrc:"+t2[U2]+" cname:"+c2),ot++),e2&&(ke.splice(ot,0,"a=ssrc:"+t2[U2]+" msid:"+e2),ot++),m2&&(ke.splice(ot,0,"a=ssrc:"+t2[U2]+" mslabel:"+m2),ot++),N2&&(ke.splice(ot,0,"a=ssrc:"+t2[U2]+" label:"+N2),ot++),c2&&(ke.splice(ot,0,"a=ssrc:"+ve[U2]+" cname:"+c2),ot++),e2&&(ke.splice(ot,0,"a=ssrc:"+ve[U2]+" msid:"+e2),ot++),m2&&(ke.splice(ot,0,"a=ssrc:"+ve[U2]+" mslabel:"+m2),ot++),N2&&(ke.splice(ot,0,"a=ssrc:"+ve[U2]+" label:"+N2),ot++);return ke.splice(ot,0,"a=ssrc-group:FID "+t2[2]+" "+ve[2]),ke.splice(ot,0,"a=ssrc-group:FID "+t2[1]+" "+ve[1]),ke.splice(ot,0,"a=ssrc-group:FID "+t2[0]+" "+ve[0]),ke.splice(ot,0,"a=ssrc-group:SIM "+t2[0]+" "+t2[1]+" "+t2[2]),_e=ke.join(`\r |
|
|
`),_e.endsWith(`\r |
|
|
`)||(_e+=`\r |
|
|
`),_e}function n1(_e){return k.debug("isAudioSendEnabled:",_e),_e==null?!0:_e.audio===!1?!1:_e.audioSend===void 0||_e.audioSend===null?!0:_e.audioSend===!0}function x0(_e){return k.debug("isAudioSendRequired:",_e),_e==null||_e.audio===!1||_e.audioSend===!1||_e.failIfNoAudio===void 0||_e.failIfNoAudio===null?!1:_e.failIfNoAudio===!0}function cn(_e){return k.debug("isAudioRecvEnabled:",_e),_e==null?!0:_e.audio===!1?!1:_e.audioRecv===void 0||_e.audioRecv===null?!0:_e.audioRecv===!0}function U3(_e){return k.debug("isVideoSendEnabled:",_e),_e==null?!0:_e.video===!1?!1:_e.videoSend===void 0||_e.videoSend===null?!0:_e.videoSend===!0}function x1(_e){return k.debug("isVideoSendRequired:",_e),_e==null||_e.video===!1||_e.videoSend===!1||_e.failIfNoVideo===void 0||_e.failIfNoVideo===null?!1:_e.failIfNoVideo===!0}function _3(_e){return k.debug("isVideoRecvEnabled:",_e),_e==null?!0:_e.video===!1?!1:_e.videoRecv===void 0||_e.videoRecv===null?!0:_e.videoRecv===!0}function Vt(_e){if(k.debug("isScreenSendEnabled:",_e),_e==null||t(_e.video)!=="object"||t(_e.video.mandatory)!=="object")return!1;var ke=_e.video.mandatory;return ke.chromeMediaSource?ke.chromeMediaSource==="desktop"||ke.chromeMediaSource==="screen":ke.mozMediaSource?ke.mozMediaSource==="window"||ke.mozMediaSource==="screen":ke.mediaSource?ke.mediaSource==="window"||ke.mediaSource==="screen":!1}function w3(_e){return k.debug("isDataEnabled:",_e),k.webRTCAdapter.browserDetails.browser=="edge"?(k.warn("Edge doesn't support data channels yet"),!1):_e==null?!1:_e.data===!0}function v1(_e){return k.debug("isTrickleEnabled:",_e),_e==null?!0:_e===!0}}window.Janus=k;var _2=null,A2=null,Z="tts-"+Janus.randomString(12),ee=null;Janus=window.Janus,Janus.init({debug:"all",callback:function(){window.stopTalk=function(){_2.destroy()},window.startTalk=function(){if(!Janus.isWebrtcSupported()){bootbox.alert("No WebRTC support... ");return}_2=new Janus({server:window.EZUIKit.opt.rtcUrl,success:function(){_2.attach({plugin:"rtcgw.plugin.tts",opaqueId:Z,success:function(T){A2=T,Janus.log("Plugin attached! ("+A2.getPlugin()+", id="+A2.getId()+")");var R=window.EZUIKit.opt.talkLink;console.log("ttsUlr",R);var N={request:"start",url:R,codec:"opus",dir:"sendrecv",audio_debug:1};window.EZUIKit.opt.talkType==="gb28181"&&(N.devProto="gb28181"),Janus.debug("Trying a createOffer too (audio/video sendrecv)"),A2.createOffer({media:{audio:!0,video:!1,data:!1},simulcast:!1,simulcast2:!1,success:function(U){Janus.debug("Got SDP!"),Janus.debug(U),A2.send({message:N,jsep:U}),typeof window.EZUIKit.handleTalkSuccess!="undefined"&&window.EZUIKit.handleTalkSuccess()},error:function(U){Janus.error("WebRTC error:",U),typeof window.EZUIKit.handleTalkError!="undefined"&&window.EZUIKit.handleTalkError(U)}})},error:function(T){console.error(" -- Error attaching plugin...",T),bootbox.alert("Error attaching plugin... "+T),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(T)},consentDialog:function(T){Janus.debug("Consent dialog should be "+(T?"on":"off")+" now")},iceState:function(T){Janus.log("ICE state changed to "+T)},mediaState:function(T,R){Janus.log("Janus "+(R?"started":"stopped")+" receiving our "+T)},webrtcState:function(T){Janus.log("Janus says our WebRTC PeerConnection is "+(T?"up":"down")+" now")},slowLink:function(T,R){Janus.warn("Janus reports problems "+(T?"sending":"receiving")+" packets on this PeerConnection ("+R+" lost packets)")},onmessage:function(T,R){Janus.debug(" ::: Got a message :::"),Janus.debug(T),R!=null&&(Janus.debug("Handling SDP as well..."),Janus.debug(R),A2.handleRemoteJsep({jsep:R}));var N=T.result;if(N!=null){if(N==="done"){bootbox.alert("The TTS Test is over"),ee!=null&&ee.stop(),ee=null;return}N==="msg"&&typeof window.EZUIKit.handleTalkMessage!="undefined"&&window.EZUIKit.handleTalkMessage(T);var z=N.status;z==="slow_link"&&toastr.warning("Janus apparently missed many packets we sent, maybe we should reduce the bitrate","Packet loss?",{timeOut:2e3})}},onlocalstream:function(T){Janus.debug(" ::: Got a local stream :::"),Janus.debug(T),Janus.attachMediaStream(document.getElementById("myaudio"),T),A2.webrtcStuff.pc.iceConnectionState!=="completed"&&A2.webrtcStuff.pc.iceConnectionState!=="connected"&&(ee==null?document.getElementById("audioright"):ee.spin());var R=T.getAudioTracks();R==null||R.length},onremotestream:function(T){Janus.debug(" ::: Got a remote stream :::"),Janus.debug(T),Janus.attachMediaStream(document.getElementById("peeraudio"),T);var R=T.getAudioTracks();R==null||R.length===0||document.getElementById("peeraudio").play()},ondataopen:function(T){Janus.log("The DataChannel is available!")},ondata:function(T){Janus.debug("We got data from the DataChannel! "+T)},oncleanup:function(){Janus.log(" ::: Got a cleanup notification :::"),ee!=null&&ee.stop(),ee=null}})},error:function(w){Janus.error(w),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(w)},destroyed:function(){}})}}}),window.janus=_2,window.tts=A2;var Ge=function(){function J(H){var w=this;i(this,J),this.jSPlugin=H,this.codeHandler=new R2,this.pluginStatus=new F(this,this.jSPlugin.params.id);var T=document.createElement("div");T.id="audioleft";var R=document.createElement("div");R.id="audioright",R.style="display:none;";var N=document.createElement("audio");N.id="myaudio",N.muted=!0,N.setAttribute("autoplay",!0),N.setAttribute("controls",!0),T.appendChild(N),T.style="display:none;";var z=document.createElement("audio");z.id="peeraudio",z.setAttribute("autoplay",!0),z.setAttribute("controls",!0),R.appendChild(z),window.EZUIKit.handleTalkError=function(U){console.log("talk err",U),typeof w.jSPlugin.handleTalkError!="undefined"&&w.jSPlugin.handleTalkError(U)},window.EZUIKit.handleTalkSuccess=function(U){console.log("talk success",U),typeof w.jSPlugin.handleTalkSuccess!="undefined"&&w.jSPlugin.handleTalkSuccess(U)},window.EZUIKit.opt={rtcUrl:"",talkLink:"",ttsUrl:"",stream:"",deviceSerial:S(this.jSPlugin.url).deviceSerial,channelNo:S(this.jSPlugin.url).channelNo},document.body.appendChild(T),document.body.appendChild(R)}return a(J,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"startTalk",value:function(){var w=this;if(this.jSPlugin.capacity&&this.jSPlugin.capacity.support_talk&&!(this.jSPlugin.capacity&&(this.jSPlugin.capacity.support_talk==="3"||this.jSPlugin.capacity.support_talk==="1")))return typeof this.jSPlugin.params.handleError=="function"&&(this.pluginStatus.loadingSetText({text:"设备不支持对讲",color:"red",delayClear:2e3}),this.jSPlugin.params.handleError({msg:"设备不支持对讲",retcode:-1e3,id:this.jSPlugin.params.id,type:"handleError"})),console.log("设备不支持对讲"),!1;var T=new FormData;T.append("accessToken",this.jSPlugin.accessToken),T.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),T.append("channelNo",S(this.jSPlugin.url).channelNo),fetch(this.jSPlugin.env.domain+"/api/lapp/live/talk/url",{method:"POST",body:T}).then(function(R){return R.json()}).then(function(R){if(R.code==200){var N=R.data;if(N){var z=N.rtcUrl;z.indexOf("ws")===-1&&(z=z.replace("https","wss").replace("rtcgw","rtcgw-ws")),window.EZUIKit.opt.rtcUrl=z,window.EZUIKit.opt.ttsUrl="tts://"+N.ttsUrl,window.EZUIKit.opt.deviceSerial=S(w.jSPlugin.url).deviceSerial,window.EZUIKit.opt.channelNo=S(w.jSPlugin.url).channelNo;var U=window.EZUIKit.opt.ttsUrl.split("?");if(U.length===2){var ue="talk?dev="+window.EZUIKit.opt.deviceSerial+"&chann="+window.EZUIKit.opt.channelNo+"&encodetype=2";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+ue,window.EZUIKit.opt.talkType="gb28181"}else{var ue="talk://"+window.EZUIKit.opt.deviceSerial+":0:"+window.EZUIKit.opt.channelNo+":cas.ys7.com:6500";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+ue}window.EZUIKit.opt.stream=N.stream,window.startTalk()}}else console.log(R.code,w.codeHandler.matchInfo(R.code,"talk")),w.pluginStatus.loadingSetText({text:w.codeHandler.matchInfo(R.code,"talk").msg||R.msg,color:"red",delayClear:2e3}),typeof w.jSPlugin.params.handleError=="function"&&w.jSPlugin.params.handleError({msg:R.msg,retcode:R.code,id:w.jSPlugin.params.id,type:"handleError"})}).catch(function(R){console.log("err",R)})}},{key:"stopTalk",value:function(){window.stopTalk(),document.getElementById("myaudio")&&document.getElementById("myaudio").srcObject&&document.getElementById("myaudio").srcObject.getTracks()[0].stop()}}]),J}(),T2=function(){function J(H){var w=this;i(this,J),this.jSPlugin=H;var T=document.createElement("style");T.innerHTML=` |
|
|
body{ |
|
|
padding: 0; |
|
|
margin: 0; |
|
|
} |
|
|
#mobile-ez-ptz-container { |
|
|
display: inline-block; |
|
|
width: 375px; |
|
|
text-align: center; |
|
|
} |
|
|
.live-ptz-title{ |
|
|
height: 25px; |
|
|
font-size: 18px; |
|
|
color: #2c2c2c; |
|
|
text-align: center; |
|
|
font-weight: 700; |
|
|
margin: 24px 0 12px; |
|
|
} |
|
|
.live-ptz-intro { |
|
|
margin-bottom: 24px; |
|
|
color: #aaaaaa; |
|
|
} |
|
|
.mobile-ez-ptz-wrap { |
|
|
background-image: linear-gradient(180deg, #f6f8ff 0%, #ededed6b 50%) |
|
|
} |
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container { |
|
|
position: relative; |
|
|
width: 260px; |
|
|
height: 260px; |
|
|
background: rgba(255, 255, 255, 0.80); |
|
|
border: 1px solid rgba(255, 255, 255, 0.80); |
|
|
border-radius: 100%; |
|
|
cursor: pointer; |
|
|
overflow: hidden; |
|
|
margin: auto; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.top { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 6px solid transparent; |
|
|
border-right: 6px solid transparent; |
|
|
border-bottom: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 6px); |
|
|
top: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.top.active { |
|
|
border-bottom-color: #1890FF; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.bottom { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 6px solid transparent; |
|
|
border-right: 6px solid transparent; |
|
|
border-top: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 6px); |
|
|
bottom: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.bottom.active { |
|
|
border-top-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.right { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 6px solid transparent; |
|
|
border-bottom: 6px solid transparent; |
|
|
border-left: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 6px); |
|
|
right: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.right.active { |
|
|
border-left-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.left { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 6px solid transparent; |
|
|
border-bottom: 6px solid transparent; |
|
|
border-right: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 6px); |
|
|
left: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.left.active { |
|
|
border-right-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .ez-ptz-main.center { |
|
|
width: 52px; |
|
|
height: 52px; |
|
|
background: #FFFFFF; |
|
|
border: 2px solid #eee; |
|
|
border-radius: 100%; |
|
|
top: calc(50% - 26px); |
|
|
left: calc(50% - 26px); |
|
|
position: absolute; |
|
|
/* box-shadow: 0px -39px 40px 6px #1890ff; */ |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-wrap { |
|
|
display: inline-block; |
|
|
padding: 24px 24px; |
|
|
border-radius: 100%; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .ez-ptz-close { |
|
|
position: absolute; |
|
|
color: #FFFFFF; |
|
|
top: 0; |
|
|
right: 0px; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(T);var R=document.createElement("div");R.className="mobile-ez-ptz-container",R.id="mobile-ez-ptz-container",R.style="display:inline-block;width: ".concat(this.jSPlugin.width,"px;text-align:center;");var N=document.createElement("div");N.className="live-ptz-title",N.id="live-ptz-title",N.innerHTML="云台控制",document.getElementById("live-ptz-title")||R.appendChild(N);var z=document.createElement("div");z.className="live-ptz-intro",z.id="live-ptz-intro",z.innerHTML="请通过操控云台来调整摄像机视角",document.getElementById("live-ptz-intro")||R.appendChild(z);var U=document.createElement("div");U.id="mobile-ez-ptz-item",U.className="mobile-ez-ptz-wrap",U.innerHTML=` |
|
|
<div class="mobile-ez-ptz-container" id="mobile-ez-ptz-container"> |
|
|
<div class="ez-ptz-main center"></div> |
|
|
<div class="mobile-ez-ptz-icon top default"></div> |
|
|
<div class="mobile-ez-ptz-icon left default"></div> |
|
|
<div class="mobile-ez-ptz-icon bottom default"></div> |
|
|
<div class="mobile-ez-ptz-icon right default"></div> |
|
|
</div> |
|
|
`,document.getElementById("mobile-ez-ptz-item")||R.appendChild(U),h(R,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(ue){ue.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(ue,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(ue){ue.preventDefault(),console.log("触摸结束",ue),w._handlePtzTouch(ue,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(ue){ue.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(ue,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(ue){ue.preventDefault(),console.log("触摸结束",ue),w._handlePtzTouch(ue,"stop")}}return a(J,[{key:"show",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: none"}},{key:"_handlePtzTouch",value:function(w,T){var R=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),N=R.left+130,z=R.top+130,U=w.x||w.changedTouches[0].clientX,ue=w.y||w.changedTouches[0].clientY,pe=U-N,de=ue-z,se=0,re=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(pe)>Math.abs(de)?pe>0?(se=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(se=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):de>0?(se=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(se=0,document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("default","active")),document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(se===0?180:se===1?0:se===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),T==="stop"&&(re=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("mobile-ez-ptz-item").style="",document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("active","default"));var Be=new FormData;Be.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),Be.append("channelNo",S(this.jSPlugin.url).channelNo),Be.append("speed",1),Be.append("direction",se),Be.append("accessToken",this.jSPlugin.accessToken),fetch(re,{method:"POST",body:Be}).then(function(be){return be.json()}).then(function(be){be.code==200||(be.code==60005||be.code==60002||be.code==60003||be.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(se===0?180:se===1?0:se===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(be){console.log("云台调用异常",be)})}}]),J}(),z2=0,Te="成功",$e={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]},footer:{color:"#FFFFFF",backgroundColor:"rgb(0 0 0 / 0%)",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-0",iconId:"play",part:"left",defaultActive:1,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-1",iconId:"capturePicture",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-2",iconId:"sound",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-3",iconId:"pantile",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-4",iconId:"recordvideo",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-5",iconId:"talk",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-6",iconId:"hd",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-7",iconId:"webExpend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-8",iconId:"expend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]}},Xe={retcode:z2,msg:Te,data:$e},Ne={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},u2={data:Ne},P2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},d2={data:P2},st={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},pt={data:st},yt={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},_t={data:yt},ut={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:0},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:0},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:0}]}},Ht={data:ut},Ue={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},it={data:Ue},St={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},jt={data:St},Ve=[{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcLive",themeIntro:"PC直播全量版",themeName:"PC直播全量版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:pt.data.header,footer:pt.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"security",themeIntro:"PC直播安防版",themeName:"PC直播安防版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:_t.data.header,footer:_t.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"voice",themeIntro:"PC直播语音版",themeName:"PC直播语音版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:it.data.header,footer:it.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"simple",themeIntro:"PC直播极简版",themeName:"PC直播极简版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"",header:Ht.data.header,footer:Ht.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcRec",themeIntro:"PC回放全量版",themeName:"PC回放全量版",themeType:"webRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:jt.data.header,footer:jt.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileLive",themeIntro:"Mobile直播全量版",themeName:"Mobile直播全量版",themeType:"mobileLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:u2.data.header,footer:u2.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileRec",themeIntro:"Mobile回放全量版",themeName:"Mobile回放全量版",themeType:"mobileRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:d2.data.header,footer:d2.data.footer}],lt=function(){function J(H){var w=this;i(this,J),this.jSPlugin=H,this.enableZoom=!1,this.isMouseDown=!1,this.videoWidth=1920,this.videoHeight=1080,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(H.id),this.clientRect=document.getElementById(H.id).getBoundingClientRect();var T=document.createElement("div");T.id="".concat(H.id,"-zoom-container"),T.style=`position: absolute; |
|
|
display:none; |
|
|
left: 12px; |
|
|
bottom: 80px;`;var R=` |
|
|
<div |
|
|
style="display: inline-flex;flex-direction: column;width: 38px;height: 160px;background:rgba(0,0,0,0.60);border-radius: 8px;align-items: center;"> |
|
|
<div id="`.concat(this.jSPlugin.id,`-scale-value" style="font-size: 12px;color:#FFFFFF;margin-top:10px;margin-bottom:4px;">2.0X</div> |
|
|
<div style="width: 24px;" id="`).concat(this.jSPlugin.id,`-addScale"> |
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
<svg version="1.1" fill="#FFFFFF" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> |
|
|
<title>放大</title> |
|
|
<g id="矩形"> |
|
|
<rect class="st0" width="20" height="20" fill="none"/> |
|
|
</g> |
|
|
<g id="形状结合"> |
|
|
<path class="st1" d="M10,3.8c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2S3.8,13.5,3.8,10S6.5,3.8,10,3.8z M10,5c-2.8,0-5,2.2-5,5 |
|
|
s2.2,5,5,5s5-2.2,5-5S12.8,5,10,5z"/> |
|
|
</g> |
|
|
<g id="路径-4"> |
|
|
<path class="st2" d="M12.5,10.7h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S12.8,10.7,12.5,10.7z"/> |
|
|
</g> |
|
|
<g id="路径-4备份"> |
|
|
<path class="st2" d="M10,13.2c-0.3,0-0.6-0.3-0.6-0.6v-5c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6v5C10.6,12.9,10.3,13.2,10,13.2z"/> |
|
|
</g> |
|
|
</svg> |
|
|
</div> |
|
|
<div style=" |
|
|
position: relative; |
|
|
width: 1px; |
|
|
height: 64px; |
|
|
border: 1px solid rgba(255,255,255,0.75); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
align-items: center; |
|
|
justify-content: flex-end;"> |
|
|
<div class="scale-body-line-dot" id="`).concat(this.jSPlugin.id,`-scale-body-line-dot" style="width: 8px; |
|
|
height: 8px; |
|
|
background: #FFFFFF; |
|
|
border-radius: 100%; |
|
|
position: absolute; |
|
|
border: 1.5px solid rgba(64,122,255,1);"></div> |
|
|
<div id="`).concat(this.jSPlugin.id,`-line-dot" style="width: 1px; |
|
|
height: 0%; |
|
|
background: #1890FF; |
|
|
bottom: 0;"></div> |
|
|
</div> |
|
|
<div style="width: 24px;margin-top: 6px;" id="`).concat(this.jSPlugin.id,`-subScale"> |
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
<svg fill="#FFFFFF" version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> |
|
|
<title>缩小</title> |
|
|
<g id="矩形"> |
|
|
<rect class="st0" width="20" height="20" fill="none"/> |
|
|
</g> |
|
|
<g id="形状结合"> |
|
|
<path class="st1" d="M10,3.8c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2S3.8,13.5,3.8,10S6.5,3.8,10,3.8z M10,5c-2.8,0-5,2.2-5,5 |
|
|
s2.2,5,5,5s5-2.2,5-5S12.8,5,10,5z"/> |
|
|
</g> |
|
|
<g id="路径-4"> |
|
|
<path class="st2" d="M12.5,10.7h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S12.8,10.7,12.5,10.7z"/> |
|
|
</g> |
|
|
</svg> |
|
|
</div> |
|
|
</div> |
|
|
`);T.innerHTML=R,document.getElementById("".concat(H.id,"-audioControls-left")).parentNode.appendChild(T),document.getElementById("".concat(H.id,"-addScale")).onclick=function(){w.addScale()},document.getElementById("".concat(H.id,"-subScale")).onclick=function(){w.subScale()}}return a(J,[{key:"onMouseDown",value:function(w){this.currentPosition,this.currentScale;var T=this.enableZoom;if(!T)return!1;this.moveX=w.clientX,this.moveY=w.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(w){var T=this.currentPosition,R=this.enableZoom;if(!R)return!1;this.isMouseDown=!1,T.left=T.left-(w.clientX-this.moveX),T.top=T.top-(w.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(w){var T=this.enableZoom;if(!T)return!1;this.isMouseDown&&(console.log("鼠标按上",w),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var w=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(w,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((w-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((w-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var w=this,T=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=T.width,this.videoHeight=T.height,this.currentPosition.right=T.width,this.currentPosition.bottom=T.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot(),this.enableZoom=!0,document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0"))?(document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mousedown",function(R){return w.onMouseDown(R)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(R){return w.onMouseUp(R)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(R){return w.onMouseOut(R)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(R){return w.onMouseDown(R)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(R){return w.onMouseUp(R)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(R){return w.onMouseOut(R)}))}},{key:"stopZoom",value:function(){var w=this;this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot(),this.enableZoom=!1,document.getElementById(this.jSPlugin.id).removeEventListener("mousedown",function(T){return w.onMouseDown(T)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(T){return w.onMouseUp(T)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(T){return w.onMouseOut(T)})}},{key:"doScale",value:function(){console.log("执行放大");var w=this.currentPosition,T=this.currentScale;w.left=w.left+w.xPercent*(w.right-w.left)-1/2*(this.videoWidth/T),w.left<0?w.left=0:w.left>this.videoWidth-this.videoWidth/T&&(w.left=this.videoWidth-this.videoWidth/T),w.right=w.left+this.videoWidth/T,w.top=w.top+w.yPercent*(w.bottom-w.top)-1/2*(this.videoHeight/T),w.top<0?w.top=0:w.top>this.videoHeight-this.videoHeight/T&&(w.top=this.videoHeight-this.videoHeight/T),w.bottom=w.top+this.videoHeight/T,w.left=parseInt(w.left,10),w.right=parseInt(w.right,10),w.top=parseInt(w.top,10),w.bottom=parseInt(w.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,w.left,w.right,w.top,w.bottom,w.xPercent,w.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(w.left,w.right,w.top,w.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(w){var T=this.currentPosition,R=this.clientRect;T.x=w.clientX,T.y=w.clientY,T.xPercent=(w.clientX-R.x)/R.width,T.yPercent=(w.clientY-R.y)/R.height,this.doScale()}},{key:"addScale",value:function(){var w=this.currentScale,T=this.currentPosition;if(w>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,T.xPercent=.5,T.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var w=this.currentScale,T=this.currentPosition;if(w<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,T.xPercent=.5,T.yPercent=.5,this.doScale()}}]),J}();function at(J,H){return Math.abs(H.clientX-J.clientX)*Math.abs(H.clientX-J.clientX)+Math.abs(H.clientY-J.clientY)*Math.abs(H.clientY-J.clientY)}var kt=function(){function J(H){var w=this;i(this,J),this.jSPlugin=H,this.enableZoom=!1,this.isDubboTouch=!1,this.videoWidth=0,this.videoHeight=0,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(H.id),this.clientRect=document.getElementById(H.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var T=document.createElement("div");T.id="".concat(H.id,"-zoom-container"),T.style=`display:none; |
|
|
position: absolute; |
|
|
left: 10px; |
|
|
top: -30px; |
|
|
border: 1px solid rgba(0,0,0,0.6); |
|
|
color: #FFFFFF; |
|
|
background: rgba(0,0,0,0.6); |
|
|
border-radius: 10px; |
|
|
width: 36px; |
|
|
font-size: 12px; |
|
|
text-align: center; |
|
|
height: 22px; |
|
|
line-height: 22px;`;var R="1X";T.innerHTML=R,document.getElementById("".concat(H.id,"-audioControls-left")).parentNode.appendChild(T),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(N){return w.onTouchstart(N)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(N){return w.onTouchmove(N)})}return a(J,[{key:"onTouchstart",value:function(w){var T=this.jSPlugin.beforeMobileZoomVerify();if(!T)return!1;if(!this.inited){var R=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=R.width,this.videoHeight=R.height,this.currentPosition.right=R.width,this.currentPosition.bottom=R.height,this.inited=!0}var N=this.currentPosition;this.currentScale,console.log("双指按下",N);var z=w.touches,U=z[0],ue=z[1];U&&(this.point1.clientX=U.clientX,this.point1.clientY=U.clientY),ue&&(this.point2.clientX=ue.clientX,this.point2.clientY=ue.clientY,this.touchLineLength=at(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=U.clientX,this.moveY=U.clientY),console.log("双指按下2",N)}},{key:"onTouchmove",value:function(w){var T=this.isDubboTouch,R=this.currentPosition,N=this.clientRect,z=this.jSPlugin.beforeMobileZoomVerify();if(!z)return!1;if(w.touches.length===1){var ue=w.touches[0];return R.xPercent=R.xPercent+(this.point1.clientX-ue.clientX)/N.width/this.currentScale,R.yPercent=R.yPercent+(this.point1.clientY-ue.clientY)/N.height/this.currentScale,this.doScale(),this.point1.clientX=ue.clientX,this.point1.clientY=ue.clientY,!1}if(!T)return!1;var U=w.touches,ue=U[0],pe=U[1];if(ue&&(this.point1.clientX=ue.clientX,this.point1.clientY=ue.clientY),pe){this.point2.clientX=pe.clientX,this.point2.clientY=pe.clientY;var de=at(this.point1,this.point2);de!==this.touchLineLength&&(de>this.touchLineLength?this.currentScale<8?(++this.currentScale,R.xPercent=(this.point1.clientX+this.point2.clientX)/2/N.width,R.yPercent=(this.point1.clientY+this.point2.clientY)/2/N.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,R.xPercent=(this.point1.clientX+this.point2.clientX)/2/N.width,R.yPercent=(this.point1.clientY+this.point2.clientY)/2/N.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var w=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=w.width,this.videoHeight=w.height,this.currentPosition.right=w.width,this.currentPosition.bottom=w.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot()}},{key:"stopZoom",value:function(){this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot()}},{key:"resetZoom",value:function(){this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none"}},{key:"doScale",value:function(){var w=this.currentPosition,T=this.currentScale;w.left=w.left+w.xPercent*(w.right-w.left)-1/2*(this.videoWidth/T),w.left<0?w.left=0:w.left>this.videoWidth-this.videoWidth/T&&(w.left=this.videoWidth-this.videoWidth/T),w.right=w.left+this.videoWidth/T,w.top=w.top+w.yPercent*(w.bottom-w.top)-1/2*(this.videoHeight/T),w.top<0?w.top=0:w.top>this.videoHeight-this.videoHeight/T&&(w.top=this.videoHeight-this.videoHeight/T),w.bottom=w.top+this.videoHeight/T,w.left=parseInt(w.left,10),w.right=parseInt(w.right,10),w.top=parseInt(w.top,10),w.bottom=parseInt(w.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",w.left,w.right,w.top,w.bottom,w.xPercent,w.yPercent),w.left<w.right&&w.top<w.bottom&&w.bottom<=this.videoHeight&&w.right<=this.videoWidth&&this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(w.left,w.right,w.top,w.bottom),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).innerHTML="".concat(T,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display=T===1?"none":"inline-block"}},{key:"calCurrentPosition",value:function(w){var T=this.currentPosition,R=this.clientRect;T.x=w.clientX,T.y=w.clientY,T.xPercent=(w.clientX-R.x)/R.width,T.yPercent=(w.clientY-R.y)/R.height,this.doScale()}}]),J}(),Pt=function(H){var w="";return Object.keys(H).map(function(T,R){w+="".concat(T,":").concat(H[T]).concat(R<Object.keys(H).length-1?";":"")}),w},wt=500,l2=function(){function J(H){var w=this;if(i(this,J),this.jSPlugin=H,this.isNeedRenderHeader=!1,this.isNeedRenderFooter=!1,this.autoFocus=0,this.autoFocusTimer=null,this.recordTimer=null,this.nextRate=1,this.showHD=!1,this.themeInited=!1,this.decoderState={state:{isEditing:!1,play:!1,sound:!1,recordvideo:!1,recordCount:"00:00",talk:!1,zoom:!1,pantile:!1,hd:!1,speed:!1,expend:!1,webExpend:!1,cloudRec:S(H.url).type==="cloud.rec",rec:S(H.url).type==="rec",type:S(H.url).type}},this.pluginStatus=new F(this,this.jSPlugin.params.id),console.log(" matchEzopenUrl(jSPlugin.url)",S(H.url),this.decoderState.state),this.inited=!1,this.isMobile=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i),typeof H.isMobile!="undefined"&&(this.isMobile=H.isMobile),this.themeData=Xe.data,this.jSPlugin.themeId)switch(this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var T=E.find(Ve,function(R){return R.themeId===w.jSPlugin.themeId});T&&(this.themeData=T),this.initThemeData(),this.renderThemeData();break;case"themeData":this.themeData=this.jSPlugin.params.themeData,this.initThemeData(),this.renderThemeData();break;default:this.fetchThemeData(this.jSPlugin.themeId);break}this.jSPlugin.Talk||(this.jSPlugin.Talk=new Ge(this.jSPlugin)),u("".concat(this.jSPlugin.staticPath,"/speed/speed.css")),u("".concat(this.jSPlugin.staticPath,"/css/theme.css"))}return a(J,[{key:"fetchThemeData",value:function(w){var T=this,R="".concat(this.jSPlugin.env.domain,"/console/jssdk/ezopen/template/getDetail?accessToken=").concat(this.jSPlugin.accessToken,"&id=").concat(w);(window.location.hostname==="test11open.ys7.com"||window.location.hostname==="127.0.0.1"||window.location.hostname==="jianboyu.top")&&(R=R.replace("test12open.ys7.com/console/jssdk","test11open.ys7.com/console/jssdk")),fetch(R,{method:"GET"}).then(function(N){return N.json()}).then(function(N){console.log("get theme data",N),N.meta.code===0&&N.data&&(T.themeData=N.data,N.data.header&&(T.themeData.header=N.data.header,T.themeData.header.btnList=T.themeData.header.btnList.sort(function(z,U){return z.btnKey.split("-")[3]-U.btnKey.split("-")[3]})),N.data.footer&&(T.themeData.footer=N.data.footer,T.themeData.footer.btnList=T.themeData.footer.btnList.sort(function(z,U){return z.btnKey.split("-")[3]-U.btnKey.split("-")[3]})),T.initThemeData(),T.renderThemeData())}).catch(function(N){T.renderThemeData()})}},{key:"changeTheme",value:function(w){var T=this;if(typeof w=="string")switch(this.jSPlugin.themeId=w,this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var R=E.find(Ve,function(N){return N.themeId===T.jSPlugin.themeId});R&&(this.themeData=R),this.initThemeData(),this.renderThemeData();break;default:this.fetchThemeData(w);break}else t(w)==="object"&&(this.themeData=w,this.initThemeData(),this.renderThemeData(),this.decoderState.state.isEditing&&this.editStart());this.jSPlugin&&this.jSPlugin.handleThemeChange&&this.jSPlugin.handleThemeChange(w)}},{key:"renderThemeData",value:function(){var w=this,T=this.themeData,R=T.header,N=T.footer;if(this.isNeedRenderHeader&&R&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=R.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=R.color.replace("-diy",""),R.btnList.map(function(pe,de){pe.isrender&&w.setDecoderState(o({},pe.iconId,w.decoderState.state[pe.iconId]))})),this.isNeedRenderFooter&&N)document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=N.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=N.color.replace("-diy",""),N.btnList.map(function(pe,de){if(pe.isrender&&w.setDecoderState(o({},pe.iconId,w.decoderState.state[pe.iconId])),pe.iconId==="play"&&pe.defaultActive&&!w.themeInited)var se=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(se),w.jSPlugin.play(),w.themeInited=!0)},50)}),this.jSPlugin.url.indexOf("hd.live")!==-1&&this.setDecoderState({hd:!0}),this.themeData.autoFocus>0&&(this.autoFocus=parseInt(this.themeData.autoFocus),this.startAutoFocus(),document.getElementById("".concat(this.jSPlugin.id,"-wrap")).addEventListener("click",function(){w.stopAutoFocus()})),this.setDecoderState({cloudRec:S(this.jSPlugin.url).type==="cloud.rec",rec:S(this.jSPlugin.url).type==="rec",type:S(this.jSPlugin.url).type});else if(!this.themeInited)var z=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(z),w.jSPlugin.play(),w.themeInited=!0)},50);var U=E.findIndex(this.themeData.footer.btnList,function(pe){return pe.iconId==="zoom"&&pe.isrender>0})>=0;U&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var pe=w.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",pe),!!pe},this.jSPlugin.Zoom=new kt(this.jSPlugin)):this.jSPlugin.Zoom=new lt(this.jSPlugin));var ue=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(ue),w.jSPlugin.reSize(w.jSPlugin.params.width,w.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(w){var T=this,R=this.themeData,N=R.header,z=R.footer;Object.keys(w).map(function(U,ue){var pe="#FFFFFF",de="#FFFFFF",se=N.btnList.findIndex(function(re){return re.iconId===U});switch(se===-1?(pe=z.color.replace("-diy",""),de=z.activeColor.replace("-diy","")):(pe=N.color.replace("-diy",""),de=z.activeColor.replace("-diy","")),U){case"play":w[U]?document.getElementById("".concat(T.jSPlugin.id,"-play"))&&(document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-play")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=w[U]?de:pe):document.getElementById("".concat(T.jSPlugin.id,"-play"))&&(document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-play")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=w[U]?de:pe);break;case"sound":document.getElementById("".concat(T.jSPlugin.id,"-sound"))&&(w[U]?(document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-sound")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=w[U]?de:pe):(document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-sound")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=w[U]?de:pe));break;case"recordvideo":document.getElementById("".concat(T.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(T.jSPlugin.id,"-recordvideo")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=w[U]?de:pe,w[U]?T.countTime("add",0):T.countTime("destroy",0));break;case"talk":document.getElementById("".concat(T.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(T.jSPlugin.id,"-talk")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=w[U]?de:pe);break;case"zoom":document.getElementById("".concat(T.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(T.jSPlugin.id,"-zoom")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=w[U]?de:pe);break;case"pantile":document.getElementById("".concat(T.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(T.jSPlugin.id,"-pantile")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=w[U]?de:pe);break;case"webExpend":w[U]?(document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=w[U]?de:pe,document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=w[U]?de:pe);break;case"capturePicture":document.getElementById("".concat(T.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(T.jSPlugin.id,"-capturePicture")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=w[U]?de:pe);break;case"expend":w[U]?(document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=w[U]?de:pe,document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=w[U]?de:pe);break;case"hd":w[U]?document.getElementById("".concat(T.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(T.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(T.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=w[U]?de:pe,document.getElementById("".concat(T.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=w[U]?de:pe),document.getElementById("".concat(T.jSPlugin.id,"-select-mask"))&&(T.isMobile&&w[U]?document.getElementById("".concat(T.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(T.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(T.jSPlugin.id,"-cloudRec")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=w[U]?de:pe),document.getElementById("".concat(T.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-rec")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=w[U]?pe:de);break;case"rec":document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-cloudRec")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=w[U]?pe:de),document.getElementById("".concat(T.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-rec")).className=w[U]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=w[U]?de:pe);break}T.decoderState.state=Object.assign(T.decoderState.state,w)})}},{key:"startAutoFocus",value:function(){var w=this,T=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(w.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(w.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(w.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},T*1e3)}},{key:"stopAutoFocus",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.opacity=1,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.pointerEvents="all"),this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.startAutoFocus()}},{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"renderFooter",value:function(w,T){var R=this,N=this.matchBtn(w);if(this.isMobile&&N.id==="zoom")return!1;var z=document.createElement("div");z.className="theme-icon-item",z.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'" style="position:relative;">')+'<div id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-content" title="').concat(N.title,'" style="height:').concat(this.jSPlugin.width>wt?48:32,'px;display: flex;align-items: center;position:relative;">')).concat(N.domString,"</div>")+"</span>",z.onclick=function(de){if(R.decoderState.state.isEditing)return!1;N.onclick(de)},N.onmouseenter&&(z.onmouseenter=function(de){if(R.decoderState.state.isEditing)return!1;N.onmouseenter(de)}),N.onmouseleave&&(z.onmouseleave=function(de){if(R.decoderState.state.isEditing)return!1;N.onmouseleave(de)});var U=document.createElement("span");U.className="icon-move left",U.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-left" title="左移" style="position: absolute;top: calc(50% - 10px);left: -4px;"><svg fill="#ffffff" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="24" viewBox="0 0 10 15" style="background:#00000080;"><path d="M7.4,10V5.3c0-0.3-0.3-0.6-0.6-0.6c-0.1,0-0.3,0.1-0.4,0.2L3.7,7.4c-0.2,0.2-0.3,0.6,0,0.8 c0,0,0,0,0.1,0.1l2.7,2.2c0.2,0.2,0.6,0.2,0.8-0.1C7.3,10.3,7.4,10.2,7.4,10z"></path></svg></span>'),U.onclick=function(){R.editIcon(N.id,"left","footer")},z.appendChild(U);var ue=document.createElement("span");ue.className="icon-move right",ue.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-right" class="ezuikit-theme-icon" title="右移" style="position: absolute;top: calc(50% - 10px);left: calc(100% - 8px);"><svg fill="#ffffff" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="24" viewBox="0 0 10 15" style="background:#00000080"><path d="M3.4,5.2v4.7c0,0.3,0.3,0.6,0.6,0.6c0.1,0,0.3-0.1,0.4-0.2l2.7-2.5c0.2-0.2,0.3-0.6,0-0.8 c0,0,0,0-0.1-0.1L4.4,4.8C4.1,4.6,3.8,4.6,3.6,4.9C3.5,5,3.4,5.1,3.4,5.2z"></path></svg></span>'),ue.onclick=function(){R.editIcon(N.id,"right","footer")},z.appendChild(ue);var pe=document.createElement("span");pe.className="icon-move close",pe.innerHTML='<span id="'.concat(N.id,'-remove" class="ezuikit-theme-icon" title="移除" style="position: absolute;top: -10px;right: -10px;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span>',pe.onclick=function(){R.editIcon(N.id,"delete","footer")},z.appendChild(pe),T==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(z):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(z)}},{key:"editIcon",value:function(w,T,R){console.log("编辑组件",w,T,R);var N=this.themeData;console.log("themeData",this.themeData);var z=this.themeData[R].btnList,U=E.findIndex(z,function(Be){return Be.iconId===w}),ue=z[U];switch(T){case"delete":if(w==="rec"){if(E.findIndex(z,function(Be){return Be.iconId==="cloudRec"&&Be.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(w==="cloudRec"&&E.findIndex(z,function(Be){return Be.iconId==="rec"&&Be.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;z[U].isrender=0;break;case"right":for(var pe=-1,de=U+1;de<z.length;de++)if(z[de].part===z[U].part&&z[de].isrender==1){pe=de;break}pe!==-1&&(z[U]=z[pe],z[pe]=ue);break;case"left":for(var se=-1,re=U-1;re>=0;re--)if(z[re].part===z[U].part&&z[re].isrender==1){se=re;break}se!==-1&&(z[U]=z[se],z[se]=ue);break}console.log("new btnList",z),N[R].btnList=z,this.changeTheme(N)}},{key:"renderHeader",value:function(w,T){var R=this,N=this.matchBtn(w),z=document.createElement("div");z.className="theme-icon-item",z.style="max-width:50%;",z.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'" style="position:relative;";>')+'<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-content" title="').concat(N.title,'" style="display:inline-block;height:').concat(this.width>wt?48:32,'px;">')).concat(N.domString,"</span>")+'<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-remove" title="移除" style="position: absolute;top: -6px;left: 38px;display: none;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span></span>',z.onclick=function(ue){if(R.decoderState.state.isEditing)return!1;N.onclick(ue)};var U=document.createElement("span");U.className="icon-move close",U.innerHTML='<span id="'.concat(N.id,'-remove" class="ezuikit-theme-icon" title="移除" style="position: absolute;top: -6px;right: -6px;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span>',U.onclick=function(){R.editIcon(N.id,"delete","header")},z.appendChild(U),T==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(z):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(z)}},{key:"countTime",value:function(w){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,R=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var N=document.createElement("div");N.id=this.jSPlugin.id+"time-area",N.className="time-area",N.innerHTML='<span class="dot"></span><span class="value">00:00</span>',document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).appendChild(N)}if(this.countTimer&&clearInterval(this.countTimer),w==="add"){var z=T;document.getElementById(R.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++z,document.getElementById(R.jSPlugin.id+"time-area").children[1].innerHTML=U(z)},1e3)}else w==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(R.jSPlugin.id+"time-area")&&(document.getElementById(R.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(R.jSPlugin.id+"time-area").style.display="none"));function U(ue){var pe=parseInt(ue),de=0,se=0,re="00",Be="00",be="00";return pe>59&&(de=parseInt(pe/60),pe=parseInt(pe%60),de>59&&(se=parseInt(de/60),de=parseInt(de%60))),re=parseInt(pe)>9?parseInt(pe):"0"+parseInt(pe),Be=parseInt(de)>9?parseInt(de):"0"+parseInt(de),be=parseInt(se)>9?parseInt(se):"0"+parseInt(se),se>0?be+":"+Be+":"+re:de>0?Be+":"+re:"00:"+re}}},{key:"setDisabled",value:function(w){var T=this.decoderState.state,R=T.sound,N=T.hd;document.getElementById(R?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(R?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-talk-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-talk-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(N?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(N?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).setAttribute("style",document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).getAttribute("style")+";"+(w?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(w){var T=this,R=this.themeData,N=R.header,z=R.footer,U={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},ue=N.btnList.findIndex(function(pe){return pe.iconId===w});switch(ue===-1?(U.color=z.color,U.backgroundColor=z.backgroundColor,U.activeColor=z.activeColor):(U.color=N.color,U.backgroundColor=N.backgroundColor,U.activeColor=N.activeColor),w){case"play":return U.title="播放/结束播放",U.id=w,U.domString='<div style="height: 100%">'+'<svg id="'.concat(this.jSPlugin.id+"-play-icon",'" class="theme-icon-item-icon" style="display:none" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" fill="').concat(U.color,`" viewBox="-6 -6 32 32"> |
|
|
<path id="Stroke-1" class="st1" d="M10.5,1.7c-4.9,0-8.8,4-8.8,8.8s4,8.8,8.8,8.8s8.8-4,8.8-8.8S15.4,1.7,10.5,1.7z M10.5,2.7 |
|
|
c4.3,0,7.8,3.5,7.8,7.8s-3.5,7.8-7.8,7.8s-7.8-3.5-7.8-7.8S6.2,2.7,10.5,2.7z"/> |
|
|
<path class="st2" d="M8.7,8C9,8,9.3,8.3,9.3,8.6v3.8C9.3,12.7,9,13,8.7,13C8.3,13,8,12.7,8,12.4V8.6C8,8.3,8.3,8,8.7,8z"/> |
|
|
<path id="Rectangle-Copy-10" class="st2" d="M12.8,8c0.3,0,0.6,0.3,0.6,0.6v3.8c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6V8.6 |
|
|
C12.2,8.3,12.5,8,12.8,8z"/> |
|
|
</svg>`)+'<svg id="'.concat(this.jSPlugin.id+"-stop-icon",'" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M13,9.8L10.1,8C9.9,7.9,9.7,7.9,9.5,7.9c-0.6,0-1,0.4-1,1v3.7c0,0.2,0.1,0.4,0.2,0.5c0.3,0.5,0.9,0.6,1.4,0.3 l2.9-1.8c0.1-0.1,0.2-0.2,0.3-0.3C13.6,10.7,13.4,10.1,13,9.8z" /><path d="M10.5,1.9c-4.9,0-8.8,4-8.8,8.8c0,4.9,4,8.8,8.8,8.8s8.8-4,8.8-8.8C19.4,5.8,15.4,1.9,10.5,1.9z M10.5,18.5 c-4.3,0-7.8-3.5-7.8-7.8s3.5-7.8,7.8-7.8c4.3,0,7.8,3.5,7.8,7.8S14.9,18.5,10.5,18.5z" /></svg></div>',U.onclick=function(){var pe=T.decoderState.state,de=pe.play,se=pe.isEditing,re=pe.rec,Be=pe.cloudRec,be=pe.recordvideo;if(se)return!1;de?(re||Be?T.jSPlugin.pause():T.jSPlugin.stop(),be&&T.setDecoderState({recordvideo:!1}),T.jSPlugin.Zoom.stopZoom()):(re||Be?T.jSPlugin.resume():T.jSPlugin.play(),T.resetMobileZoomStatus()),T.setDecoderState({zoom:!1,play:!de}),T.setDisabled(de)},U;case"sound":return U.title="声音",U.id=w,U.domString='<span style="height: 100%">'+'<svg class="theme-icon-item-icon" id="'.concat(this.jSPlugin.id,'-nosound-icon" style="display:none" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="-6 -6 32 32"> |
|
|
<path d="M8.5,4.2c0.8-0.7,2.1-0.2,2.2,0.9l0,0.1v10c0,1.1-1.2,1.7-2.1,1.1l-0.1-0.1l-3.3-2.8C5,13.2,5,12.9,5.1,12.7 c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.8c0.2,0.2,0.5,0.1,0.5-0.2l0-0.1v-10c0-0.3-0.3-0.4-0.5-0.3L9.2,5L5.9,7.8 C5.6,7.9,5.3,7.9,5.1,7.7C5,7.5,5,7.3,5.1,7.1L5.2,7L8.5,4.2z"/> |
|
|
<path d="M5.5,6.9C5.8,6.9,6,7.1,6,7.4c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2C3.4,7.9,3.3,8,3.2,8.2l0,0.1v4 c0,0.2,0.1,0.3,0.3,0.3l0.1,0h2C5.8,12.5,6,12.7,6,13c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.7,0-1.3-0.5-1.3-1.2l0-0.1v-4 c0-0.7,0.5-1.3,1.2-1.3l0.1,0H5.5z"/> |
|
|
<path d="M17.4,7.9c0.2-0.2,0.5-0.2,0.7,0c0.2,0.2,0.2,0.4,0.1,0.6l-0.1,0.1l-3.8,3.8c-0.2,0.2-0.5,0.2-0.7,0 c-0.2-0.2-0.2-0.4-0.1-0.6l0.1-0.1L17.4,7.9z"/> |
|
|
<path d="M13.7,7.9c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.8,3.8c0.2,0.2,0.2,0.5,0,0.7c-0.2,0.2-0.4,0.2-0.6,0.1l-0.1-0.1 l-3.7-3.8C13.5,8.4,13.5,8.1,13.7,7.9z"/> |
|
|
</svg>`)+'<svg class="theme-icon-item-icon" id="'.concat(this.jSPlugin.id,'-sound-icon" style="display:inline-block" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" fill="').concat(U.color,`" viewBox="-6 -6 32 32"> |
|
|
<path d="M13.2,7.1c0.1-0.2,0.5-0.3,0.7-0.2c1.1,0.7,1.9,2.2,1.9,3.7c0,1.6-0.7,3-1.9,3.7 |
|
|
c-0.2,0.1-0.5,0.1-0.7-0.2c-0.1-0.2-0.1-0.5,0.2-0.7c0.8-0.5,1.4-1.6,1.4-2.9c0-1.3-0.6-2.4-1.4-2.9C13.1,7.6,13,7.3,13.2,7.1z"/> |
|
|
<path d="M15.7,4.5c0.2-0.2,0.5-0.2,0.7-0.1C18,5.8,19,8.2,19,10.7c0,2.5-1,4.8-2.7,6.3 |
|
|
c-0.2,0.2-0.5,0.2-0.7-0.1c-0.2-0.2-0.2-0.5,0.1-0.7c1.4-1.2,2.3-3.3,2.3-5.5c0-2.2-0.9-4.3-2.3-5.5C15.5,5,15.5,4.7,15.7,4.5z"/> |
|
|
<path id="Stroke-5" class="st1" d="M8.5,4.7c0.8-0.7,2.1-0.2,2.2,0.9l0,0.1v10c0,1.1-1.2,1.7-2.1,1.1l-0.1-0.1l-3.3-2.8 |
|
|
C5,13.7,5,13.4,5.1,13.2c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.8c0.2,0.2,0.5,0.1,0.5-0.2l0-0.1v-10c0-0.3-0.3-0.4-0.5-0.3l-0.1,0 |
|
|
L5.9,8.3C5.6,8.4,5.3,8.4,5.1,8.2C5,8,5,7.7,5.1,7.6l0.1-0.1L8.5,4.7z"/> |
|
|
<path d="M5.5,7.4C5.8,7.4,6,7.6,6,7.9c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.2,0-0.3,0.1-0.3,0.3l0,0.1v4 |
|
|
c0,0.2,0.1,0.3,0.3,0.3l0.1,0h2C5.8,13,6,13.2,6,13.5c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.7,0-1.3-0.5-1.3-1.2l0-0.1v-4 |
|
|
c0-0.7,0.5-1.3,1.2-1.3l0.1,0H5.5z"/> |
|
|
</svg>`)+"</span>",U.onclick=function(){var pe=T.decoderState.state,de=pe.play,se=pe.sound,re=pe.talk;de&&(se?(T.jSPlugin.closeSound(),T.setDecoderState({sound:!1})):re||(T.jSPlugin.openSound(),T.setDecoderState({sound:!0})))},U;case"recordvideo":return U.title="录屏",U.id=w,U.domString='<svg id="'.concat(this.jSPlugin.id,'-recordvideo-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M11.6,5.3H4.7c-1.4,0-2.5,1.1-2.5,2.5v5.9c0,1.4,1.1,2.5,2.5,2.5h6.9c1.4,0,2.5-1.1,2.5-2.5V7.7 C14.1,6.4,13,5.3,11.6,5.3z M4.7,6.3h6.9c0.8,0,1.5,0.7,1.5,1.5v5.9c0,0.8-0.7,1.5-1.5,1.5H4.7c-0.8,0-1.5-0.7-1.5-1.5V7.7 C3.3,6.9,3.9,6.3,4.7,6.3z" /><path d="M16.6,6.7c0.9-0.8,2.3-0.1,2.4,1l0,0.1v5.7c0,1.2-1.3,1.9-2.3,1.2l-0.1-0.1L13.3,12 c-0.2-0.2-0.2-0.5-0.1-0.7c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.7c0.3,0.2,0.7,0.1,0.8-0.3l0-0.1V7.8c0-0.4-0.4-0.6-0.7-0.4 l-0.1,0l-3.3,2.7c-0.2,0.2-0.5,0.1-0.7-0.1c-0.2-0.2-0.1-0.5,0-0.6l0.1-0.1L16.6,6.7z" /></svg>',U.onclick=function(){var pe=T.decoderState.state,de=pe.play,se=pe.recordvideo;de&&(se?(T.jSPlugin.stopSave(),T.setDecoderState({recordvideo:!1})):(T.jSPlugin.startSave("".concat(new Date().getTime())),T.setDecoderState({recordvideo:!0})))},U;case"capturePicture":return U.title="截图",U.id=w,U.domString='<svg id="'.concat(this.jSPlugin.id,'-capturePicture-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.8,7.7c-2,0-3.7,1.6-3.7,3.7S8.7,15,10.8,15c2,0,3.7-1.6,3.7-3.7S12.8,7.7,10.8,7.7z M10.8,8.7c1.5,0,2.7,1.2,2.7,2.7S12.2,14,10.8,14c-1.5,0-2.7-1.2-2.7-2.7S9.3,8.7,10.8,8.7z" /><path d="M8.6,3.7l-0.1,0C8,3.7,7.7,4,7.5,4.3l-1,1.7l-1.3,0C4,6.1,3.1,7,3.1,8.2v7.1 c0,1.2,0.9,2.1,2.1,2.1h11.1c1.2,0,2.1-0.9,2.1-2.1V8.2l0-0.1c-0.1-1.1-1-1.9-2.1-1.9l-1.3,0l-1.1-1.8c-0.2-0.4-0.7-0.6-1.1-0.6H8.6 z M8.6,4.7h4.2c0.1,0,0.2,0.1,0.3,0.1l1.2,2c0.1,0.2,0.3,0.2,0.4,0.2h1.6c0.6,0,1.1,0.5,1.1,1.1v7.1c0,0.6-0.5,1.1-1.1,1.1H5.1 c-0.6,0-1.1-0.5-1.1-1.1V8.2c0-0.6,0.5-1.1,1.1-1.1h1.6c0.2,0,0.3-0.1,0.4-0.2l1.2-2C8.4,4.7,8.5,4.7,8.6,4.7z" /></svg>',U.onclick=function(){var pe=T.decoderState.state.play;pe?T.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},U;case"talk":return U.title="对讲",U.id=w,U.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-talk-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.1,2.7C8.5,2.7,7.2,4,7.2,5.6v5.2c0,1.6,1.3,2.9,2.9,2.9l0.2,0c1.5-0.1,2.7-1.4,2.7-2.9V5.6 C13,4,11.7,2.7,10.1,2.7z M10.1,3.7c1.1,0,1.9,0.9,1.9,1.9v5.2c0,1-0.8,1.8-1.8,1.9l-0.1,0c-1,0-1.9-0.9-1.9-1.9V5.6 C8.2,4.5,9,3.7,10.1,3.7z" /><path d="M15.1,8.5c0.2,0,0.4,0.2,0.5,0.4l0,0.1v1.7c0,3-2.5,5.5-5.5,5.5c-3,0-5.4-2.3-5.5-5.3l0-0.2V9 c0-0.3,0.2-0.5,0.5-0.5c0.2,0,0.4,0.2,0.5,0.4l0,0.1v1.7c0,2.5,2,4.5,4.5,4.5c2.4,0,4.4-1.9,4.5-4.3l0-0.2V9 C14.6,8.7,14.8,8.5,15.1,8.5z" /><path d="M13.5,17.7c0.3,0,0.5,0.2,0.5,0.5c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-7c-0.3,0-0.5-0.2-0.5-0.5 c0-0.2,0.2-0.4,0.4-0.5l0.1,0H13.5z" /><path d="M10.1,15.2c0.2,0,0.4,0.2,0.5,0.4l0,0.1v2.5c0,0.3-0.2,0.5-0.5,0.5c-0.2,0-0.4-0.2-0.5-0.4l0-0.1 v-2.5C9.6,15.4,9.8,15.2,10.1,15.2z" /></svg>',U.onclick=function(){var pe=T.decoderState.state,de=pe.talk,se=pe.sound,re=pe.play;if(re)if(de){console.log("结束对讲"),T.setDecoderState({talk:!1}),T.jSPlugin.Talk.stopTalk();var Be=E.findIndex(T.themeData.footer.btnList,function(be){return be.iconId==="sound"&&be.isrender===1&&be.defaultActive===1})>-1;T.themeData&&Be&&(T.jSPlugin.openSound(),T.setDecoderState({sound:!0}))}else console.log("开始对讲"),T.setDecoderState({talk:!0}),se&&(T.jSPlugin.closeSound(),T.setDecoderState({sound:!1})),T.jSPlugin.Talk.startTalk()},U;case"zoom":return U.title="电子放大",U.id=w,U.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-zoom-icon" class="theme-icon-item-icon" fill="').concat(U.color,`" version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
width="`).concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="5 -6 5 32" style="enable-background:new 0 0 20 20.1;" xml:space="preserve"> |
|
|
<path class="st1" d="M8.8,2.6c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2s-6.2-2.8-6.2-6.2S5.3,2.6,8.8,2.6z M8.8,3.9 |
|
|
c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S11.5,3.9,8.8,3.9z M12.7,12.7l3.9,3.9"/> |
|
|
<path class="st2" d="M11.2,9.5h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S11.6,9.5,11.2,9.5z"/> |
|
|
<path class="st2" d="M8.7,12c-0.3,0-0.6-0.3-0.6-0.6v-5c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6v5C9.3,11.8,9.1,12,8.7,12z"/> |
|
|
<path class="st2" d="M16.9,17.6c-0.1,0-0.3-0.1-0.4-0.2l-3.9-3.9c-0.2-0.2-0.2-0.6,0-0.8s0.6-0.2,0.8,0l3.9,3.9 |
|
|
c0.2,0.2,0.2,0.6,0,0.8C17.2,17.5,17,17.6,16.9,17.6z"/> |
|
|
</svg>`),U.onclick=function(){var pe=T.decoderState.state,de=pe.zoom,se=pe.play;if(!se)return!1;de?(console.log("结束电子放大"),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),T.jSPlugin.Zoom.startZoom(),T.setDecoderState({zoom:!0}))},U;case"pantile":return U.title="云台控制",U.id=w,U.domString='<svg id="'.concat(this.jSPlugin.id,'-pantile-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.2,7.8c1.6,0,2.9,1.3,2.9,2.9s-1.3,2.9-2.9,2.9s-2.9-1.3-2.9-2.9S8.5,7.8,10.2,7.8z M10.2,8.8c-1.1,0-1.9,0.9-1.9,1.9s0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9S11.2,8.8,10.2,8.8z" /><path d="M8.8,3.5c0.7-0.6,1.8-0.6,2.5-0.1l0.1,0.1l1.4,1.1c0.2,0.2,0.3,0.5,0.1,0.7 c-0.2,0.2-0.4,0.2-0.6,0.1l-0.1,0l-1.4-1.1C10.5,3.9,10,3.9,9.6,4.2L9.4,4.3L8,5.4C7.8,5.5,7.5,5.5,7.3,5.3c-0.2-0.2-0.1-0.5,0-0.6 l0.1-0.1L8.8,3.5z" /><path d="M2.5,12.3c-0.6-0.7-0.6-1.8-0.1-2.5l0.1-0.1l1.1-1.4c0.2-0.2,0.5-0.3,0.7-0.1 c0.2,0.2,0.2,0.4,0.1,0.6l0,0.1l-1.1,1.4C3,10.6,3,11.1,3.2,11.5l0.1,0.1L4.4,13c0.2,0.2,0.1,0.5-0.1,0.7c-0.2,0.2-0.5,0.1-0.6,0 l-0.1-0.1L2.5,12.3z" /><path d="M17.7,12.3c0.6-0.7,0.6-1.8,0.1-2.5l-0.1-0.1l-1.1-1.4c-0.2-0.2-0.5-0.3-0.7-0.1 c-0.2,0.2-0.2,0.4-0.1,0.6l0,0.1l1.1,1.4c0.3,0.4,0.3,0.9,0.1,1.3l-0.1,0.1L15.8,13c-0.2,0.2-0.1,0.5,0.1,0.7c0.2,0.2,0.5,0.1,0.6,0 l0.1-0.1L17.7,12.3z" /><path d="M8.8,18.2c0.7,0.6,1.8,0.6,2.5,0.1l0.1-0.1l1.4-1.1c0.2-0.2,0.3-0.5,0.1-0.7 c-0.2-0.2-0.4-0.2-0.6-0.1l-0.1,0l-1.4,1.1c-0.4,0.3-0.9,0.3-1.3,0.1l-0.1-0.1L8,16.3c-0.2-0.2-0.5-0.1-0.7,0.1 c-0.2,0.2-0.1,0.5,0,0.6l0.1,0.1L8.8,18.2z" /></svg>',U.onclick=function(){var pe=T.decoderState.state,de=pe.play,se=pe.pantile,re=pe.expend;if(de)if(se)console.log("隐藏云台"),T.Ptz.hide(),T.setDecoderState({pantile:!1});else{if(console.log("显示云台"),T.isMobile&&!re)return console.log("移动端,非全屏状态不展示云台"),!1;T.Ptz.show(),T.setDecoderState({pantile:!0})}},U;case"expend":return U.title="全局全屏",U.id=w,U.domString='<span><svg id="'.concat(this.jSPlugin.id,'-expend-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M3.4,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-1.2,1-2.3,2.2-2.3h1.8c0.3,0,0.5,0.2,0.5,0.5S7.2,4.1,6.9,4.1H5.2 c-0.7,0-1.2,0.6-1.2,1.3v1.8C3.9,7.4,3.7,7.6,3.4,7.6z" /><path d="M6.9,18.1H5.2c-1.2,0-2.2-1-2.2-2.2v-1.8c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8c0,0.7,0.6,1.2,1.2,1.2 h1.8c0.3,0,0.5,0.2,0.5,0.5S7.2,18.1,6.9,18.1z" /><path d="M15.7,18.1h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8c0.7,0,1.2-0.6,1.2-1.2v-1.8 c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8C17.9,17.1,16.9,18.1,15.7,18.1z" /><path d="M17.4,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-0.7-0.6-1.3-1.2-1.3h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8 c1.2,0,2.2,1,2.2,2.3v1.8C17.9,7.4,17.7,7.6,17.4,7.6z" /></svg>'+'<svg class="theme-icon-item-icon" style="display:none" width="'.concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" fill="').concat(U.color,`" viewBox="-6 -6 32 32"> |
|
|
<path class="st1" d="M5.7,8.1H3.9c-0.3,0-0.6-0.2-0.6-0.6S3.6,7,3.9,7h1.9c0.7,0,1.3-0.6,1.3-1.3V3.8c0-0.3,0.2-0.6,0.6-0.6 |
|
|
s0.6,0.2,0.6,0.6v1.9C8.2,7,7.1,8.1,5.7,8.1z"/> |
|
|
<path class="st1" d="M7.6,17.7c-0.3,0-0.6-0.2-0.6-0.6v-1.9c0-0.7-0.6-1.3-1.3-1.3H3.9c-0.3,0-0.6-0.2-0.6-0.6s0.2-0.6,0.6-0.6h1.9 |
|
|
c1.3,0,2.4,1.1,2.4,2.4v1.9C8.2,17.5,7.9,17.7,7.6,17.7z"/> |
|
|
<path class="st1" d="M13.4,17.7c-0.3,0-0.6-0.2-0.6-0.6v-1.9c0-1.3,1.1-2.4,2.4-2.4h1.9c0.3,0,0.6,0.2,0.6,0.6S17.5,14,17.2,14 |
|
|
h-1.9c-0.7,0-1.3,0.6-1.3,1.3v1.9C14,17.5,13.8,17.7,13.4,17.7z"/> |
|
|
<path class="st1" d="M17.2,8.1h-1.9c-1.3,0-2.4-1.1-2.4-2.4V3.8c0-0.3,0.2-0.6,0.6-0.6S14,3.5,14,3.8v1.9C14,6.4,14.6,7,15.3,7h1.9 |
|
|
c0.3,0,0.6,0.2,0.6,0.6S17.5,8.1,17.2,8.1z"/> |
|
|
</svg> |
|
|
</span>`),U.onclick=function(){var pe=T.decoderState.state,de=pe.webExpend,se=pe.expend;pe.play;var re=pe.pantile;if(de)return console.log("正在网站全屏"),!1;if(se)if(T.isMobile){var Be=parseInt(getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(T.jSPlugin.id)).height,10);document.getElementById("".concat(T.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(T.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(T.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(T.jSPlugin.id,"-headControl")).style.position="relative"),v(document.getElementById("".concat(T.jSPlugin.id,"-wrap")),T.jSPlugin.width,T.jSPlugin.height+Be),T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height),re&&(T.Ptz.hide(),T.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var Ze=_();Ze.then(function(fe){console.log("取消全屏",fe,T.jSPlugin),T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height)})}else if(console.log("执行全局全屏"),T.isMobile){var Be=parseInt(getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(T.jSPlugin.id)).height,10);p(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))),setTimeout(function(){var fe=document.documentElement.clientWidth,O=document.documentElement.clientHeight;document.getElementById("".concat(T.jSPlugin.id)).style["backface-visibility"]="hidden",T.jSPlugin.jSPlugin.JS_Resize(O,fe-Be)},100)}else{var be=window.screen.width,ge=window.screen.height,ye=m(document.getElementById("".concat(T.jSPlugin.id)));ye.then(function(fe){T.jSPlugin.jSPlugin.JS_Resize(be,ge)}).catch(function(fe){console.log(fe)})}T.setDecoderState({expend:!se})},U;case"webExpend":return U.title="网页全屏",U.id=w,U.domString='<span><svg id="'.concat(this.jSPlugin.id,'-webExpend-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M3.1,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-1.2,1-2.3,2.2-2.3h1.8c0.3,0,0.5,0.2,0.5,0.5S6.8,4.1,6.6,4.1H4.8 c-0.7,0-1.2,0.6-1.2,1.3v1.8C3.6,7.4,3.3,7.6,3.1,7.6z" /><path d="M15.3,18.1h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8c0.7,0,1.2-0.6,1.2-1.2v-1.8 c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8C17.6,17.1,16.6,18.1,15.3,18.1z" /><circle class="st2" cx="10.2" cy="10.4" r="1.1"/></svg>'+'<svg class="theme-icon-item-icon" fill="'.concat(U.color,'" style="display:none;" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="-6 -6 32 32"> |
|
|
<path class="st1" d="M5.4,8.1H3.5C3.2,8.1,3,7.9,3,7.6s0.2-0.5,0.5-0.5h1.9c0.8,0,1.4-0.6,1.4-1.4V3.8c0-0.3,0.2-0.5,0.5-0.5 |
|
|
s0.5,0.2,0.5,0.5v1.9C7.7,7,6.7,8.1,5.4,8.1z"/> |
|
|
<path class="st1" d="M13.1,17.7c-0.3,0-0.5-0.2-0.5-0.5v-1.9c0-1.3,1.1-2.4,2.4-2.4h1.9c0.3,0,0.5,0.2,0.5,0.5s-0.2,0.5-0.5,0.5H15 |
|
|
c-0.8,0-1.4,0.6-1.4,1.4v1.9C13.6,17.4,13.4,17.7,13.1,17.7z"/> |
|
|
<circle class="st2" cx="10.2" cy="10.4" r="1.1"/> |
|
|
`)+"</svg></span>",U.onclick=function(){var pe=T.decoderState.state,de=pe.webExpend,se=pe.expend;if(pe.play,se)return console.log("正在全局全屏"),!1;if(T.jSPlugin.recTimer&&clearInterval(T.jSPlugin.recTimer),de){console.log("取消网页全屏");var fe=_();fe.then(function(O){T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height),T.jSPlugin.Theme.Rec&&T.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var re=0,Be=0,be=T;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(O){window.addEventListener(O,function(oe){var De=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return De?document.getElementById("".concat(be.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(be.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(be.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(be.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(be.jSPlugin.id,"-loading-item-0")).style.height=be.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(be.jSPlugin.id,"-headControl"))).height,10)+"px"),De})});var ge=window.screen.width,ye=window.screen.height,Ze=m(document.getElementById("".concat(T.jSPlugin.id,"-wrap")));Ze.then(function(O){document.getElementById("".concat(T.jSPlugin.id,"-canvas-container"))&&(re=parseInt(window.getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(T.jSPlugin.id,"-headControl"))&&(Be=parseInt(window.getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-headControl"))).height,10)),T.jSPlugin.jSPlugin.JS_Resize(ge,ye-re-Be),T.jSPlugin.Theme.Rec&&T.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(O){console.log(O)})}T.setDecoderState({webExpend:!de})},U;case"hd":return U.title="画面清晰度",U.id=w,U.domString='<ul id="'.concat(this.jSPlugin.id,'-hdSelect" class="hd speed-select ').concat(this.isMobile?"mobile":"",'" style="display:none;">')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;" name="option" id="'.concat(this.jSPlugin.id,'-select-hd">高清</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;" name="option" id="'.concat(this.jSPlugin.id,'-select-sd">标清</li>')+'<li class="selectOption cancel" style="'.concat(this.isMobile?"":"display:none;",'" name="option" id="').concat(this.jSPlugin.id,'-select-speed">取消</li>')+"</ul>"+'<span><svg id="'.concat(this.jSPlugin.id,'-hdSelect-icon" class="theme-icon-item-icon" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M17.4,16.5H3.1c-0.8,0-1.4-0.6-1.4-1.4V5.4c0-0.9,0.7-1.6,1.6-1.6h14.1c0.8,0,1.4,0.6,1.4,1.4v9.8 C18.8,15.9,18.2,16.5,17.4,16.5z M3.3,5C3.1,5,2.9,5.2,2.9,5.4v9.7c0,0.2,0.1,0.3,0.3,0.3h14.3c0.2,0,0.3-0.1,0.3-0.3V5.3 c0-0.2-0.1-0.3-0.3-0.3H3.3z" /><path d="M13.3,13.6h-1.6c-0.4,0-0.7-0.3-0.7-0.7V7.4c0-0.4,0.3-0.7,0.7-0.7h1.6c1.2,0,2.2,1,2.2,2.2v2.4 C15.6,12.6,14.6,13.6,13.3,13.6z M12.2,12.5h1.1c0.6,0,1.1-0.5,1.1-1.1V9c0-0.6-0.5-1.1-1.1-1.1h-1.1V12.5z" /><path d="M5.5,13.6c-0.3,0-0.6-0.2-0.6-0.6V7.3C5,7,5.2,6.8,5.5,6.8S6.1,7,6.1,7.3v5.7C6.1,13.4,5.8,13.6,5.5,13.6z" /><path d="M9.2,13.6c-0.3,0-0.6-0.2-0.6-0.6V7.3c0-0.3,0.2-0.6,0.6-0.6S9.8,7,9.8,7.3v5.7C9.8,13.4,9.5,13.6,9.2,13.6z" /><rect x="5.6" y="9.6" width="3.6" height="1.1" /></svg>'+'<svg id="'.concat(this.jSPlugin.id,'-sdSelect-icon" class="theme-icon-item-icon" style="display:none" fill="').concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="-6 -8 40 44"> |
|
|
<path d="M24.1,23.8h-20c-1.1,0-1.9-0.9-1.9-1.9V8.4c0-1.2,1-2.2,2.1-2.2h19.7c1.1,0,1.9,0.9,1.9,1.9v13.8 |
|
|
C26,23,25.1,23.8,24.1,23.8z M4.3,7.7C4,7.7,3.7,8,3.7,8.4v13.5c0,0.2,0.2,0.4,0.4,0.4h20c0.2,0,0.4-0.2,0.4-0.4V8.2 |
|
|
c0-0.2-0.2-0.4-0.4-0.4H4.3z"/> |
|
|
<path d="M18.4,19.8h-2.2c-0.5,0-0.9-0.4-0.9-0.9v-7.8c0-0.5,0.4-0.9,0.9-0.9h2.2c1.7,0,3.1,1.4,3.1,3.1v3.3 |
|
|
C21.5,18.4,20.1,19.8,18.4,19.8z M16.7,18.3h1.6c0.9,0,1.6-0.7,1.6-1.6v-3.3c0-0.9-0.7-1.6-1.6-1.6h-1.6V18.3z"/> |
|
|
<path d="M10.5,19.8c1.2,0,2.1-0.3,2.7-0.9c0.6-0.6,0.9-1.3,0.9-2.1c0-0.8-0.3-1.4-0.9-1.8c-0.4-0.2-1.1-0.5-2.2-0.8 |
|
|
l0,0l-1-0.2c-0.4-0.1-0.8-0.2-1-0.4c-0.4-0.2-0.6-0.5-0.6-0.9c0-0.4,0.1-0.6,0.4-0.9s0.7-0.3,1.3-0.3c0.8,0,1.4,0.2,1.8,0.6 |
|
|
c0.2,0.3,0.3,0.6,0.4,0.9l0,0h1.4c0-0.6-0.2-1.1-0.5-1.6c-0.6-0.8-1.6-1.2-2.9-1.2c-1,0-1.8,0.3-2.4,0.8c-0.6,0.5-0.9,1.2-0.9,2 |
|
|
c0,0.7,0.3,1.3,1,1.7c0.4,0.2,0.9,0.4,1.7,0.6l0,0l1.2,0.3c0.6,0.2,1.1,0.3,1.3,0.4c0.3,0.2,0.5,0.5,0.5,0.9c0,0.5-0.2,0.9-0.6,1.1 |
|
|
s-0.9,0.4-1.5,0.4c-0.9,0-1.6-0.2-2-0.7c-0.2-0.3-0.3-0.6-0.4-1.1l0,0H6.8c0,0.9,0.3,1.6,0.9,2.2C8.2,19.5,9.2,19.8,10.5,19.8z"/> |
|
|
<defs> |
|
|
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="15.2" y="10.3" width="6.2" height="9.5"> |
|
|
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> |
|
|
</filter> |
|
|
</defs> |
|
|
<mask maskUnits="userSpaceOnUse" x="15.2" y="10.3" width="6.2" height="9.5" id="mask-2_2_"> |
|
|
<g class="st2"> |
|
|
<path id="path-1_2_" class="st3" d="M24.1,23.1h-20c-0.6,0-1.2-0.5-1.2-1.2V8.2C2.9,7.5,3.5,7,4.1,7h19.7c0.8,0,1.4,0.6,1.4,1.4 |
|
|
v13.5C25.2,22.6,24.7,23.1,24.1,23.1z"/> |
|
|
</g> |
|
|
</mask> |
|
|
<defs> |
|
|
<filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="6.8" y="10.3" width="7.3" height="9.5"> |
|
|
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> |
|
|
</filter> |
|
|
</defs> |
|
|
<mask maskUnits="userSpaceOnUse" x="6.8" y="10.3" width="7.3" height="9.5" id="mask-2_3_"> |
|
|
<g class="st5"> |
|
|
<path id="path-1_3_" class="st3" d="M24.1,23.1h-20c-0.6,0-1.2-0.5-1.2-1.2V8.2C2.9,7.5,3.5,7,4.1,7h19.7c0.8,0,1.4,0.6,1.4,1.4 |
|
|
v13.5C25.2,22.6,24.7,23.1,24.1,23.1z"/> |
|
|
</g> |
|
|
</mask> |
|
|
</svg> |
|
|
`)+`<span class='speed-select-mask' style="display:none" id="`.concat(this.jSPlugin.id,'-select-hd-mask"></span>')+"</span>",U.onclick=function(pe){var de=T.decoderState.state,se=de.hd,re=de.expend,Be=de.recordvideo,be=de.play;be&&(se&&pe.target.id==="".concat(T.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),T.jSPlugin.changeVideoLevel(0),T.setDecoderState({hd:!1}),T.resetMobileZoomStatus(),Be&&T.setDecoderState({recordvideo:!1}),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()):!se&&pe.target.id==="".concat(T.jSPlugin.id,"-select-hd")&&(T.jSPlugin.changeVideoLevel(1),T.setDecoderState({hd:!0}),T.resetMobileZoomStatus(),Be&&T.setDecoderState({recordvideo:!1}),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()),T.showHD=!T.showHD,document.getElementById("".concat(T.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",T.isMobile&&(document.getElementById("".concat(T.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),T.isMobile&&re&&T.showHD?document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).className=T.isMobile?"hd speed-select mobile":"speed-select")},U;case"speed":return U.title="回放倍速",U.id=w,U.domString='<ul id="'.concat(this.jSPlugin.id,'-speedSelect" class="speed speed-select ').concat(this.isMobile?"mobile":"",'" style="display:none;">')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed4">4倍</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed2">2倍</li>')+'<li class="selectOption active" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed1">1倍(正常播放)</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed05">0.5倍</li>')+'<li class="selectOption cancel" style="'.concat(this.isMobile?"":"display:none;",'" name="option" id="').concat(this.jSPlugin.id,'-select-speed">取消</li>')+"</ul>"+`<span> |
|
|
<div style="font-size: 12px; |
|
|
vertical-align: bottom; |
|
|
display: inline-flex; |
|
|
padding: 0px 7px; |
|
|
width: 48px; |
|
|
line-height: 24px; |
|
|
justify-content: center; |
|
|
border: 1px solid `.concat(U.color,`; |
|
|
text-align: center;border-radius: 12.5px;" |
|
|
id="`).concat(this.jSPlugin.id,`-speed-text" |
|
|
>`).concat(this.nextRate===1?"倍速":"".concat(this.nextRate,"倍").replace("3","0.5"),`</div> |
|
|
`)+`<span class='speed-select-mask' style="display:none" id="`.concat(this.jSPlugin.id,'-select-mask"></span>')+"</span>",this.isMobile||(U.onmouseenter=function(pe){var de=T.decoderState.state.play;if(!de)return!1;console.log("鼠标移入",pe),T.setDecoderState({speed:!0}),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="block")},U.onmouseleave=function(pe){var de=T.decoderState.state.play;if(!de)return!1;console.log("鼠标移出",pe),T.setDecoderState({speed:!1}),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="none")}),U.onclick=function(pe){var de=T.decoderState.state,se=de.speed,re=de.expend,Be=de.play;if(!Be)return!1;if(!se&&T.isMobile&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).className=re?"speed speed-select mobile expend":"speed speed-select mobile"),T.nextRate=1,pe.target.id)switch(pe.target.id){case"".concat(T.jSPlugin.id,"-select-speed1"):console.log("倍速1"),T.nextRate=1,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(1),T.jSPlugin.speed=1,T.setDecoderState({speed:!se});break;case"".concat(T.jSPlugin.id,"-select-speed2"):console.log("倍速2"),T.nextRate=2,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(2),T.jSPlugin.speed=2,T.setDecoderState({speed:!se});break;case"".concat(T.jSPlugin.id,"-select-speed4"):console.log("倍速4"),T.nextRate=4,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(4),T.jSPlugin.speed=4,T.setDecoderState({speed:!se});break;case"".concat(T.jSPlugin.id,"-select-speed05"):console.log("倍速05"),T.nextRate=3,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(.5),T.jSPlugin.speed=.5,T.setDecoderState({speed:!se});break;default:T.isMobile?T.setDecoderState({speed:!se}):T.setDecoderState({speed:!0});break}!T.isMobile&&pe.target.id==="".concat(T.jSPlugin.id,"-speed-text")?document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},U;case"deviceName":return U.title="设备名称",U.id=w,U.domString="<span>设备名称</span>",U.onclick=function(){},U;case"deviceID":return U.title="设备序列号",U.id=w,U.domString="<span>设备序列号</span>",U.onclick=function(){},U;case"cloudRec":return U.title="云存储回放",U.id=w,U.domString=` |
|
|
<span> |
|
|
<svg class="theme-icon-item-icon" fill="`.concat(U.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="-10 0 40 15"> |
|
|
<path d="M9.5,13.1c-0.3,0-0.5-0.2-0.5-0.5V8.8c0-0.3,0.2-0.5,0.5-0.5S10,8.5,10,8.8v3.8C10,12.8,9.8,13.1,9.5,13.1z"/> |
|
|
<path d="M7.6,10.6c-0.1,0-0.3-0.1-0.4-0.2C7,10.2,7,9.9,7.3,9.7l1.9-1.7c0.2-0.2,0.5-0.2,0.7,0l1.8,1.7 |
|
|
c0.2,0.2,0.2,0.5,0,0.7c-0.2,0.2-0.5,0.2-0.7,0L9.5,9.1l-1.6,1.4C7.8,10.6,7.7,10.6,7.6,10.6z"/> |
|
|
<path d="M13.2,15.7H5.6c-2.1-0.1-3.8-1.8-3.8-3.9c0-1.8,1.3-3.4,3-3.8c0.4-2.2,2.3-3.9,4.6-3.9c2.3,0,4.2,1.7,4.6,3.8 |
|
|
c1.8,0.4,3.1,1.9,3.1,3.8C17.1,13.9,15.4,15.7,13.2,15.7z M5.6,14.7h7.6c1.6,0,2.9-1.3,2.9-2.9c0-1.5-1.1-2.7-2.6-2.9l-0.4,0l0-0.4 |
|
|
c-0.2-1.9-1.7-3.3-3.6-3.3C7.5,5.1,6,6.6,5.8,8.5l0,0.4l-0.4,0c-1.4,0.2-2.5,1.4-2.5,2.9C2.8,13.3,4.1,14.6,5.6,14.7z"/> |
|
|
</svg> |
|
|
</span> |
|
|
`),U.onclick=function(){console.log("点击云回放"),T.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),T.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(T.jSPlugin);var pe=d("begin",T.jSPlugin.url)||new Date().Format("yyyyMMdd");T.Rec.renderRec("".concat(pe.slice(0,4),"-").concat(pe.slice(4,6),"-").concat(pe.slice(6,8)));var de=T.decoderState.state.zoom;de&&(T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom())}),console.log(T.jSPlugin)},U;case"rec":return U.title="本地存储",U.id=w,U.domString=` |
|
|
<span> |
|
|
<svg class="theme-icon-item-icon" fill=`.concat(U.color,' version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>wt?48:32,'" height="').concat(this.jSPlugin.width>wt?48:32,`" viewBox="0 0 40 15"> |
|
|
<path d="M13,16.3H5.5c-1.1,0-2-0.9-2-2V3.8c0-1.1,0.9-2,2-2h5.4c0.5,0,1,0.2,1.4,0.6l2.1,2.1C14.8,4.8,15,5.3,15,5.9 |
|
|
v8.4C15,15.4,14.1,16.3,13,16.3z M5.5,2.8c-0.6,0-1,0.4-1,1v10.5c0,0.6,0.4,1,1,1H13c0.6,0,1-0.4,1-1V5.9c0-0.3-0.1-0.5-0.3-0.7 |
|
|
L11.6,3c-0.2-0.2-0.4-0.3-0.7-0.3H5.5z"/> |
|
|
<path d="M6.3,7.3C6,7.3,5.8,7,5.8,6.8V4.5C5.8,4.2,6,4,6.3,4s0.5,0.2,0.5,0.5v2.2C6.8,7,6.6,7.3,6.3,7.3z"/> |
|
|
<path d="M8.5,7.3C8.3,7.3,8,7,8,6.8V4.5C8,4.2,8.3,4,8.5,4S9,4.2,9,4.5v2.2C9,7,8.8,7.3,8.5,7.3z"/> |
|
|
<path d="M10.8,7.3c-0.3,0-0.5-0.2-0.5-0.5V4.5c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v2.2C11.3,7,11.1,7.3,10.8,7.3z" |
|
|
/> |
|
|
</svg> |
|
|
</span> |
|
|
`),U.onclick=function(){console.log("点击本地回放"),T.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),T.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(T.jSPlugin);var pe=d("begin",T.jSPlugin.url)||new Date().Format("yyyyMMdd");T.Rec.renderRec("".concat(pe.slice(0,4),"-").concat(pe.slice(4,6),"-").concat(pe.slice(6,8)));var de=T.decoderState.state.zoom;de&&(T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom())}),console.log(T.jSPlugin)},U;default:return U}}},{key:"changeRecSpeed",value:function(w){var T=this,R=function(U){if(console.log("setLiActive",U),!document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[U].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[U].className.replace("default","active")},N="1";switch(w){case 1:R(2),N="倍速";break;case 2:R(1),N="".concat(w,"倍");break;case 4:R(0),N="".concat(w,"倍");break;case .5:R(3),N="".concat(w,"倍");break;default:R(2),N="".concat(w,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=N)}},{key:"initThemeData",value:function(){var w=this,T=this.themeData,R=T.header,N=T.footer,z=this.jSPlugin.id;if(this.header=he.header,this.footer=he.footer,this.isNeedRenderHeader=E.findIndex(R.btnList,function(ye){return ye.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=E.findIndex(R.btnList,function(ye){return ye.isrender>0&&ye.iconId==="deviceID"||ye.isrender>0&&ye.iconId==="deviceName"})>=0),this.isNeedRenderFooter=E.findIndex(N.btnList,function(ye){return ye.isrender>0})>=0,this.isNeedRenderTimeLine=E.findIndex(R.btnList,function(ye){return ye.iconId==="cloudRec"&&ye.isrender===1||ye.iconId==="rec"&&ye.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(ye,Ze){document.getElementById(ye)&&document.getElementById(ye).parentElement.removeChild(document.getElementById(ye))}),this.isNeedRenderHeader)if(document.getElementById("".concat(this.jSPlugin.id,"-headControl")))document.getElementById("".concat(this.jSPlugin.id,"-headControl")).innerHTML="<div id='".concat(this.jSPlugin.id,"-headControl-left' style='display:flex;width: calc(100% - 100px);'></div><div id='").concat(this.jSPlugin.id,"-headControl-right' style='display:flex'></div>");else{var U=document.createElement("div");U.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),U.setAttribute("class","header-controls"),U.innerHTML="<div id='".concat(this.jSPlugin.id,`-headControl-left' class="header-controls-left" style='display:flex;width:calc(100% - 100px);overflow:hidden;'></div><div id='`).concat(this.jSPlugin.id,`-headControl-right' class="header-controls-right" style='display:flex;'></div>`);var ue={height:this.jSPlugin.width>wt?"48px":"32px","line-height":this.jSPlugin.width>wt?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};U.style=Pt(ue),document.getElementById("".concat(z,"-wrap")).insertBefore(U,document.getElementById(z));var pe=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(pe)},50)}else document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&document.getElementById("".concat(this.jSPlugin.id,"-headControl")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-headControl")));if(this.isNeedRenderFooter)if(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")))document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-".concat(this.jSPlugin.width>wt?48:32,"px"),document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).innerHTML='<div id="'.concat(this.jSPlugin.id,`-audioControls" class="footer-controls" style='display:flex;justify-content: space-between;height: `).concat(this.jSPlugin.width>wt?48:32,"px;width:100%;'><div id='").concat(this.jSPlugin.id,`-audioControls-left' class="footer-controls-left" style='display:flex'></div><div id='`).concat(this.jSPlugin.id,`-audioControls-right' class="footer-controls-right" style='display:flex'></div></div>`));else{var de=document.createElement("div");de.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),de.setAttribute("class","ez-iframe-footer-container");var se={"min-height":this.jSPlugin.width>wt?"48px":"32px","max-height":this.jSPlugin.width>wt?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>wt?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};de.style=Pt(se),de.innerHTML='<div id="'.concat(this.jSPlugin.id,`-audioControls" class="footer-controls" style='display:flex;height:`).concat(this.jSPlugin.width>wt?48:32,"px;justify-content: space-between;width:100%;z-index:999;position: relative;'><div id='").concat(this.jSPlugin.id,`-audioControls-left' class="footer-controls-left" style='display:flex;margin-lefacti'></div><div id='`).concat(this.jSPlugin.id,`-audioControls-right' class="footer-controls-right" style='display:flex'></div></div>`),h(de,document.getElementById(z))}else document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")));if(this.isNeedRenderHeader&&document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=R.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=R.color,R.btnList.map(function(ye,Ze){ye.isrender&&w.renderHeader(ye.iconId,ye.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=N.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=N.color,N.btnList.map(function(ye,Ze){ye.isrender&&w.renderFooter(ye.iconId,ye.part)})),this.isNeedRenderTimeLine)if(this.isMobile)document.getElementById("".concat(this.jSPlugin.id,"-headControl-right"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl-right")).style.display="none"),this.Rec=new B2(this.jSPlugin,this.changeRecSpeed,this.resetMobileZoomStatus);else{this.Rec?(this.Rec.unSyncTimeLine(),this.Rec.recInit()):(this.jSPlugin.decoderState=this.decoderState,this.jSPlugin.setDecoderState=this.setDecoderState,this.Rec=new je(this.jSPlugin));var re=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(re)},50)}var Be=E.findIndex(this.themeData.footer.btnList,function(ye){return ye.iconId==="pantile"&&ye.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;Be&&(this.isMobile&&(this.MobilePtz=new T2(this.jSPlugin)),this.Ptz=new v2(this.jSPlugin));var be=function(){var Ze=w.decoderState.state,fe=Ze.expend,O=Ze.webExpend,te=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;te||(w.jSPlugin.jSPlugin.JS_Resize(w.jSPlugin.width,w.jSPlugin.height),fe&&w.setDecoderState({expend:!1}),O&&w.setDecoderState({webExpend:!1})),w.jSPlugin.Theme.Rec&&w.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(ye){window.addEventListener(ye,function(Ze){return be()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var ge=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(ge),w.jSPlugin.setPoster(w.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var w=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));w&&w.style&&w.style.display!="none"&&(console.log("结束电子放大"),w.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var w=this,T=function(N){N.code==200&&N.data&&(N.data.isEncrypt&&setTimeout(function(){w.pluginStatus.loadingClear(),w.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).innerHTML=N.data.deviceName),document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).innerHTML=S(w.jSPlugin.url).deviceSerial))};A(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:S(this.jSPlugin.url).deviceSerial},"",T)}},{key:"editStart",value:function(w){var T=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),R=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));R&&R.setAttribute("class","header-controls themeEditing"),T&&T.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(w){var T=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),R=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));R&&R.setAttribute("class","header-controls"),T&&T.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var w=this,T=this.decoderState.state;T.webExpend;var R=T.expend,N=T.play;if(!N)return!1;if(R)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var z=0,U=0,ue=m(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));ue.then(function(pe){console.log("全屏promise",window.screen.width),document.getElementById("".concat(w.jSPlugin.id,"-canvas-container"))&&(z=parseInt(window.getComputedStyle(document.getElementById("".concat(w.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(w.jSPlugin.id,"-headControl"))&&(U=parseInt(window.getComputedStyle(document.getElementById("".concat(w.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",z,U,document.body.clientWidth),w.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-z-U)}).catch(function(pe){console.log(pe)})}},{key:"expend",value:function(){var w=this,T=this.decoderState.state,R=T.webExpend;T.expend;var N=T.play;if(T.pantile,!N)return!1;if(R)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var z=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);p(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var ue=document.documentElement.clientWidth,pe=document.documentElement.clientHeight;document.getElementById("".concat(w.jSPlugin.id)).style["backface-visibility"]="hidden",w.jSPlugin.jSPlugin.JS_Resize(pe,ue-z)},100)}else{var U=m(document.getElementById("".concat(this.jSPlugin.id)));U.then(function(ue){w.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(ue){console.log(ue)})}}}]),J}();Date.prototype.Format=function(J){var H={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(J)&&(J=J.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in H)new RegExp("("+w+")").test(J)&&(J=J.replace(RegExp.$1,RegExp.$1.length==1?H[w]:("00"+H[w]).substr((""+H[w]).length)));return J};var Y2=function(){function J(H,w){if(i(this,J),this.params=H,this.state={},this.jsPlugin=w,this.url="https://log.ys7.com/statistics.do?",H.env)switch(H.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=H.env;break}}return a(J,[{key:"uuid",value:function(){for(var w=[],T="0123456789abcdef",R=0;R<36;R++)w[R]=T.substr(Math.floor(Math.random()*16),1);w[14]="4",w[19]=T.substr(w[19]&3|8,1),w[8]=w[13]=w[18]=w[23]="-";var N=w.join("");return N}},{key:"dclog",value:function(w){var T=this.url,R=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},w,{un:w.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(R).forEach(function(z,U){var ue=R[z];typeof R[z]=="string"&&(ue=R[z].replace("%","%25")),typeof R[z]!="undefined"&&(T+="".concat(U===0?"":"&").concat(z,"=").concat(encodeURIComponent(ue)))});var N=new Image;N.src=T}},{key:"localInfoLog",value:function(w){var T=this.url,R=window.location.protocol+"//"+window.location.host,N={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:R,ExterVer:"v6.0.0",OpId:this.uuid(),CltType:102,AppId:"",playurl:encodeURIComponent(this.jsPlugin.url),StartTime:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),OS:navigator.platform};N=Object.assign(N,w),Object.keys(N).forEach(function(U,ue){var pe=N[U];typeof N[U]=="string"&&(pe=N[U].replace("%","%25")),typeof N[U]!="undefined"&&(T+="".concat(ue===0?"":"&").concat(U,"=").concat(encodeURIComponent(pe)))});var z=new Image;z.src=T}},{key:"playLog",value:function(w){var T=this.url,R=T,N={systemName:"open_netstream_play_main",playurl:encodeURIComponent(this.jsPlugin.url),Time:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),Via:2,OpId:this.uuid()};N=Object.assign(N,w),Object.keys(N).forEach(function(U,ue){var pe=N[U];typeof N[U]=="string"&&(pe=N[U].replace("%","%25")),typeof N[U]!="undefined"&&(R+="".concat(ue===0?"":"&").concat(U,"=").concat(encodeURIComponent(pe)))});var z=new Image;z.src=R}}]),J}();(function(J,H){t(n)==="object"&&t(n.exports)==="object"?n.exports=J.document?H(J,!0):function(w){if(!w.document)throw new Error("EZUIPlayer requires a window with a document");return H(w)}:H(J)})(typeof window!="undefined"?window:void 0,function(J,H){var w;function T(se,re){for(var Be=document.getElementsByTagName("head")[0].getElementsByTagName("script"),be=!1,ge=0;ge<Be.length;ge++)Be[ge].getAttribute("src")==se&&(be=!0,re());if(!be){var ye=document.createElement("script");ye.setAttribute("src",se),ye.onload=re,document.getElementsByTagName("head")[0].appendChild(ye)}}function R(se,re){for(var Be=document.getElementsByTagName("head")[0].getElementsByTagName("link"),be=!1,ge=0;ge<Be.length;ge++)Be[ge].getAttribute("href")==se&&(be=!0,re());if(!be){var ye=document.createElement("link");ye.rel="stylesheet",ye.type="text/css",ye.href=se,ye.onload=re,document.getElementsByTagName("head")[0].appendChild(ye)}}function N(se,re,Be,be,ge,ye){var Ze=se,fe=new XMLHttpRequest;fe.onreadystatechange=function(){if(fe.readyState==4&&fe.status==200){var oe=JSON.parse(fe.responseText);ge(oe)}},fe.open(re,Ze,!0);var O=new FormData;for(var te in Be)O.append(te,Be[te]);fe.send(O)}var z={EZUIKitPlayer:void 0,EZUIKitTalk:void 0,opt:{apiDomain:"https://open.ys7.com/api/lapp/live/talk/url",filePath:"https://open.ys7.com/assets/ezuikit_v2.6.4",accessToken:"",url:"",deviceSerial:"",channelNo:"",id:"",talkLink:"",rtcUrl:"",ttsUrl:"",stream:"",isReliesReady:!1,template:"simple",plugin:[],audio:1,autoplay:1,videoLoading:!1},state:(w={countTimer:void 0,recodeTime:0,recodeTimer:void 0},o(w,"recodeTime",0),o(w,"fetchDefaultList",!1),o(w,"page",0),o(w,"pageSize",5),w),handleTalkSuccess:function(){},handleTalkError:function(){}},U="https://open.ys7.com",ue=U,pe=function(re){var oe=this;this.opt={id:re.id,apiDomain:U+"/api/lapp/live/talk/url",filePath:ue+"/assets/ezuikit_v2.6.4",decoderVersion:"",accessToken:"",url:"",deviceSerial:"",channelNo:"",talkLink:"",rtcUrl:"",ttsUrl:"",stream:"",isReliesReady:!1,template:"simple",plugin:[],audio:1,autoplay:1,fullScreenStatus:0,bSupporDoubleClickFull:!0,videoLoading:!1},this.params=re,re.id&&(this.opt.id=re.id),re.accessToken&&(this.opt.accessToken=re.accessToken),typeof re.audio!="undefined"&&(this.opt.audio=re.audio),typeof re.decoderVersion!="undefined"&&(this.opt.decoderVersion=re.decoderVersion),typeof re.env!="undefined"&&(typeof re.env.domain!="undefined"&&(U=re.env.domain,this.opt.apiDomain=U+"/api/lapp/live/talk/url"),typeof re.env.filePathDomain!="undefined"&&(ue=re.env.filePathDomain,this.opt.filePathDomain=re.env.filePathDomain)),re.url&&(this.opt.url=re.url,this.opt.deviceSerial=re.url.split("/")[3],this.opt.channelNo=re.url.split("/")[4].split(".")[0]),typeof re.template!="undefined"&&(this.opt.template=re.template),re.plugin&&(this.opt.plugin=re.plugin),typeof re.autoplay!="undefined"&&(this.opt.autoplay=re.autoplay?1:0),typeof re.bSupporDoubleClickFull!="undefined"&&(this.opt.bSupporDoubleClickFull=re.bSupporDoubleClickFull),typeof re.handleTalkSuccess!="undefined"&&(J.EZUIKit.handleTalkSuccess=re.handleTalkSuccess),typeof re.handleTalkError!="undefined"&&(J.EZUIKit.handleTalkError=re.handleTalkError);var Be=this.opt.id,be=document.getElementById(Be);be.style.fontSize=0,be.style.overflowY="auto",be.style.position="relative";var ge=document.createElement("iframe");function ye(){switch(oe.opt.template){case"simple":var He=U+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+re.accessToken+"&templete=0&id="+Be+"&decoderVersion="+oe.opt.decoderVersion,i2="";return typeof re.controls!="undefined"&&re.controls&&(console.log("typeof",t(re.controls)),i2="play,voice,hd,fullScreen",re.controls.length>0&&(i2=re.controls.join(","),He+="&controls="+i2)),re.websocketParams&&(He+="&websocketParams="+JSON.stringify(re.websocketParams)),He;case"standard":return U+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+re.accessToken+"&templete=1&id="+Be+"&decoderVersion="+oe.opt.decoderVersion;case"security":return U+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+re.accessToken+"&templete=0&id="+Be+"&decoderVersion="+oe.opt.decoderVersion;case"theme":return He=U+"/jssdk/theme.html?url=".concat(re.url,"&accessToken=").concat(re.accessToken,"&id=").concat(Be,"&isMobile=").concat(re.isMobile),typeof re.isMobile!="undefined"&&(He+="&isMobile="+re.isMobile),typeof re.autoplay!="undefined"&&(He+="&autoplay="+re.autoplay),typeof re.domain!="undefined"&&re.domain=="https://test12open.ys7.com"&&(He+="&env=test12"),typeof re.env!="undefined"&&typeof re.env.domain!="undefined"&&re.env.domain=="https://test12open.ys7.com"&&(He+="&env=test12"),typeof re.header!="undefined"&&(He+="&header="+re.header),He;default:return U+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+re.accessToken+"&templete=0&id="+Be+"&decoderVersion="+oe.opt.decoderVersion}}ge.src=ye();var Ze=document.getElementById(Be).offsetHeight,fe=document.getElementById(Be).offsetWidth;re.height&&(Ze=parseInt(re.height),/\%$/.test(re.height)&&(fe=document.getElementById(Be).offsetWidth*(parseInt(re.height)/100))),re.width&&(fe=parseInt(re.width),/\%$/.test(re.width)&&(fe=document.getElementById(Be).offsetWidth*(parseInt(re.width)/100))),ge.width=fe,ge.height=Ze,ge.id="EZUIKitPlayer-"+Be,ge.setAttribute("allowfullscreen",!0),ge.setAttribute("allow","autoplay"),ge.setAttribute("frameborder",0),be.appendChild(ge);var O=oe.opt.filePath+"/js/jquery.js",te="https://open.ys7.com/assets/layer/layer.js";T(O,function(){T(te,function(){if(Ut().headerContainer){var He=document.createElement("div");He.setAttribute("class","panel-top");var i2=document.createElement("div");if(i2.setAttribute("class","contros"),He.appendChild(i2),be.insertBefore(He,ge),Ut().capturePictureModule){var a2=document.createElement("span");a2.innerHTML='<span title="截图"><svg id="capturePicture" title="截图" t="1578882764585" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5958" width="24" height="24"> <path d="M887.296 315.904h-153.6c-51.2 0-68.096-102.4-119.296-102.4H392.704c-34.304 0-51.2 102.4-102.4 102.4h-153.6c-29.696 0-51.2 21.504-51.2 51.2v439.296c0 25.6 21.504 47.104 51.2 47.104h751.104c29.696 0 51.2-21.504 51.2-51.2v-435.2c-0.512-30.208-21.504-51.2-51.712-51.2zM512 768c-115.2 0-204.8-89.6-204.8-200.704s89.6-200.704 204.8-200.704 204.8 89.6 204.8 200.704-93.696 200.704-204.8 200.704z m247.296-354.304c-12.8 0-25.6-12.8-25.6-25.6s12.8-25.6 25.6-25.6 25.6 12.8 25.6 25.6c0 17.408-12.8 25.6-25.6 25.6zM256 264.704c0-8.704-8.704-16.896-16.896-16.896h-51.2c-8.704 0-16.896 8.704-16.896 16.896V281.6H256v-16.896z m256 148.992c-85.504 0-153.6 68.096-153.6 153.6s68.096 153.6 153.6 153.6 153.6-68.096 153.6-153.6-68.096-153.6-153.6-153.6z" fill="#ffffff" p-id="5959"></path></svg></span>',a2.onclick=function(){oe.capturePicture()},i2.appendChild(a2)}if(console.log("matchHeaderOpt().saveModule",Ut().saveModule),Ut().saveModule){var x2=document.createElement("span");x2.innerHTML='<span title="开始录像"> <svg id="startSave" t="1578882716693" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3782" width="24" height="24"> <path d="M915.2 729.6l-128-76.8c-25.6-12.8-44.8-32-44.8-51.2V435.2c0-25.6 19.2-38.4 44.8-51.2l128-76.8c25.6-12.8 44.8 0 44.8 19.2V704c0 32-19.2 38.4-44.8 25.6z m-332.8 89.6H96c-51.2 0-89.6-38.4-89.6-89.6V332.8c0-51.2 38.4-89.6 89.6-89.6h486.4c51.2 0 89.6 38.4 89.6 89.6v396.8c0 51.2-38.4 89.6-89.6 89.6zM192 364.8c-32 6.4-57.6 32-64 64-12.8 57.6 38.4 115.2 96 102.4 32-6.4 57.6-32 64-70.4 12.8-57.6-38.4-108.8-96-96z m0 0" p-id="3783" fill="#ffffff"></path> </svg></span>',x2.onclick=function(){oe.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},i2.appendChild(x2);var G2=document.createElement("span");G2.innerHTML='<span title="结束录像"> <svg id="stopSave" t="1578882716693" class="icon hide" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3782" width="24" height="24"> <path d="M915.2 729.6l-128-76.8c-25.6-12.8-44.8-32-44.8-51.2V435.2c0-25.6 19.2-38.4 44.8-51.2l128-76.8c25.6-12.8 44.8 0 44.8 19.2V704c0 32-19.2 38.4-44.8 25.6z m-332.8 89.6H96c-51.2 0-89.6-38.4-89.6-89.6V332.8c0-51.2 38.4-89.6 89.6-89.6h486.4c51.2 0 89.6 38.4 89.6 89.6v396.8c0 51.2-38.4 89.6-89.6 89.6zM192 364.8c-32 6.4-57.6 32-64 64-12.8 57.6 38.4 115.2 96 102.4 32-6.4 57.6-32 64-70.4 12.8-57.6-38.4-108.8-96-96z m0 0" p-id="3783" fill="red"></path> </svg> </span>',G2.onclick=function(){oe.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},i2.appendChild(G2)}if(Ut().zoomModule){var $2=document.createElement("span");$2.innerHTML='<span title="开启电子放大"> <svg id="enableZoom" t="1578882639834" class="icon" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2227" width="24" height="24"> <path d="M830.6119 441.1089c0-193.7756-157.0939-350.8641-350.8775-350.8641S128.8559 247.3333 128.8559 441.1089 285.9508 791.972 479.7344 791.972 830.6119 634.8845 830.6119 441.1089zM483.2821 710.4863c-146.7975 0-265.8187-118.9953-265.8187-265.8088S336.4847 178.8697 483.2821 178.8697s265.8197 118.9953 265.8197 265.8078S630.0796 710.4863 483.2821 710.4863zM770.6031 653.5739l-72.6417 75.9485 141.6917 160.1814 82.0737-90.0739L770.6031 653.5739zM527.5849 267.4727h-88.60655762279428v132.90489048425167H306.0690340253259v88.60292721534799h132.90933675248866v132.9038911617923h88.60655762279428V488.9794719180395h132.90933675248866v-88.60292721534799H527.5849284006089V267.4726535408993z" p-id="2228" fill="#ffffff"></path> </svg></span>',$2.onclick=function(){oe.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},i2.appendChild($2);var F2=document.createElement("span");F2.innerHTML='<span title="关闭电子放大"> <svg id="closeZoom" t="1578882639834" class="icon hide" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2227" width="24" height="24"> <path d="M830.6119 441.1089c0-193.7756-157.0939-350.8641-350.8775-350.8641S128.8559 247.3333 128.8559 441.1089 285.9508 791.972 479.7344 791.972 830.6119 634.8845 830.6119 441.1089zM483.2821 710.4863c-146.7975 0-265.8187-118.9953-265.8187-265.8088S336.4847 178.8697 483.2821 178.8697s265.8197 118.9953 265.8197 265.8078S630.0796 710.4863 483.2821 710.4863zM770.6031 653.5739l-72.6417 75.9485 141.6917 160.1814 82.0737-90.0739L770.6031 653.5739zM527.5849 267.4727h-88.60655762279428v132.90489048425167H306.0690340253259v88.60292721534799h132.90933675248866v132.9038911617923h88.60655762279428V488.9794719180395h132.90933675248866v-88.60292721534799H527.5849284006089V267.4726535408993z" p-id="2228" fill="red"></path> </svg></span>',F2.onclick=function(){oe.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},i2.appendChild(F2)}}function Dt(){var x1={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},_3=oe.opt.template;switch(_3){case"simple":if(re.footer&&re.footer instanceof Array){var Vt=re.footer;x1={footerContainer:!0,talkModule:Vt.indexOf("talk")!==-1,broadcastModule:Vt.indexOf("broadcast")!==-1,hdModule:Vt.indexOf("hd")!==-1,fullScreenModule:Vt.indexOf("fullScreen")!==-1}}break;case"standard":if(re.footer&&re.footer instanceof Array){var Vt=re.footer;x1={footerContainer:!0,talkModule:Vt.indexOf("talk")!==-1,broadcastModule:Vt.indexOf("broadcast")!==-1,hdModule:Vt.indexOf("hd")!==-1,fullScreenModule:Vt.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":x1={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return x1}function Ut(){var x1={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},_3=oe.opt.template;switch(_3){case"simple":if(re.header&&re.header instanceof Array){var Vt=re.header;x1={headerContainer:!0,capturePictureModule:Vt.indexOf("capturePicture")!==-1,saveModule:Vt.indexOf("save")!==-1,zoomModule:Vt.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":x1={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return x1}if(Dt().footerContainer||oe.opt.plugin.indexOf("talk")!==-1){var zt=oe.opt.filePath+"/npm/css/recoder.css",i3=oe.opt.filePath+"/npm/js/recoder.js",e3=oe.opt.filePath+"/recorder.js";if(R(zt,function(){}),T(i3,function(){T(e3,function(){})}),oe.opt.plugin.indexOf("talk")!==-1||Dt().talkModule){var c3=function(_3){if(console.log("data",_3),_3.code==200){var Vt=_3.data;if(Vt){var w3=Vt.rtcUrl;w3.indexOf("ws")===-1&&(w3=w3.replace("https","wss").replace("rtcgw","rtcgw-ws")),oe.opt.rtcUrl=w3,oe.opt.ttsUrl="tts://"+Vt.ttsUrl;var v1="talk://"+oe.opt.deviceSerial+":0:"+oe.opt.channelNo+":cas.ys7.com:6500";if(oe.opt.talkLink=oe.opt.ttsUrl+"/"+v1,oe.opt.stream=Vt.stream,console.log("_this.opt",oe.opt),!oe.opt.isReliesReady){var _e=oe.opt.filePath+"/npm/js/adapeter.js",ke=oe.opt.filePath+"/npm/js/janus.js",qe=oe.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),T(_e,function(){console.log("加载adapeter.js"),T(ke,function(){console.log("加载janus.js"),T(qe,function(){console.log("加载tts.js"),oe.opt.isReliesReady=!0})})},function(){return!!J.adapter})}if(!document.getElementById("audioleft")){var t2=document.createElement("div");t2.style.display="none",t2.id="audioleft",document.body.appendChild(t2)}if(!document.getElementById("audioright")){var ve=document.createElement("div");ve.style.display="none",ve.id="audioright",document.body.appendChild(ve)}}}z.opt=oe.opt,J.EZUIKit&&(J.EZUIKit.opt=oe.opt)};N(oe.opt.apiDomain,"POST",{accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo},"",c3)}if(Dt().footerContainer){var e1=function(_3,Vt){if(clearInterval(z.state.countTimer),_3==="add"){var w3=Vt;z.state.countTimer=setInterval(function(){++w3,document.getElementById("time-area").innerHTML=v1(w3)},1e3)}else if(_3==="sub"){var w3=Vt;z.state.countTimer=setInterval(function(){w3>0?(w3--,document.getElementById("time-area").innerHTML=v1(w3)):(clearInterval(z.state.countTimer),z.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else _3==="destory"&&(clearInterval(z.state.countTimer),z.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function v1(_e){var ke=parseInt(_e),qe=0,t2=0,ve="00",c2="00",e2="00";return ke>59&&(qe=parseInt(ke/60),ke=parseInt(ke%60),qe>59&&(t2=parseInt(qe/60),qe=parseInt(qe%60))),ve=parseInt(ke)>9?parseInt(ke):"0"+parseInt(ke),c2=parseInt(qe)>9?parseInt(qe):"0"+parseInt(qe),e2=parseInt(t2)>9?parseInt(t2):"0"+parseInt(t2),t2>0?e2+":"+c2+":"+ve:qe>0?c2+":"+ve:"00:"+ve}},We=document.createElement("div");if(We.setAttribute("class","audio-controls"),be.appendChild(We),Dt().hdModule||Dt().fullScreenModule){var C2=document.createElement("div");if(C2.setAttribute("class","contros"),We.appendChild(C2),Dt().hdModule){var W2=document.createElement("span");W2.setAttribute("id","video-hd"),W2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清",W2.onclick=function(){if(oe.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var x1=oe.stop();oe.opt.videoLoading=!0,x1.then(function(_3){oe.opt.videoLoading=!1,oe.opt.url.indexOf(".hd")===-1?(oe.opt.url=oe.opt.url.replace(".live",".hd.live"),W2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清"):(oe.opt.url=oe.opt.url.replace(".hd.live",".live"),W2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清"),oe.play(oe.opt.url)}).catch(function(_3){console.log("error",_3)})},C2.appendChild(W2)}if(Dt().fullScreenModule){var gt=document.createElement("span");gt.setAttribute("class","hide"),gt.setAttribute("id","ezuikit-open-sound"),gt.setAttribute("title","打开声音"),gt.setAttribute("style","vertical-align: top;"),gt.innerHTML='<svg t="1590476263239" class="icon" viewBox="0 0 1178 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2273" width="16" height="16"><path d="M665.6 51.2 665.6 51.2c-10.24-30.72-40.96-51.2-71.68-51.2-5.12 0-15.36 0-20.48 5.12l0 0L358.4 153.6 51.2 209.92l0 0C20.48 220.16 0 250.88 0 281.6 0 286.72 0 291.84 0 307.2l0 0 0 409.6 0 0c0 15.36 0 20.48 0 25.6 0 30.72 20.48 61.44 51.2 71.68l0 0L358.4 870.4l97.28 71.68 107.52 76.8 0 0c5.12 5.12 15.36 5.12 25.6 5.12 40.96 0 76.8-35.84 76.8-76.8 0-10.24 0-10.24 0-25.6l0 0L665.6 51.2zM563.2 870.4l-153.6-102.4-307.2-51.2L102.4 307.2l307.2-51.2 153.6-102.4L563.2 870.4z" p-id="2274" fill="#FF0000"></path><path d="M1049.6 537.6l112.64-112.64c20.48-20.48 20.48-56.32 0-76.8-20.48-20.48-56.32-20.48-76.8 0L972.8 460.8l-112.64-112.64c0 0 0 0 0 0-20.48-20.48-56.32-20.48-76.8 0 0 0 0 0 0 0-20.48 20.48-20.48 56.32 0 76.8l112.64 112.64-112.64 112.64c-20.48 20.48-20.48 56.32 0 76.8 20.48 20.48 56.32 20.48 76.8 0L972.8 614.4l112.64 112.64c20.48 20.48 56.32 20.48 76.8 0s20.48-56.32 0-76.8L1049.6 537.6z" p-id="2275" fill="#FF0000"></path></svg>',gt.onclick=function(){oe.openSound(0),gt.setAttribute("class","hide"),Gt.setAttribute("class","")};var Gt=document.createElement("span");gt.setAttribute("id","ezuikit-close-sound"),Gt.setAttribute("class","hide"),Gt.setAttribute("title","关闭声音"),Gt.setAttribute("style","vertical-align: top;"),Gt.innerHTML='<svg t="1590414410633" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20545" width="16" height="16"><path d="M840.533333 98.133333c-17.066667-17.066667-42.666667-17.066667-59.733333 0-17.066667 17.066667-17.066667 42.666667 0 59.733334C883.2 256 938.666667 392.533333 938.666667 533.333333c0 140.8-55.466667 277.333333-157.866667 375.466667-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 21.333333 12.8 29.866667 12.8 8.533333 0 21.333333-4.266667 29.866666-12.8 115.2-110.933333 183.466667-268.8 183.466667-435.2 0-166.4-68.266667-324.266667-183.466667-435.2zM571.733333 12.8c-17.066667-8.533333-34.133333-4.266667-46.933333 8.533333L281.6 256H42.666667c-25.6 0-42.666667 17.066667-42.666667 42.666667v426.666666c0 25.6 17.066667 42.666667 42.666667 42.666667h238.933333l243.2 234.666667c8.533333 8.533333 17.066667 12.8 29.866667 12.8 4.266667 0 12.8 0 17.066666-4.266667 17.066667-8.533333 25.6-21.333333 25.6-38.4V51.2c0-17.066667-8.533333-34.133333-25.6-38.4zM512 870.4l-183.466667-179.2c-8.533333-4.266667-17.066667-8.533333-29.866666-8.533333H85.333333V341.333333h213.333334c12.8 0 21.333333-4.266667 29.866666-12.8L512 153.6v716.8z" p-id="20546" fill="#ffffff"></path><path d="M759.466667 349.866667c-12.8-21.333333-38.4-25.6-59.733334-8.533334-21.333333 12.8-25.6 38.4-8.533333 59.733334 21.333333 29.866667 34.133333 76.8 34.133333 123.733333 0 46.933333-12.8 93.866667-34.133333 123.733333-12.8 21.333333-8.533333 46.933333 8.533333 59.733334 8.533333 4.266667 17.066667 8.533333 25.6 8.533333 12.8 0 25.6-4.266667 34.133334-17.066667 34.133333-46.933333 51.2-106.666667 51.2-174.933333 0-68.266667-17.066667-128-51.2-174.933333z" p-id="20547" fill="#ffffff"></path></svg>',Gt.onclick=function(){oe.closeSound(0),gt.setAttribute("class",""),Gt.setAttribute("class","hide")},C2.appendChild(gt),C2.appendChild(Gt)}if(oe.opt.audio==1?Gt.setAttribute("class",""):(gt.setAttribute("class",""),oe.closeSound(0)),Dt().fullScreenModule){var p3=document.createElement("span");p3.setAttribute("title","全屏"),p3.setAttribute("style","vertical-align: top;"),p3.innerHTML='<svg id="fullScreen" t="1578020167938" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5035" width="16" height="16"> <path d="M348.373333 625.706667l-128 128-64 64v-128a33.28 33.28 0 0 0-35.413333-35.413334A33.493333 33.493333 0 0 0 85.333333 689.706667v213.333333A33.706667 33.706667 0 0 0 120.96 938.666667h213.333333a35.626667 35.626667 0 0 0 0-71.04h-128l64-64 128-128a35.2 35.2 0 0 0-49.92-49.92zM206.293333 156.373333h128a33.28 33.28 0 0 0 35.413334-35.413333A33.493333 33.493333 0 0 0 334.293333 85.333333H113.706667c-7.04 0-14.08 7.04-21.333334 14.293334a26.026667 26.026667 0 0 0-7.04 21.333333v213.333333a33.493333 33.493333 0 0 0 35.626667 35.413334 33.28 33.28 0 0 0 35.413333-35.413334v-128l192 192a35.2 35.2 0 0 0 49.92-49.92zM903.04 85.333333h-213.333333a33.493333 33.493333 0 0 0-35.413334 35.626667 33.28 33.28 0 0 0 35.413334 35.413333h128l-64 64-128 128a35.2 35.2 0 0 0 49.92 49.92l128-128 64-64v128a35.626667 35.626667 0 0 0 71.04 0v-213.333333A33.706667 33.706667 0 0 0 903.04 85.333333zM903.04 654.293333a33.28 33.28 0 0 0-35.413333 35.413334v128l-64-64-128-128a35.2 35.2 0 0 0-49.92 49.92l128 128 64 64h-128a35.626667 35.626667 0 0 0 0 71.04h213.333333A33.706667 33.706667 0 0 0 938.666667 903.04v-213.333333a33.493333 33.493333 0 0 0-35.626667-35.413334z" p-id="5036" fill="#ffffff"></path></svg>',p3.onclick=function(){oe.fullScreen()},C2.appendChild(p3)}}if(Dt().talkModule){var d3=document.createElement("div"),y3=document.createElement("div");d3.setAttribute("class","ptp-talk off"),d3.innerHTML='<span title="对讲"><svg t="1581930496966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1641" width="16" height="16"> <path d="M715.648 647.872c-30.208-22.336-61.568 39.36-100.992 77.44-39.36 38.08-34.112 31.488-123.392-17.088S311.488 540.224 280 491.648C248.448 443.072 265.472 424.704 265.472 424.704s78.72-62.976 97.152-81.344c18.368-18.368 13.12-30.208 13.12-30.208l-128.64-190.144c-23.616-5.184-64.32 5.12-128.576 57.6C54.208 233.088 30.592 353.856 151.296 575.68c120.768 221.824 347.84 330.752 485.568 374.08 137.856 43.328 228.416-61.696 249.408-103.68 21.056-41.984 13.12-85.312 13.12-85.312S745.856 670.208 715.648 647.872z" p-id="1642" fill="#ffffff"></path> <path d="M715.328 64C580.992 64 472.192 172.864 472.192 307.2s108.8 243.2 243.136 243.2 243.2-108.864 243.2-243.2S849.6 64 715.328 64zM715.328 461.056c-84.992 0-153.856-68.864-153.856-153.856s68.864-153.856 153.856-153.856 153.856 68.928 153.856 153.856S800.32 461.056 715.328 461.056z" p-id="1643" fill="#ffffff"></path> <path d="M777.472 277.376c-18.176 0-32.96-14.784-32.96-33.024 0-8.448 3.136-16.064 8.32-21.888-11.52-5.12-24.128-8-37.568-8-51.2 0-92.672 41.472-92.672 92.736s41.472 92.736 92.672 92.736S808.064 358.4 808.064 307.2c0-13.696-3.072-26.688-8.384-38.4C793.728 274.112 786.048 277.376 777.472 277.376zM715.328 340.928c-18.624 0-33.664-15.104-33.664-33.728 0-18.624 15.04-33.728 33.664-33.728 18.688 0 33.728 15.104 33.728 33.728C749.056 325.824 734.016 340.928 715.328 340.928z" p-id="1644" fill="#ffffff"></path> </svg> </span> <span>开启对讲</span>',d3.onclick=function(){if(console.log("EZUIKit.state.countTimer",z.state.countTimer),z.state.countTimer)return J.layer.msg("语音设备正忙,请稍后重试"),!1;e1("add",0),console.log("开始对讲,关闭声音"),oe.closeSound(0),console.log(oe.opt),oe.startTalk(),this.setAttribute("class","ptp-talk off hide"),y3.setAttribute("class","ptp-talk on")},y3.setAttribute("class","ptp-talk on hide"),y3.innerHTML='<span title="对讲"> <svg t="1581930496966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1641" width="16" height="16"> <path d="M715.648 647.872c-30.208-22.336-61.568 39.36-100.992 77.44-39.36 38.08-34.112 31.488-123.392-17.088S311.488 540.224 280 491.648C248.448 443.072 265.472 424.704 265.472 424.704s78.72-62.976 97.152-81.344c18.368-18.368 13.12-30.208 13.12-30.208l-128.64-190.144c-23.616-5.184-64.32 5.12-128.576 57.6C54.208 233.088 30.592 353.856 151.296 575.68c120.768 221.824 347.84 330.752 485.568 374.08 137.856 43.328 228.416-61.696 249.408-103.68 21.056-41.984 13.12-85.312 13.12-85.312S745.856 670.208 715.648 647.872z" p-id="1642" fill="#ff0000"></path> <path d="M715.328 64C580.992 64 472.192 172.864 472.192 307.2s108.8 243.2 243.136 243.2 243.2-108.864 243.2-243.2S849.6 64 715.328 64zM715.328 461.056c-84.992 0-153.856-68.864-153.856-153.856s68.864-153.856 153.856-153.856 153.856 68.928 153.856 153.856S800.32 461.056 715.328 461.056z" p-id="1643" fill="#ff0000"></path> <path d="M777.472 277.376c-18.176 0-32.96-14.784-32.96-33.024 0-8.448 3.136-16.064 8.32-21.888-11.52-5.12-24.128-8-37.568-8-51.2 0-92.672 41.472-92.672 92.736s41.472 92.736 92.672 92.736S808.064 358.4 808.064 307.2c0-13.696-3.072-26.688-8.384-38.4C793.728 274.112 786.048 277.376 777.472 277.376zM715.328 340.928c-18.624 0-33.664-15.104-33.664-33.728 0-18.624 15.04-33.728 33.664-33.728 18.688 0 33.728 15.104 33.728 33.728C749.056 325.824 734.016 340.928 715.328 340.928z" p-id="1644" fill="#ff0000"></path> </svg> </span><span>关闭对讲</span>',y3.onclick=function(){console.log(oe.opt),oe.stopTalk(),e1("destory",0),oe.openSound(0),this.setAttribute("class","ptp-talk on hide"),d3.setAttribute("class","ptp-talk off")},We.appendChild(d3),We.appendChild(y3)}if(Dt().broadcastModule){var t1=function x1(_3){function Vt(w3){console.log("data",w3),w3.code==200&&(Br(w3.data,5),z.state.page=w3.page.page,_3==0&&w3.data.length==0&&!z.state.fetchDefaultList&&(z.state.fetchDefaultList=!0,x1(0)))}N(U+"/api/lapp/voice/query","POST",{accessToken:oe.opt.accessToken,pageStart:_3,pageSize:z.state.pageSize,default:z.state.fetchDefaultList?"true":"false"},"",Vt)},Br=function(_3){if(console.log("renderVoliceList",_3),_3&&_3.length>0){for(var Vt=0;Vt<_3.length;Vt++){var w3=document.createElement("li");w3.innerHTML="<li class='voice-item' id='voice-item-"+Vt+"' data-time="+(_3[Vt].duration||20)+" data-url="+_3[Vt].fileUrl+">"+(_3[Vt].voiceName.length>10?_3[Vt].voiceName.substr(0,10)+"...":_3[Vt].voiceName)+"</li>",document.getElementsByClassName("voice-list-ul")[0].append(w3),w3.onclick=function(v1){console.log("点击元素",v1.target,v1.target.dataset.url);var _e=v1.target.dataset.url,ke=v1.target.dataset.time;hi(_e,ke)}}_3.length===z.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},hi=function(_3,Vt){console.log("播放语音",_3,Vt);function w3(v1){console.log("data.data",v1.data),v1.code==200?e1("sub",parseInt(Vt)):v1.code=="10001"?J.layer.msg("未找到当前语音"):J.layer.msg(v1.msg||"发送失败,请稍后再试")}N(U+"/api/lapp/voice/send","POST",{accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo,fileUrl:_3},"",w3)},O1=document.createElement("div"),qn=document.createElement("div");O1.setAttribute("class","broadcast off"),qn.setAttribute("class","broadcast on hide"),O1.innerHTML=' <span title="语音播报"> <svg t="1583561695846" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1126" width="16" height="16"> <path d="M513.82044445 964.38044445c-8.192 0-15.47377778-2.73066667-21.84533334-8.192 0 0-46.42133333-41.87022222-99.21422222-86.47111112-89.20177778-73.728-117.41866667-88.29155555-123.79022222-90.112H35.04355555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666V271.70133333c0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666666H246.21511111c7.28177778-2.73066667 37.31911111-15.47377778 137.44355556-91.02222222 58.25422222-43.69066667 111.04711111-86.47111111 111.04711111-86.47111112 5.46133333-4.55111111 12.74311111-7.28177778 20.02488889-7.28177778 4.55111111 0 10.01244445 0.91022222 14.56355555 3.6408889 10.92266667 5.46133333 18.20444445 17.29422222 18.20444445 30.03733333v837.40444444c0 12.74311111-7.28177778 25.48622222-19.11466667 30.94755556-5.46133333 1.82044445-10.01244445 2.73066667-14.56355555 2.73066667zM270.79111111 724.992c19.11466667 0 48.24177778 8.192 167.48088889 106.496 16.384 13.65333333 33.67822222 28.21688889 51.88266667 43.69066667l5.46133333 4.55111111V139.71911111l-5.46133333 3.64088889c-22.75555555 17.29422222-44.60088889 34.58844445-65.536 50.06222222C293.54666667 291.72622222 264.41955555 299.008 245.30488889 299.008H82.37511111c-20.02488889 0-21.84533333 12.74311111-21.84533333 26.39644445V694.04444445c0 23.66577778 6.37155555 30.03733333 28.21688889 30.03733333h180.224l1.82044444 0.91022222z m520.64711111 162.01955555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666 0-11.83288889 8.192-20.02488889 16.384-24.576 112.86755555-67.35644445 182.04444445-191.14666667 182.04444444-324.03911111 0-132.89244445-70.08711111-256.68266667-182.04444444-324.03911111-10.01244445-5.46133333-15.47377778-14.56355555-15.47377778-24.576 0-14.56355555 11.83288889-27.30666667 26.39644445-27.30666667 5.46133333 0 10.01244445 1.82044445 16.384 5.46133333 128.34133333 76.45866667 207.53066667 218.45333333 207.53066666 369.55022222 0 152.00711111-80.09955555 293.09155555-208.44088889 369.55022223-6.37155555 5.46133333-10.92266667 7.28177778-16.384 7.28177777z m-90.112-152.91733333c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666667 0-10.01244445 4.55111111-18.20444445 12.74311111-23.66577777 61.89511111-34.58844445 100.12444445-100.12444445 100.12444444-171.12177778 0-70.08711111-37.31911111-134.71288889-96.48355555-170.21155555-8.192-4.55111111-12.74311111-13.65333333-12.74311111-23.66577778 0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666667 4.55111111 0 11.83288889 2.73066667 15.47377778 4.55111111 74.63822222 44.60088889 121.96977778 127.43111111 121.96977778 215.72266667 0 90.112-48.24177778 173.85244445-125.61066667 218.45333333-1.82044445 0-9.10222222 4.55111111-15.47377778 4.55111111z" fill="#ffffff" p-id="1127"></path> </svg></span><span>语音播报</span>',O1.onclick=function(){this.setAttribute("class","broadcast off hide"),qn.setAttribute("class","broadcast on")},qn.innerHTML='<div class="pop-hover"> <div class="pop-hover-content"> <div class="vioce-list" id="voice-list"> <ul class="voice-list-ul"> </ul> <div id="voice-list-end"></div> </div> <div id="voice-custom" style="text-align: center;">自定义语音</div> </div></div><span title="语音播报"> <svg t="1583561695846" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1126" width="16" height="16"> <path d="M513.82044445 964.38044445c-8.192 0-15.47377778-2.73066667-21.84533334-8.192 0 0-46.42133333-41.87022222-99.21422222-86.47111112-89.20177778-73.728-117.41866667-88.29155555-123.79022222-90.112H35.04355555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666V271.70133333c0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666666H246.21511111c7.28177778-2.73066667 37.31911111-15.47377778 137.44355556-91.02222222 58.25422222-43.69066667 111.04711111-86.47111111 111.04711111-86.47111112 5.46133333-4.55111111 12.74311111-7.28177778 20.02488889-7.28177778 4.55111111 0 10.01244445 0.91022222 14.56355555 3.6408889 10.92266667 5.46133333 18.20444445 17.29422222 18.20444445 30.03733333v837.40444444c0 12.74311111-7.28177778 25.48622222-19.11466667 30.94755556-5.46133333 1.82044445-10.01244445 2.73066667-14.56355555 2.73066667zM270.79111111 724.992c19.11466667 0 48.24177778 8.192 167.48088889 106.496 16.384 13.65333333 33.67822222 28.21688889 51.88266667 43.69066667l5.46133333 4.55111111V139.71911111l-5.46133333 3.64088889c-22.75555555 17.29422222-44.60088889 34.58844445-65.536 50.06222222C293.54666667 291.72622222 264.41955555 299.008 245.30488889 299.008H82.37511111c-20.02488889 0-21.84533333 12.74311111-21.84533333 26.39644445V694.04444445c0 23.66577778 6.37155555 30.03733333 28.21688889 30.03733333h180.224l1.82044444 0.91022222z m520.64711111 162.01955555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666 0-11.83288889 8.192-20.02488889 16.384-24.576 112.86755555-67.35644445 182.04444445-191.14666667 182.04444444-324.03911111 0-132.89244445-70.08711111-256.68266667-182.04444444-324.03911111-10.01244445-5.46133333-15.47377778-14.56355555-15.47377778-24.576 0-14.56355555 11.83288889-27.30666667 26.39644445-27.30666667 5.46133333 0 10.01244445 1.82044445 16.384 5.46133333 128.34133333 76.45866667 207.53066667 218.45333333 207.53066666 369.55022222 0 152.00711111-80.09955555 293.09155555-208.44088889 369.55022223-6.37155555 5.46133333-10.92266667 7.28177778-16.384 7.28177777z m-90.112-152.91733333c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666667 0-10.01244445 4.55111111-18.20444445 12.74311111-23.66577777 61.89511111-34.58844445 100.12444445-100.12444445 100.12444444-171.12177778 0-70.08711111-37.31911111-134.71288889-96.48355555-170.21155555-8.192-4.55111111-12.74311111-13.65333333-12.74311111-23.66577778 0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666667 4.55111111 0 11.83288889 2.73066667 15.47377778 4.55111111 74.63822222 44.60088889 121.96977778 127.43111111 121.96977778 215.72266667 0 90.112-48.24177778 173.85244445-125.61066667 218.45333333-1.82044445 0-9.10222222 4.55111111-15.47377778 4.55111111z" fill="#ff0000" p-id="1127"></path> </svg></span><span>语音播报</span>',qn.onclick=function(){this.setAttribute("class","broadcast on hide"),O1.setAttribute("class","broadcast off")},We.appendChild(O1),We.appendChild(qn),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),n1.setAttribute("class","speak off")},t1(0);var n1=document.createElement("div"),x0=document.createElement("div");n1.setAttribute("class","speak off hide"),x0.setAttribute("class","speak on hide"),n1.setAttribute("id","startSpeak"),x0.setAttribute("id","stopSpeak"),n1.innerHTML='<span title="按住说话"> <svg t="1581994757678" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1639" width="16" height="16"> <path d="M757.059829 393.846154v-52.512821h262.564103v52.512821H757.059829z m-420.102564 481.367521v96.273504h175.042735a8.752137 8.752137 0 0 1 8.752137 8.752137v35.008547a8.752137 8.752137 0 0 1-8.752137 8.752137H109.401709a8.752137 8.752137 0 0 1-8.752136-8.752137v-35.008547a8.752137 8.752137 0 0 1 8.752136-8.752137h175.042735v-96.273504C129.767932 875.213675 4.376068 749.821812 4.376068 595.145299V463.863248a26.25641 26.25641 0 1 1 52.512821 0v113.777778c0 140.174222 113.637744 253.811966 253.811966 253.811965s253.811966-113.637744 253.811966-253.811965V463.863248a26.25641 26.25641 0 1 1 52.51282 0v131.282051c0 154.676513-125.391863 280.068376-280.068376 280.068376z m-26.25641-96.273504c-111.178393 0-201.299145-90.120752-201.299146-201.299145V201.299145C109.401709 90.120752 199.522462 0 310.700855 0s201.299145 90.120752 201.299145 201.299145v376.341881c0 111.178393-90.120752 201.299145-201.299145 201.299145z m691.418803-280.068376H757.059829v-52.512821h245.059829v52.512821z m-17.504273 105.025641H757.059829v-52.512821h227.555556v52.512821z m-17.504274 105.025641H757.059829v-52.512821h210.051282v52.512821z m-8.752137 105.025641H757.059829v-52.512821h201.299145v52.512821z m-17.504273 105.025641H757.059829v-52.512821h183.794872v52.512821z m-26.25641 105.025641H757.059829v-52.512821h157.538462v52.512821z" p-id="1640" fill="#ffffff"></path> </svg></span><span>按住说话</span>',x0.innerHTML='<span title="按住说话"><svg t="1581994757678" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1639" width="16" height="16"> <path d="M757.059829 393.846154v-52.512821h262.564103v52.512821H757.059829z m-420.102564 481.367521v96.273504h175.042735a8.752137 8.752137 0 0 1 8.752137 8.752137v35.008547a8.752137 8.752137 0 0 1-8.752137 8.752137H109.401709a8.752137 8.752137 0 0 1-8.752136-8.752137v-35.008547a8.752137 8.752137 0 0 1 8.752136-8.752137h175.042735v-96.273504C129.767932 875.213675 4.376068 749.821812 4.376068 595.145299V463.863248a26.25641 26.25641 0 1 1 52.512821 0v113.777778c0 140.174222 113.637744 253.811966 253.811966 253.811965s253.811966-113.637744 253.811966-253.811965V463.863248a26.25641 26.25641 0 1 1 52.51282 0v131.282051c0 154.676513-125.391863 280.068376-280.068376 280.068376z m-26.25641-96.273504c-111.178393 0-201.299145-90.120752-201.299146-201.299145V201.299145C109.401709 90.120752 199.522462 0 310.700855 0s201.299145 90.120752 201.299145 201.299145v376.341881c0 111.178393-90.120752 201.299145-201.299145 201.299145z m691.418803-280.068376H757.059829v-52.512821h245.059829v52.512821z m-17.504273 105.025641H757.059829v-52.512821h227.555556v52.512821z m-17.504274 105.025641H757.059829v-52.512821h210.051282v52.512821z m-8.752137 105.025641H757.059829v-52.512821h201.299145v52.512821z m-17.504273 105.025641H757.059829v-52.512821h183.794872v52.512821z m-26.25641 105.025641H757.059829v-52.512821h157.538462v52.512821z" p-id="1640" fill="#ff0000"></path></svg></span><span>松开发送</span>',We.appendChild(n1),We.appendChild(x0),document.getElementById("voice-list").onscroll=function(x1){var _3=this.scrollHeight;console.log("sum",_3,this.scrollTop,document.getElementById("voice-list").clientHeight),_3<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",z.state.page),t1(++z.state.page))};var cn=document.createElement("div");cn.setAttribute("class","time-area"),cn.setAttribute("id","time-area"),cn.innerHTML="00:00",We.appendChild(cn);var U3;document.getElementById("startSpeak").onmousedown=function(){if(z.state.countTimer)return J.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),n1.setAttribute("class","speak off hide"),x0.setAttribute("class","speak on"),w3(),e1("add",0),setTimeout(function(){z.state.recodeTime=0,Vt()},1e3),z.state.recodeTimer&&clearInterval(z.state.recodeTimer),z.state.recodeTimer=setInterval(function(){z.state.recodeTime>=59?(oe.stopTalk(),e1("destory",0),this.setAttribute("class","ptp-talk on hide"),d3.setAttribute("class","ptp-talk off"),J.layer.msg("不超过1分钟")):z.state.recodeTime=z.state.recodeTime+1},1e3);var x1;function _3(v1){var _e=x1.createMediaStreamSource(v1);U3=new J.Recorder(_e)}function Vt(){U3&&U3.record()}function w3(){console.log("run init");try{J.AudioContext=J.AudioContext||J.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,J.URL=J.URL||J.webkitURL,x1=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch(v1){console.log("err",v1),J.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},_3,function(v1){console.log("No live audio input: "+v1)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),x0.setAttribute("class","speak on hide"),x1();function x1(){if(e1("destory",0),z.state.recodeTime<1)return J.layer.msg("说话时间过短"),clearInterval(z.state.recodeTimer),!1;clearInterval(z.state.recodeTimer),_3()}function _3(){try{U3&&U3.stop(),U3&&U3.exportWAV(function(Vt){if(console.log("wav_file",Vt),Vt.size<1e3)return J.layer.msg("录音失败,请重试"),z.state.recodeTime=0,!1;e1("sub",z.state.recodeTime+2);var w3=new FormData;w3.append("voiceFile",Vt),w3.append("accessToken",oe.opt.accessToken),w3.append("deviceSerial",oe.opt.deviceSerial),w3.append("channelNo",oe.opt.channelNo);function v1(ke){console.log("data.data",ke.data),ke.code==200?e1("sub",z.state.recodeTime+2):ke.code=="10001"?J.layer.msg("未找到当前语音"):J.layer.msg(ke.msg||"发送失败,请稍后再试")}function _e(ke){console.log("err",ke)}N(U+"/api/lapp/voice/sendonce","POST",{voiceFile:Vt,accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo},"",v1,_e)}),U3&&U3.clear()}catch(Vt){console.log(Vt)}}}}}}})});var oe=this;J.addEventListener("message",function(He){He.origin;var i2=oe.opt.id;if(He.data.type)switch(He.data.type){case"openSound":i2==He.data.id&&re.openSoundCallBack&&re.openSoundCallBack(He.data);break;case"closeSound":i2==He.data.id&&re.closeSoundCallBack&&re.closeSoundCallBack(He.data);break;case"capturePicture":i2==He.data.id&&re.capturePictureCallBack&&re.capturePictureCallBack(He.data);break;case"startSave":i2==He.data.id&&re.startSaveCallBack&&re.startSaveCallBack(He.data);break;case"stopSave":i2==He.data.id&&re.stopSaveCallBack&&re.stopSaveCallBack(He.data);break;case"fullScreen":i2==He.data.id&&re.fullScreenCallBack&&re.fullScreenCallBack(He.data);break;case"getOSDTime":i2==He.data.id&&re.getOSDTimeCallBack&&re.getOSDTimeCallBack(He.data);break;case"handleSuccess":i2==He.data.id&&re.handleSuccess&&re.handleSuccess(He.data);break;case"handleError":i2==He.data.id&&re.handleError&&re.handleError(He.data);break;case"dblclick":i2==He.data.id&&oe.opt.bSupporDoubleClickFull&&(oe.opt.fullScreenStatus===0?oe.fullScreen():oe.cancelFullScreen());break;case"startTalk":oe.startTalk(),oe.closeSound();break;case"stopTalk":oe.stopTalk(),oe.openSound();break;case"clickEventHandle":console.log("event.data",He.data),re.clickEventHandle&&re.clickEventHandle(He.data);break;case"removeEventHandle":re.removeEventHandle&&re.removeEventHandle(He.data);break;case"esc":re.clickEventHandle&&re.clickEventHandle(He.data);break;case"iframeFullScreen":if(i2==He.data.id){var a2=function(G2){var $2=G2.requestFullScreen||G2.webkitRequestFullScreen||G2.mozRequestFullScreen||G2.msRequestFullScreen;if($2)$2.call(G2);else if(typeof J.ActiveXObject!="undefined"){var F2=new ActiveXObject("WScript.Shell");F2!==null&&F2.SendKeys("{F11}")}};a2(document.getElementById("EZUIKitPlayer-"+He.data.id))}break}});function De(He){oe.opt.fullScreenStatus=He?1:0,re.fullScreenChangeCallBack&&re.fullScreenChangeCallBack({data:He,id:oe.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var He=document.fullscreen||!1;De(He)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var He=document.webkitIsFullScreen||!1;De(He)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var He=document.mozFullScreen||!1;De(He)})};pe.prototype.play=function(se){var re="EZUIKitPlayer-"+this.opt.id,Be=document.getElementById(re).contentWindow;t(se)==="object"&&se.url&&(this.opt.url=se.url),t(se)==="object"&&se.accessToken&&(this.opt.accessToken=se.accessToken),typeof se=="string"&&(this.opt.url=se),Be.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},U+"/ezopen/h5/iframe");var be=this;this.opt.videoLoading=!0;var ge=new Promise(function(ye,Ze){J.addEventListener("message",function(fe){var O=be.opt.id;O==fe.data.id&&fe.data.type==="handleSuccess"&&(setTimeout(function(){be.opt.videoLoading=!1},1e3),ye(fe.data))})});return ge},pe.prototype.stop=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("stop",U+"/ezopen/h5/iframe");var Be=this,be=new Promise(function(ge,ye){J.addEventListener("message",function(Ze){var fe=Be.opt.id;fe==Ze.data.id&&Ze.data.type==="stop"&&ge(Ze.data)})});return be},pe.prototype.openSound=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("openSound",U+"/ezopen/h5/iframe");var Be=this,be=new Promise(function(ge,ye){J.addEventListener("message",function(Ze){var fe=Be.opt.id;fe==Ze.data.id&&Ze.data.type==="openSound"&&ge(Ze.data)})});return be},pe.prototype.closeSound=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("closeSound",U+"/ezopen/h5/iframe");var Be=this,be=new Promise(function(ge,ye){J.addEventListener("message",function(Ze){var fe=Be.opt.id;fe==Ze.data.id&&Ze.data.type==="closeSound"&&ge(Ze.data)})});return be},pe.prototype.startSave=function(se){var re="EZUIKitPlayer-"+this.opt.id,Be=document.getElementById(re).contentWindow;Be.postMessage({action:"startSave",fileName:se||"default"},U+"/ezopen/h5/iframe");var be=this,ge=new Promise(function(ye,Ze){J.addEventListener("message",function(fe){var O=be.opt.id;O==fe.data.id&&fe.data.type==="startSave"&&ye(fe.data)})});return ge},pe.prototype.stopSave=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("stopSave",U+"/ezopen/h5/iframe");var Be=this,be=new Promise(function(ge,ye){J.addEventListener("message",function(Ze){var fe=Be.opt.id;fe==Ze.data.id&&Ze.data.type==="stopSave"&&ge(Ze.data)})});return be},pe.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var Be=document.documentElement.clientWidth,be=document.documentElement.clientHeight,ge=document.body;ge=document.getElementById(se);var ye="";ye+="width:"+be+"px;",ye+="height:"+Be+"px;",ye+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",ye+="-webkit-transform-origin: "+Be/2+"px "+Be/2+"px;",ye+="transform-origin: "+Be/2+"px "+Be/2+"px;",ye+="position: fixed;top: 0;left: 0;z-index:10",ge.style.cssText=ye,setTimeout(function(){re.postMessage("autoResize",U+"/ezopen/h5/iframe")},500)}else{var Ze=function(O){var te=O.requestFullScreen||O.webkitRequestFullScreen||O.mozRequestFullScreen||O.msRequestFullScreen;if(te)te.call(O);else if(typeof J.ActiveXObject!="undefined"){var oe=new ActiveXObject("WScript.Shell");oe!==null&&oe.SendKeys("{F11}")}};Ze(document.getElementById(se))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},pe.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var Be=document.getElementById(se).width,be=document.getElementById(se).height,ge=document.body;ge=document.getElementById(se);var ye="";ye+="width:"+Be+"px;",ye+="height:"+be+"px;",ye+="-webkit-transform: none; transform: none;",ye+="-webkit-transform-origin: 0 0;",ye+="transform-origin: 0 0;",ge.style.cssText=ye,setTimeout(function(){re.postMessage("autoResize",U+"/ezopen/h5/iframe")},500);var Ze=se+"cancel-full-screen",fe=document.getElementById(Ze);fe&&document.body.removeChild(fe)}else document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen();this.params.cancelFullScreenCallBack&&this.params.cancelFullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=0},pe.prototype.capturePicture=function(se,re){var Be="EZUIKitPlayer-"+this.opt.id,be=document.getElementById(Be).contentWindow;be.postMessage({action:"capturePicture",fileName:se||"default",isUndownload:re},U+"/ezopen/h5/iframe");var ge=this,ye=new Promise(function(Ze,fe){J.addEventListener("message",function(O){var te=ge.opt.id;te==O.data.id&&O.data.type==="capturePicture"&&Ze(O.data)})});return ye},pe.prototype.enableZoom=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("enableZoom",U+"/ezopen/h5/iframe")},pe.prototype.closeZoom=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("closeZoom",U+"/ezopen/h5/iframe")},pe.prototype.getOSDTime=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("getOSDTime",U+"/ezopen/h5/iframe");var Be=this,be=new Promise(function(ge,ye){J.addEventListener("message",function(Ze){var fe=Be.opt.id;fe==Ze.data.id&&Ze.data.type==="getOSDTime"&&ge(Ze.data)})});return be},pe.prototype.autoResize=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("autoResize",U+"/ezopen/h5/iframe")},pe.prototype.reSize=function(se,re){var Be="EZUIKitPlayer-"+this.opt.id,be=document.getElementById(Be).contentWindow,ge=document.getElementById(this.opt.id);ge.style.width=se+"px",ge.style.height=re+"px",document.getElementById(this.opt.id).style.width=se+"px",document.getElementById(this.opt.id).style.height=re+"px";var ye=document.getElementById(Be);ye.setAttribute("width",se),ye.setAttribute("height",re),ye.style.width=se+"px",ye.style.height=re+"px",setTimeout(function(){be.postMessage({action:"autoResize"},U+"/ezopen/h5/iframe")},500)},pe.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var se=this;z.opt=this.opt,J.EZUIKit&&(J.EZUIKit.opt=this.opt);var re=function(be){if(be.code==200){var ge=be.data;if(ge){var ye=ge.rtcUrl;ye.indexOf("ws")===-1&&(ye=ye.replace("https","wss").replace("rtcgw","rtcgw-ws")),se.opt.rtcUrl=ye,se.opt.ttsUrl="tts://"+ge.ttsUrl;var Ze="talk://"+se.opt.deviceSerial+":0:"+se.opt.channelNo+":cas.ys7.com:6500";se.opt.talkLink=se.opt.ttsUrl+"/"+Ze,se.opt.stream=ge.stream,J.startTalk()}}};N(se.opt.apiDomain,"POST",{accessToken:se.opt.accessToken,deviceSerial:se.opt.deviceSerial,channelNo:se.opt.channelNo},"",re)},pe.prototype.stopTalk=function(){console.log("执行结束对讲"),J.stopTalk()},pe.prototype.edit=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage("edit",U+"/ezopen/h5/iframe")},pe.prototype.btnReRender=function(se){var re="EZUIKitPlayer-"+this.opt.id,Be=document.getElementById(re).contentWindow;Be.postMessage({action:"btnReRender",data:se},U+"/ezopen/h5/iframe")},pe.prototype.changePlayUrl=function(se){se.deviceSerial&&(this.opt.deviceSerial=se.deviceSerial),se.channelNo&&(this.opt.channelNo=se.channelNo),se.accessToken&&(this.opt.accessToken=se.accessToken);var re="EZUIKitPlayer-"+this.opt.id,Be=document.getElementById(re).contentWindow;Be.postMessage({action:"changePlayUrl",data:se},U+"/ezopen/h5/iframe")},pe.prototype.fetchThemeData=function(){var se="EZUIKitPlayer-"+this.opt.id,re=document.getElementById(se).contentWindow;re.postMessage({action:"fetchThemeData"},U+"/ezopen/h5/iframe")},pe.prototype.setThemeData=function(se,re,Be){var be="EZUIKitPlayer-"+this.opt.id,ge=document.getElementById(be).contentWindow;ge.postMessage({action:"setThemeData",data:{accessToken:se,header:re,footer:Be}},U+"/ezopen/h5/iframe")},z.EZUIKitPlayer=pe,J.EZUIKitV3=z;var de=z;return de});var rt=EZUIKitV3,Ft=function(H){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},R=void 0,N=void 0,z=void 0,U=[];return function(){var de=Re(w),se=new Date().getTime(),re=!R||se-R>de;R=se;for(var Be=arguments.length,be=Array(Be),ge=0;ge<Be;ge++)be[ge]=arguments[ge];if(re&&T.leading)return T.accumulate?Promise.resolve(H.call(this,[be])).then(function(Ze){return Ze[0]}):Promise.resolve(H.call.apply(H,[this].concat(be)));if(N?clearTimeout(z):N=s2(),U.push(be),z=setTimeout(ue.bind(this),de),T.accumulate){var ye=U.length-1;return N.promise.then(function(Ze){return Ze[ye]})}return N.promise};function ue(){var pe=N;clearTimeout(z),Promise.resolve(T.accumulate?H.call(this,U):H.apply(this,U[U.length-1])).then(pe.resolve,pe.reject),U=[],N=null}};function Re(J){return typeof J=="function"?J():J}function s2(){var J={};return J.promise=new Promise(function(H,w){J.resolve=H,J.reject=w}),J}(function(){var J;function H(We){var C2=0;return function(){return C2<We.length?{done:!1,value:We[C2++]}:{done:!0}}}var w=typeof Object.defineProperties=="function"?Object.defineProperty:function(We,C2,W2){return We==Array.prototype||We==Object.prototype||(We[C2]=W2.value),We};function T(We){We=[typeof globalThis=="object"&&globalThis,We,typeof window=="object"&&window,typeof self=="object"&&self,typeof I=="object"&&I];for(var C2=0;C2<We.length;++C2){var W2=We[C2];if(W2&&W2.Math==Math)return W2}throw Error("Cannot find global object")}var R=T(this);function N(We,C2){if(C2)e:{var W2=R;We=We.split(".");for(var gt=0;gt<We.length-1;gt++){var Gt=We[gt];if(!(Gt in W2))break e;W2=W2[Gt]}We=We[We.length-1],gt=W2[We],C2=C2(gt),C2!=gt&&C2!=null&&w(W2,We,{configurable:!0,writable:!0,value:C2})}}N("Symbol",function(We){function C2(p3){if(this instanceof C2)throw new TypeError("Symbol is not a constructor");return new W2(gt+(p3||"")+"_"+Gt++,p3)}function W2(p3,d3){this.A=p3,w(this,"description",{configurable:!0,writable:!0,value:d3})}if(We)return We;W2.prototype.toString=function(){return this.A};var gt="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",Gt=0;return C2}),N("Symbol.iterator",function(We){if(We)return We;We=Symbol("Symbol.iterator");for(var C2="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),W2=0;W2<C2.length;W2++){var gt=R[C2[W2]];typeof gt=="function"&&typeof gt.prototype[We]!="function"&&w(gt.prototype,We,{configurable:!0,writable:!0,value:function(){return z(H(this))}})}return We});function z(We){return We={next:We},We[Symbol.iterator]=function(){return this},We}function U(We){var C2=typeof Symbol!="undefined"&&Symbol.iterator&&We[Symbol.iterator];return C2?C2.call(We):{next:H(We)}}var ue;if(typeof Object.setPrototypeOf=="function")ue=Object.setPrototypeOf;else{var pe;e:{var de={a:!0},se={};try{se.__proto__=de,pe=se.a;break e}catch(We){}pe=!1}ue=pe?function(We,C2){if(We.__proto__=C2,We.__proto__!==C2)throw new TypeError(We+" is not extensible");return We}:null}var re=ue;function Be(){this.m=!1,this.j=null,this.v=void 0,this.h=1,this.u=this.C=0,this.l=null}function be(We){if(We.m)throw new TypeError("Generator is already running");We.m=!0}Be.prototype.o=function(We){this.v=We},Be.prototype.s=function(We){this.l={D:We,F:!0},this.h=this.C||this.u},Be.prototype.return=function(We){this.l={return:We},this.h=this.u};function ge(We,C2){return We.h=3,{value:C2}}function ye(We){this.g=new Be,this.G=We}ye.prototype.o=function(We){return be(this.g),this.g.j?fe(this,this.g.j.next,We,this.g.o):(this.g.o(We),O(this))};function Ze(We,C2){be(We.g);var W2=We.g.j;return W2?fe(We,"return"in W2?W2.return:function(gt){return{value:gt,done:!0}},C2,We.g.return):(We.g.return(C2),O(We))}ye.prototype.s=function(We){return be(this.g),this.g.j?fe(this,this.g.j.throw,We,this.g.o):(this.g.s(We),O(this))};function fe(We,C2,W2,gt){try{var Gt=C2.call(We.g.j,W2);if(!(Gt instanceof Object))throw new TypeError("Iterator result "+Gt+" is not an object");if(!Gt.done)return We.g.m=!1,Gt;var p3=Gt.value}catch(d3){return We.g.j=null,We.g.s(d3),O(We)}return We.g.j=null,gt.call(We.g,p3),O(We)}function O(We){for(;We.g.h;)try{var C2=We.G(We.g);if(C2)return We.g.m=!1,{value:C2.value,done:!1}}catch(W2){We.g.v=void 0,We.g.s(W2)}if(We.g.m=!1,We.g.l){if(C2=We.g.l,We.g.l=null,C2.F)throw C2.D;return{value:C2.return,done:!0}}return{value:void 0,done:!0}}function te(We){this.next=function(C2){return We.o(C2)},this.throw=function(C2){return We.s(C2)},this.return=function(C2){return Ze(We,C2)},this[Symbol.iterator]=function(){return this}}function oe(We,C2){return C2=new te(new ye(C2)),re&&We.prototype&&re(C2,We.prototype),C2}function De(We,C2){We instanceof String&&(We+="");var W2=0,gt=!1,Gt={next:function(){if(!gt&&W2<We.length){var p3=W2++;return{value:C2(p3,We[p3]),done:!1}}return gt=!0,{done:!0,value:void 0}}};return Gt[Symbol.iterator]=function(){return Gt},Gt}if(N("Array.prototype.entries",function(We){return We||function(){return De(this,function(C2,W2){return[C2,W2]})}}),typeof Blob!="undefined"&&(typeof FormData=="undefined"||!FormData.prototype.keys)){var He=function(We,C2){for(var W2=0;W2<We.length;W2++)C2(We[W2])},i2=function(We){return We.replace(/\r?\n|\r/g,`\r |
|
|
`)},a2=function(We,C2,W2){return C2 instanceof Blob?(W2=W2!==void 0?W2+"":typeof C2.name=="string"?C2.name:"blob",(C2.name!==W2||Object.prototype.toString.call(C2)==="[object Blob]")&&(C2=new File([C2],W2)),[String(We),C2]):[String(We),String(C2)]},x2=function(We,C2){if(We.length<C2)throw new TypeError(C2+" argument required, but only "+We.length+" present.")},G2=typeof globalThis=="object"?globalThis:typeof window=="object"?window:typeof self=="object"?self:this,$2=G2.FormData,F2=G2.XMLHttpRequest&&G2.XMLHttpRequest.prototype.send,Dt=G2.Request&&G2.fetch,Ut=G2.navigator&&G2.navigator.sendBeacon,zt=G2.Element&&G2.Element.prototype,i3=G2.Symbol&&Symbol.toStringTag;i3&&(Blob.prototype[i3]||(Blob.prototype[i3]="Blob"),"File"in G2&&!File.prototype[i3]&&(File.prototype[i3]="File"));try{new File([],"")}catch(We){G2.File=function(C2,W2,gt){return C2=new Blob(C2,gt||{}),Object.defineProperties(C2,{name:{value:W2},lastModified:{value:+(gt&>.lastModified!==void 0?new Date(gt.lastModified):new Date)},toString:{value:function(){return"[object File]"}}}),i3&&Object.defineProperty(C2,i3,{value:"File"}),C2}}var e3=function(We){return We.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22")},c3=function(We){this.i=[];var C2=this;We&&He(We.elements,function(W2){if(W2.name&&!W2.disabled&&W2.type!=="submit"&&W2.type!=="button"&&!W2.matches("form fieldset[disabled] *"))if(W2.type==="file"){var gt=W2.files&&W2.files.length?W2.files:[new File([],"",{type:"application/octet-stream"})];He(gt,function(Gt){C2.append(W2.name,Gt)})}else W2.type==="select-multiple"||W2.type==="select-one"?He(W2.options,function(Gt){!Gt.disabled&&Gt.selected&&C2.append(W2.name,Gt.value)}):W2.type==="checkbox"||W2.type==="radio"?W2.checked&&C2.append(W2.name,W2.value):(gt=W2.type==="textarea"?i2(W2.value):W2.value,C2.append(W2.name,gt))})};if(J=c3.prototype,J.append=function(We,C2,W2){x2(arguments,2),this.i.push(a2(We,C2,W2))},J.delete=function(We){x2(arguments,1);var C2=[];We=String(We),He(this.i,function(W2){W2[0]!==We&&C2.push(W2)}),this.i=C2},J.entries=function We(){var C2,W2=this;return oe(We,function(gt){if(gt.h==1&&(C2=0),gt.h!=3)return C2<W2.i.length?gt=ge(gt,W2.i[C2]):(gt.h=0,gt=void 0),gt;C2++,gt.h=2})},J.forEach=function(We,C2){x2(arguments,1);for(var W2=U(this),gt=W2.next();!gt.done;gt=W2.next()){var Gt=U(gt.value);gt=Gt.next().value,Gt=Gt.next().value,We.call(C2,Gt,gt,this)}},J.get=function(We){x2(arguments,1);var C2=this.i;We=String(We);for(var W2=0;W2<C2.length;W2++)if(C2[W2][0]===We)return C2[W2][1];return null},J.getAll=function(We){x2(arguments,1);var C2=[];return We=String(We),He(this.i,function(W2){W2[0]===We&&C2.push(W2[1])}),C2},J.has=function(We){x2(arguments,1),We=String(We);for(var C2=0;C2<this.i.length;C2++)if(this.i[C2][0]===We)return!0;return!1},J.keys=function We(){var C2=this,W2,gt,Gt,p3,d3;return oe(We,function(y3){if(y3.h==1&&(W2=U(C2),gt=W2.next()),y3.h!=3){if(gt.done){y3.h=0;return}return Gt=gt.value,p3=U(Gt),d3=p3.next().value,ge(y3,d3)}gt=W2.next(),y3.h=2})},J.set=function(We,C2,W2){x2(arguments,2),We=String(We);var gt=[],Gt=a2(We,C2,W2),p3=!0;He(this.i,function(d3){d3[0]===We?p3&&(p3=!gt.push(Gt)):gt.push(d3)}),p3&>.push(Gt),this.i=gt},J.values=function We(){var C2=this,W2,gt,Gt,p3,d3;return oe(We,function(y3){if(y3.h==1&&(W2=U(C2),gt=W2.next()),y3.h!=3){if(gt.done){y3.h=0;return}return Gt=gt.value,p3=U(Gt),p3.next(),d3=p3.next().value,ge(y3,d3)}gt=W2.next(),y3.h=2})},c3.prototype._asNative=function(){for(var We=new $2,C2=U(this),W2=C2.next();!W2.done;W2=C2.next()){var gt=U(W2.value);W2=gt.next().value,gt=gt.next().value,We.append(W2,gt)}return We},c3.prototype._blob=function(){var We="----formdata-polyfill-"+Math.random(),C2=[],W2="--"+We+`\r |
|
|
Content-Disposition: form-data; name="`;return this.forEach(function(gt,Gt){return typeof gt=="string"?C2.push(W2+e3(i2(Gt))+(`"\r |
|
|
\r |
|
|
`+i2(gt)+`\r |
|
|
`)):C2.push(W2+e3(i2(Gt))+('"; filename="'+e3(gt.name)+`"\r |
|
|
Content-Type: `+(gt.type||"application/octet-stream")+`\r |
|
|
\r |
|
|
`),gt,`\r |
|
|
`)}),C2.push("--"+We+"--"),new Blob(C2,{type:"multipart/form-data; boundary="+We})},c3.prototype[Symbol.iterator]=function(){return this.entries()},c3.prototype.toString=function(){return"[object FormData]"},zt&&!zt.matches&&(zt.matches=zt.matchesSelector||zt.mozMatchesSelector||zt.msMatchesSelector||zt.oMatchesSelector||zt.webkitMatchesSelector||function(We){We=(this.document||this.ownerDocument).querySelectorAll(We);for(var C2=We.length;0<=--C2&&We.item(C2)!==this;);return-1<C2}),i3&&(c3.prototype[i3]="FormData"),F2){var e1=G2.XMLHttpRequest.prototype.setRequestHeader;G2.XMLHttpRequest.prototype.setRequestHeader=function(We,C2){e1.call(this,We,C2),We.toLowerCase()==="content-type"&&(this.B=!0)},G2.XMLHttpRequest.prototype.send=function(We){We instanceof c3?(We=We._blob(),this.B||this.setRequestHeader("Content-Type",We.type),F2.call(this,We)):F2.call(this,We)}}Dt&&(G2.fetch=function(We,C2){return C2&&C2.body&&C2.body instanceof c3&&(C2.body=C2.body._blob()),Dt.call(this,We,C2)}),Ut&&(G2.navigator.sendBeacon=function(We,C2){return C2 instanceof c3&&(C2=C2._asNative()),Ut.call(this,We,C2)}),G2.FormData=c3}})();var et=function(){function J(H,w){for(var T=0;T<w.length;T++){var R=w[T];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(H,R.key,R)}}return function(H,w,T){return w&&J(H.prototype,w),T&&J(H,T),H}}();function P3(J,H){if(!(J instanceof H))throw new TypeError("Cannot call a class as a function")}var me=function(){var J=void 0;return function(H){return H&&(J=H),J}}();(function(){function J(){if(P3(this,J),me())return me();if(J.unique!==void 0)return J.unique;J.unique=this,this.oAudioContext=null,this.currentVolume=80,this.bSetVolume=!1,this.gainNode=null,this.iWndNum=-1,this.mVolumes=new Map;var H=window.AudioContext||window.webkitAudioContext;this.oAudioContext=new H,this.writeString=function(w,T,R){for(var N=0;N<R.length;N++)w.setUint8(T+N,R.charCodeAt(N))},this.setBufferToDataview=function(w,T,R){for(var N=0;N<R.length;N++,T++)w.setUint8(T,R[N])},me(this)}return et(J,[{key:"Play",value:function(w,T,R){var N=new ArrayBuffer(44+T),z=new DataView(N),U=R.samplesPerSec,ue=R.channels,pe=R.bitsPerSample;this.writeString(z,0,"RIFF"),z.setUint32(4,32+T*2,!0),this.writeString(z,8,"WAVE"),this.writeString(z,12,"fmt "),z.setUint32(16,16,!0),z.setUint16(20,1,!0),z.setUint16(22,ue,!0),z.setUint32(24,U,!0),z.setUint32(28,U*2,!0),z.setUint16(32,ue*pe/8,!0),z.setUint16(34,pe,!0),this.writeString(z,36,"data"),z.setUint32(40,T,!0),this.setBufferToDataview(z,44,w);var de=this;return this.oAudioContext.decodeAudioData(z.buffer,function(se){var re=de.oAudioContext.createBufferSource();if(re==null)return-1;re.buffer=se,re.start(0),(de.gainNode==null||de.bSetVolume)&&(de.gainNode=de.oAudioContext.createGain(),de.bSetVolume=!1),de.gainNode.gain.value=de.currentVolume/100,de.gainNode.connect(de.oAudioContext.destination),re.connect(de.gainNode)},function(se){return console.log("decode error"),-1}),0}},{key:"Stop",value:function(){return this.gainNode!=null&&(this.gainNode.disconnect(),this.gainNode=null),!0}},{key:"SetVolume",value:function(w){return this.bSetVolume=!0,this.currentVolume=w,this.mVolumes.set(this.iWndNum,this.currentVolume),!0}},{key:"SetWndNum",value:function(w){this.iWndNum=w;var T=this.mVolumes.get(w);return T==null&&(T=80),this.currentVolume=T,!0}},{key:"GetVolume",value:function(){var w=this.mVolumes.get(this.iWndNum);return w==null&&(w=80),w}}]),window.AudioRenderer=J,J})();var ze=["attribute vec4 vertexPos;","attribute vec2 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos;","}"].join(` |
|
|
`),Qe=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join(` |
|
|
`);(function(J,H){window.SuperRender=H()})(void 0,function(){function J(H){this.canvasElement=document.getElementById(H),this.initContextGL(),this.contextGL&&(this.YUVProgram=this.initProgram(ze,Qe),this.initBuffers(),this.initTextures())}return J.prototype.initContextGL=function(){var H=this.canvasElement,w=null;try{w=H.getContext("webgl")||H.getContext("experimental-webgl")}catch(T){w=null}(!w||typeof w.getParameter!="function")&&(w=null),this.contextGL=w,console.log("WebGL1.0")},J.prototype.initProgram=function(H,w){var T=this.contextGL,R=T.createShader(T.VERTEX_SHADER);T.shaderSource(R,H),T.compileShader(R),T.getShaderParameter(R,T.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+T.getShaderInfoLog(R));var N=T.createShader(T.FRAGMENT_SHADER);T.shaderSource(N,w),T.compileShader(N),T.getShaderParameter(N,T.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+T.getShaderInfoLog(N));var z=T.createProgram();return T.attachShader(z,R),T.attachShader(z,N),T.linkProgram(z),T.getProgramParameter(z,T.LINK_STATUS)||console.log("Program failed to compile: "+T.getProgramInfoLog(z)),T.deleteShader(R),T.deleteShader(N),z},J.prototype.initBuffers=function(){var H=this.contextGL,w=H.createBuffer();H.bindBuffer(H.ARRAY_BUFFER,w),H.bufferData(H.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),H.STATIC_DRAW),H.bindBuffer(H.ARRAY_BUFFER,null);var T=H.createBuffer();H.bindBuffer(H.ARRAY_BUFFER,T),H.bufferData(H.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),H.DYNAMIC_DRAW),H.bindBuffer(H.ARRAY_BUFFER,null),this.vertexPosBuffer=w,this.texturePosBuffer=T},J.prototype.initTexture=function(){var H=this.contextGL,w=H.createTexture();return H.bindTexture(H.TEXTURE_2D,w),H.texParameteri(H.TEXTURE_2D,H.TEXTURE_MAG_FILTER,H.LINEAR),H.texParameteri(H.TEXTURE_2D,H.TEXTURE_MIN_FILTER,H.LINEAR),H.texParameteri(H.TEXTURE_2D,H.TEXTURE_WRAP_S,H.CLAMP_TO_EDGE),H.texParameteri(H.TEXTURE_2D,H.TEXTURE_WRAP_T,H.CLAMP_TO_EDGE),H.bindTexture(H.TEXTURE_2D,null),w},J.prototype.initTextures=function(){var H=this.contextGL,w=this.YUVProgram;H.useProgram(w);var T=this.initTexture(),R=H.getUniformLocation(w,"ySampler");H.uniform1i(R,0),this.yTextureRef=T;var N=this.initTexture(),z=H.getUniformLocation(w,"uSampler");H.uniform1i(z,1),this.uTextureRef=N;var U=this.initTexture(),ue=H.getUniformLocation(w,"vSampler");H.uniform1i(ue,2),this.vTextureRef=U,H.useProgram(null)},J.prototype.SR_DisplayFrameData=function(H,w,T,R,N){if(!(H<=0||w<=0)){var z=this.contextGL;if(T==null){z.clearColor(0,0,0,0),z.clear(z.COLOR_BUFFER_BIT|z.DEPTH_BUFFER_BIT);return}var U=this.canvasElement;this.nWindowWidth=U.width,this.nWindowHeight=U.height;var ue=this.nWindowWidth,pe=this.nWindowHeight;z.clearColor(.8,.8,1,1),z.clear(z.COLOR_BUFFER_BIT|z.DEPTH_BUFFER_BIT),z.viewport(0,0,ue,pe),this.updateFrameData(H,w,T,R,N);var de=this.YUVProgram;z.useProgram(de);var se=this.vertexPosBuffer;z.bindBuffer(z.ARRAY_BUFFER,se);var re=z.getAttribLocation(de,"vertexPos");z.enableVertexAttribArray(re),z.vertexAttribPointer(re,2,z.FLOAT,!1,0,0),z.bindBuffer(z.ARRAY_BUFFER,null);var Be=this.texturePosBuffer;z.bindBuffer(z.ARRAY_BUFFER,Be);var be=z.getAttribLocation(de,"texturePos");z.enableVertexAttribArray(be),z.vertexAttribPointer(be,2,z.FLOAT,!1,0,0),z.bindBuffer(z.ARRAY_BUFFER,null),z.drawArrays(z.TRIANGLE_STRIP,0,4),z.disableVertexAttribArray(re),z.disableVertexAttribArray(be),z.useProgram(null)}},J.prototype.updateFrameData=function(H,w,T,R,N){var z=this.contextGL,U=this.yTextureRef,ue=this.uTextureRef,pe=this.vTextureRef,de=T;if(H==R&&w==N){var se=H*w,re=de.subarray(0,se);z.activeTexture(z.TEXTURE0),z.bindTexture(z.TEXTURE_2D,U),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,H,w,0,z.LUMINANCE,z.UNSIGNED_BYTE,re);var Be=H/2*w/2,be=de.subarray(H*w,H*w+Be);z.activeTexture(z.TEXTURE2),z.bindTexture(z.TEXTURE_2D,pe),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,H/2,w/2,0,z.LUMINANCE,z.UNSIGNED_BYTE,be);var ge=Be,ye=de.subarray(H*w+H*w/4,H*w+H*w/4+ge);z.activeTexture(z.TEXTURE1),z.bindTexture(z.TEXTURE_2D,ue),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,H/2,w/2,0,z.LUMINANCE,z.UNSIGNED_BYTE,ye)}else{for(var se=R*N,re=new Uint8Array(se),Ze=0;Ze<N;Ze++)for(var fe=de.subarray(Ze*H,Ze*H+R),O=0;O<R;O++)re[Ze*R+O]=fe[O];z.activeTexture(z.TEXTURE0),z.bindTexture(z.TEXTURE_2D,U),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,R,N,0,z.LUMINANCE,z.UNSIGNED_BYTE,re),re=null,fe=null;for(var Be=R/2*N/2,be=new Uint8Array(Be),Ze=0;Ze<N/2;Ze++)for(var te=de.subarray(H*w+Ze*H/2,H*w+Ze*H/2+R/2),O=0;O<R/2;O++)be[Ze*R/2+O]=te[O];z.activeTexture(z.TEXTURE2),z.bindTexture(z.TEXTURE_2D,pe),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,R/2,N/2,0,z.LUMINANCE,z.UNSIGNED_BYTE,be),be=null,te=null;for(var ge=Be,ye=new Uint8Array(ge),Ze=0;Ze<N/2;Ze++)for(var oe=de.subarray(H*w*5/4+Ze*H/2,H*w*5/4+Ze*H/2+R/2),O=0;O<R/2;O++)ye[Ze*R/2+O]=oe[O];z.activeTexture(z.TEXTURE1),z.bindTexture(z.TEXTURE_2D,ue),z.texImage2D(z.TEXTURE_2D,0,z.LUMINANCE,R/2,N/2,0,z.LUMINANCE,z.UNSIGNED_BYTE,ye),ye=null,oe=null}},J.prototype.SR_SetDisplayRect=function(H){var w=this.contextGL,T=this.nWindowWidth,R=this.nWindowHeight,N=null;if(H&&T>0&&R>0){var z=H.left/T,U=H.top/R,ue=H.right/T,pe=H.bottom/R;N=new Float32Array([ue,U,z,U,ue,pe,z,pe])}else N=new Float32Array([1,0,0,0,1,1,0,1]);var de=this.texturePosBuffer;w.bindBuffer(w.ARRAY_BUFFER,de),w.bufferSubData(w.ARRAY_BUFFER,0,N),w.bindBuffer(w.ARRAY_BUFFER,null)},J.prototype.SR_Destroy=function(){var H=this.contextGL,w=this.YUVProgram;H.deleteProgram(w);var T=this.vertexPosBuffer,R=this.texturePosBuffer;H.deleteBuffer(T),H.deleteBuffer(R);var N=this.yTextureRef,z=this.uTextureRef,U=this.vTextureRef;H.deleteTexture(N),H.deleteTexture(z),H.deleteTexture(U)},J});var y2="https://open.ys7.com",ct="".concat(y2,"/console/ezuikit_static/v66/v2"),Le="".concat(y2,"/console/ezuikit_static/v66/v1"),M2=function(H,w){var T=["theme","standard"],R=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof H=="undefined")return w.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof H=="string"){if(H.length===32)return{templateType:"remote",templateId:H};if(T.indexOf(H)!==-1)return H==="simple"&&typeof w.header=="undefined"&&typeof w.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:H};if(R.indexOf(H)!==-1)return{templateType:"local",templateId:H}}},$t=function(){var H=window.navigator.userAgent.toLowerCase(),w={sa:/version.*safari/.test(H),ch:/chrome/.test(H),ff:/gecko/.test(H)&&!/webkit/.test(H)},T=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(T)return!1;if(w.ch){var R=function(){for(var z=window.navigator.userAgent.split(" "),U="",ue=0;ue<z.length;ue++)/chrome/i.test(z[ue])&&(U=z[ue]);return U?Number(U.split("/")[1].split(".")[0]):!1};return R()>91&&!!window.SharedArrayBuffer}return!1},we=function(){function J(H){var w=this;i(this,J),this.isStoping=!1;var T=H.autoplay,R=T===void 0?!0:T;if((H.template||H.themeData)&&(R=!1),this.params=H,this.autoplay=R,window.EZUIKit[H.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[H.id]&&window.EZUIKit[H.id].state&&window.EZUIKit[H.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[H.id]&&window.EZUIKit[H.id].state&&window.EZUIKit[H.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[H.id]&&window.EZUIKit[H.id].state&&window.EZUIKit[H.id].state.EZUIKitPlayer.talkInit||!1}}},M2(this.params.template,H).templateType!=="iframe"){this.Monitor=new Y2({env:typeof H.disableMonitor!="undefined"&&H.disableMonitor?"test12":"online"},this),this.id=H.id,this.width=H.width,this.height=H.height,this.url=H.url,this.accessToken=H.accessToken,this.themeId=M2(H.template,H).templateId,this.id=H.id,this.audio=!0,this.poster=H.poster,this.speed=1,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.enableSharedArrayBufferGuide=!1,this.capacity={},this.playTimer=null,this.env={domain:"https://open.ys7.com"};var N=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=N,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=$t()?ct:Le,typeof H.staticPath=="string"&&(H.staticPath.startsWith("http")?this.staticPath=H.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+H.staticPath,$t()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof H.audio!="undefined"&&(this.audio=H.audio),typeof H.env!="undefined"&&(this.env=Object.assign(this.env,H.env)),typeof H.isMobile!="undefined"&&(this.isMobile=H.isMobile),typeof H.disabledTimeLine!="undefined"&&(this.disabledTimeLine=H.disabledTimeLine),typeof H.disabledPTZ!="undefined"&&(this.disabledPTZ=H.disabledPTZ),typeof H.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=H.enableSharedArrayBufferGuide);var z="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),U=function(){if(window.addPluginUrlIng=!0,$t())console.log("启用多线程解析视频"),z="".concat(w.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var de=function(){for(var ye=navigator.userAgent.split(" "),Ze="",fe=0;fe<ye.length;fe++)/chrome/i.test(ye[fe])&&(Ze=ye[fe]);return Ze?Number(Ze.split("/")[1].split(".")[0]):!1};if(!N&&91<de&&w.enableSharedArrayBufferGuide){console.log("提示用户开启谷歌实验室特性");var se="".concat(w.id,"-wrap"),re=document.createElement("div"),Be=document.createElement("span");Be.innerHTML="您当前浏览器可以开启谷歌实验室多线程特性,获取更好播放体验,避免浏览器卡顿及崩溃,详见",re.appendChild(Be);var be=document.createElement("a");be.href="https://open.ys7.com/help/384",be.setAttribute("target","_blank"),re.appendChild(be),be.innerHTML="开启说明",re.id="".concat(w.id,"-guide"),re.style="font-size:12px;color:red;",setTimeout(function(){document.getElementById(se)&&document.getElementById(se).insertBefore(re,document.getElementById(w.id))},5e3)}}w.pluginStatus=new F(w,w.id),l(z,function(){if(w.autoplay){w.initTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:0,text:"startInit",isVersion2Available:$t()?1:0}),w.Monitor.localInfoLog({Serial:S(w.url).deviceSerial,Channel:S(w.url).channelNo,Ver:$t()?"v7.0.0":"v6.0.0",ExterVer:$t()?"v7.0.0":"v6.0.0"}),console.log("初始化-");var ge=w.initEZUIKitPlayer(H),ye=w._getRealUrlPromise(H.accessToken,H.url);Promise.all([ge,ye]).then(function(Ze){Ze[1]?(w.playStartTime=new Date().getTime(),w._pluginPlay(Ze[1],function(){console.log("自动播放成功"),w.Monitor.dclog({url:w.url,action:202,d:new Date().getTime()-w.initTime,text:"autoPlaySuccess"})},function(){console.log("自动播放失败"),w.Monitor.dclog({url:w.url,action:402,d:new Date().getTime()-w.initTime,text:"autoPlayError"})})):console.log("promise of one",Ze),window.EZUIKit[H.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(H.id,"canvas_draw0"))&&(document.getElementById("".concat(H.id,"canvas_draw0")).style.border="none")}).catch(function(Ze){console.log("err",Ze),w.Theme&&w.Theme.setDisabled(!0),w.pluginStatus.loadingClear(),w.pluginStatus.loadingSetText({text:Ze&&Ze.msg||"获取播放地址失败",color:"red"})})}else{w.initTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:0,text:"startInit",isVersion2Available:$t()?1:0}),w.Monitor.localInfoLog({Serial:S(w.url).deviceSerial,Channel:S(w.url).channelNo,Ver:$t()?"v7.0.0":"v6.0.0"});var ge=w.initEZUIKitPlayer(H);ge.then(function(fe){console.log("初始化成功",fe),window.EZUIKit[H.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(H.id,"canvas_draw0"))&&(document.getElementById("".concat(H.id,"canvas_draw0")).style.border="none"),w.initSuccessTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:201,d:w.initSuccessTime-w.initTime,text:"initSuccess",isVersion2Available:$t()?1:0})})}},function(){return $t()?!!window.JSPluginV2||!!window.addPluginUrled:!!window.JSPluginV1||!!window.addPluginUrled}),H.plugin&&H.plugin.indexOf("talk")!==-1&&(w.Talk=new Ge(w),window.EZUIKit[H.id].state.EZUIKitPlayer.talkInit=!0),w.getDeviceCapacity()};if(window.addPluginUrlIng)var ue=setInterval(function(){(window.JSPluginV1||window.JSPluginV2)&&(clearInterval(ue),U())},50);else U()}else return new rt.EZUIKitPlayer(H);this.play=Ft(function(pe){return w._play(pe)},500,!0),this.resume=Ft(function(pe){return w._resume(pe)},500,!0),this.changePlayUrl=Ft(function(pe,de){return w._changePlayUrl(pe,de)},500),window.addEventListener("beforeunload",function(){console.log("退出页面,停止视频流"),w.stop()})}return a(J,[{key:"initEZUIKitPlayer",value:function(w){var T=this,R=w.id,N=w.width,z=N===void 0?600:N,U=w.height,ue=U===void 0?400:U;if(!w.width||!w.height){var pe=document.getElementById(R).getBoundingClientRect();!w.width&&pe.width>0&&(z=pe.width),!w.height&&pe.height>0&&(ue=pe.height)}if(!document.getElementById("".concat(R,"-wrap"))){var de=document.createElement("div");de.id="".concat(R,"-wrap"),de.style="display:inline-block;width:".concat(z,"px;position:relative;vertical-align: bottom;"),document.getElementById(R).parentNode.insertBefore(de,document.getElementById(R)),document.getElementById(R).parentNode.removeChild(document.getElementById(R)),de.innerHTML="<div id=".concat(R,"></div>"),document.getElementById(R).style="display:inline-block;width:".concat(z,"px;height:").concat(ue,"px;"),document.getElementById(R).style.verticalAlign="top"}this.themeId&&(this.Theme=new l2(this,w.id),window.EZUIKit[w.id].state.EZUIKitPlayer.themeInit=!0,this.Monitor.dclog({url:this.url,action:2,text:this.themeId}),typeof this.params.handleThemeChange=="function"&&(this.handleThemeChange=this.params.handleThemeChange));var se=new V(this,R);this.Message=se;var re=function(ge,ye){var Ze;if($t()){Ze=new window.JSPluginV2({szId:R,iType:2,iWidth:z,iHeight:ue,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:T.staticPath,oStyle:{border:"none",background:"#000000"}}),T.pluginStatus.loadingStart(R),T.pluginStatus.loadingSetText({text:"初始化播放器完成"}),Ze.EventCallback={pluginErrorHandler:function(te,oe,De){if(console.log(te,oe,De),oe===1003)console.log("断流"),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),Ze.bPlay||(T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof T.params.handleError=="function"&&T.params.handleError({msg:"连接断开,请重试",retcode:1003,id:T.params.id,type:"handleError"});else if(De.errorCode!=1){var He=T.errorHander.matchErrorInfo(De.errorCode),i2="连接断开,请重试";He&&He.msg?i2=He.msg:He&&He.description&&(i2=He.description),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:i2,color:"red"})}else T.pluginStatus.loadingClear(),T.Theme&&T.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),T.openStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:224,d:T.openStreamTime-T.gotWsUrlTime,text:"openStream",isVersion2Available:$t()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),T.getStreamHeaderTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:225,d:T.getStreamHeaderTime-T.openStreamTime,text:"getStreamHeader",isVersion2Available:$t()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),T.getVideoStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:226,d:T.getVideoStreamTime-T.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:$t()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),T.appearFirstFrameTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:227,d:T.appearFirstFrameTime-T.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:$t()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),T.averageStreamSuccessTime=T.initSuccessTime-T.initTime+(T.gotWsUrlTime-T.startGetWsUrlTime)+(T.appearFirstFrameTime-T.openStreamTime),T.Monitor.dclog({url:T.url,action:228,d:T.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:$t()?1:0})}},T.env={domain:"https://open.ys7.com"},typeof w.env!="undefined"&&(T.env=Object.assign(T.env,w.env)),typeof w.handleTalkSuccess!="undefined"&&(T.handleTalkSuccess=w.handleTalkSuccess),typeof w.handleTalkError!="undefined"&&(T.handleTalkError=w.handleTalkError),T.errorHander=new K,T.jSPlugin=Ze;var fe=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(fe),typeof T.params.handleInitSuccess=="function"&&T.params.handleInitSuccess({retcode:0,id:T.params.id,type:"handleInitSuccess"}),ge({meta:{retcode:200,msg:"初始化成功"}}),w.url.indexOf("rec")!=-1&&T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"))},50)}else Ze=new window.JSPluginV1({szId:R,iType:2,iWidth:z,iHeight:ue,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:T.staticPath,oStyle:{border:"none",background:"#000000"}}),T.pluginStatus.loadingStart(R),T.pluginStatus.loadingSetText({text:"初始化播放器完成"}),Ze.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),T.openStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:224,d:T.openStreamTime-T.gotWsUrlTime,text:"openStream",isVersion2Available:$t()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),T.getStreamHeaderTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:225,d:T.getStreamHeaderTime-T.openStreamTime,text:"getStreamHeader",isVersion2Available:$t()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),T.getVideoStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:226,d:T.getVideoStreamTime-T.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:$t()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),T.appearFirstFrameTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:227,d:T.appearFirstFrameTime-T.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:$t()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),T.averageStreamSuccessTime=T.initSuccessTime-T.initTime+(T.gotWsUrlTime-T.startGetWsUrlTime)+(T.appearFirstFrameTime-T.openStreamTime),T.Monitor.dclog({url:T.url,action:228,d:T.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:$t()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(te){},pluginErrorHandler:function(te,oe,De){if(console.log(te,oe,De),oe===1003)console.log("断流"),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),Ze.bPlay||(T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof T.params.handleError=="function"&&T.params.handleError({msg:"连接断开,请重试",retcode:1003,id:T.params.id,type:"handleError"});else if(De.errorCode!=1){var He=T.errorHander.matchErrorInfo(De.errorCode),i2="连接断开,请重试";He&&He.msg?i2=He.msg:He&&He.description&&(i2=He.description),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:i2,color:"red"})}else T.pluginStatus.loadingClear(),T.Theme&&T.Theme.setDisabled(!1)},windowEventOver:function(te){},windowEventOut:function(te){},windowEventUp:function(te){},windowFullCcreenChange:function(te){},firstFrameDisplay:function(te,oe,De){console.log(oe,De),Ze.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(te,oe,De){}},T.env={domain:"https://open.ys7.com"},typeof w.env!="undefined"&&(T.env=Object.assign(T.env,w.env)),typeof w.handleTalkSuccess!="undefined"&&(T.handleTalkSuccess=w.handleTalkSuccess),typeof w.handleTalkError!="undefined"&&(T.handleTalkError=w.handleTalkError),T.errorHander=new K,T.jSPlugin=Ze,typeof T.params.handleInitSuccess=="function"&&T.params.handleInitSuccess({retcode:0,id:T.params.id,type:"handleInitSuccess"}),ge({meta:{retcode:200,msg:"初始化成功"}}),w.url.indexOf("rec")!=-1&&T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec")},Be=new Promise(re);return Be}},{key:"_getRealUrlPromise",value:function(w,T){var R=this;console.log("获取播放地址 url => ".concat(T," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:$t()?1:0});var N=this.env.domain;this.env&&(N=this.env.domain);var z=function(de,se){var re="",Be=N+"/api/lapp/live/url/ezopen",be=new FormData;be.append("ezopen",T),be.append("isFlv",!1),be.append("userAgent",window.navigator.userAgent),be.append("isHttp",!1),be.append("accessToken",w),fetch(Be,{method:"POST",body:be}).then(function(ge){return ge.json()}).then(function(ge){if(ge.code==200||ge.retcode==0){var ye="",Ze="";ge.ext&&ge.ext.token?(re+=ge.data,Ze=ge.ext.token,ye=ge.data):ge.data&&ge.data.token&&(re+=ge.data.url,Ze=ge.data.token,ye=ge.data.url);var fe=T.indexOf("live")!==-1?"live":"playback";fe==="live"?re=re+"&ssn="+Ze+"&auth=1&biz=4&cln=100":re=re+"&ssn="+Ze+"&auth=1&cln=100",console.log(re);var O=d("checkCode",re);if(O&&(typeof R.jSPlugin.decoderVersion!="undefined"&&R.jSPlugin.decoderVersion==="2.0"?R.validateCode=O:(console.log("设置密钥",O),R.jSPlugin.JS_SetSecretKey(0,O))),re.indexOf("playback")!==-1){var te=d("begin",ye)||d("begin",T),oe=d("end",ye)||d("end",T);if(te)re=re.replace("&begin="+d("begin",ye),"&begin="+U(te,"000000")),d("begin",re)||(re+="&begin="+U(te,"000000"));else{var De=new Date;re=re+"&begin="+De.Format("yyyyMMdd")+"T000000Z"}if(oe?(re=re.replace("&end="+d("end",ye),"&end="+U(oe,"235959")),d("end",re)||(re+="&end="+U(oe,"235959"))):re=re+"&end="+U(d("begin",re).substr(0,8),"235959"),d("stream",ye)||(re=re.replace("stream","&stream")),T.indexOf(".cloud")!==-1){var He=function(i3){if(i3.code==200){var e3=[];if(i3.data&&i3.data.files&&i3.data.files.length>0){var c3=i3.data.files,e1=new Date().getTime(),We=i3.data.isAll;if(We){e3=gt(c3);var C2=JSON.stringify(e3).replace("\\","");re+="&recSlice="+C2.replace("\\","")+"&r="+Math.random(),de(re)}else{var W2=function Gt(){function p3(d3){if(d3.data&&d3.data.files&&d3.data.files.length>0)if(d3.data.isAll==!1)d3.data.files&&(c3=c3.concat(d3.data.files)),e1=d3.data.nextFileTime>0?d3.data.nextFileTime:new Date().getTime(),Gt();else{e3=gt(c3);var y3=JSON.stringify(e3).replace("\\","");re+="&recSlice="+y3.replace("\\","")+"&r="+Math.random(),de(re)}else{e3=gt(c3);var y3=JSON.stringify(e3).replace("\\","");re+="&recSlice="+y3.replace("\\","")+"&r="+Math.random(),de(re)}}F2.startTime=e1,A($2,"POST",F2,"",p3)};W2()}}else se({retcode:-1,msg:"未找到录像片段"})}else se({retcode:-1,msg:"未找到录像片段"});function gt(Gt){var p3=[];return Gt.forEach(function(d3,y3){p3.length==0||d3.downloadPath!==p3[p3.length-1].downloadPath?p3.push({downloadPath:d3.downloadPath,ownerId:d3.ownerId,iStorageVersion:d3.iStorageVersion,videoType:d3.videoType,iPlaySpeed:0,startTime:d3.startTime,endTime:d3.endTime}):p3[p3.length-1].endTime=d3.endTime}),p3}},i2=ue(d("begin",re)),a2=ue(d("end",re)),x2=d("serial",re),G2=d("chn",re),$2=N+"/api/lapp/video/by/time",F2={accessToken:R.accessToken,recType:1,deviceSerial:x2,channelNo:G2,startTime:i2,endTime:a2,version:"2.0"};A($2,"POST",F2,"",He)}else if(T.indexOf("alarmId")!==-1){var Dt=function(W2){if(W2.code==200){var gt=[];if(W2.data){gt=p3([W2.data]);var Gt=JSON.stringify(gt).replace("\\","");re+="&recSlice="+Gt.replace("\\",""),console.log("realUrl",re,W2.data.recType),W2.data.recType==1?re=re.replace("/playback","/cloudplayback"):re=re.replace("/cloudplayback","/playback"),de(re)}}function p3(d3){var y3=[];return d3.forEach(function(t1,Br){y3.length==0||t1.downloadPath!==y3[y3.length-1].downloadPath?y3.push({downloadPath:t1.downloadPath,ownerId:t1.ownerId,iStorageVersion:t1.iStorageVersion,videoType:t1.videoType,iPlaySpeed:0,startTime:t1.startTime,endTime:t1.endTime}):y3[y3.length-1].endTime=t1.endTime}),console.log("downloadPathArr",y3),y3}};console.log("进入alarmId回放");var Ut=d("alarmId",re),i2=ue(d("begin",re)),a2=ue(d("end",re)),x2=d("serial",re),G2=d("chn",re),$2=N+"/api/lapp/video/by/id",F2={accessToken:R.accessToken,deviceSerial:x2,channelNo:G2,alarmId:Ut};A($2,"POST",F2,"",Dt)}else de(re)}else de(re)}else R.Theme&&R.Theme.setDisabled(!0),R.pluginStatus.loadingClear(),R.pluginStatus.loadingSetText({text:ge.msg,color:"red"}),typeof R.params.handleError=="function"&&R.params.handleError({retcode:ge.code,msg:ge.msg,id:R.params.id,type:"handleError"}),se(ge)})};return new Promise(function(pe,de){return z(pe,de)});function U(pe,de){var se=/^[0-9]{8}T[0-9]{6}Z$/;if(se.test(pe))return pe;if(/[0-9]{8,14}/.test(pe)){var re=6-(14-pe.length),Be=de.length,be=pe+de.substring(re,Be);return be.slice(0,8)+"T"+be.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function ue(pe){var de=pe.slice(0,4),se=pe.slice(4,6),re=pe.slice(6,8),Be=pe.slice(9,11),be=pe.slice(11,13),ge=pe.slice(13,15),ye=de+"-"+se+"-"+re+" "+Be+":"+be+":"+ge;return new Date(ye.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(w,T,R){var N=this;if(console.log("执行播放 _pluginPlay",w),!w)return!1;function z(de){var se=de.split("?")[0].replace("/live","").replace("/playback",""),re=(de.indexOf("/live")===-1?de.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+de.split("?")[1];return re.indexOf("/playback")!==-1&&(re=re.replace("stream=2","stream=1")),{websocketConnectUrl:se,websocketStreamingParam:re}}var U=z(w).websocketConnectUrl;this.env&&this.env.wsUrl&&(U=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:$t()?1:0});var ue={playURL:z(w).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var pe=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",pe),this.jSPlugin.JS_Play(U,ue,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",U,ue),console.log("执行播放耗时 ",Date.now()-pe),N.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(N.validateCode&&typeof N.jSPlugin.decoderVersion!="undefined"&&N.jSPlugin.decoderVersion==="2.0"&&N.jSPlugin.JS_SetSecretKey(0,N.validateCode),N.pluginStatus.loadingClear(),N.pluginStatus.setPlayStatus({play:!0,loading:!1}),N.Theme){N.Theme.setDecoderState({play:!0});var de=E.findIndex(N.Theme.themeData.footer.btnList,function(se){return se.iconId==="sound"&&se.isrender===1&&se.defaultActive===1})>-1;N.audio=de}N.audio&&setTimeout(function(){N.openSound()},500),typeof N.params.handleSuccess=="function"&&N.params.handleSuccess({retcode:0,id:N.params.id,type:"handleSuccess"}),T(ue),N.Monitor.dclog({url:N.url,action:211,d:new Date().getTime()-N.playStartTime,text:"startPlaySuccess"}),N.Monitor.playLog({Enc:N.url.indexOf("@")===-1?0:1,PlTp:N.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-N.playStartTime,Serial:S(N.url).deviceSerial,Channel:S(N.url).channelNo,Ver:$t()?"v7.0.0":"v6.0.0"})},function(de){console.log("err",de);var se="播放失败,请检查设备及客户端网络",re=-1;if(N.jSPlugin.bPlay)return!1;if(de&&de.errorCode){var Be=N.errorHander.matchErrorInfo(de.errorCode);N.Theme&&N.Theme.setDisabled(!0),Be&&Be.msg?se=Be.msg:Be&&Be.description?se=Be.description:se="播放失败,请检查设备及客户端网络",re=de.errorCode}N.pluginStatus.loadingClear(),N.pluginStatus.loadingSetText({text:se,color:"red"}),typeof N.params.handleError=="function"&&N.params.handleError({retcode:re,msg:se,id:N.params.id,type:"handleError"}),R(),N.Monitor.dclog({url:N.url,action:411,d:new Date().getTime()-N.playStartTime,text:"startPlayError"}),N.Monitor.playLog({Enc:N.url.indexOf("@")===-1?0:1,PlTp:N.url.indexOf("back")===-1?1:2,Via:2,ErrCd:re,Cost:-1,Serial:S(N.url).deviceSerial,Channel:S(N.url).channelNo,Ver:$t()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(w){var T=this;console.log("执行播放 play options.url =>",w),this.pluginStatus.setPlayStatus({play:!1,loading:!0}),this.playStartTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:1,d:new Date().getTime()-this.initTime,text:"startPlay"}),w&&(typeof w=="string"&&(this.url=w),typeof w.url=="string"&&(this.url=w.url),typeof w.accessToken=="string"&&(this.accessToken=w.accessToken),this.Theme&&(typeof w.url=="string"||typeof w.accessToken=="string")&&this.Theme.getDeviceInfo());var R=new Promise(function(N,z){console.log("执行 播放前 stop"),T.isStoping=!0,T.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(T.url," ").concat(T.accessToken)),T._getRealUrlPromise(T.accessToken,T.url).then(function(U){T._pluginPlay(U,function(ue){N(!0)},function(){return z(!1)})}).catch(function(U){var ue=U.msg?U.msg:"播放失败,请检查设备及客户端网络";T.Theme&&T.Theme.setDisabled(!0),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:ue,color:"red"}),typeof T.params.handleError=="function"&&T.params.handleError({retcode:U.oError?U.oError.errorCode:-1,msg:ue,id:T.params.id,type:"handleError"}),z({retcode:U.oError?U.oError.errorCode:-1,msg:ue,id:T.params.id,type:"handleError"})})})});return R}},{key:"stop",value:function(){var w=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),w.pluginStatus.setPlayStatus({play:!1,loading:!1}),w.Theme&&w.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(w){var T=this,R=this.url,N=w?R.replace(".live",".hd.live"):R.replace(".hd.live",".live");this.jSPlugin.playURL=w?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",N,this.jSPlugin.playURL),this.url=N;var z=new Promise(function(U,ue){T.pause().then(function(){console.log("暂停成功"),T.resume().then(function(pe){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),T.resume().then(function(pe){console.log("恢复成功")})})});return z}},{key:"reSetTheme",value:function(){this.Theme&&this.Theme.Ptz&&(this.Theme.setDecoderState({pantile:!1}),this.Theme.Ptz.hide()),this.Theme&&this.Theme.decoderState.state.recordvideo&&this.Theme.setDecoderState({recordvideo:!1}),this.Theme&&this.Theme.decoderState.state.zoom&&(this.Zoom.stopZoom(),this.Theme.setDecoderState({zoom:!1})),this.Theme&&this.Theme.decoderState.state.talk&&(this.stopTalk(),this.Theme.setDecoderState({talk:!1})),this.Theme&&this.Theme.Rec&&!this.Theme.isMobile&&this.Theme.Rec.datepickerHide(),this.Theme&&this.Theme.Rec&&(this.Theme.changeRecSpeed(1),this.Theme.nextRate=1,this.speed=1,this.Theme.setDecoderState({speed:!1}))}},{key:"_changePlayUrl",value:function(w){var T=this,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(w),this.reSetTheme(),this.getDeviceCapacity({accessToken:w.accessToken,deviceSerial:w.deviceSerial});var N=this.url,z=ue(N,w);w.accessToken&&(this.accessToken=w.accessToken),this.url=z,R(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var U=new Promise(function(pe,de){var se={url:z};return w.accessToken&&(se.accessToken=w.accessToken),console.log("切换播放地址 参数 ",se),T.play(se).then(function(){console.log("切换播放地址 play 执行成功 ",T.url,T.accessToken),T.Theme&&T.Theme.decoderState.state.webExpend&&T.Theme.webExpend(),T.Theme&&T.Theme.decoderState.state.expend&&T.Theme.expend(),w.type?w.type=="rec"||w.type=="cloud.rec"?T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"):T.Theme.changeTheme(T.isMobile?"mobileLive":"pcLive"):T.url.indexOf(".rec")>-1?T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"):T.Theme.changeTheme(T.isMobile?"mobileLive":"pcLive"),w&&w.begin&&w.deviceSerial&&T.Theme.Rec.setDatepickerDate(w.begin),T.Theme.setDisabled(!1),pe(z)}).catch(function(re){de(z),re&&re.msg&&(T.Theme&&T.Theme.setDisabled(!0),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:re.msg,color:"red"}))})});function ue(pe,de){if(de.url)return de.url;console.log("--------------matchInitUrl",pe);var se=pe.split("/")[4].split(".")[pe.split("/")[4].split(".").length-1].split("?")[0];se==="rec"&&pe.indexOf(".cloud.rec")!==-1&&(se="cloud.rec"),de.type&&(se=de.type);var re=pe.split("/")[3];de.deviceSerial&&(re=de.deviceSerial);var Be=pe.split("/")[4].split(".")[0];de.channelNo&&(Be=de.channelNo);var be=pe.split("/")[2].split("@").length===2?pe.split("/")[2].split("@")[0]:"";typeof de.validCode!="undefined"&&(be=de.validCode);var ge=typeof de.hd=="undefined"?pe.indexOf(".hd")!==-1:de.hd,ye="ezopen://".concat(be?"".concat(be,"@"):"","open.ys7.com/").concat(re,"/").concat(Be).concat(ge?".hd":"",".").concat(se);return se==="live"||(ye="ezopen://".concat(be?"".concat(be,"@"):"","open.ys7.com/").concat(re,"/").concat(Be,".").concat(se),de.begin&&de.end?ye+="?begin=".concat(de.begin,"&end=").concat(de.end):de.begin?ye+="?begin=".concat(de.begin):d("begin",pe)&&(ye+="?begin=".concat(d("begin",pe)))),ye}return U}},{key:"getOSDTime",value:function(){var w=this,T=new Promise(function(R,N){w.jSPlugin.JS_GetOSDTime(0).then(function(z){R({code:0,retcode:0,data:z}),typeof w.params.getOSDTimeCallBack=="function"&&w.params.getOSDTimeCallBack({id:w.id,type:"getOSDTime",code:0,data:z})}).catch(function(z){N({code:-1,retcode:-1,data:z}),typeof w.params.getOSDTimeCallBack=="function"&&w.params.getOSDTimeCallBack({id:w.id,type:"getOSDTime",code:-1,data:-1})})});return T}},{key:"capturePicture",value:function(w){var T=this,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,N=this.jSPlugin.JS_CapturePicture(0,w,"JPEG",R,!!R);return c(N)?(typeof this.params.capturePictureCallBack=="function"&&N.then(function(){T.params.capturePictureCallBack({id:T.id,type:"capturePicture",code:0})}).catch(function(){T.params.capturePictureCallBack({id:T.id,type:"capturePicture",code:-1})}),N):new Promise(function(z){z(N)})}},{key:"startSave",value:function(w){var T=this,R=this.jSPlugin.JS_StartSave(0,w);return c(R)?(typeof this.params.startSaveCallBack=="function"&&R.then(function(){T.params.startSaveCallBack({id:T.id,type:"startSave",code:0})}).catch(function(){T.params.startSaveCallBack({id:T.id,type:"startSave",code:-1})}),R):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(N){N(R)}))}},{key:"stopSave",value:function(){var w=this,T=this.jSPlugin.JS_StopSave(0);return c(T)?(typeof this.params.startSaveCallBack=="function"&&T.then(function(){w.params.stopSaveCallBack({id:w.id,type:"stopSave",code:0})}).catch(function(){w.params.stopSaveCallBack({id:w.id,type:"stopSave",code:-1})}),T):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(R){R(T)}))}},{key:"openSound",value:function(){var w=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",w),c(w)?w:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:w}),new Promise(function(T){T(w)}))}},{key:"closeSound",value:function(){var w=this.jSPlugin.JS_CloseSound(0);return c(w)?w:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:w}),new Promise(function(T){T(w)}))}},{key:"enableZoom",value:function(){var w=this.jSPlugin.JS_EnableZoom(0);return c(w)?w:new Promise(function(T){T(w)})}},{key:"closeZoom",value:function(){var w=this.jSPlugin.JS_DisableZoom(0);return c(w)?w:new Promise(function(T){T(w)})}},{key:"setPoster",value:function(w){$t()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(w,")"),document.getElementById("".concat(this.id)).style.backgroundSize="100% 100%"):document.getElementById("".concat(this.id,"canvas0"))&&(document.getElementById("".concat(this.id,"canvas0")).style.backgroundImage="url(".concat(w,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(w,T){var R=0,N=0;if(this.params.height=T,this.params.width=w,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(R=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(N=48),T=T-R-N,this.width=w,this.height=T,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(w,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=w+"px",document.getElementById("".concat(this.id)).style.height=T+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=T,this.jSPlugin.iWidth=w),this.jSPlugin.JS_Resize(w,T);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=w,document.getElementById("".concat(this.id,"-player")).height=T,document.getElementById("".concat(this.id,"-player")).style.width=w+"px",document.getElementById("".concat(this.id,"-player")).style.height=T+"px");var z=1;if(document.getElementById("".concat(this.id,"canvas0"))){var U=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);U&&(z=2),document.getElementById("".concat(this.id,"canvas0")).style.width=w*z+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=T*z+"px",document.getElementById("".concat(this.id,"canvas0")).width=w*z,document.getElementById("".concat(this.id,"canvas0")).height=T*z,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=w*z+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=T*z+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=T*z}this.jSPlugin&&(this.jSPlugin.iHeight=T*z,this.jSPlugin.iWidth=w*z)}}},{key:"fast",value:function(w){var T=this,R=this.speed;if(w)var N=this.jSPlugin.JS_Fast(0,w);else{if(R===1)R=2;else if(R===2)R=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(U,ue){T.speed=R,ue({code:-1,data:{speed:R,result:"播放速度最大为4倍速度"}})});var N=this.jSPlugin.JS_Fast(0)}return new Promise(function(z){T.speed=R,z({code:0,data:{speed:R,result:N}})})}},{key:"slow",value:function(){var w=this,T=this.speed;if(T===4)T=2;else if(T===2)T=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(N,z){w.speed=T,z({code:-1,data:{speed:T,result:"播放速度最小为1倍速度"}})});var R=this.jSPlugin.JS_Slow(0);return new Promise(function(N){w.speed=T,N({code:0,data:{speed:T,result:R}})})}},{key:"seek",value:function(w,T){var R=this.url,N=(d("begin",R)||new Date().Format("yyyyMMdd")).substr(0,8);if(T=z(N,"235959"),w.length===6)w=z(N,w);else if(w.length===16){if(w.substr(0,8)!==N)return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间不能跨日期",retcode:-1,id:this.id,type:"handleError"}),!1}else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间格式错误",retcode:-1,id:this.id,type:"handleError"}),!1;function z(ue,pe){var de=/^[0-9]{8}T[0-9]{6}Z$/;if(de.test(ue))return ue;if(/[0-9]{8,14}/.test(ue)){var se=6-(14-ue.length),re=pe.length,Be=ue+pe.substring(se,re);return Be.slice(0,8)+"T"+Be.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var U=this.jSPlugin.JS_Seek(0,w,T);return console.log("seekRT",U),c(U)?U:new Promise(function(ue){ue(U)})}},{key:"fullScreen",value:function(){var w=this,T=m(document.getElementById("".concat(this.id)));T.then(function(N){console.log("全屏promise",window.screen.availWidth),w.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof w.params.fullScreenCallBack=="function"&&w.params.fullScreenCallBack({id:w.id,type:"fullScreen",code:0})});var R=function(){var z=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;z||w.jSPlugin.JS_Resize(w.width,w.height),typeof w.params.fullScreenChangeCallBack=="function"&&w.params.fullScreenChangeCallBack({id:w.id,type:"fullScreen",code:z})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(N){window.addEventListener(N,function(z){return R()})})}},{key:"cancelFullScreen",value:function(){var w=this,T=_();T.then(function(R){console.log("取消全屏",R,w.jSPlugin),w.jSPlugin.JS_Resize(w.width,w.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var w=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),c(w)?w:new Promise(function(T){T(w)})}},{key:"getDeviceCapacity",value:function(w){var T=this,R=this.env.domain;this.env&&(R=this.env.domain);var N=R+"/api/lapp/device/capacity",z=function(pe){pe.code==200&&pe.data&&(T.capacity=pe.data)},U=w||{accessToken:this.accessToken,deviceSerial:S(this.url).deviceSerial};A(N,"POST",U,"",z)}},{key:"pause",value:function(){var w=this;return new Promise(function(T,R){w.jSPlugin.JS_CloseSound(0),w.jSPlugin.JS_Pause(0,function(N){w.setPoster(N.base64)}).then(function(N){w.Theme&&w.Theme.setDecoderState({play:!1}),T()}).catch(function(N){console.log(N),R(N)})})}},{key:"_resume",value:function(w){var T=this;return new Promise(function(R,N){T.pluginStatus.setPlayStatus({play:!1,loading:!0}),T.jSPlugin.JS_Resume(w).then(function(z){if(setTimeout(function(){T.url.indexOf(".rec")!==-1&&T.speed!=1&&T.jSPlugin.JS_Speed(T.speed)},500),T.Theme){T.Theme.setDecoderState({play:!0,speed:T.speed});var U=T.Theme.decoderState.state.sound;U&&setTimeout(function(){T.openSound()},500)}R(z)}).catch(function(z){console.log("resume err",z),N(z)})})}}]),J}(),n2=null;function E2(J,H,w,T){return new WebControl({szPluginContainer:J,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:H,cbConnectError:w,cbConnectClose:T})}function D2(){n2!=null&&(n2.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),n2.JS_StopService("window").then(function(){n2.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function L2(J){J.responseMsg.eventName,console.log(J.responseMsg)}function Ot(){n2.JS_SetWindowControlCallback({cbIntegrationCallBack:L2}),n2.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){n2.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function n3(){console.log("cbConnectError"),n2=null,console.error("确认本地进程是否已安装并开启成功!")}function l3(J){console.log("cbConnectClose"),n2=null}window.onscroll=function(){n2!=null&&n2.JS_Resize(900,500)},window.onresize=function(){n2!=null&&n2.JS_Resize(900,500)},window.onunload=function(){try{n2.JS_HideWnd(),D2()}catch(J){console.error(J)}},window.onpagehide=function(){try{n2.JS_HideWnd()}catch(J){console.error(J)}};var f3=function(){function J(H){var w=this;i(this,J),o(this,"changeModel",function(T,R){var N=w;w.switchVideo=parseInt(T),n2&&n2.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:T}))}).then(function(z){T==0?N.play({deviceSerial:R.deviceSerial,channelNo:R.channelNo,validateCode:R.validateCode}):N.play({deviceSerial:R.deviceSerial,channelNo:R.channelNo,validateCode:R.validateCode,startTime:R.startTime,endTime:R.endTime})})}),o(this,"init",function(T){var R,N=w;if(!T.appKey||!T.accessToken){N.showTips(!1,"请输入appkey和token");return}typeof T.appKey!="undefined"&&(w.appKey=T.appKey),typeof T.accessToken!="undefined"&&(w.accessToken=T.accessToken),typeof T.platformId!="undefined"&&(w.platformId=T.platformId);var z=(R={layout:+N.layout,userName:"",waterMark:""},o(R,"waterMark","1"),o(R,"iWndType",0),o(R,"intelligenceEnable",1),o(R,"isRecord",1),o(R,"isSetPos",1),o(R,"motionDetectEnable",0),o(R,"playBackAlarmOverlyingEnable",0),o(R,"response",{code:0,message:null,data:{appKey:T.appKey,ezvizToken:T.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:T.platformId}}),R);console.log("初始化入参",z),n2.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(z))}).then(function(U){console.log(U.responseMsg),N.showTips(!0,"视频初始化成功!")})}),o(this,"play",function(T){var R=w;if(!(!T.deviceSerial||!T.channelNo)){typeof T.deviceSerial!="undefined"&&(w.deviceSerial=T.deviceSerial),typeof T.channelNo!="undefined"&&(w.channelNo=T.channelNo),typeof T.startTime!="undefined"&&T.startTime&&(w.startTime=T.startTime+" 00:00:00"),typeof T.endTime!="undefined"&&T.endTime&&(w.endTime=T.endTime+" 23:59:59"),typeof T.validateCode!="undefined"&&T.validateCode&&(w.validateCode=T.validateCode);var N={response:{code:0,message:null,data:{deviceSerial:T.deviceSerial,channelCode:T.channelNo,channelNo:+T.channelNo,codeIsEncrypt:0,validateCode:T.validateCode,deviceClass:R.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:w.startTime,endTime:w.endTime}}};R.deviceClass==="1"?(N.response.data.channelCode=R.channelNo,N.response.data.platformId=R.platformId):N.response.data.channelNo=+R.channelNo,w.switchVideo===1&&(w.startTime&&(N.response.data.startTime=w.startTime),w.endTime&&(N.response.data.endTime=w.endTime)),console.log("预览/回放入参",N),n2.JS_RequestInterface({funcName:w.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(N))}).then(function(z){console.log(z.responseMsg),R.showTips(!0,"预览/回放成功!")}).catch(function(z){console.log("开始播放:",z)})}}),o(this,"showCBInfo",function(T){w.callbackMessage=w.callbackMessage+JSON.stringify(T)+` |
|
|
|
|
|
`,console.log(w.callbackMessage)}),o(this,"showTips",function(T,R){}),o(this,"hideVideo",function(){n2.JS_HideWnd()}),o(this,"showVideo",function(){n2.JS_ShowWnd()}),o(this,"GetLayout",function(){var T=null;n2.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:T}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"capturePicture",function(T){var R=null;n2.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:R}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"stop",function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;n2.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"setLayout",function(T){var R=parseInt(T);if(isNaN(R)||R==0||R>=13){console.log("不支持实际布局大于16的窗口数");return}w.layout=R,n2.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:R}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"setSoundVolumn",function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,R=arguments.length>1?arguments[1]:void 0;n2.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T),volumn:parseInt(R)}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"testMute",function(){var T=parseInt(prompt("请输入窗口ID"));n2.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:T}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"testSelectWnd",function(){var T=parseInt(prompt("请输入窗口ID"));n2.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:T}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"setVideoLevel",function(T,R){n2.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:w.switchVideo==1?0:parseInt(T),level:parseInt(R,10)}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"startTalk",function(T){n2.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"stopTalk",function(T){n2.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"startSave",function(T){n2.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),o(this,"stopSave",function(T){n2.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(R){console.log(JSON.stringify(R.responseMsg)),console.log(R.responseMsg)})}),this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,n2=E2("playWnd",Ot,n3,l3)}return a(J,[{key:"alarmMsg",value:function(){var w={request:{body:{alarmTypes:[10800,0,0,0,0],channelId:"066dde0465dd4abaab6afe355baf9d0b",endTime:"1621007999000",startTime:"1620921600000"},callBack:"GetAlarmMsgOrders",majorKey:"",method:"POST",storeId:"",url:"/videoplugin/message/getMessageByTypes"},response:{code:0,message:null,data:[{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620921217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920678e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919513e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919483e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919333e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918913e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918305e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917858e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917658e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917244e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917064e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916668e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916529e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916343e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916081e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915825e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915394e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915197e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914971e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914644e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914533e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914457e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914376e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914284e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913431e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912354e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912275e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912093e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091189e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911839e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091176e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911682e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091127e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911184e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910982e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910781e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910727e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910677e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910647e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910588e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910544e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091041e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091035e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910278e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910124e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909939e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909847e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909817e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909664e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909605e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909575e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090912e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909028e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908999e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908969e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908909e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090888e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908835e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090875e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090872e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908652e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908582e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908552e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908456e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090805e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907918e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907758e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907625e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907386e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907292e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907127e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906828e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906797e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906747e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906717e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906632e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906368e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906013e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905946e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905823e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905622e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905511e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905382e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905352e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905322e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905262e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905196e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090515e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904813e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090473e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209047e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904618e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904286e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904173e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904053e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904023e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903854e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903723e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903643e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903573e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903505e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209032e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090312e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902977e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090286e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090277e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902639e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902517e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902373e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090232e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902253e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902198e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902132e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090194e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090185e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901685e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901638e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090152e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901489e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901424e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901271e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901233e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900915e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900774e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900744e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090065e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090044e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900409e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900175e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900134e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900069e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900016e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899908e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899826e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899756e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899467e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899406e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899265e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899211e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089914e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089911e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089905e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898785e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898666e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898507e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898248e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898218e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898088e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089802e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089796e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089785e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089769e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089763e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16208976e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089757e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089754e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897475e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897369e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897339e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897279e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897237e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897207e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897172e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896985e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896874e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896814e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896783e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896621e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896447e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896358e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896307e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896277e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896214e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089604e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895953e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895921e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895868e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089577e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895704e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089559e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089548e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895377e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895347e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895171e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895136e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895017e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894896e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894738e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894539e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894359e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894213e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894183e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893964e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893934e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893754e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893606e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089353e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893452e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893423e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893357e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892904e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892824e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892764e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892479e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892311e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892281e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892209e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892063e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089187e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089181e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891708e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891655e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891585e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891401e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891257e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891178e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891128e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891033e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089094e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890794e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890714e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890469e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890179e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890108e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890041e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889937e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889635e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889451e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889317e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889227e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889139e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888902e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888837e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888767e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888737e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888706e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888633e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888413e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888353e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888323e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888249e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888162e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888e6},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887859e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887776e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887734e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887692e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887619e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887355e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088732e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887289e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887126e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887066e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088697e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886884e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886804e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886728e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886538e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886396e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886334e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886246e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886111e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885956e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885894e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885696e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885514e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885341e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885306e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885276e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885186e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885114e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885037e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884975e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884945e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884911e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088478e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884696e3}],success:!0}};console.log(w),n2.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(w))})}}]),J}();(function(J,H){t(n)==="object"&&t(n.exports)==="object"?n.exports=J.document?H(J,!0):function(w){if(!w.document)throw new Error("EZUIPlayer requires a window with a document");return H(w)}:H(J)})(typeof window!="undefined"?window:void 0,function(J,H){var w={Core:s,HLS:C,FLV:M,EZUIKitPlayer:we,EZUIKitHD:f3};return J.EZUIKit=w,w})})(Ig,Ig.exports);var BCe=Ig.exports;const zCe=OCe(BCe);var ww=null;function GCe(n){return ww||(ww=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),ww(n)}var Tw=null;function UCe(n){Tw||(Tw=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window)),Tw(n)}function VCe(n){var e=document.createElement("style");return e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n)),(document.querySelector("head")||document.body).appendChild(e),e}function zp(n,e){e===void 0&&(e={});var t=document.createElement(n);return Object.keys(e).forEach(function(i){t[i]=e[i]}),t}function yQ(n,e,t){var i=window.getComputedStyle(n,t||null)||{display:"none"};return i[e]}function FC(n){if(!document.documentElement.contains(n))return{detached:!0,rendered:!1};for(var e=n;e!==document;){if(yQ(e,"display")==="none")return{detached:!1,rendered:!1};e=e.parentNode}return{detached:!1,rendered:!0}}var HCe='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',OC=0,pm=null;function WCe(n,e){n.__resize_mutation_handler__||(n.__resize_mutation_handler__=qCe.bind(n));var t=n.__resize_listeners__;if(!t){if(n.__resize_listeners__=[],window.ResizeObserver){var i=n.offsetWidth,r=n.offsetHeight,a=new ResizeObserver(function(){!n.__resize_observer_triggered__&&(n.__resize_observer_triggered__=!0,n.offsetWidth===i&&n.offsetHeight===r)||Dg(n)}),o=FC(n),s=o.detached,l=o.rendered;n.__resize_observer_triggered__=s===!1&&l===!1,n.__resize_observer__=a,a.observe(n)}else if(n.attachEvent&&n.addEventListener)n.__resize_legacy_resize_handler__=function(){Dg(n)},n.attachEvent("onresize",n.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);else if(OC||(pm=VCe(HCe)),XCe(n),n.__resize_rendered__=FC(n).rendered,window.MutationObserver){var u=new MutationObserver(n.__resize_mutation_handler__);u.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),n.__resize_mutation_observer__=u}}n.__resize_listeners__.push(e),OC++}function jCe(n,e){var t=n.__resize_listeners__;if(t){if(e&&t.splice(t.indexOf(e),1),!t.length||!e){if(n.detachEvent&&n.removeEventListener){n.detachEvent("onresize",n.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);return}n.__resize_observer__?(n.__resize_observer__.unobserve(n),n.__resize_observer__.disconnect(),n.__resize_observer__=null):(n.__resize_mutation_observer__&&(n.__resize_mutation_observer__.disconnect(),n.__resize_mutation_observer__=null),n.removeEventListener("scroll",iR),n.removeChild(n.__resize_triggers__.triggers),n.__resize_triggers__=null),n.__resize_listeners__=null}!--OC&&pm&&pm.parentNode.removeChild(pm)}}function $Ce(n){var e=n.__resize_last__,t=e.width,i=e.height,r=n.offsetWidth,a=n.offsetHeight;return r!==t||a!==i?{width:r,height:a}:null}function qCe(){var n=FC(this),e=n.rendered,t=n.detached;e!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(rR(this),this.addEventListener("scroll",iR,!0)),this.__resize_rendered__=e,Dg(this))}function iR(){var n=this;rR(this),this.__resize_raf__&&UCe(this.__resize_raf__),this.__resize_raf__=GCe(function(){var e=$Ce(n);e&&(n.__resize_last__=e,Dg(n))})}function Dg(n){!n||!n.__resize_listeners__||n.__resize_listeners__.forEach(function(e){e.call(n,n)})}function XCe(n){var e=yQ(n,"position");(!e||e==="static")&&(n.style.position="relative"),n.__resize_old_position__=e,n.__resize_last__={};var t=zp("div",{className:"resize-triggers"}),i=zp("div",{className:"resize-expand-trigger"}),r=zp("div"),a=zp("div",{className:"resize-contract-trigger"});i.appendChild(r),t.appendChild(i),t.appendChild(a),n.appendChild(t),n.__resize_triggers__={triggers:t,expand:i,expandChild:r,contract:a},rR(n),n.addEventListener("scroll",iR,!0),n.__resize_last__={width:n.offsetWidth,height:n.offsetHeight}}function rR(n){var e=n.__resize_triggers__,t=e.expand,i=e.expandChild,r=e.contract,a=r.scrollWidth,o=r.scrollHeight,s=t.offsetWidth,l=t.offsetHeight,u=t.scrollWidth,c=t.scrollHeight;r.scrollLeft=a,r.scrollTop=o,i.style.width=s+1+"px",i.style.height=l+1+"px",t.scrollLeft=u,t.scrollTop=c}var Ao=function(){return Ao=Object.assign||function(n){for(var e,t=1,i=arguments.length;t<i;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},Ao.apply(this,arguments)};var YCe=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function KCe(n){return e=Object.create(null),YCe.forEach(function(t){e[t]=function(i){return function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];if(!n.value)throw new Error("ECharts is not initialized yet.");return n.value[i].apply(n.value,r)}}(t)}),e;var e}var ZCe={autoresize:[Boolean,Object]},JCe=/^on[^a-z]/,aU=function(n){return JCe.test(n)};function Gp(n,e){var t=cae(n)?_1(n):n;return t&&typeof t=="object"&&"value"in t?t.value||e:t||e}var QCe="ecLoadingOptions",eMe={loading:Boolean,loadingOptions:Object},Qu=null,_Q="x-vue-echarts",oU=[],ec=[];(function(n,e){if(n&&typeof document!="undefined"){var t,i=e.prepend===!0?"prepend":"append",r=e.singleTag===!0,a=typeof e.container=="string"?document.querySelector(e.container):document.getElementsByTagName("head")[0];if(r){var o=oU.indexOf(a);o===-1&&(o=oU.push(a)-1,ec[o]={}),t=ec[o]&&ec[o][i]?ec[o][i]:ec[o][i]=s()}else t=s();n.charCodeAt(0)===65279&&(n=n.substring(1)),t.styleSheet?t.styleSheet.cssText+=n:t.appendChild(document.createTextNode(n))}function s(){var l=document.createElement("style");if(l.setAttribute("type","text/css"),e.attributes)for(var u=Object.keys(e.attributes),c=0;c<u.length;c++)l.setAttribute(u[c],e.attributes[u[c]]);var d=i==="prepend"?"afterbegin":"beforeend";return a.insertAdjacentElement(d,l),l}})(`x-vue-echarts{display:flex;flex-direction:column;width:100%;height:100%;min-width:0} |
|
|
.vue-echarts-inner{flex-grow:1;min-width:0;width:auto!important;height:auto!important} |
|
|
`,{});var tMe=function(){if(Qu!=null)return Qu;if(typeof HTMLElement=="undefined"||typeof customElements=="undefined")return Qu=!1;try{new Function("tag",`class EChartsElement extends HTMLElement { |
|
|
__dispose = null; |
|
|
|
|
|
disconnectedCallback() { |
|
|
if (this.__dispose) { |
|
|
this.__dispose(); |
|
|
this.__dispose = null; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (customElements.get(tag) == null) { |
|
|
customElements.define(tag, EChartsElement); |
|
|
} |
|
|
`)(_Q)}catch(n){return Qu=!1}return Qu=!0}(),nMe="ecTheme",iMe="ecInitOptions",rMe="ecUpdateOptions",sU=/(^&?~?!?)native:/,G0=lae({name:"echarts",props:Ao(Ao({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},ZCe),eMe),emits:{},inheritAttrs:!1,setup:function(n,e){var t=e.attrs,i=pc(),r=pc(),a=pc(),o=pc(),s=Al(nMe,null),l=Al(iMe,null),u=Al(rMe,null),c=uae(n),d=c.autoresize,h=c.manualUpdate,f=c.loading,p=c.loadingOptions,m=Ye(function(){return o.value||n.option||null}),v=Ye(function(){return n.theme||Gp(s,{})}),g=Ye(function(){return n.initOptions||Gp(l,{})}),_=Ye(function(){return n.updateOptions||Gp(u,{})}),S=Ye(function(){return function(P){var F={};for(var V in P)aU(V)||(F[V]=P[V]);return F}(t)}),x={},A=lj().proxy.$listeners,C={};function M(P){if(r.value){var F=a.value=T7e(r.value,v.value,g.value);n.group&&(F.group=n.group),Object.keys(C).forEach(function(G){var W=C[G];if(W){var Y=G.toLowerCase();Y.charAt(0)==="~"&&(Y=Y.substring(1),W.__once__=!0);var Q=F;if(Y.indexOf("zr:")===0&&(Q=F.getZr(),Y=Y.substring(3)),W.__once__){delete W.__once__;var K=W;W=function(){for(var ae=[],ie=0;ie<arguments.length;ie++)ae[ie]=arguments[ie];K.apply(void 0,ae),Q.off(Y,W)}}Q.on(Y,W)}}),d.value?Ji(function(){F&&!F.isDisposed()&&F.resize(),V()}):V()}function V(){var G=P||m.value;G&&F.setOption(G,_.value)}}function I(){a.value&&(a.value.dispose(),a.value=void 0)}A?Object.keys(A).forEach(function(P){sU.test(P)?x[P.replace(sU,"$1")]=A[P]:C[P]=A[P]}):Object.keys(t).filter(function(P){return aU(P)}).forEach(function(P){var F=P.charAt(2).toLowerCase()+P.slice(3);if(F.indexOf("native:")!==0)F.substring(F.length-4)==="Once"&&(F="~".concat(F.substring(0,F.length-4))),C[F]=t[P];else{var V="on".concat(F.charAt(7).toUpperCase()).concat(F.slice(8));x[V]=t[P]}});var D=null;$0(h,function(P){typeof D=="function"&&(D(),D=null),P||(D=$0(function(){return n.option},function(F,V){F&&(a.value?a.value.setOption(F,Ao({notMerge:F!==V},_.value)):M())},{deep:!0}))},{immediate:!0}),$0([v,g],function(){I(),M()},{deep:!0}),RD(function(){n.group&&a.value&&(a.value.group=n.group)});var E=KCe(a);return function(P,F,V){var G=Al(QCe,{}),W=Ye(function(){return Ao(Ao({},Gp(G,{})),V==null?void 0:V.value)});RD(function(){var Y=P.value;Y&&(F.value?Y.showLoading(W.value):Y.hideLoading())})}(a,f,p),function(P,F,V){var G=null;$0([V,P,F],function(W,Y,Q){var K=W[0],ae=W[1],ie=W[2];if(K&&ae&&ie){var he=ie===!0?{}:ie,Ee=he.throttle,je=Ee===void 0?100:Ee,xe=he.onResize,Oe=function(){ae.resize(),xe==null||xe()};G=je?Hy(Oe,je):Oe,WCe(K,G)}Q(function(){K&&G&&jCe(K,G)})})}(a,d,r),cr(function(){M()}),Or(function(){tMe&&i.value?i.value.__dispose=I:I()}),Ao({chart:a,root:i,inner:r,setOption:function(P,F){n.manualUpdate&&(o.value=P),a.value?a.value.setOption(P,F||{}):M(P)},nonEventAttrs:S,nativeListeners:x},E)},render:function(){var n=Ao(Ao({},this.nonEventAttrs),this.nativeListeners);return n.ref="root",n.class=n.class?["echarts"].concat(n.class):"echarts",LD(_Q,n,[LD("div",{ref:"inner",class:"vue-echarts-inner"})])}});const aMe=""+new URL("title-zs1-c15a5ee8-balabala-1782921062964.svg",import.meta.url).href,oMe=""+new URL("saoguang-ccf84a88-balabala-1782921062964.svg",import.meta.url).href,sMe=""+new URL("content-bottom-left-arrow-3a8a61f3-balabala-1782921062964.svg",import.meta.url).href,lMe=""+new URL("content-bottom-right-arrow-a3c5270d-balabala-1782921062964.svg",import.meta.url).href,lU=""+new URL("content-middle-line-162bc0d5-balabala-1782921062964.svg",import.meta.url).href;const uMe={class:"m-card-hd"},cMe={class:"m-card-hd-bg"},dMe=["width","viewBox"],hMe=["clip-path"],fMe=["width"],pMe=["id"],vMe=["d"],mMe=["d","fill"],gMe=["d","fill","mask"],yMe=["clip-path"],_Me=["x1"],SMe=["id","x1"],bMe=["id"],xMe=["id"],wMe=["width"],TMe=["id"],AMe={class:"m-card-hd-title"},CMe=["width","height","viewBox"],MMe={opacity:"0.6"},EMe=["d"],PMe=["d"],RMe={class:"m-card-bd-content"},M3={__name:"index",props:{width:{type:Number,default:398},height:{type:Number,default:200},title:{type:String,default:"标题"}},setup(n){const e=n,t=H2(1),i=Ye(()=>{let o=e.width;return`M165 0.5 |
|
|
L165.707 -0.207107 |
|
|
L165.414 -0.5 |
|
|
H165 |
|
|
V0.5Z |
|
|
M10 0.5 |
|
|
V-0.5 |
|
|
H9.58579 |
|
|
L9.29289 -0.207107 |
|
|
L10 0.5Z |
|
|
M175 10.5 |
|
|
L174.293 11.2071 |
|
|
L174.586 11.5 |
|
|
H175 |
|
|
V10.5Z |
|
|
M${o} 10.5 |
|
|
H${o+1} |
|
|
V9.5 |
|
|
H${o} |
|
|
V10.5Z |
|
|
M${o} 34.5 |
|
|
V35.5 |
|
|
H${o+1} |
|
|
V34.5 |
|
|
H${o}Z |
|
|
M0 34.5 |
|
|
H-1 |
|
|
V35.5 |
|
|
H0 |
|
|
V34.5Z |
|
|
M0 10.5 |
|
|
L-0.707107 9.79289 |
|
|
L-1 10.0858 |
|
|
V10.5 |
|
|
H0Z |
|
|
M165 -0.5 |
|
|
H10 |
|
|
V1.5 |
|
|
H165 |
|
|
V-0.5Z |
|
|
M175.707 9.79289 |
|
|
L165.707 -0.207107 |
|
|
L164.293 1.20711 |
|
|
L174.293 11.2071 |
|
|
L175.707 9.79289Z |
|
|
M${o} 9.5 |
|
|
H175 |
|
|
V11.5 |
|
|
H${o} |
|
|
V9.5Z |
|
|
M${o+1} 34.5 |
|
|
V10.5 |
|
|
H397 |
|
|
V34.5 |
|
|
H${o+1}Z |
|
|
M0 35.5 |
|
|
H${o} |
|
|
V33.5 |
|
|
H0 |
|
|
V35.5Z |
|
|
M-1 10.5 |
|
|
V34.5 |
|
|
H1 |
|
|
V10.5 |
|
|
H-1Z |
|
|
M9.29289 -0.207107 |
|
|
L-0.707107 9.79289 |
|
|
L0.707107 11.2071 |
|
|
L10.7071 1.20711 |
|
|
L9.29289 -0.207107Z`}),r=Ye(()=>{let s=e.height-156,l=e.width;return`M3.485 ${46.0565+s/2} |
|
|
V${45.8735+s/2} |
|
|
L3.36682 ${45.7337+s/2} |
|
|
L0.5 ${42.343+s/2} |
|
|
V1 |
|
|
H${l-.5} |
|
|
V${42.3431+s/2} |
|
|
L${l-3.367} ${45.7337+s/2} |
|
|
L${l-3.485} ${45.8735+s/2} |
|
|
V${46.0565+s/2} |
|
|
L${l-3.367} ${88.745+s/2} |
|
|
L${l-.5} ${92.135+s/2} |
|
|
V${155+s} |
|
|
H0.5 |
|
|
V${92.135+s/2} |
|
|
L3.36682 ${88.745+s/2} |
|
|
L3.485 ${88.605+s/2} |
|
|
V${88.422+s/2} |
|
|
V${46.0565+s/2}Z`}),a=Ye(()=>`width:${e.width}px;height:${e.height}px;`);return cr(()=>{t.value="__"+lj().uid}),(o,s)=>(Ae(),Pe("div",{class:"m-card",style:J3(a.value)},[B("div",uMe,[B("div",cMe,[(Ae(),Pe("svg",{width:n.width,height:"36",viewBox:`0 0 ${n.width} 36`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[B("g",{"clip-path":`url(#clip0_70_69244${t.value})`},[B("rect",{y:"34.5",width:n.width,height:"1",fill:"url(#paint0_linear_70_69244)"},null,8,fMe),B("mask",{id:`path-2-inside-1_70_69244${t.value}`,fill:"white"},[B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`},null,8,vMe)],8,pMe),B("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`,fill:`url(#paint1_linear_70_69244${t.value})`},null,8,mMe),B("path",{d:i.value,fill:`url(#paint2_linear_70_69244${t.value})`,mask:`url(#path-2-inside-1_70_69244${t.value})`},null,8,gMe),s[1]||(s[1]=f8('<g opacity="0.5"><mask id="mask0_70_69244" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="12" y="-12" width="165" height="29"><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><path d="M177 2.5C177 -4.22 139.531 -11.5 93.9677 -11.5C48.4043 -11.5 12 -5.23199 12 2.5C12 10.232 48.4043 16.5 93.9677 16.5C139.531 16.5 177 9.22 177 2.5Z" fill="url(#paint3_diamond_70_69244)"></path></g></mask><g mask="url(#mask0_70_69244)"><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><path d="M177 0.999998C177 -6 137.934 -11.5 92.371 -11.5C46.8075 -11.5 12 -5.90356 12 0.999998C12 7.90356 46.8075 13.5 92.371 13.5C137.934 13.5 177 8 177 0.999998Z" fill="url(#paint4_diamond_70_69244)"></path></g></g></g><g style="mix-blend-mode:plus-lighter;" opacity="0.1"><ellipse cx="81.5264" cy="12.5" rx="81.5264" ry="12.5" transform="matrix(1 0 0 -1 12 13.5)" fill="url(#paint5_radial_70_69244)"></ellipse></g><path d="M0 0.5H6L0 6.5V0.5Z" fill="#30DCFF"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M170 0.5H398V7.5H177L170 0.5Z" fill="url(#paint6_linear_70_69244)"></path>',4)),B("g",{style:{"mix-blend-mode":"plus-lighter"},"clip-path":`url(#clip1_70_69244${t.value})`},[...s[0]||(s[0]=[f8('<g style="mix-blend-mode:plus-lighter;" opacity="0.8"><ellipse cx="65" cy="2.16667" rx="65" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 27.6855 -1.82568)" fill="url(#paint7_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.5"><ellipse cx="28.7857" cy="4.16667" rx="28.7857" ry="4.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 63.8008 -3.82324)" fill="url(#paint8_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.54"><ellipse cx="23.2143" cy="2.16667" rx="23.2143" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 69.4727 -1.82568)" fill="url(#paint9_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><ellipse cx="9.28571" cy="2.16667" rx="9.28571" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 83.4004 -1.82568)" fill="url(#paint10_radial_70_69244)"></ellipse></g>',4)])],8,yMe)],8,hMe),B("defs",null,[B("linearGradient",{id:"paint0_linear_70_69244",x1:n.width,y1:"35.5021",x2:"0",y2:"35.5021",gradientUnits:"userSpaceOnUse"},[...s[2]||(s[2]=[B("stop",{"stop-color":"#35A8EB","stop-opacity":"0.1"},null,-1),B("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,_Me),B("linearGradient",{id:`paint1_linear_70_69244${t.value}`,x1:n.width,y1:"17.5",x2:"7.94819",y2:"17.5",gradientUnits:"userSpaceOnUse"},[...s[3]||(s[3]=[B("stop",{offset:"0.0364889","stop-color":"#35A8EB","stop-opacity":"0.11"},null,-1),B("stop",{offset:"1","stop-color":"#30C1FF","stop-opacity":"0.27"},null,-1)])],8,SMe),B("linearGradient",{id:`paint2_linear_70_69244${t.value}`,x1:"40.8948",y1:"13.5",x2:"40.895",y2:"-6.50005",gradientUnits:"userSpaceOnUse"},[...s[4]||(s[4]=[B("stop",{"stop-color":"#35A8EB","stop-opacity":"0"},null,-1),B("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,bMe),s[6]||(s[6]=f8('<radialGradient id="paint3_diamond_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(94.5 3.62) rotate(-90) scale(41.1199 76.576)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint4_diamond_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(84.3871 2.00005) rotate(-90) scale(14.0001 188.259)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint5_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(80.7192 12.5) rotate(90) scale(12.5 73.8747)"><stop stop-color="#00B1E9"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><linearGradient id="paint6_linear_70_69244" x1="567.258" y1="5.49999" x2="177.933" y2="5.49993" gradientUnits="userSpaceOnUse"><stop offset="0.429792" stop-color="#35A8EB" stop-opacity="0"></stop><stop offset="1" stop-color="#30C1FF" stop-opacity="0.27"></stop></linearGradient><radialGradient id="paint7_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(64.3564 2.16667) rotate(90.0001) scale(2.16667 64.3564)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint8_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(28.5007 4.16667) rotate(90) scale(4.16667 28.5007)"><stop stop-color="#B7EEFF"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint9_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(22.9844 2.16667) rotate(90) scale(2.16667 22.9844)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint10_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.19377 2.16667) rotate(90) scale(2.16667 9.19377)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient>',8)),B("clipPath",{id:`clip0_70_69244${t.value}`},[B("rect",{width:n.width,height:"35",fill:"white",transform:"translate(0 0.5)"},null,8,wMe)],8,xMe),B("clipPath",{id:`clip1_70_69244${t.value}`},[...s[5]||(s[5]=[B("rect",{width:"130",height:"4",fill:"white",transform:"matrix(1 1.64302e-07 -0.0495776 -0.99877 28 4.5)"},null,-1)])],8,TMe)])],8,dMe))]),s[7]||(s[7]=B("img",{class:"m-card-hd-zs1",src:aMe,alt:""},null,-1)),s[8]||(s[8]=B("div",{class:"saoguang"},[B("img",{src:oMe,alt:""})],-1)),B("div",AMe,Fe(n.title),1)]),B("div",{class:"m-card-bd",style:J3(a.value)},[B("div",{class:"m-card-bd-bg",style:J3(a.value)},[(Ae(),Pe("svg",{width:n.width,height:n.height,viewBox:`0 0 ${n.width} ${n.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[B("g",MMe,[B("path",{d:r.value,fill:"rgba(26, 57, 77,1)"},null,8,EMe),B("path",{d:r.value,stroke:"url(#paint1_linear_70_69585)"},null,8,PMe)]),s[9]||(s[9]=B("defs",null,[B("linearGradient",{id:"paint1_linear_70_69585",x1:"199",y1:"203.499",x2:"199",y2:"0.499359",gradientUnits:"userSpaceOnUse"},[B("stop",{"stop-color":"#4FC5DD"}),B("stop",{offset:"1","stop-color":"#05839D","stop-opacity":"0"})])],-1))],8,CMe)),s[10]||(s[10]=B("img",{class:"m-card-bd-bottom-left-arrow",src:sMe,alt:""},null,-1)),s[11]||(s[11]=B("img",{class:"m-card-bd-bottom-right-arrow",src:lMe,alt:""},null,-1)),s[12]||(s[12]=B("img",{class:"m-card-bd-middle-left-line",src:lU,alt:""},null,-1)),s[13]||(s[13]=B("img",{class:"m-card-bd-middle-right-line",src:lU,alt:""},null,-1))],4),B("div",RMe,[i7(o.$slots,"default")])],4)],4))}};/** |
|
|
* @license |
|
|
* Copyright 2010-2023 Three.js Authors |
|
|
* SPDX-License-Identifier: MIT |
|
|
*/const aR="161",$4={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},q4={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},LMe=0,uU=1,IMe=2,SQ=1,DMe=2,Cs=3,Zs=0,ir=1,r0=2,_5=0,E8=1,Cn=2,cU=3,dU=4,bQ=5,X6=100,NMe=101,kMe=102,hU=103,fU=104,FMe=200,xQ=201,OMe=202,BMe=203,BC=204,zC=205,zMe=206,GMe=207,wQ=208,UMe=209,VMe=210,HMe=211,WMe=212,jMe=213,$Me=214,qMe=0,XMe=1,YMe=2,Ng=3,KMe=4,ZMe=5,JMe=6,QMe=7,oR=0,eEe=1,tEe=2,S5=0,nEe=1,iEe=2,rEe=3,aEe=4,oEe=5,sEe=6,pU="attached",lEe="detached",TQ=300,S7=301,b7=302,GC=303,UC=304,i_=306,Mn=1e3,li=1001,kg=1002,vn=1003,VC=1004,bl=1005,an=1006,vm=1007,ks=1008,b5=1009,uEe=1010,cEe=1011,sR=1012,AQ=1013,u5=1014,No=1015,Yd=1016,CQ=1017,MQ=1018,P8=1020,dEe=1021,ga=1023,hEe=1024,fEe=1025,R8=1026,x7=1027,pEe=1028,EQ=1029,vEe=1030,PQ=1031,RQ=1033,Aw=33776,Cw=33777,Mw=33778,Ew=33779,vU=35840,mU=35841,gU=35842,yU=35843,LQ=36196,_U=37492,SU=37496,bU=37808,xU=37809,wU=37810,TU=37811,AU=37812,CU=37813,MU=37814,EU=37815,PU=37816,RU=37817,LU=37818,IU=37819,DU=37820,NU=37821,Pw=36492,kU=36494,FU=36495,mEe=36283,OU=36284,BU=36285,zU=36286,Kd=2300,w7=2301,Rw=2302,GU=2400,UU=2401,VU=2402,gEe=2500,yEe=0,IQ=1,HC=2,DQ=3e3,L8=3001,_Ee=3200,SEe=3201,lR=0,bEe=1,ya="",W1="srgb",Sn="srgb-linear",uR="display-p3",r_="display-p3-linear",Fg="linear",v0="srgb",Og="rec709",Bg="p3",X4=7680,HU=519,xEe=512,wEe=513,TEe=514,NQ=515,AEe=516,CEe=517,MEe=518,EEe=519,WC=35044,WU="300 es",jC=1035,Fs=2e3,zg=2001;class a4{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const a=r.indexOf(t);a!==-1&&r.splice(a,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let a=0,o=r.length;a<o;a++)r[a].call(this,e);e.target=null}}}const Qn=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let jU=1234567;const ed=Math.PI/180,T7=180/Math.PI;function wa(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(Qn[n&255]+Qn[n>>8&255]+Qn[n>>16&255]+Qn[n>>24&255]+"-"+Qn[e&255]+Qn[e>>8&255]+"-"+Qn[e>>16&15|64]+Qn[e>>24&255]+"-"+Qn[t&63|128]+Qn[t>>8&255]+"-"+Qn[t>>16&255]+Qn[t>>24&255]+Qn[i&255]+Qn[i>>8&255]+Qn[i>>16&255]+Qn[i>>24&255]).toLowerCase()}function sn(n,e,t){return Math.max(e,Math.min(t,n))}function cR(n,e){return(n%e+e)%e}function PEe(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function REe(n,e,t){return n!==e?(t-n)/(e-n):0}function td(n,e,t){return(1-t)*n+t*e}function LEe(n,e,t,i){return td(n,e,1-Math.exp(-t*i))}function IEe(n,e=1){return e-Math.abs(cR(n,e*2)-e)}function DEe(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function NEe(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function kEe(n,e){return n+Math.floor(Math.random()*(e-n+1))}function FEe(n,e){return n+Math.random()*(e-n)}function OEe(n){return n*(.5-Math.random())}function BEe(n){n!==void 0&&(jU=n);let e=jU+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function zEe(n){return n*ed}function GEe(n){return n*T7}function $C(n){return(n&n-1)===0&&n!==0}function UEe(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function Gg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function VEe(n,e,t,i,r){const a=Math.cos,o=Math.sin,s=a(t/2),l=o(t/2),u=a((e+i)/2),c=o((e+i)/2),d=a((e-i)/2),h=o((e-i)/2),f=a((i-e)/2),p=o((i-e)/2);switch(r){case"XYX":n.set(s*c,l*d,l*h,s*u);break;case"YZY":n.set(l*h,s*c,l*d,s*u);break;case"ZXZ":n.set(l*d,l*h,s*c,s*u);break;case"XZX":n.set(s*c,l*p,l*f,s*u);break;case"YXY":n.set(l*f,s*c,l*p,s*u);break;case"ZYZ":n.set(l*p,l*f,s*c,s*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function $a(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function G1(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const dR={DEG2RAD:ed,RAD2DEG:T7,generateUUID:wa,clamp:sn,euclideanModulo:cR,mapLinear:PEe,inverseLerp:REe,lerp:td,damp:LEe,pingpong:IEe,smoothstep:DEe,smootherstep:NEe,randInt:kEe,randFloat:FEe,randFloatSpread:OEe,seededRandom:BEe,degToRad:zEe,radToDeg:GEe,isPowerOfTwo:$C,ceilPowerOfTwo:UEe,floorPowerOfTwo:Gg,setQuaternionFromProperEuler:VEe,normalize:G1,denormalize:$a};class Q2{constructor(e=0,t=0){Q2.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(sn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),a=this.x-e.x,o=this.y-e.y;return this.x=a*i-o*r+e.x,this.y=a*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class r1{constructor(e,t,i,r,a,o,s,l,u){r1.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,o,s,l,u)}set(e,t,i,r,a,o,s,l,u){const c=this.elements;return c[0]=e,c[1]=r,c[2]=s,c[3]=t,c[4]=a,c[5]=l,c[6]=i,c[7]=o,c[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,o=i[0],s=i[3],l=i[6],u=i[1],c=i[4],d=i[7],h=i[2],f=i[5],p=i[8],m=r[0],v=r[3],g=r[6],_=r[1],S=r[4],x=r[7],A=r[2],C=r[5],M=r[8];return a[0]=o*m+s*_+l*A,a[3]=o*v+s*S+l*C,a[6]=o*g+s*x+l*M,a[1]=u*m+c*_+d*A,a[4]=u*v+c*S+d*C,a[7]=u*g+c*x+d*M,a[2]=h*m+f*_+p*A,a[5]=h*v+f*S+p*C,a[8]=h*g+f*x+p*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t*o*c-t*s*u-i*a*c+i*s*l+r*a*u-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],d=c*o-s*u,h=s*l-c*a,f=u*a-o*l,p=t*d+i*h+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return e[0]=d*m,e[1]=(r*u-c*i)*m,e[2]=(s*i-r*o)*m,e[3]=h*m,e[4]=(c*t-r*l)*m,e[5]=(r*a-s*t)*m,e[6]=f*m,e[7]=(i*l-u*t)*m,e[8]=(o*t-i*a)*m,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,a,o,s){const l=Math.cos(a),u=Math.sin(a);return this.set(i*l,i*u,-i*(l*o+u*s)+o+e,-r*u,r*l,-r*(-u*o+l*s)+s+t,0,0,1),this}scale(e,t){return this.premultiply(Lw.makeScale(e,t)),this}rotate(e){return this.premultiply(Lw.makeRotation(-e)),this}translate(e,t){return this.premultiply(Lw.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Lw=new r1;function kQ(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function Zd(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function HEe(){const n=Zd("canvas");return n.style.display="block",n}const $U={};function I8(n){n in $U||($U[n]=!0,console.warn(n))}const qU=new r1().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),XU=new r1().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Up={[Sn]:{transfer:Fg,primaries:Og,toReference:n=>n,fromReference:n=>n},[W1]:{transfer:v0,primaries:Og,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[r_]:{transfer:Fg,primaries:Bg,toReference:n=>n.applyMatrix3(XU),fromReference:n=>n.applyMatrix3(qU)},[uR]:{transfer:v0,primaries:Bg,toReference:n=>n.convertSRGBToLinear().applyMatrix3(XU),fromReference:n=>n.applyMatrix3(qU).convertLinearToSRGB()}},WEe=new Set([Sn,r_]),F1={enabled:!0,_workingColorSpace:Sn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!WEe.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=Up[e].toReference,r=Up[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return Up[n].primaries},getTransfer:function(n){return n===ya?Fg:Up[n].transfer}};function Zl(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function Iw(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Y4;class FQ{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Y4===void 0&&(Y4=Zd("canvas")),Y4.width=e.width,Y4.height=e.height;const i=Y4.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Y4}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=Zd("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),a=r.data;for(let o=0;o<a.length;o++)a[o]=Zl(a[o]/255)*255;return i.putImageData(r,0,0),t}else if(e.data){const t=e.data.slice(0);for(let i=0;i<t.length;i++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[i]=Math.floor(Zl(t[i]/255)*255):t[i]=Zl(t[i]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let jEe=0;class OQ{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:jEe++}),this.uuid=wa(),this.data=e,this.dataReady=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const i={uuid:this.uuid,url:""},r=this.data;if(r!==null){let a;if(Array.isArray(r)){a=[];for(let o=0,s=r.length;o<s;o++)r[o].isDataTexture?a.push(Dw(r[o].image)):a.push(Dw(r[o]))}else a=Dw(r);i.url=a}return t||(e.images[this.uuid]=i),i}}function Dw(n){return typeof HTMLImageElement!="undefined"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&n instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?FQ.getDataURL(n):n.data?{data:Array.from(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let $Ee=0;class gn extends a4{constructor(e=gn.DEFAULT_IMAGE,t=gn.DEFAULT_MAPPING,i=li,r=li,a=an,o=ks,s=ga,l=b5,u=gn.DEFAULT_ANISOTROPY,c=ya){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:$Ee++}),this.uuid=wa(),this.name="",this.source=new OQ(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=i,this.wrapT=r,this.magFilter=a,this.minFilter=o,this.anisotropy=u,this.format=s,this.internalFormat=null,this.type=l,this.offset=new Q2(0,0),this.repeat=new Q2(1,1),this.center=new Q2(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new r1,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,typeof c=="string"?this.colorSpace=c:(I8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=c===L8?W1:ya),this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const i={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==TQ)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Mn:e.x=e.x-Math.floor(e.x);break;case li:e.x=e.x<0?0:1;break;case kg:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Mn:e.y=e.y-Math.floor(e.y);break;case li:e.y=e.y<0?0:1;break;case kg:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return I8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===W1?L8:DQ}set encoding(e){I8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===L8?W1:ya}}gn.DEFAULT_IMAGE=null;gn.DEFAULT_MAPPING=TQ;gn.DEFAULT_ANISOTROPY=1;class M1{constructor(e=0,t=0,i=0,r=1){M1.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*a,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*a,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*a,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*a,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,a;const l=e.elements,u=l[0],c=l[4],d=l[8],h=l[1],f=l[5],p=l[9],m=l[2],v=l[6],g=l[10];if(Math.abs(c-h)<.01&&Math.abs(d-m)<.01&&Math.abs(p-v)<.01){if(Math.abs(c+h)<.1&&Math.abs(d+m)<.1&&Math.abs(p+v)<.1&&Math.abs(u+f+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const S=(u+1)/2,x=(f+1)/2,A=(g+1)/2,C=(c+h)/4,M=(d+m)/4,I=(p+v)/4;return S>x&&S>A?S<.01?(i=0,r=.707106781,a=.707106781):(i=Math.sqrt(S),r=C/i,a=M/i):x>A?x<.01?(i=.707106781,r=0,a=.707106781):(r=Math.sqrt(x),i=C/r,a=I/r):A<.01?(i=.707106781,r=.707106781,a=0):(a=Math.sqrt(A),i=M/a,r=I/a),this.set(i,r,a,t),this}let _=Math.sqrt((v-p)*(v-p)+(d-m)*(d-m)+(h-c)*(h-c));return Math.abs(_)<.001&&(_=1),this.x=(v-p)/_,this.y=(d-m)/_,this.z=(h-c)/_,this.w=Math.acos((u+f+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class qEe extends a4{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new M1(0,0,e,t),this.scissorTest=!1,this.viewport=new M1(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(I8("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===L8?W1:ya),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:an,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new gn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new OQ(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class V8 extends qEe{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class BQ extends gn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=vn,this.minFilter=vn,this.wrapR=li,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class XEe extends gn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=vn,this.minFilter=vn,this.wrapR=li,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class io{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,a,o,s){let l=i[r+0],u=i[r+1],c=i[r+2],d=i[r+3];const h=a[o+0],f=a[o+1],p=a[o+2],m=a[o+3];if(s===0){e[t+0]=l,e[t+1]=u,e[t+2]=c,e[t+3]=d;return}if(s===1){e[t+0]=h,e[t+1]=f,e[t+2]=p,e[t+3]=m;return}if(d!==m||l!==h||u!==f||c!==p){let v=1-s;const g=l*h+u*f+c*p+d*m,_=g>=0?1:-1,S=1-g*g;if(S>Number.EPSILON){const A=Math.sqrt(S),C=Math.atan2(A,g*_);v=Math.sin(v*C)/A,s=Math.sin(s*C)/A}const x=s*_;if(l=l*v+h*x,u=u*v+f*x,c=c*v+p*x,d=d*v+m*x,v===1-s){const A=1/Math.sqrt(l*l+u*u+c*c+d*d);l*=A,u*=A,c*=A,d*=A}}e[t]=l,e[t+1]=u,e[t+2]=c,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,a,o){const s=i[r],l=i[r+1],u=i[r+2],c=i[r+3],d=a[o],h=a[o+1],f=a[o+2],p=a[o+3];return e[t]=s*p+c*d+l*f-u*h,e[t+1]=l*p+c*h+u*d-s*f,e[t+2]=u*p+c*f+s*h-l*d,e[t+3]=c*p-s*d-l*h-u*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,a=e._z,o=e._order,s=Math.cos,l=Math.sin,u=s(i/2),c=s(r/2),d=s(a/2),h=l(i/2),f=l(r/2),p=l(a/2);switch(o){case"XYZ":this._x=h*c*d+u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d-h*f*p;break;case"YXZ":this._x=h*c*d+u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d+h*f*p;break;case"ZXY":this._x=h*c*d-u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d-h*f*p;break;case"ZYX":this._x=h*c*d-u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d+h*f*p;break;case"YZX":this._x=h*c*d+u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d-h*f*p;break;case"XZY":this._x=h*c*d-u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d+h*f*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],a=t[8],o=t[1],s=t[5],l=t[9],u=t[2],c=t[6],d=t[10],h=i+s+d;if(h>0){const f=.5/Math.sqrt(h+1);this._w=.25/f,this._x=(c-l)*f,this._y=(a-u)*f,this._z=(o-r)*f}else if(i>s&&i>d){const f=2*Math.sqrt(1+i-s-d);this._w=(c-l)/f,this._x=.25*f,this._y=(r+o)/f,this._z=(a+u)/f}else if(s>d){const f=2*Math.sqrt(1+s-i-d);this._w=(a-u)/f,this._x=(r+o)/f,this._y=.25*f,this._z=(l+c)/f}else{const f=2*Math.sqrt(1+d-i-s);this._w=(o-r)/f,this._x=(a+u)/f,this._y=(l+c)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return i<Number.EPSILON?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(sn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,a=e._z,o=e._w,s=t._x,l=t._y,u=t._z,c=t._w;return this._x=i*c+o*s+r*u-a*l,this._y=r*c+o*l+a*s-i*u,this._z=a*c+o*u+i*l-r*s,this._w=o*c-i*s-r*l-a*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,a=this._z,o=this._w;let s=o*e._w+i*e._x+r*e._y+a*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=o,this._x=i,this._y=r,this._z=a,this;const l=1-s*s;if(l<=Number.EPSILON){const f=1-t;return this._w=f*o+t*this._w,this._x=f*i+t*this._x,this._y=f*r+t*this._y,this._z=f*a+t*this._z,this.normalize(),this}const u=Math.sqrt(l),c=Math.atan2(u,s),d=Math.sin((1-t)*c)/u,h=Math.sin(t*c)/u;return this._w=o*d+this._w*h,this._x=i*d+this._x*h,this._y=r*d+this._y*h,this._z=a*d+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),a=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(a),i*Math.cos(a),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Ie{constructor(e=0,t=0,i=0){Ie.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(YU.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(YU.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6]*r,this.y=a[1]*t+a[4]*i+a[7]*r,this.z=a[2]*t+a[5]*i+a[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=e.elements,o=1/(a[3]*t+a[7]*i+a[11]*r+a[15]);return this.x=(a[0]*t+a[4]*i+a[8]*r+a[12])*o,this.y=(a[1]*t+a[5]*i+a[9]*r+a[13])*o,this.z=(a[2]*t+a[6]*i+a[10]*r+a[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,a=e.x,o=e.y,s=e.z,l=e.w,u=2*(o*r-s*i),c=2*(s*t-a*r),d=2*(a*i-o*t);return this.x=t+l*u+o*d-s*c,this.y=i+l*c+s*u-a*d,this.z=r+l*d+a*c-o*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[4]*i+a[8]*r,this.y=a[1]*t+a[5]*i+a[9]*r,this.z=a[2]*t+a[6]*i+a[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,a=e.z,o=t.x,s=t.y,l=t.z;return this.x=r*l-a*s,this.y=a*o-i*l,this.z=i*s-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Nw.copy(this).projectOnVector(e),this.sub(Nw)}reflect(e){return this.sub(Nw.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(sn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-x6(e,2));return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Nw=new Ie,YU=new io;class La{constructor(e=new Ie(1/0,1/0,1/0),t=new Ie(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t+=3)this.expandByPoint(za.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,i=e.count;t<i;t++)this.expandByPoint(za.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=za.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const i=e.geometry;if(i!==void 0){const a=i.getAttribute("position");if(t===!0&&a!==void 0&&e.isInstancedMesh!==!0)for(let o=0,s=a.count;o<s;o++)e.isMesh===!0?e.getVertexPosition(o,za):za.fromBufferAttribute(a,o),za.applyMatrix4(e.matrixWorld),this.expandByPoint(za);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),Vp.copy(e.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),Vp.copy(i.boundingBox)),Vp.applyMatrix4(e.matrixWorld),this.union(Vp)}const r=e.children;for(let a=0,o=r.length;a<o;a++)this.expandByObject(r[a],t);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,za),za.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(tc),Hp.subVectors(this.max,tc),K4.subVectors(e.a,tc),Z4.subVectors(e.b,tc),J4.subVectors(e.c,tc),D6.subVectors(Z4,K4),N6.subVectors(J4,Z4),I9.subVectors(K4,J4);let t=[0,-D6.z,D6.y,0,-N6.z,N6.y,0,-I9.z,I9.y,D6.z,0,-D6.x,N6.z,0,-N6.x,I9.z,0,-I9.x,-D6.y,D6.x,0,-N6.y,N6.x,0,-I9.y,I9.x,0];return!kw(t,K4,Z4,J4,Hp)||(t=[1,0,0,0,1,0,0,0,1],!kw(t,K4,Z4,J4,Hp))?!1:(Wp.crossVectors(D6,N6),t=[Wp.x,Wp.y,Wp.z],kw(t,K4,Z4,J4,Hp))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,za).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(za).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ss[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ss[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ss[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ss[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ss[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ss[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ss[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ss[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ss),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Ss=[new Ie,new Ie,new Ie,new Ie,new Ie,new Ie,new Ie,new Ie],za=new Ie,Vp=new La,K4=new Ie,Z4=new Ie,J4=new Ie,D6=new Ie,N6=new Ie,I9=new Ie,tc=new Ie,Hp=new Ie,Wp=new Ie,D9=new Ie;function kw(n,e,t,i,r){for(let a=0,o=n.length-3;a<=o;a+=3){D9.fromArray(n,a);const s=r.x*Math.abs(D9.x)+r.y*Math.abs(D9.y)+r.z*Math.abs(D9.z),l=e.dot(D9),u=t.dot(D9),c=i.dot(D9);if(Math.max(-Math.max(l,u,c),Math.min(l,u,c))>s)return!1}return!0}const YEe=new La,nc=new Ie,Fw=new Ie;class Ia{constructor(e=new Ie,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):YEe.setFromPoints(e).getCenter(i);let r=0;for(let a=0,o=e.length;a<o;a++)r=Math.max(r,i.distanceToSquared(e[a]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;nc.subVectors(e,this.center);const t=nc.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(nc,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Fw.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(nc.copy(e.center).add(Fw)),this.expandByPoint(nc.copy(e.center).sub(Fw))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const bs=new Ie,Ow=new Ie,jp=new Ie,k6=new Ie,Bw=new Ie,$p=new Ie,zw=new Ie;class J7{constructor(e=new Ie,t=new Ie(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,bs)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=bs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(bs.copy(this.origin).addScaledVector(this.direction,t),bs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Ow.copy(e).add(t).multiplyScalar(.5),jp.copy(t).sub(e).normalize(),k6.copy(this.origin).sub(Ow);const a=e.distanceTo(t)*.5,o=-this.direction.dot(jp),s=k6.dot(this.direction),l=-k6.dot(jp),u=k6.lengthSq(),c=Math.abs(1-o*o);let d,h,f,p;if(c>0)if(d=o*l-s,h=o*s-l,p=a*c,d>=0)if(h>=-p)if(h<=p){const m=1/c;d*=m,h*=m,f=d*(d+o*h+2*s)+h*(o*d+h+2*l)+u}else h=a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;else h=-a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;else h<=-p?(d=Math.max(0,-(-o*a+s)),h=d>0?-a:Math.min(Math.max(-a,-l),a),f=-d*d+h*(h+2*l)+u):h<=p?(d=0,h=Math.min(Math.max(-a,-l),a),f=h*(h+2*l)+u):(d=Math.max(0,-(o*a+s)),h=d>0?a:Math.min(Math.max(-a,-l),a),f=-d*d+h*(h+2*l)+u);else h=o>0?-a:a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(Ow).addScaledVector(jp,h),f}intersectSphere(e,t){bs.subVectors(e.center,this.origin);const i=bs.dot(this.direction),r=bs.dot(bs)-i*i,a=e.radius*e.radius;if(r>a)return null;const o=Math.sqrt(a-r),s=i-o,l=i+o;return l<0?null:s<0?this.at(l,t):this.at(s,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,a,o,s,l;const u=1/this.direction.x,c=1/this.direction.y,d=1/this.direction.z,h=this.origin;return u>=0?(i=(e.min.x-h.x)*u,r=(e.max.x-h.x)*u):(i=(e.max.x-h.x)*u,r=(e.min.x-h.x)*u),c>=0?(a=(e.min.y-h.y)*c,o=(e.max.y-h.y)*c):(a=(e.max.y-h.y)*c,o=(e.min.y-h.y)*c),i>o||a>r||((a>i||isNaN(i))&&(i=a),(o<r||isNaN(r))&&(r=o),d>=0?(s=(e.min.z-h.z)*d,l=(e.max.z-h.z)*d):(s=(e.max.z-h.z)*d,l=(e.min.z-h.z)*d),i>l||s>r)||((s>i||i!==i)&&(i=s),(l<r||r!==r)&&(r=l),r<0)?null:this.at(i>=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,bs)!==null}intersectTriangle(e,t,i,r,a){Bw.subVectors(t,e),$p.subVectors(i,e),zw.crossVectors(Bw,$p);let o=this.direction.dot(zw),s;if(o>0){if(r)return null;s=1}else if(o<0)s=-1,o=-o;else return null;k6.subVectors(this.origin,e);const l=s*this.direction.dot($p.crossVectors(k6,$p));if(l<0)return null;const u=s*this.direction.dot(Bw.cross(k6));if(u<0||l+u>o)return null;const c=-s*k6.dot(zw);return c<0?null:this.at(c/o,a)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class B3{constructor(e,t,i,r,a,o,s,l,u,c,d,h,f,p,m,v){B3.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,o,s,l,u,c,d,h,f,p,m,v)}set(e,t,i,r,a,o,s,l,u,c,d,h,f,p,m,v){const g=this.elements;return g[0]=e,g[4]=t,g[8]=i,g[12]=r,g[1]=a,g[5]=o,g[9]=s,g[13]=l,g[2]=u,g[6]=c,g[10]=d,g[14]=h,g[3]=f,g[7]=p,g[11]=m,g[15]=v,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new B3().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/Q4.setFromMatrixColumn(e,0).length(),a=1/Q4.setFromMatrixColumn(e,1).length(),o=1/Q4.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*a,t[5]=i[5]*a,t[6]=i[6]*a,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,a=e.z,o=Math.cos(i),s=Math.sin(i),l=Math.cos(r),u=Math.sin(r),c=Math.cos(a),d=Math.sin(a);if(e.order==="XYZ"){const h=o*c,f=o*d,p=s*c,m=s*d;t[0]=l*c,t[4]=-l*d,t[8]=u,t[1]=f+p*u,t[5]=h-m*u,t[9]=-s*l,t[2]=m-h*u,t[6]=p+f*u,t[10]=o*l}else if(e.order==="YXZ"){const h=l*c,f=l*d,p=u*c,m=u*d;t[0]=h+m*s,t[4]=p*s-f,t[8]=o*u,t[1]=o*d,t[5]=o*c,t[9]=-s,t[2]=f*s-p,t[6]=m+h*s,t[10]=o*l}else if(e.order==="ZXY"){const h=l*c,f=l*d,p=u*c,m=u*d;t[0]=h-m*s,t[4]=-o*d,t[8]=p+f*s,t[1]=f+p*s,t[5]=o*c,t[9]=m-h*s,t[2]=-o*u,t[6]=s,t[10]=o*l}else if(e.order==="ZYX"){const h=o*c,f=o*d,p=s*c,m=s*d;t[0]=l*c,t[4]=p*u-f,t[8]=h*u+m,t[1]=l*d,t[5]=m*u+h,t[9]=f*u-p,t[2]=-u,t[6]=s*l,t[10]=o*l}else if(e.order==="YZX"){const h=o*l,f=o*u,p=s*l,m=s*u;t[0]=l*c,t[4]=m-h*d,t[8]=p*d+f,t[1]=d,t[5]=o*c,t[9]=-s*c,t[2]=-u*c,t[6]=f*d+p,t[10]=h-m*d}else if(e.order==="XZY"){const h=o*l,f=o*u,p=s*l,m=s*u;t[0]=l*c,t[4]=-d,t[8]=u*c,t[1]=h*d+m,t[5]=o*c,t[9]=f*d-p,t[2]=p*d-f,t[6]=s*c,t[10]=m*d+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(KEe,e,ZEe)}lookAt(e,t,i){const r=this.elements;return Sr.subVectors(e,t),Sr.lengthSq()===0&&(Sr.z=1),Sr.normalize(),F6.crossVectors(i,Sr),F6.lengthSq()===0&&(Math.abs(i.z)===1?Sr.x+=1e-4:Sr.z+=1e-4,Sr.normalize(),F6.crossVectors(i,Sr)),F6.normalize(),qp.crossVectors(Sr,F6),r[0]=F6.x,r[4]=qp.x,r[8]=Sr.x,r[1]=F6.y,r[5]=qp.y,r[9]=Sr.y,r[2]=F6.z,r[6]=qp.z,r[10]=Sr.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,o=i[0],s=i[4],l=i[8],u=i[12],c=i[1],d=i[5],h=i[9],f=i[13],p=i[2],m=i[6],v=i[10],g=i[14],_=i[3],S=i[7],x=i[11],A=i[15],C=r[0],M=r[4],I=r[8],D=r[12],E=r[1],P=r[5],F=r[9],V=r[13],G=r[2],W=r[6],Y=r[10],Q=r[14],K=r[3],ae=r[7],ie=r[11],he=r[15];return a[0]=o*C+s*E+l*G+u*K,a[4]=o*M+s*P+l*W+u*ae,a[8]=o*I+s*F+l*Y+u*ie,a[12]=o*D+s*V+l*Q+u*he,a[1]=c*C+d*E+h*G+f*K,a[5]=c*M+d*P+h*W+f*ae,a[9]=c*I+d*F+h*Y+f*ie,a[13]=c*D+d*V+h*Q+f*he,a[2]=p*C+m*E+v*G+g*K,a[6]=p*M+m*P+v*W+g*ae,a[10]=p*I+m*F+v*Y+g*ie,a[14]=p*D+m*V+v*Q+g*he,a[3]=_*C+S*E+x*G+A*K,a[7]=_*M+S*P+x*W+A*ae,a[11]=_*I+S*F+x*Y+A*ie,a[15]=_*D+S*V+x*Q+A*he,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],a=e[12],o=e[1],s=e[5],l=e[9],u=e[13],c=e[2],d=e[6],h=e[10],f=e[14],p=e[3],m=e[7],v=e[11],g=e[15];return p*(+a*l*d-r*u*d-a*s*h+i*u*h+r*s*f-i*l*f)+m*(+t*l*f-t*u*h+a*o*h-r*o*f+r*u*c-a*l*c)+v*(+t*u*d-t*s*f-a*o*d+i*o*f+a*s*c-i*u*c)+g*(-r*s*c-t*l*d+t*s*h+r*o*d-i*o*h+i*l*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],d=e[9],h=e[10],f=e[11],p=e[12],m=e[13],v=e[14],g=e[15],_=d*v*u-m*h*u+m*l*f-s*v*f-d*l*g+s*h*g,S=p*h*u-c*v*u-p*l*f+o*v*f+c*l*g-o*h*g,x=c*m*u-p*d*u+p*s*f-o*m*f-c*s*g+o*d*g,A=p*d*l-c*m*l-p*s*h+o*m*h+c*s*v-o*d*v,C=t*_+i*S+r*x+a*A;if(C===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const M=1/C;return e[0]=_*M,e[1]=(m*h*a-d*v*a-m*r*f+i*v*f+d*r*g-i*h*g)*M,e[2]=(s*v*a-m*l*a+m*r*u-i*v*u-s*r*g+i*l*g)*M,e[3]=(d*l*a-s*h*a-d*r*u+i*h*u+s*r*f-i*l*f)*M,e[4]=S*M,e[5]=(c*v*a-p*h*a+p*r*f-t*v*f-c*r*g+t*h*g)*M,e[6]=(p*l*a-o*v*a-p*r*u+t*v*u+o*r*g-t*l*g)*M,e[7]=(o*h*a-c*l*a+c*r*u-t*h*u-o*r*f+t*l*f)*M,e[8]=x*M,e[9]=(p*d*a-c*m*a-p*i*f+t*m*f+c*i*g-t*d*g)*M,e[10]=(o*m*a-p*s*a+p*i*u-t*m*u-o*i*g+t*s*g)*M,e[11]=(c*s*a-o*d*a-c*i*u+t*d*u+o*i*f-t*s*f)*M,e[12]=A*M,e[13]=(c*m*r-p*d*r+p*i*h-t*m*h-c*i*v+t*d*v)*M,e[14]=(p*s*r-o*m*r-p*i*l+t*m*l+o*i*v-t*s*v)*M,e[15]=(o*d*r-c*s*r+c*i*l-t*d*l-o*i*h+t*s*h)*M,this}scale(e){const t=this.elements,i=e.x,r=e.y,a=e.z;return t[0]*=i,t[4]*=r,t[8]*=a,t[1]*=i,t[5]*=r,t[9]*=a,t[2]*=i,t[6]*=r,t[10]*=a,t[3]*=i,t[7]*=r,t[11]*=a,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),a=1-i,o=e.x,s=e.y,l=e.z,u=a*o,c=a*s;return this.set(u*o+i,u*s-r*l,u*l+r*s,0,u*s+r*l,c*s+i,c*l-r*o,0,u*l-r*s,c*l+r*o,a*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,a,o){return this.set(1,i,a,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,a=t._x,o=t._y,s=t._z,l=t._w,u=a+a,c=o+o,d=s+s,h=a*u,f=a*c,p=a*d,m=o*c,v=o*d,g=s*d,_=l*u,S=l*c,x=l*d,A=i.x,C=i.y,M=i.z;return r[0]=(1-(m+g))*A,r[1]=(f+x)*A,r[2]=(p-S)*A,r[3]=0,r[4]=(f-x)*C,r[5]=(1-(h+g))*C,r[6]=(v+_)*C,r[7]=0,r[8]=(p+S)*M,r[9]=(v-_)*M,r[10]=(1-(h+m))*M,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let a=Q4.set(r[0],r[1],r[2]).length();const o=Q4.set(r[4],r[5],r[6]).length(),s=Q4.set(r[8],r[9],r[10]).length();this.determinant()<0&&(a=-a),e.x=r[12],e.y=r[13],e.z=r[14],Ga.copy(this);const u=1/a,c=1/o,d=1/s;return Ga.elements[0]*=u,Ga.elements[1]*=u,Ga.elements[2]*=u,Ga.elements[4]*=c,Ga.elements[5]*=c,Ga.elements[6]*=c,Ga.elements[8]*=d,Ga.elements[9]*=d,Ga.elements[10]*=d,t.setFromRotationMatrix(Ga),i.x=a,i.y=o,i.z=s,this}makePerspective(e,t,i,r,a,o,s=Fs){const l=this.elements,u=2*a/(t-e),c=2*a/(i-r),d=(t+e)/(t-e),h=(i+r)/(i-r);let f,p;if(s===Fs)f=-(o+a)/(o-a),p=-2*o*a/(o-a);else if(s===zg)f=-o/(o-a),p=-o*a/(o-a);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+s);return l[0]=u,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=c,l[9]=h,l[13]=0,l[2]=0,l[6]=0,l[10]=f,l[14]=p,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,a,o,s=Fs){const l=this.elements,u=1/(t-e),c=1/(i-r),d=1/(o-a),h=(t+e)*u,f=(i+r)*c;let p,m;if(s===Fs)p=(o+a)*d,m=-2*d;else if(s===zg)p=a*d,m=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+s);return l[0]=2*u,l[4]=0,l[8]=0,l[12]=-h,l[1]=0,l[5]=2*c,l[9]=0,l[13]=-f,l[2]=0,l[6]=0,l[10]=m,l[14]=-p,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const Q4=new Ie,Ga=new B3,KEe=new Ie(0,0,0),ZEe=new Ie(1,1,1),F6=new Ie,qp=new Ie,Sr=new Ie,KU=new B3,ZU=new io;class a_{constructor(e=0,t=0,i=0,r=a_.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,a=r[0],o=r[4],s=r[8],l=r[1],u=r[5],c=r[9],d=r[2],h=r[6],f=r[10];switch(t){case"XYZ":this._y=Math.asin(sn(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-c,f),this._z=Math.atan2(-o,a)):(this._x=Math.atan2(h,u),this._z=0);break;case"YXZ":this._x=Math.asin(-sn(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(s,f),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,a),this._z=0);break;case"ZXY":this._x=Math.asin(sn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-d,f),this._z=Math.atan2(-o,u)):(this._y=0,this._z=Math.atan2(l,a));break;case"ZYX":this._y=Math.asin(-sn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(h,f),this._z=Math.atan2(l,a)):(this._x=0,this._z=Math.atan2(-o,u));break;case"YZX":this._z=Math.asin(sn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,u),this._y=Math.atan2(-d,a)):(this._x=0,this._y=Math.atan2(s,f));break;case"XZY":this._z=Math.asin(-sn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(h,u),this._y=Math.atan2(s,a)):(this._x=Math.atan2(-c,f),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return KU.makeRotationFromQuaternion(e),this.setFromRotationMatrix(KU,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return ZU.setFromEuler(this),this.setFromQuaternion(ZU,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}a_.DEFAULT_ORDER="XYZ";class hR{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}isEnabled(e){return(this.mask&(1<<e|0))!==0}}let JEe=0;const JU=new Ie,el=new io,xs=new B3,Xp=new Ie,ic=new Ie,QEe=new Ie,ePe=new io,QU=new Ie(1,0,0),eV=new Ie(0,1,0),tV=new Ie(0,0,1),tPe={type:"added"},nPe={type:"removed"};class s0 extends a4{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:JEe++}),this.uuid=wa(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=s0.DEFAULT_UP.clone();const e=new Ie,t=new a_,i=new io,r=new Ie(1,1,1);function a(){i.setFromEuler(t,!1)}function o(){t.setFromQuaternion(i,void 0,!1)}t._onChange(a),i._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new B3},normalMatrix:{value:new r1}}),this.matrix=new B3,this.matrixWorld=new B3,this.matrixAutoUpdate=s0.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=s0.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new hR,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return el.setFromAxisAngle(e,t),this.quaternion.multiply(el),this}rotateOnWorldAxis(e,t){return el.setFromAxisAngle(e,t),this.quaternion.premultiply(el),this}rotateX(e){return this.rotateOnAxis(QU,e)}rotateY(e){return this.rotateOnAxis(eV,e)}rotateZ(e){return this.rotateOnAxis(tV,e)}translateOnAxis(e,t){return JU.copy(e).applyQuaternion(this.quaternion),this.position.add(JU.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(QU,e)}translateY(e){return this.translateOnAxis(eV,e)}translateZ(e){return this.translateOnAxis(tV,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(xs.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?Xp.copy(e):Xp.set(e,t,i);const r=this.parent;this.updateWorldMatrix(!0,!1),ic.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?xs.lookAt(ic,Xp,this.up):xs.lookAt(Xp,ic,this.up),this.quaternion.setFromRotationMatrix(xs),r&&(xs.extractRotation(r.matrixWorld),el.setFromRotationMatrix(xs),this.quaternion.premultiply(el.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.parent!==null&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(tPe)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(nPe)),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),xs.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),xs.multiply(e.parent.matrixWorld)),e.applyMatrix4(xs),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,r=this.children.length;i<r;i++){const o=this.children[i].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,i=[]){this[e]===t&&i.push(this);const r=this.children;for(let a=0,o=r.length;a<o;a++)r[a].getObjectsByProperty(e,t,i);return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ic,e,QEe),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ic,ePe,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,r=t.length;i<r;i++){const a=t[i];(a.matrixWorldAutoUpdate===!0||e===!0)&&a.updateMatrixWorld(e)}}updateWorldMatrix(e,t){const i=this.parent;if(e===!0&&i!==null&&i.matrixWorldAutoUpdate===!0&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),t===!0){const r=this.children;for(let a=0,o=r.length;a<o;a++){const s=r[a];s.matrixWorldAutoUpdate===!0&&s.updateWorldMatrix(!1,!0)}}}toJSON(e){const t=e===void 0||typeof e=="string",i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const r={};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.castShadow===!0&&(r.castShadow=!0),this.receiveShadow===!0&&(r.receiveShadow=!0),this.visible===!1&&(r.visible=!1),this.frustumCulled===!1&&(r.frustumCulled=!1),this.renderOrder!==0&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(s=>({boxInitialized:s.boxInitialized,boxMin:s.box.min.toArray(),boxMax:s.box.max.toArray(),sphereInitialized:s.sphereInitialized,sphereRadius:s.sphere.radius,sphereCenter:s.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function a(s,l){return s[l.uuid]===void 0&&(s[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=a(e.geometries,this.geometry);const s=this.geometry.parameters;if(s!==void 0&&s.shapes!==void 0){const l=s.shapes;if(Array.isArray(l))for(let u=0,c=l.length;u<c;u++){const d=l[u];a(e.shapes,d)}else a(e.shapes,l)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(a(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const s=[];for(let l=0,u=this.material.length;l<u;l++)s.push(a(e.materials,this.material[l]));r.material=s}else r.material=a(e.materials,this.material);if(this.children.length>0){r.children=[];for(let s=0;s<this.children.length;s++)r.children.push(this.children[s].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let s=0;s<this.animations.length;s++){const l=this.animations[s];r.animations.push(a(e.animations,l))}}if(t){const s=o(e.geometries),l=o(e.materials),u=o(e.textures),c=o(e.images),d=o(e.shapes),h=o(e.skeletons),f=o(e.animations),p=o(e.nodes);s.length>0&&(i.geometries=s),l.length>0&&(i.materials=l),u.length>0&&(i.textures=u),c.length>0&&(i.images=c),d.length>0&&(i.shapes=d),h.length>0&&(i.skeletons=h),f.length>0&&(i.animations=f),p.length>0&&(i.nodes=p)}return i.object=r,i;function o(s){const l=[];for(const u in s){const c=s[u];delete c.metadata,l.push(c)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i<e.children.length;i++){const r=e.children[i];this.add(r.clone())}return this}}s0.DEFAULT_UP=new Ie(0,1,0);s0.DEFAULT_MATRIX_AUTO_UPDATE=!0;s0.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const Ua=new Ie,ws=new Ie,Gw=new Ie,Ts=new Ie,tl=new Ie,nl=new Ie,nV=new Ie,Uw=new Ie,Vw=new Ie,Hw=new Ie;class qa{constructor(e=new Ie,t=new Ie,i=new Ie){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,r){r.subVectors(i,t),Ua.subVectors(e,t),r.cross(Ua);const a=r.lengthSq();return a>0?r.multiplyScalar(1/Math.sqrt(a)):r.set(0,0,0)}static getBarycoord(e,t,i,r,a){Ua.subVectors(r,t),ws.subVectors(i,t),Gw.subVectors(e,t);const o=Ua.dot(Ua),s=Ua.dot(ws),l=Ua.dot(Gw),u=ws.dot(ws),c=ws.dot(Gw),d=o*u-s*s;if(d===0)return a.set(0,0,0),null;const h=1/d,f=(u*l-s*c)*h,p=(o*c-s*l)*h;return a.set(1-f-p,p,f)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ts)===null?!1:Ts.x>=0&&Ts.y>=0&&Ts.x+Ts.y<=1}static getInterpolation(e,t,i,r,a,o,s,l){return this.getBarycoord(e,t,i,r,Ts)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(a,Ts.x),l.addScaledVector(o,Ts.y),l.addScaledVector(s,Ts.z),l)}static isFrontFacing(e,t,i,r){return Ua.subVectors(i,t),ws.subVectors(e,t),Ua.cross(ws).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Ua.subVectors(this.c,this.b),ws.subVectors(this.a,this.b),Ua.cross(ws).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return qa.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return qa.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,a){return qa.getInterpolation(e,this.a,this.b,this.c,t,i,r,a)}containsPoint(e){return qa.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return qa.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,a=this.c;let o,s;tl.subVectors(r,i),nl.subVectors(a,i),Uw.subVectors(e,i);const l=tl.dot(Uw),u=nl.dot(Uw);if(l<=0&&u<=0)return t.copy(i);Vw.subVectors(e,r);const c=tl.dot(Vw),d=nl.dot(Vw);if(c>=0&&d<=c)return t.copy(r);const h=l*d-c*u;if(h<=0&&l>=0&&c<=0)return o=l/(l-c),t.copy(i).addScaledVector(tl,o);Hw.subVectors(e,a);const f=tl.dot(Hw),p=nl.dot(Hw);if(p>=0&&f<=p)return t.copy(a);const m=f*u-l*p;if(m<=0&&u>=0&&p<=0)return s=u/(u-p),t.copy(i).addScaledVector(nl,s);const v=c*p-f*d;if(v<=0&&d-c>=0&&f-p>=0)return nV.subVectors(a,r),s=(d-c)/(d-c+(f-p)),t.copy(r).addScaledVector(nV,s);const g=1/(v+m+h);return o=m*g,s=h*g,t.copy(i).addScaledVector(tl,o).addScaledVector(nl,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const zQ={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},O6={h:0,s:0,l:0},Yp={h:0,s:0,l:0};function Ww(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class Jt{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=W1){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,F1.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=F1.workingColorSpace){return this.r=e,this.g=t,this.b=i,F1.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=F1.workingColorSpace){if(e=cR(e,1),t=sn(t,0,1),i=sn(i,0,1),t===0)this.r=this.g=this.b=i;else{const a=i<=.5?i*(1+t):i+t-i*t,o=2*i-a;this.r=Ww(o,a,e+1/3),this.g=Ww(o,a,e),this.b=Ww(o,a,e-1/3)}return F1.toWorkingColorSpace(this,r),this}setStyle(e,t=W1){function i(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let a;const o=r[1],s=r[2];switch(o){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setRGB(Math.min(255,parseInt(a[1],10))/255,Math.min(255,parseInt(a[2],10))/255,Math.min(255,parseInt(a[3],10))/255,t);if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setRGB(Math.min(100,parseInt(a[1],10))/100,Math.min(100,parseInt(a[2],10))/100,Math.min(100,parseInt(a[3],10))/100,t);break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setHSL(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const a=r[1],o=a.length;if(o===3)return this.setRGB(parseInt(a.charAt(0),16)/15,parseInt(a.charAt(1),16)/15,parseInt(a.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(a,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=W1){const i=zQ[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Zl(e.r),this.g=Zl(e.g),this.b=Zl(e.b),this}copyLinearToSRGB(e){return this.r=Iw(e.r),this.g=Iw(e.g),this.b=Iw(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=W1){return F1.fromWorkingColorSpace(ei.copy(this),e),Math.round(sn(ei.r*255,0,255))*65536+Math.round(sn(ei.g*255,0,255))*256+Math.round(sn(ei.b*255,0,255))}getHexString(e=W1){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=F1.workingColorSpace){F1.fromWorkingColorSpace(ei.copy(this),t);const i=ei.r,r=ei.g,a=ei.b,o=Math.max(i,r,a),s=Math.min(i,r,a);let l,u;const c=(s+o)/2;if(s===o)l=0,u=0;else{const d=o-s;switch(u=c<=.5?d/(o+s):d/(2-o-s),o){case i:l=(r-a)/d+(r<a?6:0);break;case r:l=(a-i)/d+2;break;case a:l=(i-r)/d+4;break}l/=6}return e.h=l,e.s=u,e.l=c,e}getRGB(e,t=F1.workingColorSpace){return F1.fromWorkingColorSpace(ei.copy(this),t),e.r=ei.r,e.g=ei.g,e.b=ei.b,e}getStyle(e=W1){F1.fromWorkingColorSpace(ei.copy(this),e);const t=ei.r,i=ei.g,r=ei.b;return e!==W1?`color(${e} ${t.toFixed(3)} ${i.toFixed(3)} ${r.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(i*255)},${Math.round(r*255)})`}offsetHSL(e,t,i){return this.getHSL(O6),this.setHSL(O6.h+e,O6.s+t,O6.l+i)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(O6),e.getHSL(Yp);const i=td(O6.h,Yp.h,t),r=td(O6.s,Yp.s,t),a=td(O6.l,Yp.l,t);return this.setHSL(i,r,a),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,i=this.g,r=this.b,a=e.elements;return this.r=a[0]*t+a[3]*i+a[6]*r,this.g=a[1]*t+a[4]*i+a[7]*r,this.b=a[2]*t+a[5]*i+a[8]*r,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const ei=new Jt;Jt.NAMES=zQ;let iPe=0;class Ta extends a4{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:iPe++}),this.uuid=wa(),this.name="",this.type="Material",this.blending=E8,this.side=Zs,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=BC,this.blendDst=zC,this.blendEquation=X6,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new Jt(0,0,0),this.blendAlpha=0,this.depthFunc=Ng,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=HU,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=X4,this.stencilZFail=X4,this.stencilZPass=X4,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==E8&&(i.blending=this.blending),this.side!==Zs&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==BC&&(i.blendSrc=this.blendSrc),this.blendDst!==zC&&(i.blendDst=this.blendDst),this.blendEquation!==X6&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Ng&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==HU&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==X4&&(i.stencilFail=this.stencilFail),this.stencilZFail!==X4&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==X4&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(a){const o=[];for(const s in a){const l=a[s];delete l.metadata,o.push(l)}return o}if(t){const a=r(e.textures),o=r(e.images);a.length>0&&(i.textures=a),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let a=0;a!==r;++a)i[a]=t[a].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class C1 extends Ta{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Jt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=oR,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Q0=new Ie,Kp=new Q2;class R0{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=WC,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=No,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return I8("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,a=this.itemSize;r<a;r++)this.array[e+r]=t.array[i+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,i=this.count;t<i;t++)Kp.fromBufferAttribute(this,t),Kp.applyMatrix3(e),this.setXY(t,Kp.x,Kp.y);else if(this.itemSize===3)for(let t=0,i=this.count;t<i;t++)Q0.fromBufferAttribute(this,t),Q0.applyMatrix3(e),this.setXYZ(t,Q0.x,Q0.y,Q0.z);return this}applyMatrix4(e){for(let t=0,i=this.count;t<i;t++)Q0.fromBufferAttribute(this,t),Q0.applyMatrix4(e),this.setXYZ(t,Q0.x,Q0.y,Q0.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Q0.fromBufferAttribute(this,t),Q0.applyNormalMatrix(e),this.setXYZ(t,Q0.x,Q0.y,Q0.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Q0.fromBufferAttribute(this,t),Q0.transformDirection(e),this.setXYZ(t,Q0.x,Q0.y,Q0.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let i=this.array[e*this.itemSize+t];return this.normalized&&(i=$a(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=G1(i,this.array)),this.array[e*this.itemSize+t]=i,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=$a(t,this.array)),t}setX(e,t){return this.normalized&&(t=G1(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=$a(t,this.array)),t}setY(e,t){return this.normalized&&(t=G1(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=$a(t,this.array)),t}setZ(e,t){return this.normalized&&(t=G1(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=$a(t,this.array)),t}setW(e,t){return this.normalized&&(t=G1(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array)),this.array[e+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array),r=G1(r,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this}setXYZW(e,t,i,r,a){return e*=this.itemSize,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array),r=G1(r,this.array),a=G1(a,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this.array[e+3]=a,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==WC&&(e.usage=this.usage),e}}class GQ extends R0{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class UQ extends R0{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class m0 extends R0{constructor(e,t,i){super(new Float32Array(e),t,i)}}let rPe=0;const Jr=new B3,jw=new s0,il=new Ie,br=new La,rc=new La,An=new Ie;class J1 extends a4{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:rPe++}),this.uuid=wa(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(kQ(e)?UQ:GQ)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(i!==void 0){const a=new r1().getNormalMatrix(e);i.applyNormalMatrix(a),i.needsUpdate=!0}const r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return Jr.makeRotationFromQuaternion(e),this.applyMatrix4(Jr),this}rotateX(e){return Jr.makeRotationX(e),this.applyMatrix4(Jr),this}rotateY(e){return Jr.makeRotationY(e),this.applyMatrix4(Jr),this}rotateZ(e){return Jr.makeRotationZ(e),this.applyMatrix4(Jr),this}translate(e,t,i){return Jr.makeTranslation(e,t,i),this.applyMatrix4(Jr),this}scale(e,t,i){return Jr.makeScale(e,t,i),this.applyMatrix4(Jr),this}lookAt(e){return jw.lookAt(e),jw.updateMatrix(),this.applyMatrix4(jw.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(il).negate(),this.translate(il.x,il.y,il.z),this}setFromPoints(e){const t=[];for(let i=0,r=e.length;i<r;i++){const a=e[i];t.push(a.x,a.y,a.z||0)}return this.setAttribute("position",new m0(t,3)),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new La);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingBox.set(new Ie(-1/0,-1/0,-1/0),new Ie(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let i=0,r=t.length;i<r;i++){const a=t[i];br.setFromBufferAttribute(a),this.morphTargetsRelative?(An.addVectors(this.boundingBox.min,br.min),this.boundingBox.expandByPoint(An),An.addVectors(this.boundingBox.max,br.max),this.boundingBox.expandByPoint(An)):(this.boundingBox.expandByPoint(br.min),this.boundingBox.expandByPoint(br.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Ia);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingSphere.set(new Ie,1/0);return}if(e){const i=this.boundingSphere.center;if(br.setFromBufferAttribute(e),t)for(let a=0,o=t.length;a<o;a++){const s=t[a];rc.setFromBufferAttribute(s),this.morphTargetsRelative?(An.addVectors(br.min,rc.min),br.expandByPoint(An),An.addVectors(br.max,rc.max),br.expandByPoint(An)):(br.expandByPoint(rc.min),br.expandByPoint(rc.max))}br.getCenter(i);let r=0;for(let a=0,o=e.count;a<o;a++)An.fromBufferAttribute(e,a),r=Math.max(r,i.distanceToSquared(An));if(t)for(let a=0,o=t.length;a<o;a++){const s=t[a],l=this.morphTargetsRelative;for(let u=0,c=s.count;u<c;u++)An.fromBufferAttribute(s,u),l&&(il.fromBufferAttribute(e,u),An.add(il)),r=Math.max(r,i.distanceToSquared(An))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const i=e.array,r=t.position.array,a=t.normal.array,o=t.uv.array,s=r.length/3;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new R0(new Float32Array(4*s),4));const l=this.getAttribute("tangent").array,u=[],c=[];for(let E=0;E<s;E++)u[E]=new Ie,c[E]=new Ie;const d=new Ie,h=new Ie,f=new Ie,p=new Q2,m=new Q2,v=new Q2,g=new Ie,_=new Ie;function S(E,P,F){d.fromArray(r,E*3),h.fromArray(r,P*3),f.fromArray(r,F*3),p.fromArray(o,E*2),m.fromArray(o,P*2),v.fromArray(o,F*2),h.sub(d),f.sub(d),m.sub(p),v.sub(p);const V=1/(m.x*v.y-v.x*m.y);isFinite(V)&&(g.copy(h).multiplyScalar(v.y).addScaledVector(f,-m.y).multiplyScalar(V),_.copy(f).multiplyScalar(m.x).addScaledVector(h,-v.x).multiplyScalar(V),u[E].add(g),u[P].add(g),u[F].add(g),c[E].add(_),c[P].add(_),c[F].add(_))}let x=this.groups;x.length===0&&(x=[{start:0,count:i.length}]);for(let E=0,P=x.length;E<P;++E){const F=x[E],V=F.start,G=F.count;for(let W=V,Y=V+G;W<Y;W+=3)S(i[W+0],i[W+1],i[W+2])}const A=new Ie,C=new Ie,M=new Ie,I=new Ie;function D(E){M.fromArray(a,E*3),I.copy(M);const P=u[E];A.copy(P),A.sub(M.multiplyScalar(M.dot(P))).normalize(),C.crossVectors(I,P);const V=C.dot(c[E])<0?-1:1;l[E*4]=A.x,l[E*4+1]=A.y,l[E*4+2]=A.z,l[E*4+3]=V}for(let E=0,P=x.length;E<P;++E){const F=x[E],V=F.start,G=F.count;for(let W=V,Y=V+G;W<Y;W+=3)D(i[W+0]),D(i[W+1]),D(i[W+2])}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let i=this.getAttribute("normal");if(i===void 0)i=new R0(new Float32Array(t.count*3),3),this.setAttribute("normal",i);else for(let h=0,f=i.count;h<f;h++)i.setXYZ(h,0,0,0);const r=new Ie,a=new Ie,o=new Ie,s=new Ie,l=new Ie,u=new Ie,c=new Ie,d=new Ie;if(e)for(let h=0,f=e.count;h<f;h+=3){const p=e.getX(h+0),m=e.getX(h+1),v=e.getX(h+2);r.fromBufferAttribute(t,p),a.fromBufferAttribute(t,m),o.fromBufferAttribute(t,v),c.subVectors(o,a),d.subVectors(r,a),c.cross(d),s.fromBufferAttribute(i,p),l.fromBufferAttribute(i,m),u.fromBufferAttribute(i,v),s.add(c),l.add(c),u.add(c),i.setXYZ(p,s.x,s.y,s.z),i.setXYZ(m,l.x,l.y,l.z),i.setXYZ(v,u.x,u.y,u.z)}else for(let h=0,f=t.count;h<f;h+=3)r.fromBufferAttribute(t,h+0),a.fromBufferAttribute(t,h+1),o.fromBufferAttribute(t,h+2),c.subVectors(o,a),d.subVectors(r,a),c.cross(d),i.setXYZ(h+0,c.x,c.y,c.z),i.setXYZ(h+1,c.x,c.y,c.z),i.setXYZ(h+2,c.x,c.y,c.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;t<i;t++)An.fromBufferAttribute(e,t),An.normalize(),e.setXYZ(t,An.x,An.y,An.z)}toNonIndexed(){function e(s,l){const u=s.array,c=s.itemSize,d=s.normalized,h=new u.constructor(l.length*c);let f=0,p=0;for(let m=0,v=l.length;m<v;m++){s.isInterleavedBufferAttribute?f=l[m]*s.data.stride+s.offset:f=l[m]*c;for(let g=0;g<c;g++)h[p++]=u[f++]}return new R0(h,c,d)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new J1,i=this.index.array,r=this.attributes;for(const s in r){const l=r[s],u=e(l,i);t.setAttribute(s,u)}const a=this.morphAttributes;for(const s in a){const l=[],u=a[s];for(let c=0,d=u.length;c<d;c++){const h=u[c],f=e(h,i);l.push(f)}t.morphAttributes[s]=l}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let s=0,l=o.length;s<l;s++){const u=o[s];t.addGroup(u.start,u.count,u.materialIndex)}return t}toJSON(){const e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const u in l)l[u]!==void 0&&(e[u]=l[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const u=i[l];e.data.attributes[l]=u.toJSON(e.data)}const r={};let a=!1;for(const l in this.morphAttributes){const u=this.morphAttributes[l],c=[];for(let d=0,h=u.length;d<h;d++){const f=u[d];c.push(f.toJSON(e.data))}c.length>0&&(r[l]=c,a=!0)}a&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const s=this.boundingSphere;return s!==null&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const u in r){const c=r[u];this.setAttribute(u,c.clone(t))}const a=e.morphAttributes;for(const u in a){const c=[],d=a[u];for(let h=0,f=d.length;h<f;h++)c.push(d[h].clone(t));this.morphAttributes[u]=c}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let u=0,c=o.length;u<c;u++){const d=o[u];this.addGroup(d.start,d.count,d.materialIndex)}const s=e.boundingBox;s!==null&&(this.boundingBox=s.clone());const l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const iV=new B3,N9=new J7,Zp=new Ia,rV=new Ie,rl=new Ie,al=new Ie,ol=new Ie,$w=new Ie,Jp=new Ie,Qp=new Q2,ev=new Q2,tv=new Q2,aV=new Ie,oV=new Ie,sV=new Ie,nv=new Ie,iv=new Ie;class h1 extends s0{constructor(e=new J1,t=new C1){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}getVertexPosition(e,t){const i=this.geometry,r=i.attributes.position,a=i.morphAttributes.position,o=i.morphTargetsRelative;t.fromBufferAttribute(r,e);const s=this.morphTargetInfluences;if(a&&s){Jp.set(0,0,0);for(let l=0,u=a.length;l<u;l++){const c=s[l],d=a[l];c!==0&&($w.fromBufferAttribute(d,e),o?Jp.addScaledVector($w,c):Jp.addScaledVector($w.sub(t),c))}t.add(Jp)}return t}raycast(e,t){const i=this.geometry,r=this.material,a=this.matrixWorld;r!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),Zp.copy(i.boundingSphere),Zp.applyMatrix4(a),N9.copy(e.ray).recast(e.near),!(Zp.containsPoint(N9.origin)===!1&&(N9.intersectSphere(Zp,rV)===null||N9.origin.distanceToSquared(rV)>x6(e.far-e.near,2)))&&(iV.copy(a).invert(),N9.copy(e.ray).applyMatrix4(iV),!(i.boundingBox!==null&&N9.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,N9)))}_computeIntersections(e,t,i){let r;const a=this.geometry,o=this.material,s=a.index,l=a.attributes.position,u=a.attributes.uv,c=a.attributes.uv1,d=a.attributes.normal,h=a.groups,f=a.drawRange;if(s!==null)if(Array.isArray(o))for(let p=0,m=h.length;p<m;p++){const v=h[p],g=o[v.materialIndex],_=Math.max(v.start,f.start),S=Math.min(s.count,Math.min(v.start+v.count,f.start+f.count));for(let x=_,A=S;x<A;x+=3){const C=s.getX(x),M=s.getX(x+1),I=s.getX(x+2);r=rv(this,g,e,i,u,c,d,C,M,I),r&&(r.faceIndex=Math.floor(x/3),r.face.materialIndex=v.materialIndex,t.push(r))}}else{const p=Math.max(0,f.start),m=Math.min(s.count,f.start+f.count);for(let v=p,g=m;v<g;v+=3){const _=s.getX(v),S=s.getX(v+1),x=s.getX(v+2);r=rv(this,o,e,i,u,c,d,_,S,x),r&&(r.faceIndex=Math.floor(v/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(o))for(let p=0,m=h.length;p<m;p++){const v=h[p],g=o[v.materialIndex],_=Math.max(v.start,f.start),S=Math.min(l.count,Math.min(v.start+v.count,f.start+f.count));for(let x=_,A=S;x<A;x+=3){const C=x,M=x+1,I=x+2;r=rv(this,g,e,i,u,c,d,C,M,I),r&&(r.faceIndex=Math.floor(x/3),r.face.materialIndex=v.materialIndex,t.push(r))}}else{const p=Math.max(0,f.start),m=Math.min(l.count,f.start+f.count);for(let v=p,g=m;v<g;v+=3){const _=v,S=v+1,x=v+2;r=rv(this,o,e,i,u,c,d,_,S,x),r&&(r.faceIndex=Math.floor(v/3),t.push(r))}}}}function aPe(n,e,t,i,r,a,o,s){let l;if(e.side===ir?l=i.intersectTriangle(o,a,r,!0,s):l=i.intersectTriangle(r,a,o,e.side===Zs,s),l===null)return null;iv.copy(s),iv.applyMatrix4(n.matrixWorld);const u=t.ray.origin.distanceTo(iv);return u<t.near||u>t.far?null:{distance:u,point:iv.clone(),object:n}}function rv(n,e,t,i,r,a,o,s,l,u){n.getVertexPosition(s,rl),n.getVertexPosition(l,al),n.getVertexPosition(u,ol);const c=aPe(n,e,t,i,rl,al,ol,nv);if(c){r&&(Qp.fromBufferAttribute(r,s),ev.fromBufferAttribute(r,l),tv.fromBufferAttribute(r,u),c.uv=qa.getInterpolation(nv,rl,al,ol,Qp,ev,tv,new Q2)),a&&(Qp.fromBufferAttribute(a,s),ev.fromBufferAttribute(a,l),tv.fromBufferAttribute(a,u),c.uv1=qa.getInterpolation(nv,rl,al,ol,Qp,ev,tv,new Q2),c.uv2=c.uv1),o&&(aV.fromBufferAttribute(o,s),oV.fromBufferAttribute(o,l),sV.fromBufferAttribute(o,u),c.normal=qa.getInterpolation(nv,rl,al,ol,aV,oV,sV,new Ie),c.normal.dot(i.direction)>0&&c.normal.multiplyScalar(-1));const d={a:s,b:l,c:u,normal:new Ie,materialIndex:0};qa.getNormal(rl,al,ol,d.normal),c.face=d}return c}class Q7 extends J1{constructor(e=1,t=1,i=1,r=1,a=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:a,depthSegments:o};const s=this;r=Math.floor(r),a=Math.floor(a),o=Math.floor(o);const l=[],u=[],c=[],d=[];let h=0,f=0;p("z","y","x",-1,-1,i,t,e,o,a,0),p("z","y","x",1,-1,i,t,-e,o,a,1),p("x","z","y",1,1,e,i,t,r,o,2),p("x","z","y",1,-1,e,i,-t,r,o,3),p("x","y","z",1,-1,e,t,i,r,a,4),p("x","y","z",-1,-1,e,t,-i,r,a,5),this.setIndex(l),this.setAttribute("position",new m0(u,3)),this.setAttribute("normal",new m0(c,3)),this.setAttribute("uv",new m0(d,2));function p(m,v,g,_,S,x,A,C,M,I,D){const E=x/M,P=A/I,F=x/2,V=A/2,G=C/2,W=M+1,Y=I+1;let Q=0,K=0;const ae=new Ie;for(let ie=0;ie<Y;ie++){const he=ie*P-V;for(let Ee=0;Ee<W;Ee++){const je=Ee*E-F;ae[m]=je*_,ae[v]=he*S,ae[g]=G,u.push(ae.x,ae.y,ae.z),ae[m]=0,ae[v]=0,ae[g]=C>0?1:-1,c.push(ae.x,ae.y,ae.z),d.push(Ee/M),d.push(1-ie/I),Q+=1}}for(let ie=0;ie<I;ie++)for(let he=0;he<M;he++){const Ee=h+he+W*ie,je=h+he+W*(ie+1),xe=h+(he+1)+W*(ie+1),Oe=h+(he+1)+W*ie;l.push(Ee,je,Oe),l.push(je,xe,Oe),K+=6}s.addGroup(f,K,D),f+=K,h+=Q}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Q7(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function A7(n){const e={};for(const t in n){e[t]={};for(const i in n[t]){const r=n[t][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][i]=null):e[t][i]=r.clone():Array.isArray(r)?e[t][i]=r.slice():e[t][i]=r}}return e}function xi(n){const e={};for(let t=0;t<n.length;t++){const i=A7(n[t]);for(const r in i)e[r]=i[r]}return e}function oPe(n){const e=[];for(let t=0;t<n.length;t++)e.push(n[t].clone());return e}function VQ(n){return n.getRenderTarget()===null?n.outputColorSpace:F1.workingColorSpace}const fR={clone:A7,merge:xi};var sPe=`void main() { |
|
|
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); |
|
|
}`,lPe=`void main() { |
|
|
gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); |
|
|
}`;class Js extends Ta{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=sPe,this.fragmentShader=lPe,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=A7(e.uniforms),this.uniformsGroups=oPe(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}let HQ=class extends s0{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new B3,this.projectionMatrix=new B3,this.projectionMatrixInverse=new B3,this.coordinateSystem=Fs}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};const B6=new Ie,lV=new Q2,uV=new Q2;class oi extends HQ{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=T7*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ed*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return T7*2*Math.atan(Math.tan(ed*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){B6.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(B6.x,B6.y).multiplyScalar(-e/B6.z),B6.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(B6.x,B6.y).multiplyScalar(-e/B6.z)}getViewSize(e,t){return this.getViewBounds(e,lV,uV),t.subVectors(uV,lV)}setViewOffset(e,t,i,r,a,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ed*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,a=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,u=o.fullHeight;a+=o.offsetX*r/l,t-=o.offsetY*i/u,r*=o.width/l,i*=o.height/u}const s=this.filmOffset;s!==0&&(a+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(a,a+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const sl=-90,ll=1;class uPe extends s0{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new oi(sl,ll,e,t);r.layers=this.layers,this.add(r);const a=new oi(sl,ll,e,t);a.layers=this.layers,this.add(a);const o=new oi(sl,ll,e,t);o.layers=this.layers,this.add(o);const s=new oi(sl,ll,e,t);s.layers=this.layers,this.add(s);const l=new oi(sl,ll,e,t);l.layers=this.layers,this.add(l);const u=new oi(sl,ll,e,t);u.layers=this.layers,this.add(u)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,a,o,s,l]=t;for(const u of t)this.remove(u);if(e===Fs)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),a.up.set(0,0,-1),a.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===zg)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),a.up.set(0,0,1),a.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),s.up.set(0,-1,0),s.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const u of t)this.add(u),u.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[a,o,s,l,u,c]=this.children,d=e.getRenderTarget(),h=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;const m=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,a),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,s),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,u),i.texture.generateMipmaps=m,e.setRenderTarget(i,5,r),e.render(t,c),e.setRenderTarget(d,h,f),e.xr.enabled=p,i.texture.needsPMREMUpdate=!0}}class WQ extends gn{constructor(e,t,i,r,a,o,s,l,u,c){e=e!==void 0?e:[],t=t!==void 0?t:S7,super(e,t,i,r,a,o,s,l,u,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class cPe extends V8{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];t.encoding!==void 0&&(I8("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===L8?W1:ya),this.texture=new WQ(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:an}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` |
|
|
|
|
|
varying vec3 vWorldDirection; |
|
|
|
|
|
vec3 transformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
|
|
|
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
|
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
|
|
|
} |
|
|
`,fragmentShader:` |
|
|
|
|
|
uniform sampler2D tEquirect; |
|
|
|
|
|
varying vec3 vWorldDirection; |
|
|
|
|
|
#include <common> |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 direction = normalize( vWorldDirection ); |
|
|
|
|
|
vec2 sampleUV = equirectUv( direction ); |
|
|
|
|
|
gl_FragColor = texture2D( tEquirect, sampleUV ); |
|
|
|
|
|
} |
|
|
`},r=new Q7(5,5,5),a=new Js({name:"CubemapFromEquirect",uniforms:A7(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:ir,blending:_5});a.uniforms.tEquirect.value=t;const o=new h1(r,a),s=t.minFilter;return t.minFilter===ks&&(t.minFilter=an),new uPe(1,10,this).update(e,o),t.minFilter=s,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const a=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(a)}}const qw=new Ie,dPe=new Ie,hPe=new r1;let j6=class{constructor(e=new Ie(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=qw.subVectors(i,t).cross(dPe.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(qw),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const a=-(e.start.dot(this.normal)+this.constant)/r;return a<0||a>1?null:t.copy(e.start).addScaledVector(i,a)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||hPe.getNormalMatrix(e),r=this.coplanarPoint(qw).applyMatrix4(e),a=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(a),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const k9=new Ia,av=new Ie;class pR{constructor(e=new j6,t=new j6,i=new j6,r=new j6,a=new j6,o=new j6){this.planes=[e,t,i,r,a,o]}set(e,t,i,r,a,o){const s=this.planes;return s[0].copy(e),s[1].copy(t),s[2].copy(i),s[3].copy(r),s[4].copy(a),s[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Fs){const i=this.planes,r=e.elements,a=r[0],o=r[1],s=r[2],l=r[3],u=r[4],c=r[5],d=r[6],h=r[7],f=r[8],p=r[9],m=r[10],v=r[11],g=r[12],_=r[13],S=r[14],x=r[15];if(i[0].setComponents(l-a,h-u,v-f,x-g).normalize(),i[1].setComponents(l+a,h+u,v+f,x+g).normalize(),i[2].setComponents(l+o,h+c,v+p,x+_).normalize(),i[3].setComponents(l-o,h-c,v-p,x-_).normalize(),i[4].setComponents(l-s,h-d,v-m,x-S).normalize(),t===Fs)i[5].setComponents(l+s,h+d,v+m,x+S).normalize();else if(t===zg)i[5].setComponents(s,d,m,S).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),k9.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),k9.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(k9)}intersectsSprite(e){return k9.center.set(0,0,0),k9.radius=.7071067811865476,k9.applyMatrix4(e.matrixWorld),this.intersectsSphere(k9)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let a=0;a<6;a++)if(t[a].distanceToPoint(i)<r)return!1;return!0}intersectsBox(e){const t=this.planes;for(let i=0;i<6;i++){const r=t[i];if(av.x=r.normal.x>0?e.max.x:e.min.x,av.y=r.normal.y>0?e.max.y:e.min.y,av.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(av)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function jQ(){let n=null,e=!1,t=null,i=null;function r(a,o){t(a,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(a){t=a},setContext:function(a){n=a}}}function fPe(n,e){const t=e.isWebGL2,i=new WeakMap;function r(u,c){const d=u.array,h=u.usage,f=d.byteLength,p=n.createBuffer();n.bindBuffer(c,p),n.bufferData(c,d,h),u.onUploadCallback();let m;if(d instanceof Float32Array)m=n.FLOAT;else if(d instanceof Uint16Array)if(u.isFloat16BufferAttribute)if(t)m=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else m=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)m=n.SHORT;else if(d instanceof Uint32Array)m=n.UNSIGNED_INT;else if(d instanceof Int32Array)m=n.INT;else if(d instanceof Int8Array)m=n.BYTE;else if(d instanceof Uint8Array)m=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)m=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:m,bytesPerElement:d.BYTES_PER_ELEMENT,version:u.version,size:f}}function a(u,c,d){const h=c.array,f=c._updateRange,p=c.updateRanges;if(n.bindBuffer(d,u),f.count===-1&&p.length===0&&n.bufferSubData(d,0,h),p.length!==0){for(let m=0,v=p.length;m<v;m++){const g=p[m];t?n.bufferSubData(d,g.start*h.BYTES_PER_ELEMENT,h,g.start,g.count):n.bufferSubData(d,g.start*h.BYTES_PER_ELEMENT,h.subarray(g.start,g.start+g.count))}c.clearUpdateRanges()}f.count!==-1&&(t?n.bufferSubData(d,f.offset*h.BYTES_PER_ELEMENT,h,f.offset,f.count):n.bufferSubData(d,f.offset*h.BYTES_PER_ELEMENT,h.subarray(f.offset,f.offset+f.count)),f.count=-1),c.onUploadCallback()}function o(u){return u.isInterleavedBufferAttribute&&(u=u.data),i.get(u)}function s(u){u.isInterleavedBufferAttribute&&(u=u.data);const c=i.get(u);c&&(n.deleteBuffer(c.buffer),i.delete(u))}function l(u,c){if(u.isGLBufferAttribute){const h=i.get(u);(!h||h.version<u.version)&&i.set(u,{buffer:u.buffer,type:u.type,bytesPerElement:u.elementSize,version:u.version});return}u.isInterleavedBufferAttribute&&(u=u.data);const d=i.get(u);if(d===void 0)i.set(u,r(u,c));else if(d.version<u.version){if(d.size!==u.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");a(d.buffer,u,c),d.version=u.version}}return{get:o,remove:s,update:l}}class Tr extends J1{constructor(e=1,t=1,i=1,r=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:r};const a=e/2,o=t/2,s=Math.floor(i),l=Math.floor(r),u=s+1,c=l+1,d=e/s,h=t/l,f=[],p=[],m=[],v=[];for(let g=0;g<c;g++){const _=g*h-o;for(let S=0;S<u;S++){const x=S*d-a;p.push(x,-_,0),m.push(0,0,1),v.push(S/s),v.push(1-g/l)}}for(let g=0;g<l;g++)for(let _=0;_<s;_++){const S=_+u*g,x=_+u*(g+1),A=_+1+u*(g+1),C=_+1+u*g;f.push(S,x,C),f.push(x,A,C)}this.setIndex(f),this.setAttribute("position",new m0(p,3)),this.setAttribute("normal",new m0(m,3)),this.setAttribute("uv",new m0(v,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Tr(e.width,e.height,e.widthSegments,e.heightSegments)}}var pPe=`#ifdef USE_ALPHAHASH |
|
|
if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; |
|
|
#endif`,vPe=`#ifdef USE_ALPHAHASH |
|
|
const float ALPHA_HASH_SCALE = 0.05; |
|
|
float hash2D( vec2 value ) { |
|
|
return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); |
|
|
} |
|
|
float hash3D( vec3 value ) { |
|
|
return hash2D( vec2( hash2D( value.xy ), value.z ) ); |
|
|
} |
|
|
float getAlphaHashThreshold( vec3 position ) { |
|
|
float maxDeriv = max( |
|
|
length( dFdx( position.xyz ) ), |
|
|
length( dFdy( position.xyz ) ) |
|
|
); |
|
|
float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv ); |
|
|
vec2 pixScales = vec2( |
|
|
exp2( floor( log2( pixScale ) ) ), |
|
|
exp2( ceil( log2( pixScale ) ) ) |
|
|
); |
|
|
vec2 alpha = vec2( |
|
|
hash3D( floor( pixScales.x * position.xyz ) ), |
|
|
hash3D( floor( pixScales.y * position.xyz ) ) |
|
|
); |
|
|
float lerpFactor = fract( log2( pixScale ) ); |
|
|
float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y; |
|
|
float a = min( lerpFactor, 1.0 - lerpFactor ); |
|
|
vec3 cases = vec3( |
|
|
x * x / ( 2.0 * a * ( 1.0 - a ) ), |
|
|
( x - 0.5 * a ) / ( 1.0 - a ), |
|
|
1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) ) |
|
|
); |
|
|
float threshold = ( x < ( 1.0 - a ) ) |
|
|
? ( ( x < a ) ? cases.x : cases.y ) |
|
|
: cases.z; |
|
|
return clamp( threshold , 1.0e-6, 1.0 ); |
|
|
} |
|
|
#endif`,mPe=`#ifdef USE_ALPHAMAP |
|
|
diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; |
|
|
#endif`,gPe=`#ifdef USE_ALPHAMAP |
|
|
uniform sampler2D alphaMap; |
|
|
#endif`,yPe=`#ifdef USE_ALPHATEST |
|
|
#ifdef ALPHA_TO_COVERAGE |
|
|
diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); |
|
|
if ( diffuseColor.a == 0.0 ) discard; |
|
|
#else |
|
|
if ( diffuseColor.a < alphaTest ) discard; |
|
|
#endif |
|
|
#endif`,_Pe=`#ifdef USE_ALPHATEST |
|
|
uniform float alphaTest; |
|
|
#endif`,SPe=`#ifdef USE_AOMAP |
|
|
float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; |
|
|
reflectedLight.indirectDiffuse *= ambientOcclusion; |
|
|
#if defined( USE_CLEARCOAT ) |
|
|
clearcoatSpecularIndirect *= ambientOcclusion; |
|
|
#endif |
|
|
#if defined( USE_SHEEN ) |
|
|
sheenSpecularIndirect *= ambientOcclusion; |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( STANDARD ) |
|
|
float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); |
|
|
reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); |
|
|
#endif |
|
|
#endif`,bPe=`#ifdef USE_AOMAP |
|
|
uniform sampler2D aoMap; |
|
|
uniform float aoMapIntensity; |
|
|
#endif`,xPe=`#ifdef USE_BATCHING |
|
|
attribute float batchId; |
|
|
uniform highp sampler2D batchingTexture; |
|
|
mat4 getBatchingMatrix( const in float i ) { |
|
|
int size = textureSize( batchingTexture, 0 ).x; |
|
|
int j = int( i ) * 4; |
|
|
int x = j % size; |
|
|
int y = j / size; |
|
|
vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 ); |
|
|
vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 ); |
|
|
vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 ); |
|
|
vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 ); |
|
|
return mat4( v1, v2, v3, v4 ); |
|
|
} |
|
|
#endif`,wPe=`#ifdef USE_BATCHING |
|
|
mat4 batchingMatrix = getBatchingMatrix( batchId ); |
|
|
#endif`,TPe=`vec3 transformed = vec3( position ); |
|
|
#ifdef USE_ALPHAHASH |
|
|
vPosition = vec3( position ); |
|
|
#endif`,APe=`vec3 objectNormal = vec3( normal ); |
|
|
#ifdef USE_TANGENT |
|
|
vec3 objectTangent = vec3( tangent.xyz ); |
|
|
#endif`,CPe=`float G_BlinnPhong_Implicit( ) { |
|
|
return 0.25; |
|
|
} |
|
|
float D_BlinnPhong( const in float shininess, const in float dotNH ) { |
|
|
return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); |
|
|
} |
|
|
vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( specularColor, 1.0, dotVH ); |
|
|
float G = G_BlinnPhong_Implicit( ); |
|
|
float D = D_BlinnPhong( shininess, dotNH ); |
|
|
return F * ( G * D ); |
|
|
} // validated`,MPe=`#ifdef USE_IRIDESCENCE |
|
|
const mat3 XYZ_TO_REC709 = mat3( |
|
|
3.2404542, -0.9692660, 0.0556434, |
|
|
-1.5371385, 1.8760108, -0.2040259, |
|
|
-0.4985314, 0.0415560, 1.0572252 |
|
|
); |
|
|
vec3 Fresnel0ToIor( vec3 fresnel0 ) { |
|
|
vec3 sqrtF0 = sqrt( fresnel0 ); |
|
|
return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); |
|
|
} |
|
|
vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { |
|
|
return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); |
|
|
} |
|
|
float IorToFresnel0( float transmittedIor, float incidentIor ) { |
|
|
return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); |
|
|
} |
|
|
vec3 evalSensitivity( float OPD, vec3 shift ) { |
|
|
float phase = 2.0 * PI * OPD * 1.0e-9; |
|
|
vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); |
|
|
vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); |
|
|
vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); |
|
|
vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); |
|
|
xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); |
|
|
xyz /= 1.0685e-7; |
|
|
vec3 rgb = XYZ_TO_REC709 * xyz; |
|
|
return rgb; |
|
|
} |
|
|
vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { |
|
|
vec3 I; |
|
|
float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); |
|
|
float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); |
|
|
float cosTheta2Sq = 1.0 - sinTheta2Sq; |
|
|
if ( cosTheta2Sq < 0.0 ) { |
|
|
return vec3( 1.0 ); |
|
|
} |
|
|
float cosTheta2 = sqrt( cosTheta2Sq ); |
|
|
float R0 = IorToFresnel0( iridescenceIOR, outsideIOR ); |
|
|
float R12 = F_Schlick( R0, 1.0, cosTheta1 ); |
|
|
float T121 = 1.0 - R12; |
|
|
float phi12 = 0.0; |
|
|
if ( iridescenceIOR < outsideIOR ) phi12 = PI; |
|
|
float phi21 = PI - phi12; |
|
|
vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); |
|
|
vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); |
|
|
vec3 phi23 = vec3( 0.0 ); |
|
|
if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; |
|
|
if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; |
|
|
if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; |
|
|
float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; |
|
|
vec3 phi = vec3( phi21 ) + phi23; |
|
|
vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); |
|
|
vec3 r123 = sqrt( R123 ); |
|
|
vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); |
|
|
vec3 C0 = R12 + Rs; |
|
|
I = C0; |
|
|
vec3 Cm = Rs - T121; |
|
|
for ( int m = 1; m <= 2; ++ m ) { |
|
|
Cm *= r123; |
|
|
vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); |
|
|
I += Cm * Sm; |
|
|
} |
|
|
return max( I, vec3( 0.0 ) ); |
|
|
} |
|
|
#endif`,EPe=`#ifdef USE_BUMPMAP |
|
|
uniform sampler2D bumpMap; |
|
|
uniform float bumpScale; |
|
|
vec2 dHdxy_fwd() { |
|
|
vec2 dSTdx = dFdx( vBumpMapUv ); |
|
|
vec2 dSTdy = dFdy( vBumpMapUv ); |
|
|
float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x; |
|
|
float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll; |
|
|
float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll; |
|
|
return vec2( dBx, dBy ); |
|
|
} |
|
|
vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { |
|
|
vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) ); |
|
|
vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) ); |
|
|
vec3 vN = surf_norm; |
|
|
vec3 R1 = cross( vSigmaY, vN ); |
|
|
vec3 R2 = cross( vN, vSigmaX ); |
|
|
float fDet = dot( vSigmaX, R1 ) * faceDirection; |
|
|
vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); |
|
|
return normalize( abs( fDet ) * surf_norm - vGrad ); |
|
|
} |
|
|
#endif`,PPe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
vec4 plane; |
|
|
#ifdef ALPHA_TO_COVERAGE |
|
|
float distanceToPlane, distanceGradient; |
|
|
float clipOpacity = 1.0; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; |
|
|
distanceGradient = fwidth( distanceToPlane ) / 2.0; |
|
|
clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); |
|
|
if ( clipOpacity == 0.0 ) discard; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES |
|
|
float unionClipOpacity = 1.0; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; |
|
|
distanceGradient = fwidth( distanceToPlane ) / 2.0; |
|
|
unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
clipOpacity *= 1.0 - unionClipOpacity; |
|
|
#endif |
|
|
diffuseColor.a *= clipOpacity; |
|
|
if ( diffuseColor.a == 0.0 ) discard; |
|
|
#else |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES |
|
|
bool clipped = true; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
if ( clipped ) discard; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,RPe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
varying vec3 vClipPosition; |
|
|
uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; |
|
|
#endif`,LPe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
varying vec3 vClipPosition; |
|
|
#endif`,IPe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
vClipPosition = - mvPosition.xyz; |
|
|
#endif`,DPe=`#if defined( USE_COLOR_ALPHA ) |
|
|
diffuseColor *= vColor; |
|
|
#elif defined( USE_COLOR ) |
|
|
diffuseColor.rgb *= vColor; |
|
|
#endif`,NPe=`#if defined( USE_COLOR_ALPHA ) |
|
|
varying vec4 vColor; |
|
|
#elif defined( USE_COLOR ) |
|
|
varying vec3 vColor; |
|
|
#endif`,kPe=`#if defined( USE_COLOR_ALPHA ) |
|
|
varying vec4 vColor; |
|
|
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) |
|
|
varying vec3 vColor; |
|
|
#endif`,FPe=`#if defined( USE_COLOR_ALPHA ) |
|
|
vColor = vec4( 1.0 ); |
|
|
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) |
|
|
vColor = vec3( 1.0 ); |
|
|
#endif |
|
|
#ifdef USE_COLOR |
|
|
vColor *= color; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING_COLOR |
|
|
vColor.xyz *= instanceColor.xyz; |
|
|
#endif`,OPe=`#define PI 3.141592653589793 |
|
|
#define PI2 6.283185307179586 |
|
|
#define PI_HALF 1.5707963267948966 |
|
|
#define RECIPROCAL_PI 0.3183098861837907 |
|
|
#define RECIPROCAL_PI2 0.15915494309189535 |
|
|
#define EPSILON 1e-6 |
|
|
#ifndef saturate |
|
|
#define saturate( a ) clamp( a, 0.0, 1.0 ) |
|
|
#endif |
|
|
#define whiteComplement( a ) ( 1.0 - saturate( a ) ) |
|
|
float pow2( const in float x ) { return x*x; } |
|
|
vec3 pow2( const in vec3 x ) { return x*x; } |
|
|
float pow3( const in float x ) { return x*x*x; } |
|
|
float pow4( const in float x ) { float x2 = x*x; return x2*x2; } |
|
|
float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } |
|
|
float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } |
|
|
highp float rand( const in vec2 uv ) { |
|
|
const highp float a = 12.9898, b = 78.233, c = 43758.5453; |
|
|
highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); |
|
|
return fract( sin( sn ) * c ); |
|
|
} |
|
|
#ifdef HIGH_PRECISION |
|
|
float precisionSafeLength( vec3 v ) { return length( v ); } |
|
|
#else |
|
|
float precisionSafeLength( vec3 v ) { |
|
|
float maxComponent = max3( abs( v ) ); |
|
|
return length( v / maxComponent ) * maxComponent; |
|
|
} |
|
|
#endif |
|
|
struct IncidentLight { |
|
|
vec3 color; |
|
|
vec3 direction; |
|
|
bool visible; |
|
|
}; |
|
|
struct ReflectedLight { |
|
|
vec3 directDiffuse; |
|
|
vec3 directSpecular; |
|
|
vec3 indirectDiffuse; |
|
|
vec3 indirectSpecular; |
|
|
}; |
|
|
#ifdef USE_ALPHAHASH |
|
|
varying vec3 vPosition; |
|
|
#endif |
|
|
vec3 transformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); |
|
|
} |
|
|
vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); |
|
|
} |
|
|
mat3 transposeMat3( const in mat3 m ) { |
|
|
mat3 tmp; |
|
|
tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); |
|
|
tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); |
|
|
tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); |
|
|
return tmp; |
|
|
} |
|
|
float luminance( const in vec3 rgb ) { |
|
|
const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); |
|
|
return dot( weights, rgb ); |
|
|
} |
|
|
bool isPerspectiveMatrix( mat4 m ) { |
|
|
return m[ 2 ][ 3 ] == - 1.0; |
|
|
} |
|
|
vec2 equirectUv( in vec3 dir ) { |
|
|
float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; |
|
|
float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; |
|
|
return vec2( u, v ); |
|
|
} |
|
|
vec3 BRDF_Lambert( const in vec3 diffuseColor ) { |
|
|
return RECIPROCAL_PI * diffuseColor; |
|
|
} |
|
|
vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { |
|
|
float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); |
|
|
return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); |
|
|
} |
|
|
float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { |
|
|
float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); |
|
|
return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); |
|
|
} // validated`,BPe=`#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
#define cubeUV_minMipLevel 4.0 |
|
|
#define cubeUV_minTileSize 16.0 |
|
|
float getFace( vec3 direction ) { |
|
|
vec3 absDirection = abs( direction ); |
|
|
float face = - 1.0; |
|
|
if ( absDirection.x > absDirection.z ) { |
|
|
if ( absDirection.x > absDirection.y ) |
|
|
face = direction.x > 0.0 ? 0.0 : 3.0; |
|
|
else |
|
|
face = direction.y > 0.0 ? 1.0 : 4.0; |
|
|
} else { |
|
|
if ( absDirection.z > absDirection.y ) |
|
|
face = direction.z > 0.0 ? 2.0 : 5.0; |
|
|
else |
|
|
face = direction.y > 0.0 ? 1.0 : 4.0; |
|
|
} |
|
|
return face; |
|
|
} |
|
|
vec2 getUV( vec3 direction, float face ) { |
|
|
vec2 uv; |
|
|
if ( face == 0.0 ) { |
|
|
uv = vec2( direction.z, direction.y ) / abs( direction.x ); |
|
|
} else if ( face == 1.0 ) { |
|
|
uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); |
|
|
} else if ( face == 2.0 ) { |
|
|
uv = vec2( - direction.x, direction.y ) / abs( direction.z ); |
|
|
} else if ( face == 3.0 ) { |
|
|
uv = vec2( - direction.z, direction.y ) / abs( direction.x ); |
|
|
} else if ( face == 4.0 ) { |
|
|
uv = vec2( - direction.x, direction.z ) / abs( direction.y ); |
|
|
} else { |
|
|
uv = vec2( direction.x, direction.y ) / abs( direction.z ); |
|
|
} |
|
|
return 0.5 * ( uv + 1.0 ); |
|
|
} |
|
|
vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { |
|
|
float face = getFace( direction ); |
|
|
float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); |
|
|
mipInt = max( mipInt, cubeUV_minMipLevel ); |
|
|
float faceSize = exp2( mipInt ); |
|
|
highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; |
|
|
if ( face > 2.0 ) { |
|
|
uv.y += faceSize; |
|
|
face -= 3.0; |
|
|
} |
|
|
uv.x += face * faceSize; |
|
|
uv.x += filterInt * 3.0 * cubeUV_minTileSize; |
|
|
uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); |
|
|
uv.x *= CUBEUV_TEXEL_WIDTH; |
|
|
uv.y *= CUBEUV_TEXEL_HEIGHT; |
|
|
#ifdef texture2DGradEXT |
|
|
return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; |
|
|
#else |
|
|
return texture2D( envMap, uv ).rgb; |
|
|
#endif |
|
|
} |
|
|
#define cubeUV_r0 1.0 |
|
|
#define cubeUV_m0 - 2.0 |
|
|
#define cubeUV_r1 0.8 |
|
|
#define cubeUV_m1 - 1.0 |
|
|
#define cubeUV_r4 0.4 |
|
|
#define cubeUV_m4 2.0 |
|
|
#define cubeUV_r5 0.305 |
|
|
#define cubeUV_m5 3.0 |
|
|
#define cubeUV_r6 0.21 |
|
|
#define cubeUV_m6 4.0 |
|
|
float roughnessToMip( float roughness ) { |
|
|
float mip = 0.0; |
|
|
if ( roughness >= cubeUV_r1 ) { |
|
|
mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; |
|
|
} else if ( roughness >= cubeUV_r4 ) { |
|
|
mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; |
|
|
} else if ( roughness >= cubeUV_r5 ) { |
|
|
mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; |
|
|
} else if ( roughness >= cubeUV_r6 ) { |
|
|
mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; |
|
|
} else { |
|
|
mip = - 2.0 * log2( 1.16 * roughness ); } |
|
|
return mip; |
|
|
} |
|
|
vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { |
|
|
float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); |
|
|
float mipF = fract( mip ); |
|
|
float mipInt = floor( mip ); |
|
|
vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); |
|
|
if ( mipF == 0.0 ) { |
|
|
return vec4( color0, 1.0 ); |
|
|
} else { |
|
|
vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); |
|
|
return vec4( mix( color0, color1, mipF ), 1.0 ); |
|
|
} |
|
|
} |
|
|
#endif`,zPe=`vec3 transformedNormal = objectNormal; |
|
|
#ifdef USE_TANGENT |
|
|
vec3 transformedTangent = objectTangent; |
|
|
#endif |
|
|
#ifdef USE_BATCHING |
|
|
mat3 bm = mat3( batchingMatrix ); |
|
|
transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); |
|
|
transformedNormal = bm * transformedNormal; |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = bm * transformedTangent; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
mat3 im = mat3( instanceMatrix ); |
|
|
transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); |
|
|
transformedNormal = im * transformedNormal; |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = im * transformedTangent; |
|
|
#endif |
|
|
#endif |
|
|
transformedNormal = normalMatrix * transformedNormal; |
|
|
#ifdef FLIP_SIDED |
|
|
transformedNormal = - transformedNormal; |
|
|
#endif |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; |
|
|
#ifdef FLIP_SIDED |
|
|
transformedTangent = - transformedTangent; |
|
|
#endif |
|
|
#endif`,GPe=`#ifdef USE_DISPLACEMENTMAP |
|
|
uniform sampler2D displacementMap; |
|
|
uniform float displacementScale; |
|
|
uniform float displacementBias; |
|
|
#endif`,UPe=`#ifdef USE_DISPLACEMENTMAP |
|
|
transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); |
|
|
#endif`,VPe=`#ifdef USE_EMISSIVEMAP |
|
|
vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); |
|
|
totalEmissiveRadiance *= emissiveColor.rgb; |
|
|
#endif`,HPe=`#ifdef USE_EMISSIVEMAP |
|
|
uniform sampler2D emissiveMap; |
|
|
#endif`,WPe="gl_FragColor = linearToOutputTexel( gl_FragColor );",jPe=` |
|
|
const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( |
|
|
vec3( 0.8224621, 0.177538, 0.0 ), |
|
|
vec3( 0.0331941, 0.9668058, 0.0 ), |
|
|
vec3( 0.0170827, 0.0723974, 0.9105199 ) |
|
|
); |
|
|
const mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3( |
|
|
vec3( 1.2249401, - 0.2249404, 0.0 ), |
|
|
vec3( - 0.0420569, 1.0420571, 0.0 ), |
|
|
vec3( - 0.0196376, - 0.0786361, 1.0982735 ) |
|
|
); |
|
|
vec4 LinearSRGBToLinearDisplayP3( in vec4 value ) { |
|
|
return vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a ); |
|
|
} |
|
|
vec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) { |
|
|
return vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a ); |
|
|
} |
|
|
vec4 LinearTransferOETF( in vec4 value ) { |
|
|
return value; |
|
|
} |
|
|
vec4 sRGBTransferOETF( in vec4 value ) { |
|
|
return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); |
|
|
} |
|
|
vec4 LinearToLinear( in vec4 value ) { |
|
|
return value; |
|
|
} |
|
|
vec4 LinearTosRGB( in vec4 value ) { |
|
|
return sRGBTransferOETF( value ); |
|
|
}`,$Pe=`#ifdef USE_ENVMAP |
|
|
#ifdef ENV_WORLDPOS |
|
|
vec3 cameraToFrag; |
|
|
if ( isOrthographic ) { |
|
|
cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); |
|
|
} else { |
|
|
cameraToFrag = normalize( vWorldPosition - cameraPosition ); |
|
|
} |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
#ifdef ENVMAP_MODE_REFLECTION |
|
|
vec3 reflectVec = reflect( cameraToFrag, worldNormal ); |
|
|
#else |
|
|
vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); |
|
|
#endif |
|
|
#else |
|
|
vec3 reflectVec = vReflect; |
|
|
#endif |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); |
|
|
#else |
|
|
vec4 envColor = vec4( 0.0 ); |
|
|
#endif |
|
|
#ifdef ENVMAP_BLENDING_MULTIPLY |
|
|
outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); |
|
|
#elif defined( ENVMAP_BLENDING_MIX ) |
|
|
outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); |
|
|
#elif defined( ENVMAP_BLENDING_ADD ) |
|
|
outgoingLight += envColor.xyz * specularStrength * reflectivity; |
|
|
#endif |
|
|
#endif`,qPe=`#ifdef USE_ENVMAP |
|
|
uniform float envMapIntensity; |
|
|
uniform float flipEnvMap; |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
uniform samplerCube envMap; |
|
|
#else |
|
|
uniform sampler2D envMap; |
|
|
#endif |
|
|
|
|
|
#endif`,XPe=`#ifdef USE_ENVMAP |
|
|
uniform float reflectivity; |
|
|
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) |
|
|
#define ENV_WORLDPOS |
|
|
#endif |
|
|
#ifdef ENV_WORLDPOS |
|
|
varying vec3 vWorldPosition; |
|
|
uniform float refractionRatio; |
|
|
#else |
|
|
varying vec3 vReflect; |
|
|
#endif |
|
|
#endif`,YPe=`#ifdef USE_ENVMAP |
|
|
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) |
|
|
#define ENV_WORLDPOS |
|
|
#endif |
|
|
#ifdef ENV_WORLDPOS |
|
|
|
|
|
varying vec3 vWorldPosition; |
|
|
#else |
|
|
varying vec3 vReflect; |
|
|
uniform float refractionRatio; |
|
|
#endif |
|
|
#endif`,KPe=`#ifdef USE_ENVMAP |
|
|
#ifdef ENV_WORLDPOS |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
#else |
|
|
vec3 cameraToVertex; |
|
|
if ( isOrthographic ) { |
|
|
cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); |
|
|
} else { |
|
|
cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); |
|
|
} |
|
|
vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); |
|
|
#ifdef ENVMAP_MODE_REFLECTION |
|
|
vReflect = reflect( cameraToVertex, worldNormal ); |
|
|
#else |
|
|
vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); |
|
|
#endif |
|
|
#endif |
|
|
#endif`,ZPe=`#ifdef USE_FOG |
|
|
vFogDepth = - mvPosition.z; |
|
|
#endif`,JPe=`#ifdef USE_FOG |
|
|
varying float vFogDepth; |
|
|
#endif`,QPe=`#ifdef USE_FOG |
|
|
#ifdef FOG_EXP2 |
|
|
float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); |
|
|
#else |
|
|
float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); |
|
|
#endif |
|
|
gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); |
|
|
#endif`,eRe=`#ifdef USE_FOG |
|
|
uniform vec3 fogColor; |
|
|
varying float vFogDepth; |
|
|
#ifdef FOG_EXP2 |
|
|
uniform float fogDensity; |
|
|
#else |
|
|
uniform float fogNear; |
|
|
uniform float fogFar; |
|
|
#endif |
|
|
#endif`,tRe=`#ifdef USE_GRADIENTMAP |
|
|
uniform sampler2D gradientMap; |
|
|
#endif |
|
|
vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { |
|
|
float dotNL = dot( normal, lightDirection ); |
|
|
vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); |
|
|
#ifdef USE_GRADIENTMAP |
|
|
return vec3( texture2D( gradientMap, coord ).r ); |
|
|
#else |
|
|
vec2 fw = fwidth( coord ) * 0.5; |
|
|
return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); |
|
|
#endif |
|
|
}`,nRe=`#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; |
|
|
reflectedLight.indirectDiffuse += lightMapIrradiance; |
|
|
#endif`,iRe=`#ifdef USE_LIGHTMAP |
|
|
uniform sampler2D lightMap; |
|
|
uniform float lightMapIntensity; |
|
|
#endif`,rRe=`LambertMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb; |
|
|
material.specularStrength = specularStrength;`,aRe=`varying vec3 vViewPosition; |
|
|
struct LambertMaterial { |
|
|
vec3 diffuseColor; |
|
|
float specularStrength; |
|
|
}; |
|
|
void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_Lambert |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,oRe=`uniform bool receiveShadow; |
|
|
uniform vec3 ambientLightColor; |
|
|
#if defined( USE_LIGHT_PROBES ) |
|
|
uniform vec3 lightProbe[ 9 ]; |
|
|
#endif |
|
|
vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { |
|
|
float x = normal.x, y = normal.y, z = normal.z; |
|
|
vec3 result = shCoefficients[ 0 ] * 0.886227; |
|
|
result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; |
|
|
result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; |
|
|
result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; |
|
|
result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; |
|
|
result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; |
|
|
result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); |
|
|
result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; |
|
|
result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); |
|
|
return result; |
|
|
} |
|
|
vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); |
|
|
return irradiance; |
|
|
} |
|
|
vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { |
|
|
vec3 irradiance = ambientLightColor; |
|
|
return irradiance; |
|
|
} |
|
|
float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { |
|
|
#if defined ( LEGACY_LIGHTS ) |
|
|
if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { |
|
|
return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); |
|
|
} |
|
|
return 1.0; |
|
|
#else |
|
|
float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); |
|
|
if ( cutoffDistance > 0.0 ) { |
|
|
distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); |
|
|
} |
|
|
return distanceFalloff; |
|
|
#endif |
|
|
} |
|
|
float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { |
|
|
return smoothstep( coneCosine, penumbraCosine, angleCosine ); |
|
|
} |
|
|
#if NUM_DIR_LIGHTS > 0 |
|
|
struct DirectionalLight { |
|
|
vec3 direction; |
|
|
vec3 color; |
|
|
}; |
|
|
uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; |
|
|
void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { |
|
|
light.color = directionalLight.color; |
|
|
light.direction = directionalLight.direction; |
|
|
light.visible = true; |
|
|
} |
|
|
#endif |
|
|
#if NUM_POINT_LIGHTS > 0 |
|
|
struct PointLight { |
|
|
vec3 position; |
|
|
vec3 color; |
|
|
float distance; |
|
|
float decay; |
|
|
}; |
|
|
uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; |
|
|
void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { |
|
|
vec3 lVector = pointLight.position - geometryPosition; |
|
|
light.direction = normalize( lVector ); |
|
|
float lightDistance = length( lVector ); |
|
|
light.color = pointLight.color; |
|
|
light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); |
|
|
light.visible = ( light.color != vec3( 0.0 ) ); |
|
|
} |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHTS > 0 |
|
|
struct SpotLight { |
|
|
vec3 position; |
|
|
vec3 direction; |
|
|
vec3 color; |
|
|
float distance; |
|
|
float decay; |
|
|
float coneCos; |
|
|
float penumbraCos; |
|
|
}; |
|
|
uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; |
|
|
void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { |
|
|
vec3 lVector = spotLight.position - geometryPosition; |
|
|
light.direction = normalize( lVector ); |
|
|
float angleCos = dot( light.direction, spotLight.direction ); |
|
|
float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); |
|
|
if ( spotAttenuation > 0.0 ) { |
|
|
float lightDistance = length( lVector ); |
|
|
light.color = spotLight.color * spotAttenuation; |
|
|
light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); |
|
|
light.visible = ( light.color != vec3( 0.0 ) ); |
|
|
} else { |
|
|
light.color = vec3( 0.0 ); |
|
|
light.visible = false; |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#if NUM_RECT_AREA_LIGHTS > 0 |
|
|
struct RectAreaLight { |
|
|
vec3 color; |
|
|
vec3 position; |
|
|
vec3 halfWidth; |
|
|
vec3 halfHeight; |
|
|
}; |
|
|
uniform sampler2D ltc_1; uniform sampler2D ltc_2; |
|
|
uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; |
|
|
#endif |
|
|
#if NUM_HEMI_LIGHTS > 0 |
|
|
struct HemisphereLight { |
|
|
vec3 direction; |
|
|
vec3 skyColor; |
|
|
vec3 groundColor; |
|
|
}; |
|
|
uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; |
|
|
vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { |
|
|
float dotNL = dot( normal, hemiLight.direction ); |
|
|
float hemiDiffuseWeight = 0.5 * dotNL + 0.5; |
|
|
vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); |
|
|
return irradiance; |
|
|
} |
|
|
#endif`,sRe=`#ifdef USE_ENVMAP |
|
|
vec3 getIBLIrradiance( const in vec3 normal ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); |
|
|
return PI * envMapColor.rgb * envMapIntensity; |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 reflectVec = reflect( - viewDir, normal ); |
|
|
reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); |
|
|
reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); |
|
|
vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); |
|
|
return envMapColor.rgb * envMapIntensity; |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
#ifdef USE_ANISOTROPY |
|
|
vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 bentNormal = cross( bitangent, viewDir ); |
|
|
bentNormal = normalize( cross( bentNormal, bitangent ) ); |
|
|
bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); |
|
|
return getIBLRadiance( viewDir, bentNormal, roughness ); |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
#endif |
|
|
#endif`,lRe=`ToonMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb;`,uRe=`varying vec3 vViewPosition; |
|
|
struct ToonMaterial { |
|
|
vec3 diffuseColor; |
|
|
}; |
|
|
void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_Toon |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,cRe=`BlinnPhongMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb; |
|
|
material.specularColor = specular; |
|
|
material.specularShininess = shininess; |
|
|
material.specularStrength = specularStrength;`,dRe=`varying vec3 vViewPosition; |
|
|
struct BlinnPhongMaterial { |
|
|
vec3 diffuseColor; |
|
|
vec3 specularColor; |
|
|
float specularShininess; |
|
|
float specularStrength; |
|
|
}; |
|
|
void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; |
|
|
} |
|
|
void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_BlinnPhong |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,hRe=`PhysicalMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); |
|
|
vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); |
|
|
float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); |
|
|
material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; |
|
|
material.roughness = min( material.roughness, 1.0 ); |
|
|
#ifdef IOR |
|
|
material.ior = ior; |
|
|
#ifdef USE_SPECULAR |
|
|
float specularIntensityFactor = specularIntensity; |
|
|
vec3 specularColorFactor = specularColor; |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; |
|
|
#endif |
|
|
material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); |
|
|
#else |
|
|
float specularIntensityFactor = 1.0; |
|
|
vec3 specularColorFactor = vec3( 1.0 ); |
|
|
material.specularF90 = 1.0; |
|
|
#endif |
|
|
material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); |
|
|
#else |
|
|
material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); |
|
|
material.specularF90 = 1.0; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
material.clearcoat = clearcoat; |
|
|
material.clearcoatRoughness = clearcoatRoughness; |
|
|
material.clearcoatF0 = vec3( 0.04 ); |
|
|
material.clearcoatF90 = 1.0; |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; |
|
|
#endif |
|
|
material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); |
|
|
material.clearcoatRoughness += geometryRoughness; |
|
|
material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
material.iridescence = iridescence; |
|
|
material.iridescenceIOR = iridescenceIOR; |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; |
|
|
#else |
|
|
material.iridescenceThickness = iridescenceThicknessMaximum; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
material.sheenColor = sheenColor; |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; |
|
|
#endif |
|
|
material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); |
|
|
vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; |
|
|
vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; |
|
|
#else |
|
|
vec2 anisotropyV = anisotropyVector; |
|
|
#endif |
|
|
material.anisotropy = length( anisotropyV ); |
|
|
if( material.anisotropy == 0.0 ) { |
|
|
anisotropyV = vec2( 1.0, 0.0 ); |
|
|
} else { |
|
|
anisotropyV /= material.anisotropy; |
|
|
material.anisotropy = saturate( material.anisotropy ); |
|
|
} |
|
|
material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); |
|
|
material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; |
|
|
material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; |
|
|
#endif`,fRe=`struct PhysicalMaterial { |
|
|
vec3 diffuseColor; |
|
|
float roughness; |
|
|
vec3 specularColor; |
|
|
float specularF90; |
|
|
#ifdef USE_CLEARCOAT |
|
|
float clearcoat; |
|
|
float clearcoatRoughness; |
|
|
vec3 clearcoatF0; |
|
|
float clearcoatF90; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
float iridescence; |
|
|
float iridescenceIOR; |
|
|
float iridescenceThickness; |
|
|
vec3 iridescenceFresnel; |
|
|
vec3 iridescenceF0; |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
vec3 sheenColor; |
|
|
float sheenRoughness; |
|
|
#endif |
|
|
#ifdef IOR |
|
|
float ior; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
float transmission; |
|
|
float transmissionAlpha; |
|
|
float thickness; |
|
|
float attenuationDistance; |
|
|
vec3 attenuationColor; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
float anisotropy; |
|
|
float alphaT; |
|
|
vec3 anisotropyT; |
|
|
vec3 anisotropyB; |
|
|
#endif |
|
|
}; |
|
|
vec3 clearcoatSpecularDirect = vec3( 0.0 ); |
|
|
vec3 clearcoatSpecularIndirect = vec3( 0.0 ); |
|
|
vec3 sheenSpecularDirect = vec3( 0.0 ); |
|
|
vec3 sheenSpecularIndirect = vec3(0.0 ); |
|
|
vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { |
|
|
float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); |
|
|
float x2 = x * x; |
|
|
float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); |
|
|
return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); |
|
|
} |
|
|
float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { |
|
|
float a2 = pow2( alpha ); |
|
|
float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); |
|
|
float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); |
|
|
return 0.5 / max( gv + gl, EPSILON ); |
|
|
} |
|
|
float D_GGX( const in float alpha, const in float dotNH ) { |
|
|
float a2 = pow2( alpha ); |
|
|
float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; |
|
|
return RECIPROCAL_PI * a2 / pow2( denom ); |
|
|
} |
|
|
#ifdef USE_ANISOTROPY |
|
|
float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { |
|
|
float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); |
|
|
float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); |
|
|
float v = 0.5 / ( gv + gl ); |
|
|
return saturate(v); |
|
|
} |
|
|
float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { |
|
|
float a2 = alphaT * alphaB; |
|
|
highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); |
|
|
highp float v2 = dot( v, v ); |
|
|
float w2 = a2 / v2; |
|
|
return RECIPROCAL_PI * a2 * pow2 ( w2 ); |
|
|
} |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { |
|
|
vec3 f0 = material.clearcoatF0; |
|
|
float f90 = material.clearcoatF90; |
|
|
float roughness = material.clearcoatRoughness; |
|
|
float alpha = pow2( roughness ); |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( f0, f90, dotVH ); |
|
|
float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); |
|
|
float D = D_GGX( alpha, dotNH ); |
|
|
return F * ( V * D ); |
|
|
} |
|
|
#endif |
|
|
vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { |
|
|
vec3 f0 = material.specularColor; |
|
|
float f90 = material.specularF90; |
|
|
float roughness = material.roughness; |
|
|
float alpha = pow2( roughness ); |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( f0, f90, dotVH ); |
|
|
#ifdef USE_IRIDESCENCE |
|
|
F = mix( F, material.iridescenceFresnel, material.iridescence ); |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
float dotTL = dot( material.anisotropyT, lightDir ); |
|
|
float dotTV = dot( material.anisotropyT, viewDir ); |
|
|
float dotTH = dot( material.anisotropyT, halfDir ); |
|
|
float dotBL = dot( material.anisotropyB, lightDir ); |
|
|
float dotBV = dot( material.anisotropyB, viewDir ); |
|
|
float dotBH = dot( material.anisotropyB, halfDir ); |
|
|
float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); |
|
|
float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); |
|
|
#else |
|
|
float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); |
|
|
float D = D_GGX( alpha, dotNH ); |
|
|
#endif |
|
|
return F * ( V * D ); |
|
|
} |
|
|
vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { |
|
|
const float LUT_SIZE = 64.0; |
|
|
const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; |
|
|
const float LUT_BIAS = 0.5 / LUT_SIZE; |
|
|
float dotNV = saturate( dot( N, V ) ); |
|
|
vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); |
|
|
uv = uv * LUT_SCALE + LUT_BIAS; |
|
|
return uv; |
|
|
} |
|
|
float LTC_ClippedSphereFormFactor( const in vec3 f ) { |
|
|
float l = length( f ); |
|
|
return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); |
|
|
} |
|
|
vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { |
|
|
float x = dot( v1, v2 ); |
|
|
float y = abs( x ); |
|
|
float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; |
|
|
float b = 3.4175940 + ( 4.1616724 + y ) * y; |
|
|
float v = a / b; |
|
|
float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; |
|
|
return cross( v1, v2 ) * theta_sintheta; |
|
|
} |
|
|
vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { |
|
|
vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; |
|
|
vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; |
|
|
vec3 lightNormal = cross( v1, v2 ); |
|
|
if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); |
|
|
vec3 T1, T2; |
|
|
T1 = normalize( V - N * dot( V, N ) ); |
|
|
T2 = - cross( N, T1 ); |
|
|
mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); |
|
|
vec3 coords[ 4 ]; |
|
|
coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); |
|
|
coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); |
|
|
coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); |
|
|
coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); |
|
|
coords[ 0 ] = normalize( coords[ 0 ] ); |
|
|
coords[ 1 ] = normalize( coords[ 1 ] ); |
|
|
coords[ 2 ] = normalize( coords[ 2 ] ); |
|
|
coords[ 3 ] = normalize( coords[ 3 ] ); |
|
|
vec3 vectorFormFactor = vec3( 0.0 ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); |
|
|
float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); |
|
|
return vec3( result ); |
|
|
} |
|
|
#if defined( USE_SHEEN ) |
|
|
float D_Charlie( float roughness, float dotNH ) { |
|
|
float alpha = pow2( roughness ); |
|
|
float invAlpha = 1.0 / alpha; |
|
|
float cos2h = dotNH * dotNH; |
|
|
float sin2h = max( 1.0 - cos2h, 0.0078125 ); |
|
|
return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); |
|
|
} |
|
|
float V_Neubelt( float dotNV, float dotNL ) { |
|
|
return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); |
|
|
} |
|
|
vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float D = D_Charlie( sheenRoughness, dotNH ); |
|
|
float V = V_Neubelt( dotNV, dotNL ); |
|
|
return sheenColor * ( D * V ); |
|
|
} |
|
|
#endif |
|
|
float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float r2 = roughness * roughness; |
|
|
float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; |
|
|
float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; |
|
|
float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); |
|
|
return saturate( DG * RECIPROCAL_PI ); |
|
|
} |
|
|
vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); |
|
|
const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); |
|
|
vec4 r = roughness * c0 + c1; |
|
|
float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; |
|
|
vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; |
|
|
return fab; |
|
|
} |
|
|
vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { |
|
|
vec2 fab = DFGApprox( normal, viewDir, roughness ); |
|
|
return specularColor * fab.x + specularF90 * fab.y; |
|
|
} |
|
|
#ifdef USE_IRIDESCENCE |
|
|
void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { |
|
|
#else |
|
|
void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { |
|
|
#endif |
|
|
vec2 fab = DFGApprox( normal, viewDir, roughness ); |
|
|
#ifdef USE_IRIDESCENCE |
|
|
vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); |
|
|
#else |
|
|
vec3 Fr = specularColor; |
|
|
#endif |
|
|
vec3 FssEss = Fr * fab.x + specularF90 * fab.y; |
|
|
float Ess = fab.x + fab.y; |
|
|
float Ems = 1.0 - Ess; |
|
|
vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); |
|
|
singleScatter += FssEss; |
|
|
multiScatter += Fms * Ems; |
|
|
} |
|
|
#if NUM_RECT_AREA_LIGHTS > 0 |
|
|
void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
vec3 normal = geometryNormal; |
|
|
vec3 viewDir = geometryViewDir; |
|
|
vec3 position = geometryPosition; |
|
|
vec3 lightPos = rectAreaLight.position; |
|
|
vec3 halfWidth = rectAreaLight.halfWidth; |
|
|
vec3 halfHeight = rectAreaLight.halfHeight; |
|
|
vec3 lightColor = rectAreaLight.color; |
|
|
float roughness = material.roughness; |
|
|
vec3 rectCoords[ 4 ]; |
|
|
rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; |
|
|
rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; |
|
|
rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; |
|
|
vec2 uv = LTC_Uv( normal, viewDir, roughness ); |
|
|
vec4 t1 = texture2D( ltc_1, uv ); |
|
|
vec4 t2 = texture2D( ltc_2, uv ); |
|
|
mat3 mInv = mat3( |
|
|
vec3( t1.x, 0, t1.y ), |
|
|
vec3( 0, 1, 0 ), |
|
|
vec3( t1.z, 0, t1.w ) |
|
|
); |
|
|
vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); |
|
|
reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); |
|
|
reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); |
|
|
} |
|
|
#endif |
|
|
void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
#ifdef USE_CLEARCOAT |
|
|
float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); |
|
|
vec3 ccIrradiance = dotNLcc * directLight.color; |
|
|
clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); |
|
|
#endif |
|
|
reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { |
|
|
#ifdef USE_CLEARCOAT |
|
|
clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); |
|
|
#endif |
|
|
vec3 singleScattering = vec3( 0.0 ); |
|
|
vec3 multiScattering = vec3( 0.0 ); |
|
|
vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; |
|
|
#ifdef USE_IRIDESCENCE |
|
|
computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); |
|
|
#else |
|
|
computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); |
|
|
#endif |
|
|
vec3 totalScattering = singleScattering + multiScattering; |
|
|
vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); |
|
|
reflectedLight.indirectSpecular += radiance * singleScattering; |
|
|
reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; |
|
|
reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; |
|
|
} |
|
|
#define RE_Direct RE_Direct_Physical |
|
|
#define RE_Direct_RectArea RE_Direct_RectArea_Physical |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical |
|
|
#define RE_IndirectSpecular RE_IndirectSpecular_Physical |
|
|
float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { |
|
|
return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); |
|
|
}`,pRe=` |
|
|
vec3 geometryPosition = - vViewPosition; |
|
|
vec3 geometryNormal = normal; |
|
|
vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); |
|
|
vec3 geometryClearcoatNormal = vec3( 0.0 ); |
|
|
#ifdef USE_CLEARCOAT |
|
|
geometryClearcoatNormal = clearcoatNormal; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
float dotNVi = saturate( dot( normal, geometryViewDir ) ); |
|
|
if ( material.iridescenceThickness == 0.0 ) { |
|
|
material.iridescence = 0.0; |
|
|
} else { |
|
|
material.iridescence = saturate( material.iridescence ); |
|
|
} |
|
|
if ( material.iridescence > 0.0 ) { |
|
|
material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); |
|
|
material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); |
|
|
} |
|
|
#endif |
|
|
IncidentLight directLight; |
|
|
#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
PointLight pointLight; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
PointLightShadow pointLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { |
|
|
pointLight = pointLights[ i ]; |
|
|
getPointLightInfo( pointLight, geometryPosition, directLight ); |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) |
|
|
pointLightShadow = pointLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
SpotLight spotLight; |
|
|
vec4 spotColor; |
|
|
vec3 spotLightCoord; |
|
|
bool inSpotLightMap; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
SpotLightShadow spotLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { |
|
|
spotLight = spotLights[ i ]; |
|
|
getSpotLightInfo( spotLight, geometryPosition, directLight ); |
|
|
#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) |
|
|
#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX |
|
|
#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS |
|
|
#else |
|
|
#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) |
|
|
#endif |
|
|
#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) |
|
|
spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; |
|
|
inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); |
|
|
spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); |
|
|
directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; |
|
|
#endif |
|
|
#undef SPOT_LIGHT_MAP_INDEX |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
spotLightShadow = spotLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
DirectionalLight directionalLight; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
DirectionalLightShadow directionalLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { |
|
|
directionalLight = directionalLights[ i ]; |
|
|
getDirectionalLightInfo( directionalLight, directLight ); |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) |
|
|
directionalLightShadow = directionalLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) |
|
|
RectAreaLight rectAreaLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { |
|
|
rectAreaLight = rectAreaLights[ i ]; |
|
|
RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if defined( RE_IndirectDiffuse ) |
|
|
vec3 iblIrradiance = vec3( 0.0 ); |
|
|
vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); |
|
|
#if defined( USE_LIGHT_PROBES ) |
|
|
irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); |
|
|
#endif |
|
|
#if ( NUM_HEMI_LIGHTS > 0 ) |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { |
|
|
irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
#if defined( RE_IndirectSpecular ) |
|
|
vec3 radiance = vec3( 0.0 ); |
|
|
vec3 clearcoatRadiance = vec3( 0.0 ); |
|
|
#endif`,vRe=`#if defined( RE_IndirectDiffuse ) |
|
|
#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; |
|
|
irradiance += lightMapIrradiance; |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
iblIrradiance += getIBLIrradiance( geometryNormal ); |
|
|
#endif |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) |
|
|
#ifdef USE_ANISOTROPY |
|
|
radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); |
|
|
#else |
|
|
radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); |
|
|
#endif |
|
|
#endif`,mRe=`#if defined( RE_IndirectDiffuse ) |
|
|
RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
#endif |
|
|
#if defined( RE_IndirectSpecular ) |
|
|
RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
#endif`,gRe=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) |
|
|
gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; |
|
|
#endif`,yRe=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) |
|
|
uniform float logDepthBufFC; |
|
|
varying float vFragDepth; |
|
|
varying float vIsPerspective; |
|
|
#endif`,_Re=`#ifdef USE_LOGDEPTHBUF |
|
|
#ifdef USE_LOGDEPTHBUF_EXT |
|
|
varying float vFragDepth; |
|
|
varying float vIsPerspective; |
|
|
#else |
|
|
uniform float logDepthBufFC; |
|
|
#endif |
|
|
#endif`,SRe=`#ifdef USE_LOGDEPTHBUF |
|
|
#ifdef USE_LOGDEPTHBUF_EXT |
|
|
vFragDepth = 1.0 + gl_Position.w; |
|
|
vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); |
|
|
#else |
|
|
if ( isPerspectiveMatrix( projectionMatrix ) ) { |
|
|
gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; |
|
|
gl_Position.z *= gl_Position.w; |
|
|
} |
|
|
#endif |
|
|
#endif`,bRe=`#ifdef USE_MAP |
|
|
vec4 sampledDiffuseColor = texture2D( map, vMapUv ); |
|
|
#ifdef DECODE_VIDEO_TEXTURE |
|
|
sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); |
|
|
|
|
|
#endif |
|
|
diffuseColor *= sampledDiffuseColor; |
|
|
#endif`,xRe=`#ifdef USE_MAP |
|
|
uniform sampler2D map; |
|
|
#endif`,wRe=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) |
|
|
#if defined( USE_POINTS_UV ) |
|
|
vec2 uv = vUv; |
|
|
#else |
|
|
vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
diffuseColor *= texture2D( map, uv ); |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
diffuseColor.a *= texture2D( alphaMap, uv ).g; |
|
|
#endif`,TRe=`#if defined( USE_POINTS_UV ) |
|
|
varying vec2 vUv; |
|
|
#else |
|
|
#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) |
|
|
uniform mat3 uvTransform; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
uniform sampler2D map; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
uniform sampler2D alphaMap; |
|
|
#endif`,ARe=`float metalnessFactor = metalness; |
|
|
#ifdef USE_METALNESSMAP |
|
|
vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); |
|
|
metalnessFactor *= texelMetalness.b; |
|
|
#endif`,CRe=`#ifdef USE_METALNESSMAP |
|
|
uniform sampler2D metalnessMap; |
|
|
#endif`,MRe=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) |
|
|
vColor *= morphTargetBaseInfluence; |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
#if defined( USE_COLOR_ALPHA ) |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; |
|
|
#elif defined( USE_COLOR ) |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; |
|
|
#endif |
|
|
} |
|
|
#endif`,ERe=`#ifdef USE_MORPHNORMALS |
|
|
objectNormal *= morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; |
|
|
} |
|
|
#else |
|
|
objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; |
|
|
objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; |
|
|
objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; |
|
|
objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; |
|
|
#endif |
|
|
#endif`,PRe=`#ifdef USE_MORPHTARGETS |
|
|
uniform float morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; |
|
|
uniform sampler2DArray morphTargetsTexture; |
|
|
uniform ivec2 morphTargetsTextureSize; |
|
|
vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { |
|
|
int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; |
|
|
int y = texelIndex / morphTargetsTextureSize.x; |
|
|
int x = texelIndex - y * morphTargetsTextureSize.x; |
|
|
ivec3 morphUV = ivec3( x, y, morphTargetIndex ); |
|
|
return texelFetch( morphTargetsTexture, morphUV, 0 ); |
|
|
} |
|
|
#else |
|
|
#ifndef USE_MORPHNORMALS |
|
|
uniform float morphTargetInfluences[ 8 ]; |
|
|
#else |
|
|
uniform float morphTargetInfluences[ 4 ]; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,RRe=`#ifdef USE_MORPHTARGETS |
|
|
transformed *= morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; |
|
|
} |
|
|
#else |
|
|
transformed += morphTarget0 * morphTargetInfluences[ 0 ]; |
|
|
transformed += morphTarget1 * morphTargetInfluences[ 1 ]; |
|
|
transformed += morphTarget2 * morphTargetInfluences[ 2 ]; |
|
|
transformed += morphTarget3 * morphTargetInfluences[ 3 ]; |
|
|
#ifndef USE_MORPHNORMALS |
|
|
transformed += morphTarget4 * morphTargetInfluences[ 4 ]; |
|
|
transformed += morphTarget5 * morphTargetInfluences[ 5 ]; |
|
|
transformed += morphTarget6 * morphTargetInfluences[ 6 ]; |
|
|
transformed += morphTarget7 * morphTargetInfluences[ 7 ]; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,LRe=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; |
|
|
#ifdef FLAT_SHADED |
|
|
vec3 fdx = dFdx( vViewPosition ); |
|
|
vec3 fdy = dFdy( vViewPosition ); |
|
|
vec3 normal = normalize( cross( fdx, fdy ) ); |
|
|
#else |
|
|
vec3 normal = normalize( vNormal ); |
|
|
#ifdef DOUBLE_SIDED |
|
|
normal *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) |
|
|
#ifdef USE_TANGENT |
|
|
mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); |
|
|
#else |
|
|
mat3 tbn = getTangentFrame( - vViewPosition, normal, |
|
|
#if defined( USE_NORMALMAP ) |
|
|
vNormalMapUv |
|
|
#elif defined( USE_CLEARCOAT_NORMALMAP ) |
|
|
vClearcoatNormalMapUv |
|
|
#else |
|
|
vUv |
|
|
#endif |
|
|
); |
|
|
#endif |
|
|
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) |
|
|
tbn[0] *= faceDirection; |
|
|
tbn[1] *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
#ifdef USE_TANGENT |
|
|
mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); |
|
|
#else |
|
|
mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); |
|
|
#endif |
|
|
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) |
|
|
tbn2[0] *= faceDirection; |
|
|
tbn2[1] *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
vec3 nonPerturbedNormal = normal;`,IRe=`#ifdef USE_NORMALMAP_OBJECTSPACE |
|
|
normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
#ifdef FLIP_SIDED |
|
|
normal = - normal; |
|
|
#endif |
|
|
#ifdef DOUBLE_SIDED |
|
|
normal = normal * faceDirection; |
|
|
#endif |
|
|
normal = normalize( normalMatrix * normal ); |
|
|
#elif defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
mapN.xy *= normalScale; |
|
|
normal = normalize( tbn * mapN ); |
|
|
#elif defined( USE_BUMPMAP ) |
|
|
normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); |
|
|
#endif`,DRe=`#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#ifdef USE_TANGENT |
|
|
varying vec3 vTangent; |
|
|
varying vec3 vBitangent; |
|
|
#endif |
|
|
#endif`,NRe=`#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#ifdef USE_TANGENT |
|
|
varying vec3 vTangent; |
|
|
varying vec3 vBitangent; |
|
|
#endif |
|
|
#endif`,kRe=`#ifndef FLAT_SHADED |
|
|
vNormal = normalize( transformedNormal ); |
|
|
#ifdef USE_TANGENT |
|
|
vTangent = normalize( transformedTangent ); |
|
|
vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); |
|
|
#endif |
|
|
#endif`,FRe=`#ifdef USE_NORMALMAP |
|
|
uniform sampler2D normalMap; |
|
|
uniform vec2 normalScale; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP_OBJECTSPACE |
|
|
uniform mat3 normalMatrix; |
|
|
#endif |
|
|
#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) |
|
|
mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { |
|
|
vec3 q0 = dFdx( eye_pos.xyz ); |
|
|
vec3 q1 = dFdy( eye_pos.xyz ); |
|
|
vec2 st0 = dFdx( uv.st ); |
|
|
vec2 st1 = dFdy( uv.st ); |
|
|
vec3 N = surf_norm; |
|
|
vec3 q1perp = cross( q1, N ); |
|
|
vec3 q0perp = cross( N, q0 ); |
|
|
vec3 T = q1perp * st0.x + q0perp * st1.x; |
|
|
vec3 B = q1perp * st0.y + q0perp * st1.y; |
|
|
float det = max( dot( T, T ), dot( B, B ) ); |
|
|
float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); |
|
|
return mat3( T * scale, B * scale, N ); |
|
|
} |
|
|
#endif`,ORe=`#ifdef USE_CLEARCOAT |
|
|
vec3 clearcoatNormal = nonPerturbedNormal; |
|
|
#endif`,BRe=`#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
clearcoatMapN.xy *= clearcoatNormalScale; |
|
|
clearcoatNormal = normalize( tbn2 * clearcoatMapN ); |
|
|
#endif`,zRe=`#ifdef USE_CLEARCOATMAP |
|
|
uniform sampler2D clearcoatMap; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
uniform sampler2D clearcoatNormalMap; |
|
|
uniform vec2 clearcoatNormalScale; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
uniform sampler2D clearcoatRoughnessMap; |
|
|
#endif`,GRe=`#ifdef USE_IRIDESCENCEMAP |
|
|
uniform sampler2D iridescenceMap; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
uniform sampler2D iridescenceThicknessMap; |
|
|
#endif`,URe=`#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= material.transmissionAlpha; |
|
|
#endif |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,VRe=`vec3 packNormalToRGB( const in vec3 normal ) { |
|
|
return normalize( normal ) * 0.5 + 0.5; |
|
|
} |
|
|
vec3 unpackRGBToNormal( const in vec3 rgb ) { |
|
|
return 2.0 * rgb.xyz - 1.0; |
|
|
} |
|
|
const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; |
|
|
const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); |
|
|
const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); |
|
|
const float ShiftRight8 = 1. / 256.; |
|
|
vec4 packDepthToRGBA( const in float v ) { |
|
|
vec4 r = vec4( fract( v * PackFactors ), v ); |
|
|
r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; |
|
|
} |
|
|
float unpackRGBAToDepth( const in vec4 v ) { |
|
|
return dot( v, UnpackFactors ); |
|
|
} |
|
|
vec2 packDepthToRG( in highp float v ) { |
|
|
return packDepthToRGBA( v ).yx; |
|
|
} |
|
|
float unpackRGToDepth( const in highp vec2 v ) { |
|
|
return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); |
|
|
} |
|
|
vec4 pack2HalfToRGBA( vec2 v ) { |
|
|
vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); |
|
|
return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); |
|
|
} |
|
|
vec2 unpackRGBATo2Half( vec4 v ) { |
|
|
return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); |
|
|
} |
|
|
float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { |
|
|
return ( viewZ + near ) / ( near - far ); |
|
|
} |
|
|
float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { |
|
|
return depth * ( near - far ) - near; |
|
|
} |
|
|
float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { |
|
|
return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); |
|
|
} |
|
|
float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { |
|
|
return ( near * far ) / ( ( far - near ) * depth - far ); |
|
|
}`,HRe=`#ifdef PREMULTIPLIED_ALPHA |
|
|
gl_FragColor.rgb *= gl_FragColor.a; |
|
|
#endif`,WRe=`vec4 mvPosition = vec4( transformed, 1.0 ); |
|
|
#ifdef USE_BATCHING |
|
|
mvPosition = batchingMatrix * mvPosition; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
mvPosition = instanceMatrix * mvPosition; |
|
|
#endif |
|
|
mvPosition = modelViewMatrix * mvPosition; |
|
|
gl_Position = projectionMatrix * mvPosition;`,jRe=`#ifdef DITHERING |
|
|
gl_FragColor.rgb = dithering( gl_FragColor.rgb ); |
|
|
#endif`,$Re=`#ifdef DITHERING |
|
|
vec3 dithering( vec3 color ) { |
|
|
float grid_position = rand( gl_FragCoord.xy ); |
|
|
vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); |
|
|
dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); |
|
|
return color + dither_shift_RGB; |
|
|
} |
|
|
#endif`,qRe=`float roughnessFactor = roughness; |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); |
|
|
roughnessFactor *= texelRoughness.g; |
|
|
#endif`,XRe=`#ifdef USE_ROUGHNESSMAP |
|
|
uniform sampler2D roughnessMap; |
|
|
#endif`,YRe=`#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_MAPS > 0 |
|
|
uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; |
|
|
#endif |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
struct DirectionalLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
struct SpotLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
struct PointLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
float shadowCameraNear; |
|
|
float shadowCameraFar; |
|
|
}; |
|
|
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { |
|
|
return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); |
|
|
} |
|
|
vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { |
|
|
return unpackRGBATo2Half( texture2D( shadow, uv ) ); |
|
|
} |
|
|
float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ |
|
|
float occlusion = 1.0; |
|
|
vec2 distribution = texture2DDistribution( shadow, uv ); |
|
|
float hard_shadow = step( compare , distribution.x ); |
|
|
if (hard_shadow != 1.0 ) { |
|
|
float distance = compare - distribution.x ; |
|
|
float variance = max( 0.00000, distribution.y * distribution.y ); |
|
|
float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); |
|
|
} |
|
|
return occlusion; |
|
|
} |
|
|
float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { |
|
|
float shadow = 1.0; |
|
|
shadowCoord.xyz /= shadowCoord.w; |
|
|
shadowCoord.z += shadowBias; |
|
|
bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; |
|
|
bool frustumTest = inFrustum && shadowCoord.z <= 1.0; |
|
|
if ( frustumTest ) { |
|
|
#if defined( SHADOWMAP_TYPE_PCF ) |
|
|
vec2 texelSize = vec2( 1.0 ) / shadowMapSize; |
|
|
float dx0 = - texelSize.x * shadowRadius; |
|
|
float dy0 = - texelSize.y * shadowRadius; |
|
|
float dx1 = + texelSize.x * shadowRadius; |
|
|
float dy1 = + texelSize.y * shadowRadius; |
|
|
float dx2 = dx0 / 2.0; |
|
|
float dy2 = dy0 / 2.0; |
|
|
float dx3 = dx1 / 2.0; |
|
|
float dy3 = dy1 / 2.0; |
|
|
shadow = ( |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) |
|
|
) * ( 1.0 / 17.0 ); |
|
|
#elif defined( SHADOWMAP_TYPE_PCF_SOFT ) |
|
|
vec2 texelSize = vec2( 1.0 ) / shadowMapSize; |
|
|
float dx = texelSize.x; |
|
|
float dy = texelSize.y; |
|
|
vec2 uv = shadowCoord.xy; |
|
|
vec2 f = fract( uv * shadowMapSize + 0.5 ); |
|
|
uv -= f * texelSize; |
|
|
shadow = ( |
|
|
texture2DCompare( shadowMap, uv, shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), |
|
|
f.x ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), |
|
|
f.x ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), |
|
|
f.y ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), |
|
|
f.y ) + |
|
|
mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), |
|
|
f.x ), |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), |
|
|
f.x ), |
|
|
f.y ) |
|
|
) * ( 1.0 / 9.0 ); |
|
|
#elif defined( SHADOWMAP_TYPE_VSM ) |
|
|
shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); |
|
|
#else |
|
|
shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); |
|
|
#endif |
|
|
} |
|
|
return shadow; |
|
|
} |
|
|
vec2 cubeToUV( vec3 v, float texelSizeY ) { |
|
|
vec3 absV = abs( v ); |
|
|
float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); |
|
|
absV *= scaleToCube; |
|
|
v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); |
|
|
vec2 planar = v.xy; |
|
|
float almostATexel = 1.5 * texelSizeY; |
|
|
float almostOne = 1.0 - almostATexel; |
|
|
if ( absV.z >= almostOne ) { |
|
|
if ( v.z > 0.0 ) |
|
|
planar.x = 4.0 - v.x; |
|
|
} else if ( absV.x >= almostOne ) { |
|
|
float signX = sign( v.x ); |
|
|
planar.x = v.z * signX + 2.0 * signX; |
|
|
} else if ( absV.y >= almostOne ) { |
|
|
float signY = sign( v.y ); |
|
|
planar.x = v.x + 2.0 * signY + 2.0; |
|
|
planar.y = v.z * signY - 2.0; |
|
|
} |
|
|
return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); |
|
|
} |
|
|
float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { |
|
|
vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); |
|
|
vec3 lightToPosition = shadowCoord.xyz; |
|
|
float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; |
|
|
vec3 bd3D = normalize( lightToPosition ); |
|
|
#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) |
|
|
vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; |
|
|
return ( |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) |
|
|
) * ( 1.0 / 9.0 ); |
|
|
#else |
|
|
return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); |
|
|
#endif |
|
|
} |
|
|
#endif`,KRe=`#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
#endif |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
struct DirectionalLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
struct SpotLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
struct PointLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
float shadowCameraNear; |
|
|
float shadowCameraFar; |
|
|
}; |
|
|
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#endif`,ZRe=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) |
|
|
vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); |
|
|
vec4 shadowWorldPosition; |
|
|
#endif |
|
|
#if defined( USE_SHADOWMAP ) |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); |
|
|
vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); |
|
|
vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition; |
|
|
#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; |
|
|
#endif |
|
|
vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif`,JRe=`float getShadowMask() { |
|
|
float shadow = 1.0; |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
DirectionalLightShadow directionalLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { |
|
|
directionalLight = directionalLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
SpotLightShadow spotLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { |
|
|
spotLight = spotLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
PointLightShadow pointLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { |
|
|
pointLight = pointLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
return shadow; |
|
|
}`,QRe=`#ifdef USE_SKINNING |
|
|
mat4 boneMatX = getBoneMatrix( skinIndex.x ); |
|
|
mat4 boneMatY = getBoneMatrix( skinIndex.y ); |
|
|
mat4 boneMatZ = getBoneMatrix( skinIndex.z ); |
|
|
mat4 boneMatW = getBoneMatrix( skinIndex.w ); |
|
|
#endif`,eLe=`#ifdef USE_SKINNING |
|
|
uniform mat4 bindMatrix; |
|
|
uniform mat4 bindMatrixInverse; |
|
|
uniform highp sampler2D boneTexture; |
|
|
mat4 getBoneMatrix( const in float i ) { |
|
|
int size = textureSize( boneTexture, 0 ).x; |
|
|
int j = int( i ) * 4; |
|
|
int x = j % size; |
|
|
int y = j / size; |
|
|
vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); |
|
|
vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); |
|
|
vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); |
|
|
vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); |
|
|
return mat4( v1, v2, v3, v4 ); |
|
|
} |
|
|
#endif`,tLe=`#ifdef USE_SKINNING |
|
|
vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); |
|
|
vec4 skinned = vec4( 0.0 ); |
|
|
skinned += boneMatX * skinVertex * skinWeight.x; |
|
|
skinned += boneMatY * skinVertex * skinWeight.y; |
|
|
skinned += boneMatZ * skinVertex * skinWeight.z; |
|
|
skinned += boneMatW * skinVertex * skinWeight.w; |
|
|
transformed = ( bindMatrixInverse * skinned ).xyz; |
|
|
#endif`,nLe=`#ifdef USE_SKINNING |
|
|
mat4 skinMatrix = mat4( 0.0 ); |
|
|
skinMatrix += skinWeight.x * boneMatX; |
|
|
skinMatrix += skinWeight.y * boneMatY; |
|
|
skinMatrix += skinWeight.z * boneMatZ; |
|
|
skinMatrix += skinWeight.w * boneMatW; |
|
|
skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; |
|
|
objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; |
|
|
#ifdef USE_TANGENT |
|
|
objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; |
|
|
#endif |
|
|
#endif`,iLe=`float specularStrength; |
|
|
#ifdef USE_SPECULARMAP |
|
|
vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); |
|
|
specularStrength = texelSpecular.r; |
|
|
#else |
|
|
specularStrength = 1.0; |
|
|
#endif`,rLe=`#ifdef USE_SPECULARMAP |
|
|
uniform sampler2D specularMap; |
|
|
#endif`,aLe=`#if defined( TONE_MAPPING ) |
|
|
gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); |
|
|
#endif`,oLe=`#ifndef saturate |
|
|
#define saturate( a ) clamp( a, 0.0, 1.0 ) |
|
|
#endif |
|
|
uniform float toneMappingExposure; |
|
|
vec3 LinearToneMapping( vec3 color ) { |
|
|
return saturate( toneMappingExposure * color ); |
|
|
} |
|
|
vec3 ReinhardToneMapping( vec3 color ) { |
|
|
color *= toneMappingExposure; |
|
|
return saturate( color / ( vec3( 1.0 ) + color ) ); |
|
|
} |
|
|
vec3 OptimizedCineonToneMapping( vec3 color ) { |
|
|
color *= toneMappingExposure; |
|
|
color = max( vec3( 0.0 ), color - 0.004 ); |
|
|
return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); |
|
|
} |
|
|
vec3 RRTAndODTFit( vec3 v ) { |
|
|
vec3 a = v * ( v + 0.0245786 ) - 0.000090537; |
|
|
vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; |
|
|
return a / b; |
|
|
} |
|
|
vec3 ACESFilmicToneMapping( vec3 color ) { |
|
|
const mat3 ACESInputMat = mat3( |
|
|
vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), |
|
|
vec3( 0.04823, 0.01566, 0.83777 ) |
|
|
); |
|
|
const mat3 ACESOutputMat = mat3( |
|
|
vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), |
|
|
vec3( -0.07367, -0.00605, 1.07602 ) |
|
|
); |
|
|
color *= toneMappingExposure / 0.6; |
|
|
color = ACESInputMat * color; |
|
|
color = RRTAndODTFit( color ); |
|
|
color = ACESOutputMat * color; |
|
|
return saturate( color ); |
|
|
} |
|
|
const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( |
|
|
vec3( 1.6605, - 0.1246, - 0.0182 ), |
|
|
vec3( - 0.5876, 1.1329, - 0.1006 ), |
|
|
vec3( - 0.0728, - 0.0083, 1.1187 ) |
|
|
); |
|
|
const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( |
|
|
vec3( 0.6274, 0.0691, 0.0164 ), |
|
|
vec3( 0.3293, 0.9195, 0.0880 ), |
|
|
vec3( 0.0433, 0.0113, 0.8956 ) |
|
|
); |
|
|
vec3 agxDefaultContrastApprox( vec3 x ) { |
|
|
vec3 x2 = x * x; |
|
|
vec3 x4 = x2 * x2; |
|
|
return + 15.5 * x4 * x2 |
|
|
- 40.14 * x4 * x |
|
|
+ 31.96 * x4 |
|
|
- 6.868 * x2 * x |
|
|
+ 0.4298 * x2 |
|
|
+ 0.1191 * x |
|
|
- 0.00232; |
|
|
} |
|
|
vec3 AgXToneMapping( vec3 color ) { |
|
|
const mat3 AgXInsetMatrix = mat3( |
|
|
vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), |
|
|
vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), |
|
|
vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) |
|
|
); |
|
|
const mat3 AgXOutsetMatrix = mat3( |
|
|
vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), |
|
|
vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), |
|
|
vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) |
|
|
); |
|
|
const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; |
|
|
color *= toneMappingExposure; |
|
|
color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; |
|
|
color = AgXInsetMatrix * color; |
|
|
color = max( color, 1e-10 ); color = log2( color ); |
|
|
color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); |
|
|
color = clamp( color, 0.0, 1.0 ); |
|
|
color = agxDefaultContrastApprox( color ); |
|
|
color = AgXOutsetMatrix * color; |
|
|
color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); |
|
|
color = LINEAR_REC2020_TO_LINEAR_SRGB * color; |
|
|
color = clamp( color, 0.0, 1.0 ); |
|
|
return color; |
|
|
} |
|
|
vec3 CustomToneMapping( vec3 color ) { return color; }`,sLe=`#ifdef USE_TRANSMISSION |
|
|
material.transmission = transmission; |
|
|
material.transmissionAlpha = 1.0; |
|
|
material.thickness = thickness; |
|
|
material.attenuationDistance = attenuationDistance; |
|
|
material.attenuationColor = attenuationColor; |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; |
|
|
#endif |
|
|
vec3 pos = vWorldPosition; |
|
|
vec3 v = normalize( cameraPosition - pos ); |
|
|
vec3 n = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec4 transmitted = getIBLVolumeRefraction( |
|
|
n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, |
|
|
pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, |
|
|
material.attenuationColor, material.attenuationDistance ); |
|
|
material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); |
|
|
totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); |
|
|
#endif`,lLe=`#ifdef USE_TRANSMISSION |
|
|
uniform float transmission; |
|
|
uniform float thickness; |
|
|
uniform float attenuationDistance; |
|
|
uniform vec3 attenuationColor; |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform sampler2D transmissionMap; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform sampler2D thicknessMap; |
|
|
#endif |
|
|
uniform vec2 transmissionSamplerSize; |
|
|
uniform sampler2D transmissionSamplerMap; |
|
|
uniform mat4 modelMatrix; |
|
|
uniform mat4 projectionMatrix; |
|
|
varying vec3 vWorldPosition; |
|
|
float w0( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); |
|
|
} |
|
|
float w1( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); |
|
|
} |
|
|
float w2( float a ){ |
|
|
return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); |
|
|
} |
|
|
float w3( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * a * a ); |
|
|
} |
|
|
float g0( float a ) { |
|
|
return w0( a ) + w1( a ); |
|
|
} |
|
|
float g1( float a ) { |
|
|
return w2( a ) + w3( a ); |
|
|
} |
|
|
float h0( float a ) { |
|
|
return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); |
|
|
} |
|
|
float h1( float a ) { |
|
|
return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); |
|
|
} |
|
|
vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { |
|
|
uv = uv * texelSize.zw + 0.5; |
|
|
vec2 iuv = floor( uv ); |
|
|
vec2 fuv = fract( uv ); |
|
|
float g0x = g0( fuv.x ); |
|
|
float g1x = g1( fuv.x ); |
|
|
float h0x = h0( fuv.x ); |
|
|
float h1x = h1( fuv.x ); |
|
|
float h0y = h0( fuv.y ); |
|
|
float h1y = h1( fuv.y ); |
|
|
vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; |
|
|
return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + |
|
|
g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); |
|
|
} |
|
|
vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { |
|
|
vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); |
|
|
vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); |
|
|
vec2 fLodSizeInv = 1.0 / fLodSize; |
|
|
vec2 cLodSizeInv = 1.0 / cLodSize; |
|
|
vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); |
|
|
vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); |
|
|
return mix( fSample, cSample, fract( lod ) ); |
|
|
} |
|
|
vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { |
|
|
vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); |
|
|
vec3 modelScale; |
|
|
modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); |
|
|
modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); |
|
|
modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); |
|
|
return normalize( refractionVector ) * thickness * modelScale; |
|
|
} |
|
|
float applyIorToRoughness( const in float roughness, const in float ior ) { |
|
|
return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); |
|
|
} |
|
|
vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { |
|
|
float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); |
|
|
return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); |
|
|
} |
|
|
vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { |
|
|
if ( isinf( attenuationDistance ) ) { |
|
|
return vec3( 1.0 ); |
|
|
} else { |
|
|
vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; |
|
|
vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; |
|
|
} |
|
|
} |
|
|
vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, |
|
|
const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, |
|
|
const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, |
|
|
const in vec3 attenuationColor, const in float attenuationDistance ) { |
|
|
vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); |
|
|
vec3 refractedRayExit = position + transmissionRay; |
|
|
vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); |
|
|
vec2 refractionCoords = ndcPos.xy / ndcPos.w; |
|
|
refractionCoords += 1.0; |
|
|
refractionCoords /= 2.0; |
|
|
vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); |
|
|
vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); |
|
|
vec3 attenuatedColor = transmittance * transmittedLight.rgb; |
|
|
vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); |
|
|
float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; |
|
|
return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); |
|
|
} |
|
|
#endif`,uLe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
varying vec2 vUv; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
varying vec2 vMapUv; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
varying vec2 vAlphaMapUv; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
varying vec2 vLightMapUv; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
varying vec2 vAoMapUv; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
varying vec2 vBumpMapUv; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
varying vec2 vNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
varying vec2 vEmissiveMapUv; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
varying vec2 vMetalnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
varying vec2 vRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
varying vec2 vAnisotropyMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
varying vec2 vClearcoatMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
varying vec2 vClearcoatNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
varying vec2 vClearcoatRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
varying vec2 vIridescenceMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
varying vec2 vIridescenceThicknessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
varying vec2 vSheenColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
varying vec2 vSheenRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
varying vec2 vSpecularMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
varying vec2 vSpecularColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
varying vec2 vSpecularIntensityMapUv; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform mat3 transmissionMapTransform; |
|
|
varying vec2 vTransmissionMapUv; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform mat3 thicknessMapTransform; |
|
|
varying vec2 vThicknessMapUv; |
|
|
#endif`,cLe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
varying vec2 vUv; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
uniform mat3 mapTransform; |
|
|
varying vec2 vMapUv; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
uniform mat3 alphaMapTransform; |
|
|
varying vec2 vAlphaMapUv; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
uniform mat3 lightMapTransform; |
|
|
varying vec2 vLightMapUv; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
uniform mat3 aoMapTransform; |
|
|
varying vec2 vAoMapUv; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
uniform mat3 bumpMapTransform; |
|
|
varying vec2 vBumpMapUv; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
uniform mat3 normalMapTransform; |
|
|
varying vec2 vNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
uniform mat3 displacementMapTransform; |
|
|
varying vec2 vDisplacementMapUv; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
uniform mat3 emissiveMapTransform; |
|
|
varying vec2 vEmissiveMapUv; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
uniform mat3 metalnessMapTransform; |
|
|
varying vec2 vMetalnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
uniform mat3 roughnessMapTransform; |
|
|
varying vec2 vRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
uniform mat3 anisotropyMapTransform; |
|
|
varying vec2 vAnisotropyMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
uniform mat3 clearcoatMapTransform; |
|
|
varying vec2 vClearcoatMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
uniform mat3 clearcoatNormalMapTransform; |
|
|
varying vec2 vClearcoatNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
uniform mat3 clearcoatRoughnessMapTransform; |
|
|
varying vec2 vClearcoatRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
uniform mat3 sheenColorMapTransform; |
|
|
varying vec2 vSheenColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
uniform mat3 sheenRoughnessMapTransform; |
|
|
varying vec2 vSheenRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
uniform mat3 iridescenceMapTransform; |
|
|
varying vec2 vIridescenceMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
uniform mat3 iridescenceThicknessMapTransform; |
|
|
varying vec2 vIridescenceThicknessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
uniform mat3 specularMapTransform; |
|
|
varying vec2 vSpecularMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
uniform mat3 specularColorMapTransform; |
|
|
varying vec2 vSpecularColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
uniform mat3 specularIntensityMapTransform; |
|
|
varying vec2 vSpecularIntensityMapUv; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform mat3 transmissionMapTransform; |
|
|
varying vec2 vTransmissionMapUv; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform mat3 thicknessMapTransform; |
|
|
varying vec2 vThicknessMapUv; |
|
|
#endif`,dLe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
vUv = vec3( uv, 1 ).xy; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; |
|
|
#endif`,hLe=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 |
|
|
vec4 worldPosition = vec4( transformed, 1.0 ); |
|
|
#ifdef USE_BATCHING |
|
|
worldPosition = batchingMatrix * worldPosition; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
worldPosition = instanceMatrix * worldPosition; |
|
|
#endif |
|
|
worldPosition = modelMatrix * worldPosition; |
|
|
#endif`;const fLe=`varying vec2 vUv; |
|
|
uniform mat3 uvTransform; |
|
|
void main() { |
|
|
vUv = ( uvTransform * vec3( uv, 1 ) ).xy; |
|
|
gl_Position = vec4( position.xy, 1.0, 1.0 ); |
|
|
}`,pLe=`uniform sampler2D t2D; |
|
|
uniform float backgroundIntensity; |
|
|
varying vec2 vUv; |
|
|
void main() { |
|
|
vec4 texColor = texture2D( t2D, vUv ); |
|
|
#ifdef DECODE_VIDEO_TEXTURE |
|
|
texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); |
|
|
#endif |
|
|
texColor.rgb *= backgroundIntensity; |
|
|
gl_FragColor = texColor; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,vLe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
gl_Position.z = gl_Position.w; |
|
|
}`,mLe=`#ifdef ENVMAP_TYPE_CUBE |
|
|
uniform samplerCube envMap; |
|
|
#elif defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
uniform sampler2D envMap; |
|
|
#endif |
|
|
uniform float flipEnvMap; |
|
|
uniform float backgroundBlurriness; |
|
|
uniform float backgroundIntensity; |
|
|
varying vec3 vWorldDirection; |
|
|
#include <cube_uv_reflection_fragment> |
|
|
void main() { |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); |
|
|
#elif defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); |
|
|
#else |
|
|
vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
#endif |
|
|
texColor.rgb *= backgroundIntensity; |
|
|
gl_FragColor = texColor; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,gLe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
gl_Position.z = gl_Position.w; |
|
|
}`,yLe=`uniform samplerCube tCube; |
|
|
uniform float tFlip; |
|
|
uniform float opacity; |
|
|
varying vec3 vWorldDirection; |
|
|
void main() { |
|
|
vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); |
|
|
gl_FragColor = texColor; |
|
|
gl_FragColor.a *= opacity; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,_Le=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
varying vec2 vHighPrecisionZW; |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vHighPrecisionZW = gl_Position.zw; |
|
|
}`,SLe=`#if DEPTH_PACKING == 3200 |
|
|
uniform float opacity; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
varying vec2 vHighPrecisionZW; |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( 1.0 ); |
|
|
#include <clipping_planes_fragment> |
|
|
#if DEPTH_PACKING == 3200 |
|
|
diffuseColor.a = opacity; |
|
|
#endif |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; |
|
|
#if DEPTH_PACKING == 3200 |
|
|
gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); |
|
|
#elif DEPTH_PACKING == 3201 |
|
|
gl_FragColor = packDepthToRGBA( fragCoordZ ); |
|
|
#endif |
|
|
}`,bLe=`#define DISTANCE |
|
|
varying vec3 vWorldPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
}`,xLe=`#define DISTANCE |
|
|
uniform vec3 referencePosition; |
|
|
uniform float nearDistance; |
|
|
uniform float farDistance; |
|
|
varying vec3 vWorldPosition; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main () { |
|
|
vec4 diffuseColor = vec4( 1.0 ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
float dist = length( vWorldPosition - referencePosition ); |
|
|
dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); |
|
|
dist = saturate( dist ); |
|
|
gl_FragColor = packDepthToRGBA( dist ); |
|
|
}`,wLe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
}`,TLe=`uniform sampler2D tEquirect; |
|
|
varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vec3 direction = normalize( vWorldDirection ); |
|
|
vec2 sampleUV = equirectUv( direction ); |
|
|
gl_FragColor = texture2D( tEquirect, sampleUV ); |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,ALe=`uniform float scale; |
|
|
attribute float lineDistance; |
|
|
varying float vLineDistance; |
|
|
#include <common> |
|
|
#include <uv_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
vLineDistance = scale * lineDistance; |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,CLe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform float dashSize; |
|
|
uniform float totalSize; |
|
|
varying float vLineDistance; |
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
if ( mod( vLineDistance, totalSize ) > dashSize ) { |
|
|
discard; |
|
|
} |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
}`,MLe=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,ELe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; |
|
|
#else |
|
|
reflectedLight.indirectDiffuse += vec3( 1.0 ); |
|
|
#endif |
|
|
#include <aomap_fragment> |
|
|
reflectedLight.indirectDiffuse *= diffuseColor.rgb; |
|
|
vec3 outgoingLight = reflectedLight.indirectDiffuse; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,PLe=`#define LAMBERT |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,RLe=`#define LAMBERT |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_lambert_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_lambert_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,LLe=`#define MATCAP |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
}`,ILe=`#define MATCAP |
|
|
uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform sampler2D matcap; |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <normal_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
vec3 viewDir = normalize( vViewPosition ); |
|
|
vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); |
|
|
vec3 y = cross( viewDir, x ); |
|
|
vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; |
|
|
#ifdef USE_MATCAP |
|
|
vec4 matcapColor = texture2D( matcap, uv ); |
|
|
#else |
|
|
vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); |
|
|
#endif |
|
|
vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,DLe=`#define NORMAL |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
varying vec3 vViewPosition; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#endif |
|
|
}`,NLe=`#define NORMAL |
|
|
uniform float opacity; |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
varying vec3 vViewPosition; |
|
|
#endif |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <normal_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); |
|
|
#ifdef OPAQUE |
|
|
gl_FragColor.a = 1.0; |
|
|
#endif |
|
|
}`,kLe=`#define PHONG |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,FLe=`#define PHONG |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform vec3 specular; |
|
|
uniform float shininess; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_phong_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_phong_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,OLe=`#define STANDARD |
|
|
varying vec3 vViewPosition; |
|
|
#ifdef USE_TRANSMISSION |
|
|
varying vec3 vWorldPosition; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
#ifdef USE_TRANSMISSION |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
#endif |
|
|
}`,BLe=`#define STANDARD |
|
|
#ifdef PHYSICAL |
|
|
#define IOR |
|
|
#define USE_SPECULAR |
|
|
#endif |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float roughness; |
|
|
uniform float metalness; |
|
|
uniform float opacity; |
|
|
#ifdef IOR |
|
|
uniform float ior; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR |
|
|
uniform float specularIntensity; |
|
|
uniform vec3 specularColor; |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
uniform sampler2D specularColorMap; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
uniform sampler2D specularIntensityMap; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
uniform float clearcoat; |
|
|
uniform float clearcoatRoughness; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
uniform float iridescence; |
|
|
uniform float iridescenceIOR; |
|
|
uniform float iridescenceThicknessMinimum; |
|
|
uniform float iridescenceThicknessMaximum; |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
uniform vec3 sheenColor; |
|
|
uniform float sheenRoughness; |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
uniform sampler2D sheenColorMap; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
uniform sampler2D sheenRoughnessMap; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
uniform vec2 anisotropyVector; |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
uniform sampler2D anisotropyMap; |
|
|
#endif |
|
|
#endif |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <iridescence_fragment> |
|
|
#include <cube_uv_reflection_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_physical_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_physical_pars_fragment> |
|
|
#include <transmission_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <clearcoat_pars_fragment> |
|
|
#include <iridescence_pars_fragment> |
|
|
#include <roughnessmap_pars_fragment> |
|
|
#include <metalnessmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <roughnessmap_fragment> |
|
|
#include <metalnessmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <clearcoat_normal_fragment_begin> |
|
|
#include <clearcoat_normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_physical_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; |
|
|
vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; |
|
|
#include <transmission_fragment> |
|
|
vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; |
|
|
#ifdef USE_SHEEN |
|
|
float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); |
|
|
outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); |
|
|
vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); |
|
|
outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; |
|
|
#endif |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,zLe=`#define TOON |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,GLe=`#define TOON |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <gradientmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_toon_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_toon_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,ULe=`uniform float size; |
|
|
uniform float scale; |
|
|
#include <common> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
#ifdef USE_POINTS_UV |
|
|
varying vec2 vUv; |
|
|
uniform mat3 uvTransform; |
|
|
#endif |
|
|
void main() { |
|
|
#ifdef USE_POINTS_UV |
|
|
vUv = ( uvTransform * vec3( uv, 1 ) ).xy; |
|
|
#endif |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <project_vertex> |
|
|
gl_PointSize = size; |
|
|
#ifdef USE_SIZEATTENUATION |
|
|
bool isPerspective = isPerspectiveMatrix( projectionMatrix ); |
|
|
if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); |
|
|
#endif |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,VLe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <map_particle_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_particle_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
}`,HLe=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
void main() { |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,WLe=`uniform vec3 color; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <shadowmask_pars_fragment> |
|
|
void main() { |
|
|
#include <logdepthbuf_fragment> |
|
|
gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
}`,jLe=`uniform float rotation; |
|
|
uniform vec2 center; |
|
|
#include <common> |
|
|
#include <uv_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
vec2 scale; |
|
|
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); |
|
|
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); |
|
|
#ifndef USE_SIZEATTENUATION |
|
|
bool isPerspective = isPerspectiveMatrix( projectionMatrix ); |
|
|
if ( isPerspective ) scale *= - mvPosition.z; |
|
|
#endif |
|
|
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; |
|
|
vec2 rotatedPosition; |
|
|
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; |
|
|
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; |
|
|
mvPosition.xy += rotatedPosition; |
|
|
gl_Position = projectionMatrix * mvPosition; |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,$Le=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
}`,j3={alphahash_fragment:pPe,alphahash_pars_fragment:vPe,alphamap_fragment:mPe,alphamap_pars_fragment:gPe,alphatest_fragment:yPe,alphatest_pars_fragment:_Pe,aomap_fragment:SPe,aomap_pars_fragment:bPe,batching_pars_vertex:xPe,batching_vertex:wPe,begin_vertex:TPe,beginnormal_vertex:APe,bsdfs:CPe,iridescence_fragment:MPe,bumpmap_pars_fragment:EPe,clipping_planes_fragment:PPe,clipping_planes_pars_fragment:RPe,clipping_planes_pars_vertex:LPe,clipping_planes_vertex:IPe,color_fragment:DPe,color_pars_fragment:NPe,color_pars_vertex:kPe,color_vertex:FPe,common:OPe,cube_uv_reflection_fragment:BPe,defaultnormal_vertex:zPe,displacementmap_pars_vertex:GPe,displacementmap_vertex:UPe,emissivemap_fragment:VPe,emissivemap_pars_fragment:HPe,colorspace_fragment:WPe,colorspace_pars_fragment:jPe,envmap_fragment:$Pe,envmap_common_pars_fragment:qPe,envmap_pars_fragment:XPe,envmap_pars_vertex:YPe,envmap_physical_pars_fragment:sRe,envmap_vertex:KPe,fog_vertex:ZPe,fog_pars_vertex:JPe,fog_fragment:QPe,fog_pars_fragment:eRe,gradientmap_pars_fragment:tRe,lightmap_fragment:nRe,lightmap_pars_fragment:iRe,lights_lambert_fragment:rRe,lights_lambert_pars_fragment:aRe,lights_pars_begin:oRe,lights_toon_fragment:lRe,lights_toon_pars_fragment:uRe,lights_phong_fragment:cRe,lights_phong_pars_fragment:dRe,lights_physical_fragment:hRe,lights_physical_pars_fragment:fRe,lights_fragment_begin:pRe,lights_fragment_maps:vRe,lights_fragment_end:mRe,logdepthbuf_fragment:gRe,logdepthbuf_pars_fragment:yRe,logdepthbuf_pars_vertex:_Re,logdepthbuf_vertex:SRe,map_fragment:bRe,map_pars_fragment:xRe,map_particle_fragment:wRe,map_particle_pars_fragment:TRe,metalnessmap_fragment:ARe,metalnessmap_pars_fragment:CRe,morphcolor_vertex:MRe,morphnormal_vertex:ERe,morphtarget_pars_vertex:PRe,morphtarget_vertex:RRe,normal_fragment_begin:LRe,normal_fragment_maps:IRe,normal_pars_fragment:DRe,normal_pars_vertex:NRe,normal_vertex:kRe,normalmap_pars_fragment:FRe,clearcoat_normal_fragment_begin:ORe,clearcoat_normal_fragment_maps:BRe,clearcoat_pars_fragment:zRe,iridescence_pars_fragment:GRe,opaque_fragment:URe,packing:VRe,premultiplied_alpha_fragment:HRe,project_vertex:WRe,dithering_fragment:jRe,dithering_pars_fragment:$Re,roughnessmap_fragment:qRe,roughnessmap_pars_fragment:XRe,shadowmap_pars_fragment:YRe,shadowmap_pars_vertex:KRe,shadowmap_vertex:ZRe,shadowmask_pars_fragment:JRe,skinbase_vertex:QRe,skinning_pars_vertex:eLe,skinning_vertex:tLe,skinnormal_vertex:nLe,specularmap_fragment:iLe,specularmap_pars_fragment:rLe,tonemapping_fragment:aLe,tonemapping_pars_fragment:oLe,transmission_fragment:sLe,transmission_pars_fragment:lLe,uv_pars_fragment:uLe,uv_pars_vertex:cLe,uv_vertex:dLe,worldpos_vertex:hLe,background_vert:fLe,background_frag:pLe,backgroundCube_vert:vLe,backgroundCube_frag:mLe,cube_vert:gLe,cube_frag:yLe,depth_vert:_Le,depth_frag:SLe,distanceRGBA_vert:bLe,distanceRGBA_frag:xLe,equirect_vert:wLe,equirect_frag:TLe,linedashed_vert:ALe,linedashed_frag:CLe,meshbasic_vert:MLe,meshbasic_frag:ELe,meshlambert_vert:PLe,meshlambert_frag:RLe,meshmatcap_vert:LLe,meshmatcap_frag:ILe,meshnormal_vert:DLe,meshnormal_frag:NLe,meshphong_vert:kLe,meshphong_frag:FLe,meshphysical_vert:OLe,meshphysical_frag:BLe,meshtoon_vert:zLe,meshtoon_frag:GLe,points_vert:ULe,points_frag:VLe,shadow_vert:HLe,shadow_frag:WLe,sprite_vert:jLe,sprite_frag:$Le},Mt={common:{diffuse:{value:new Jt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new r1},alphaMap:{value:null},alphaMapTransform:{value:new r1},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new r1}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new r1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new r1}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new r1},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new r1},normalScale:{value:new Q2(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new r1},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new r1}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new r1}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new r1}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Jt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Jt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new r1},alphaTest:{value:0},uvTransform:{value:new r1}},sprite:{diffuse:{value:new Jt(16777215)},opacity:{value:1},center:{value:new Q2(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new r1},alphaMap:{value:null},alphaMapTransform:{value:new r1},alphaTest:{value:0}}},$i={basic:{uniforms:xi([Mt.common,Mt.specularmap,Mt.envmap,Mt.aomap,Mt.lightmap,Mt.fog]),vertexShader:j3.meshbasic_vert,fragmentShader:j3.meshbasic_frag},lambert:{uniforms:xi([Mt.common,Mt.specularmap,Mt.envmap,Mt.aomap,Mt.lightmap,Mt.emissivemap,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,Mt.fog,Mt.lights,{emissive:{value:new Jt(0)}}]),vertexShader:j3.meshlambert_vert,fragmentShader:j3.meshlambert_frag},phong:{uniforms:xi([Mt.common,Mt.specularmap,Mt.envmap,Mt.aomap,Mt.lightmap,Mt.emissivemap,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,Mt.fog,Mt.lights,{emissive:{value:new Jt(0)},specular:{value:new Jt(1118481)},shininess:{value:30}}]),vertexShader:j3.meshphong_vert,fragmentShader:j3.meshphong_frag},standard:{uniforms:xi([Mt.common,Mt.envmap,Mt.aomap,Mt.lightmap,Mt.emissivemap,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,Mt.roughnessmap,Mt.metalnessmap,Mt.fog,Mt.lights,{emissive:{value:new Jt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:j3.meshphysical_vert,fragmentShader:j3.meshphysical_frag},toon:{uniforms:xi([Mt.common,Mt.aomap,Mt.lightmap,Mt.emissivemap,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,Mt.gradientmap,Mt.fog,Mt.lights,{emissive:{value:new Jt(0)}}]),vertexShader:j3.meshtoon_vert,fragmentShader:j3.meshtoon_frag},matcap:{uniforms:xi([Mt.common,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,Mt.fog,{matcap:{value:null}}]),vertexShader:j3.meshmatcap_vert,fragmentShader:j3.meshmatcap_frag},points:{uniforms:xi([Mt.points,Mt.fog]),vertexShader:j3.points_vert,fragmentShader:j3.points_frag},dashed:{uniforms:xi([Mt.common,Mt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:j3.linedashed_vert,fragmentShader:j3.linedashed_frag},depth:{uniforms:xi([Mt.common,Mt.displacementmap]),vertexShader:j3.depth_vert,fragmentShader:j3.depth_frag},normal:{uniforms:xi([Mt.common,Mt.bumpmap,Mt.normalmap,Mt.displacementmap,{opacity:{value:1}}]),vertexShader:j3.meshnormal_vert,fragmentShader:j3.meshnormal_frag},sprite:{uniforms:xi([Mt.sprite,Mt.fog]),vertexShader:j3.sprite_vert,fragmentShader:j3.sprite_frag},background:{uniforms:{uvTransform:{value:new r1},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:j3.background_vert,fragmentShader:j3.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:j3.backgroundCube_vert,fragmentShader:j3.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:j3.cube_vert,fragmentShader:j3.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:j3.equirect_vert,fragmentShader:j3.equirect_frag},distanceRGBA:{uniforms:xi([Mt.common,Mt.displacementmap,{referencePosition:{value:new Ie},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:j3.distanceRGBA_vert,fragmentShader:j3.distanceRGBA_frag},shadow:{uniforms:xi([Mt.lights,Mt.fog,{color:{value:new Jt(0)},opacity:{value:1}}]),vertexShader:j3.shadow_vert,fragmentShader:j3.shadow_frag}};$i.physical={uniforms:xi([$i.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new r1},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new r1},clearcoatNormalScale:{value:new Q2(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new r1},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new r1},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new r1},sheen:{value:0},sheenColor:{value:new Jt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new r1},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new r1},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new r1},transmissionSamplerSize:{value:new Q2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new r1},attenuationDistance:{value:0},attenuationColor:{value:new Jt(0)},specularColor:{value:new Jt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new r1},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new r1},anisotropyVector:{value:new Q2},anisotropyMap:{value:null},anisotropyMapTransform:{value:new r1}}]),vertexShader:j3.meshphysical_vert,fragmentShader:j3.meshphysical_frag};const ov={r:0,b:0,g:0};function qLe(n,e,t,i,r,a,o){const s=new Jt(0);let l=a===!0?0:1,u,c,d=null,h=0,f=null;function p(v,g){let _=!1,S=g.isScene===!0?g.background:null;S&&S.isTexture&&(S=(g.backgroundBlurriness>0?t:e).get(S)),S===null?m(s,l):S&&S.isColor&&(m(S,1),_=!0);const x=n.xr.getEnvironmentBlendMode();x==="additive"?i.buffers.color.setClear(0,0,0,1,o):x==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),S&&(S.isCubeTexture||S.mapping===i_)?(c===void 0&&(c=new h1(new Q7(1,1,1),new Js({name:"BackgroundCubeMaterial",uniforms:A7($i.backgroundCube.uniforms),vertexShader:$i.backgroundCube.vertexShader,fragmentShader:$i.backgroundCube.fragmentShader,side:ir,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(A,C,M){this.matrixWorld.copyPosition(M.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(c)),c.material.uniforms.envMap.value=S,c.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,c.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,c.material.toneMapped=F1.getTransfer(S.colorSpace)!==v0,(d!==S||h!==S.version||f!==n.toneMapping)&&(c.material.needsUpdate=!0,d=S,h=S.version,f=n.toneMapping),c.layers.enableAll(),v.unshift(c,c.geometry,c.material,0,0,null)):S&&S.isTexture&&(u===void 0&&(u=new h1(new Tr(2,2),new Js({name:"BackgroundMaterial",uniforms:A7($i.background.uniforms),vertexShader:$i.background.vertexShader,fragmentShader:$i.background.fragmentShader,side:Zs,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(u)),u.material.uniforms.t2D.value=S,u.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,u.material.toneMapped=F1.getTransfer(S.colorSpace)!==v0,S.matrixAutoUpdate===!0&&S.updateMatrix(),u.material.uniforms.uvTransform.value.copy(S.matrix),(d!==S||h!==S.version||f!==n.toneMapping)&&(u.material.needsUpdate=!0,d=S,h=S.version,f=n.toneMapping),u.layers.enableAll(),v.unshift(u,u.geometry,u.material,0,0,null))}function m(v,g){v.getRGB(ov,VQ(n)),i.buffers.color.setClear(ov.r,ov.g,ov.b,g,o)}return{getClearColor:function(){return s},setClearColor:function(v,g=1){s.set(v),l=g,m(s,l)},getClearAlpha:function(){return l},setClearAlpha:function(v){l=v,m(s,l)},render:p}}function XLe(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),a=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||a!==null,s={},l=v(null);let u=l,c=!1;function d(G,W,Y,Q,K){let ae=!1;if(o){const ie=m(Q,Y,W);u!==ie&&(u=ie,f(u.object)),ae=g(G,Q,Y,K),ae&&_(G,Q,Y,K)}else{const ie=W.wireframe===!0;(u.geometry!==Q.id||u.program!==Y.id||u.wireframe!==ie)&&(u.geometry=Q.id,u.program=Y.id,u.wireframe=ie,ae=!0)}K!==null&&t.update(K,n.ELEMENT_ARRAY_BUFFER),(ae||c)&&(c=!1,I(G,W,Y,Q),K!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(K).buffer))}function h(){return i.isWebGL2?n.createVertexArray():a.createVertexArrayOES()}function f(G){return i.isWebGL2?n.bindVertexArray(G):a.bindVertexArrayOES(G)}function p(G){return i.isWebGL2?n.deleteVertexArray(G):a.deleteVertexArrayOES(G)}function m(G,W,Y){const Q=Y.wireframe===!0;let K=s[G.id];K===void 0&&(K={},s[G.id]=K);let ae=K[W.id];ae===void 0&&(ae={},K[W.id]=ae);let ie=ae[Q];return ie===void 0&&(ie=v(h()),ae[Q]=ie),ie}function v(G){const W=[],Y=[],Q=[];for(let K=0;K<r;K++)W[K]=0,Y[K]=0,Q[K]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:W,enabledAttributes:Y,attributeDivisors:Q,object:G,attributes:{},index:null}}function g(G,W,Y,Q){const K=u.attributes,ae=W.attributes;let ie=0;const he=Y.getAttributes();for(const Ee in he)if(he[Ee].location>=0){const xe=K[Ee];let Oe=ae[Ee];if(Oe===void 0&&(Ee==="instanceMatrix"&&G.instanceMatrix&&(Oe=G.instanceMatrix),Ee==="instanceColor"&&G.instanceColor&&(Oe=G.instanceColor)),xe===void 0||xe.attribute!==Oe||Oe&&xe.data!==Oe.data)return!0;ie++}return u.attributesNum!==ie||u.index!==Q}function _(G,W,Y,Q){const K={},ae=W.attributes;let ie=0;const he=Y.getAttributes();for(const Ee in he)if(he[Ee].location>=0){let xe=ae[Ee];xe===void 0&&(Ee==="instanceMatrix"&&G.instanceMatrix&&(xe=G.instanceMatrix),Ee==="instanceColor"&&G.instanceColor&&(xe=G.instanceColor));const Oe={};Oe.attribute=xe,xe&&xe.data&&(Oe.data=xe.data),K[Ee]=Oe,ie++}u.attributes=K,u.attributesNum=ie,u.index=Q}function S(){const G=u.newAttributes;for(let W=0,Y=G.length;W<Y;W++)G[W]=0}function x(G){A(G,0)}function A(G,W){const Y=u.newAttributes,Q=u.enabledAttributes,K=u.attributeDivisors;Y[G]=1,Q[G]===0&&(n.enableVertexAttribArray(G),Q[G]=1),K[G]!==W&&((i.isWebGL2?n:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](G,W),K[G]=W)}function C(){const G=u.newAttributes,W=u.enabledAttributes;for(let Y=0,Q=W.length;Y<Q;Y++)W[Y]!==G[Y]&&(n.disableVertexAttribArray(Y),W[Y]=0)}function M(G,W,Y,Q,K,ae,ie){ie===!0?n.vertexAttribIPointer(G,W,Y,K,ae):n.vertexAttribPointer(G,W,Y,Q,K,ae)}function I(G,W,Y,Q){if(i.isWebGL2===!1&&(G.isInstancedMesh||Q.isInstancedBufferGeometry)&&e.get("ANGLE_instanced_arrays")===null)return;S();const K=Q.attributes,ae=Y.getAttributes(),ie=W.defaultAttributeValues;for(const he in ae){const Ee=ae[he];if(Ee.location>=0){let je=K[he];if(je===void 0&&(he==="instanceMatrix"&&G.instanceMatrix&&(je=G.instanceMatrix),he==="instanceColor"&&G.instanceColor&&(je=G.instanceColor)),je!==void 0){const xe=je.normalized,Oe=je.itemSize,f2=t.get(je);if(f2===void 0)continue;const B2=f2.buffer,S2=f2.type,p2=f2.bytesPerElement,X2=i.isWebGL2===!0&&(S2===n.INT||S2===n.UNSIGNED_INT||je.gpuType===AQ);if(je.isInterleavedBufferAttribute){const w2=je.data,Ce=w2.stride,R2=je.offset;if(w2.isInstancedInterleavedBuffer){for(let v2=0;v2<Ee.locationSize;v2++)A(Ee.location+v2,w2.meshPerAttribute);G.isInstancedMesh!==!0&&Q._maxInstanceCount===void 0&&(Q._maxInstanceCount=w2.meshPerAttribute*w2.count)}else for(let v2=0;v2<Ee.locationSize;v2++)x(Ee.location+v2);n.bindBuffer(n.ARRAY_BUFFER,B2);for(let v2=0;v2<Ee.locationSize;v2++)M(Ee.location+v2,Oe/Ee.locationSize,S2,xe,Ce*p2,(R2+Oe/Ee.locationSize*v2)*p2,X2)}else{if(je.isInstancedBufferAttribute){for(let w2=0;w2<Ee.locationSize;w2++)A(Ee.location+w2,je.meshPerAttribute);G.isInstancedMesh!==!0&&Q._maxInstanceCount===void 0&&(Q._maxInstanceCount=je.meshPerAttribute*je.count)}else for(let w2=0;w2<Ee.locationSize;w2++)x(Ee.location+w2);n.bindBuffer(n.ARRAY_BUFFER,B2);for(let w2=0;w2<Ee.locationSize;w2++)M(Ee.location+w2,Oe/Ee.locationSize,S2,xe,Oe*p2,Oe/Ee.locationSize*w2*p2,X2)}}else if(ie!==void 0){const xe=ie[he];if(xe!==void 0)switch(xe.length){case 2:n.vertexAttrib2fv(Ee.location,xe);break;case 3:n.vertexAttrib3fv(Ee.location,xe);break;case 4:n.vertexAttrib4fv(Ee.location,xe);break;default:n.vertexAttrib1fv(Ee.location,xe)}}}}C()}function D(){F();for(const G in s){const W=s[G];for(const Y in W){const Q=W[Y];for(const K in Q)p(Q[K].object),delete Q[K];delete W[Y]}delete s[G]}}function E(G){if(s[G.id]===void 0)return;const W=s[G.id];for(const Y in W){const Q=W[Y];for(const K in Q)p(Q[K].object),delete Q[K];delete W[Y]}delete s[G.id]}function P(G){for(const W in s){const Y=s[W];if(Y[G.id]===void 0)continue;const Q=Y[G.id];for(const K in Q)p(Q[K].object),delete Q[K];delete Y[G.id]}}function F(){V(),c=!0,u!==l&&(u=l,f(u.object))}function V(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:F,resetDefaultState:V,dispose:D,releaseStatesOfGeometry:E,releaseStatesOfProgram:P,initAttributes:S,enableAttribute:x,disableUnusedAttributes:C}}function YLe(n,e,t,i){const r=i.isWebGL2;let a;function o(c){a=c}function s(c,d){n.drawArrays(a,c,d),t.update(d,a,1)}function l(c,d,h){if(h===0)return;let f,p;if(r)f=n,p="drawArraysInstanced";else if(f=e.get("ANGLE_instanced_arrays"),p="drawArraysInstancedANGLE",f===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}f[p](a,c,d,h),t.update(d,a,h)}function u(c,d,h){if(h===0)return;const f=e.get("WEBGL_multi_draw");if(f===null)for(let p=0;p<h;p++)this.render(c[p],d[p]);else{f.multiDrawArraysWEBGL(a,c,0,d,0,h);let p=0;for(let m=0;m<h;m++)p+=d[m];t.update(p,a,1)}}this.setMode=o,this.render=s,this.renderInstances=l,this.renderMultiDraw=u}function KLe(n,e,t){let i;function r(){if(i!==void 0)return i;if(e.has("EXT_texture_filter_anisotropic")===!0){const M=e.get("EXT_texture_filter_anisotropic");i=n.getParameter(M.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i}function a(M){if(M==="highp"){if(n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.HIGH_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";M="mediump"}return M==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext!="undefined"&&n.constructor.name==="WebGL2RenderingContext";let s=t.precision!==void 0?t.precision:"highp";const l=a(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);const u=o||e.has("WEBGL_draw_buffers"),c=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),h=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_TEXTURE_SIZE),p=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),m=n.getParameter(n.MAX_VERTEX_ATTRIBS),v=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),S=h>0,x=o||e.has("OES_texture_float"),A=S&&x,C=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:u,getMaxAnisotropy:r,getMaxPrecision:a,precision:s,logarithmicDepthBuffer:c,maxTextures:d,maxVertexTextures:h,maxTextureSize:f,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:v,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:S,floatFragmentTextures:x,floatVertexTextures:A,maxSamples:C}}function ZLe(n){const e=this;let t=null,i=0,r=!1,a=!1;const o=new j6,s=new r1,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,h){const f=d.length!==0||h||i!==0||r;return r=h,i=d.length,f},this.beginShadows=function(){a=!0,c(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(d,h){t=c(d,h,0)},this.setState=function(d,h,f){const p=d.clippingPlanes,m=d.clipIntersection,v=d.clipShadows,g=n.get(d);if(!r||p===null||p.length===0||a&&!v)a?c(null):u();else{const _=a?0:i,S=_*4;let x=g.clippingState||null;l.value=x,x=c(p,h,S,f);for(let A=0;A!==S;++A)x[A]=t[A];g.clippingState=x,this.numIntersection=m?this.numPlanes:0,this.numPlanes+=_}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function c(d,h,f,p){const m=d!==null?d.length:0;let v=null;if(m!==0){if(v=l.value,p!==!0||v===null){const g=f+m*4,_=h.matrixWorldInverse;s.getNormalMatrix(_),(v===null||v.length<g)&&(v=new Float32Array(g));for(let S=0,x=f;S!==m;++S,x+=4)o.copy(d[S]).applyMatrix4(_,s),o.normal.toArray(v,x),v[x+3]=o.constant}l.value=v,l.needsUpdate=!0}return e.numPlanes=m,e.numIntersection=0,v}}function JLe(n){let e=new WeakMap;function t(o,s){return s===GC?o.mapping=S7:s===UC&&(o.mapping=b7),o}function i(o){if(o&&o.isTexture){const s=o.mapping;if(s===GC||s===UC)if(e.has(o)){const l=e.get(o).texture;return t(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const u=new cPe(l.height);return u.fromEquirectangularTexture(n,o),e.set(o,u),o.addEventListener("dispose",r),t(u.texture,o.mapping)}else return null}}return o}function r(o){const s=o.target;s.removeEventListener("dispose",r);const l=e.get(s);l!==void 0&&(e.delete(s),l.dispose())}function a(){e=new WeakMap}return{get:i,dispose:a}}class o_ extends HQ{constructor(e=-1,t=1,i=1,r=-1,a=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=a,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,a,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let a=i-e,o=i+e,s=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,c=(this.top-this.bottom)/this.view.fullHeight/this.zoom;a+=u*this.view.offsetX,o=a+u*this.view.width,s-=c*this.view.offsetY,l=s-c*this.view.height}this.projectionMatrix.makeOrthographic(a,o,s,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const Il=4,cV=[.125,.215,.35,.446,.526,.582],e8=20,Xw=new o_,dV=new Jt;let Yw=null,Kw=0,Zw=0;const $9=(1+Math.sqrt(5))/2,ul=1/$9,hV=[new Ie(1,1,1),new Ie(-1,1,1),new Ie(1,1,-1),new Ie(-1,1,-1),new Ie(0,$9,ul),new Ie(0,$9,-ul),new Ie(ul,0,$9),new Ie(-ul,0,$9),new Ie($9,ul,0),new Ie(-$9,ul,0)];class fV{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){Yw=this._renderer.getRenderTarget(),Kw=this._renderer.getActiveCubeFace(),Zw=this._renderer.getActiveMipmapLevel(),this._setSize(256);const a=this._allocateTargets();return a.depthBuffer=!0,this._sceneToCubeUV(e,i,r,a),t>0&&this._blur(a,0,0,t),this._applyPMREM(a),this._cleanup(a),a}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=mV(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=vV(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(Yw,Kw,Zw),e.scissorTest=!1,sv(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===S7||e.mapping===b7?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),Yw=this._renderer.getRenderTarget(),Kw=this._renderer.getActiveCubeFace(),Zw=this._renderer.getActiveMipmapLevel();const i=t||this._allocateTargets();return this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:an,minFilter:an,generateMipmaps:!1,type:Yd,format:ga,colorSpace:Sn,depthBuffer:!1},r=pV(e,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=pV(e,t,i);const{_lodMax:a}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=QLe(a)),this._blurMaterial=eIe(a,e,t)}return r}_compileMaterial(e){const t=new h1(this._lodPlanes[0],e);this._renderer.compile(t,Xw)}_sceneToCubeUV(e,t,i,r){const s=new oi(90,1,t,i),l=[1,-1,1,1,1,1],u=[1,1,1,-1,-1,-1],c=this._renderer,d=c.autoClear,h=c.toneMapping;c.getClearColor(dV),c.toneMapping=S5,c.autoClear=!1;const f=new C1({name:"PMREM.Background",side:ir,depthWrite:!1,depthTest:!1}),p=new h1(new Q7,f);let m=!1;const v=e.background;v?v.isColor&&(f.color.copy(v),e.background=null,m=!0):(f.color.copy(dV),m=!0);for(let g=0;g<6;g++){const _=g%3;_===0?(s.up.set(0,l[g],0),s.lookAt(u[g],0,0)):_===1?(s.up.set(0,0,l[g]),s.lookAt(0,u[g],0)):(s.up.set(0,l[g],0),s.lookAt(0,0,u[g]));const S=this._cubeSize;sv(r,_*S,g>2?S:0,S,S),c.setRenderTarget(r),m&&c.render(p,s),c.render(e,s)}p.geometry.dispose(),p.material.dispose(),c.toneMapping=h,c.autoClear=d,e.background=v}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===S7||e.mapping===b7;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=mV()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=vV());const a=r?this._cubemapMaterial:this._equirectMaterial,o=new h1(this._lodPlanes[0],a),s=a.uniforms;s.envMap.value=e;const l=this._cubeSize;sv(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,Xw)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;r<this._lodPlanes.length;r++){const a=Math.sqrt(this._sigmas[r]*this._sigmas[r]-this._sigmas[r-1]*this._sigmas[r-1]),o=hV[(r-1)%hV.length];this._blur(e,r-1,r,a,o)}t.autoClear=i}_blur(e,t,i,r,a){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,i,r,"latitudinal",a),this._halfBlur(o,e,i,i,r,"longitudinal",a)}_halfBlur(e,t,i,r,a,o,s){const l=this._renderer,u=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const c=3,d=new h1(this._lodPlanes[r],u),h=u.uniforms,f=this._sizeLods[i]-1,p=isFinite(a)?Math.PI/(2*f):2*Math.PI/(2*e8-1),m=a/p,v=isFinite(a)?1+Math.floor(c*m):e8;v>e8&&console.warn(`sigmaRadians, ${a}, is too large and will clip, as it requested ${v} samples when the maximum is set to ${e8}`);const g=[];let _=0;for(let M=0;M<e8;++M){const I=M/m,D=Math.exp(-I*I/2);g.push(D),M===0?_+=D:M<v&&(_+=2*D)}for(let M=0;M<g.length;M++)g[M]=g[M]/_;h.envMap.value=e.texture,h.samples.value=v,h.weights.value=g,h.latitudinal.value=o==="latitudinal",s&&(h.poleAxis.value=s);const{_lodMax:S}=this;h.dTheta.value=p,h.mipInt.value=S-i;const x=this._sizeLods[r],A=3*x*(r>S-Il?r-S+Il:0),C=4*(this._cubeSize-x);sv(t,A,C,3*x,2*x),l.setRenderTarget(t),l.render(d,Xw)}}function QLe(n){const e=[],t=[],i=[];let r=n;const a=n-Il+1+cV.length;for(let o=0;o<a;o++){const s=Math.pow(2,r);t.push(s);let l=1/s;o>n-Il?l=cV[o-n+Il-1]:o===0&&(l=0),i.push(l);const u=1/(s-2),c=-u,d=1+u,h=[c,c,d,c,d,d,c,c,d,d,c,d],f=6,p=6,m=3,v=2,g=1,_=new Float32Array(m*p*f),S=new Float32Array(v*p*f),x=new Float32Array(g*p*f);for(let C=0;C<f;C++){const M=C%3*2/3-1,I=C>2?0:-1,D=[M,I,0,M+2/3,I,0,M+2/3,I+1,0,M,I,0,M+2/3,I+1,0,M,I+1,0];_.set(D,m*p*C),S.set(h,v*p*C);const E=[C,C,C,C,C,C];x.set(E,g*p*C)}const A=new J1;A.setAttribute("position",new R0(_,m)),A.setAttribute("uv",new R0(S,v)),A.setAttribute("faceIndex",new R0(x,g)),e.push(A),r>Il&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function pV(n,e,t){const i=new V8(n,e,t);return i.texture.mapping=i_,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function sv(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function eIe(n,e,t){const i=new Float32Array(e8),r=new Ie(0,1,0);return new Js({name:"SphericalGaussianBlur",defines:{n:e8,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:vR(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform sampler2D envMap; |
|
|
uniform int samples; |
|
|
uniform float weights[ n ]; |
|
|
uniform bool latitudinal; |
|
|
uniform float dTheta; |
|
|
uniform float mipInt; |
|
|
uniform vec3 poleAxis; |
|
|
|
|
|
#define ENVMAP_TYPE_CUBE_UV |
|
|
#include <cube_uv_reflection_fragment> |
|
|
|
|
|
vec3 getSample( float theta, vec3 axis ) { |
|
|
|
|
|
float cosTheta = cos( theta ); |
|
|
// Rodrigues' axis-angle rotation |
|
|
vec3 sampleDirection = vOutputDirection * cosTheta |
|
|
+ cross( axis, vOutputDirection ) * sin( theta ) |
|
|
+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); |
|
|
|
|
|
return bilinearCubeUV( envMap, sampleDirection, mipInt ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); |
|
|
|
|
|
if ( all( equal( axis, vec3( 0.0 ) ) ) ) { |
|
|
|
|
|
axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); |
|
|
|
|
|
} |
|
|
|
|
|
axis = normalize( axis ); |
|
|
|
|
|
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); |
|
|
|
|
|
for ( int i = 1; i < n; i++ ) { |
|
|
|
|
|
if ( i >= samples ) { |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
float theta = dTheta * float( i ); |
|
|
gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); |
|
|
gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
`,blending:_5,depthTest:!1,depthWrite:!1})}function vV(){return new Js({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:vR(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform sampler2D envMap; |
|
|
|
|
|
#include <common> |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 outputDirection = normalize( vOutputDirection ); |
|
|
vec2 uv = equirectUv( outputDirection ); |
|
|
|
|
|
gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); |
|
|
|
|
|
} |
|
|
`,blending:_5,depthTest:!1,depthWrite:!1})}function mV(){return new Js({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:vR(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
uniform float flipEnvMap; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform samplerCube envMap; |
|
|
|
|
|
void main() { |
|
|
|
|
|
gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); |
|
|
|
|
|
} |
|
|
`,blending:_5,depthTest:!1,depthWrite:!1})}function vR(){return` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
attribute float faceIndex; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
// RH coordinate system; PMREM face-indexing convention |
|
|
vec3 getDirection( vec2 uv, float face ) { |
|
|
|
|
|
uv = 2.0 * uv - 1.0; |
|
|
|
|
|
vec3 direction = vec3( uv, 1.0 ); |
|
|
|
|
|
if ( face == 0.0 ) { |
|
|
|
|
|
direction = direction.zyx; // ( 1, v, u ) pos x |
|
|
|
|
|
} else if ( face == 1.0 ) { |
|
|
|
|
|
direction = direction.xzy; |
|
|
direction.xz *= -1.0; // ( -u, 1, -v ) pos y |
|
|
|
|
|
} else if ( face == 2.0 ) { |
|
|
|
|
|
direction.x *= -1.0; // ( -u, v, 1 ) pos z |
|
|
|
|
|
} else if ( face == 3.0 ) { |
|
|
|
|
|
direction = direction.zyx; |
|
|
direction.xz *= -1.0; // ( -1, v, -u ) neg x |
|
|
|
|
|
} else if ( face == 4.0 ) { |
|
|
|
|
|
direction = direction.xzy; |
|
|
direction.xy *= -1.0; // ( -u, -1, v ) neg y |
|
|
|
|
|
} else if ( face == 5.0 ) { |
|
|
|
|
|
direction.z *= -1.0; // ( u, v, -1 ) neg z |
|
|
|
|
|
} |
|
|
|
|
|
return direction; |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vOutputDirection = getDirection( uv, faceIndex ); |
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
|
|
|
} |
|
|
`}function tIe(n){let e=new WeakMap,t=null;function i(s){if(s&&s.isTexture){const l=s.mapping,u=l===GC||l===UC,c=l===S7||l===b7;if(u||c)if(s.isRenderTargetTexture&&s.needsPMREMUpdate===!0){s.needsPMREMUpdate=!1;let d=e.get(s);return t===null&&(t=new fV(n)),d=u?t.fromEquirectangular(s,d):t.fromCubemap(s,d),e.set(s,d),d.texture}else{if(e.has(s))return e.get(s).texture;{const d=s.image;if(u&&d&&d.height>0||c&&d&&r(d)){t===null&&(t=new fV(n));const h=u?t.fromEquirectangular(s):t.fromCubemap(s);return e.set(s,h),s.addEventListener("dispose",a),h.texture}else return null}}}return s}function r(s){let l=0;const u=6;for(let c=0;c<u;c++)s[c]!==void 0&&l++;return l===u}function a(s){const l=s.target;l.removeEventListener("dispose",a);const u=e.get(l);u!==void 0&&(e.delete(l),u.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:i,dispose:o}}function nIe(n){const e={};function t(i){if(e[i]!==void 0)return e[i];let r;switch(i){case"WEBGL_depth_texture":r=n.getExtension("WEBGL_depth_texture")||n.getExtension("MOZ_WEBGL_depth_texture")||n.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=n.getExtension("WEBGL_compressed_texture_s3tc")||n.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=n.getExtension("WEBGL_compressed_texture_pvrtc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=n.getExtension(i)}return e[i]=r,r}return{has:function(i){return t(i)!==null},init:function(i){i.isWebGL2?(t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance")):(t("WEBGL_depth_texture"),t("OES_texture_float"),t("OES_texture_half_float"),t("OES_texture_half_float_linear"),t("OES_standard_derivatives"),t("OES_element_index_uint"),t("OES_vertex_array_object"),t("ANGLE_instanced_arrays")),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture")},get:function(i){const r=t(i);return r===null&&console.warn("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function iIe(n,e,t,i){const r={},a=new WeakMap;function o(d){const h=d.target;h.index!==null&&e.remove(h.index);for(const p in h.attributes)e.remove(h.attributes[p]);for(const p in h.morphAttributes){const m=h.morphAttributes[p];for(let v=0,g=m.length;v<g;v++)e.remove(m[v])}h.removeEventListener("dispose",o),delete r[h.id];const f=a.get(h);f&&(e.remove(f),a.delete(h)),i.releaseStatesOfGeometry(h),h.isInstancedBufferGeometry===!0&&delete h._maxInstanceCount,t.memory.geometries--}function s(d,h){return r[h.id]===!0||(h.addEventListener("dispose",o),r[h.id]=!0,t.memory.geometries++),h}function l(d){const h=d.attributes;for(const p in h)e.update(h[p],n.ARRAY_BUFFER);const f=d.morphAttributes;for(const p in f){const m=f[p];for(let v=0,g=m.length;v<g;v++)e.update(m[v],n.ARRAY_BUFFER)}}function u(d){const h=[],f=d.index,p=d.attributes.position;let m=0;if(f!==null){const _=f.array;m=f.version;for(let S=0,x=_.length;S<x;S+=3){const A=_[S+0],C=_[S+1],M=_[S+2];h.push(A,C,C,M,M,A)}}else if(p!==void 0){const _=p.array;m=p.version;for(let S=0,x=_.length/3-1;S<x;S+=3){const A=S+0,C=S+1,M=S+2;h.push(A,C,C,M,M,A)}}else return;const v=new(kQ(h)?UQ:GQ)(h,1);v.version=m;const g=a.get(d);g&&e.remove(g),a.set(d,v)}function c(d){const h=a.get(d);if(h){const f=d.index;f!==null&&h.version<f.version&&u(d)}else u(d);return a.get(d)}return{get:s,update:l,getWireframeAttribute:c}}function rIe(n,e,t,i){const r=i.isWebGL2;let a;function o(f){a=f}let s,l;function u(f){s=f.type,l=f.bytesPerElement}function c(f,p){n.drawElements(a,p,s,f*l),t.update(p,a,1)}function d(f,p,m){if(m===0)return;let v,g;if(r)v=n,g="drawElementsInstanced";else if(v=e.get("ANGLE_instanced_arrays"),g="drawElementsInstancedANGLE",v===null){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}v[g](a,p,s,f*l,m),t.update(p,a,m)}function h(f,p,m){if(m===0)return;const v=e.get("WEBGL_multi_draw");if(v===null)for(let g=0;g<m;g++)this.render(f[g]/l,p[g]);else{v.multiDrawElementsWEBGL(a,p,0,s,f,0,m);let g=0;for(let _=0;_<m;_++)g+=p[_];t.update(g,a,1)}}this.setMode=o,this.setIndex=u,this.render=c,this.renderInstances=d,this.renderMultiDraw=h}function aIe(n){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(a,o,s){switch(t.calls++,o){case n.TRIANGLES:t.triangles+=s*(a/3);break;case n.LINES:t.lines+=s*(a/2);break;case n.LINE_STRIP:t.lines+=s*(a-1);break;case n.LINE_LOOP:t.lines+=s*a;break;case n.POINTS:t.points+=s*a;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function r(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:r,update:i}}function oIe(n,e){return n[0]-e[0]}function sIe(n,e){return Math.abs(e[1])-Math.abs(n[1])}function lIe(n,e,t){const i={},r=new Float32Array(8),a=new WeakMap,o=new M1,s=[];for(let u=0;u<8;u++)s[u]=[u,0];function l(u,c,d){const h=u.morphTargetInfluences;if(e.isWebGL2===!0){const f=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,p=f!==void 0?f.length:0;let m=a.get(c);if(m===void 0||m.count!==p){let G=function(){F.dispose(),a.delete(c),c.removeEventListener("dispose",G)};m!==void 0&&m.texture.dispose();const _=c.morphAttributes.position!==void 0,S=c.morphAttributes.normal!==void 0,x=c.morphAttributes.color!==void 0,A=c.morphAttributes.position||[],C=c.morphAttributes.normal||[],M=c.morphAttributes.color||[];let I=0;_===!0&&(I=1),S===!0&&(I=2),x===!0&&(I=3);let D=c.attributes.position.count*I,E=1;D>e.maxTextureSize&&(E=Math.ceil(D/e.maxTextureSize),D=e.maxTextureSize);const P=new Float32Array(D*E*4*p),F=new BQ(P,D,E,p);F.type=No,F.needsUpdate=!0;const V=I*4;for(let W=0;W<p;W++){const Y=A[W],Q=C[W],K=M[W],ae=D*E*4*W;for(let ie=0;ie<Y.count;ie++){const he=ie*V;_===!0&&(o.fromBufferAttribute(Y,ie),P[ae+he+0]=o.x,P[ae+he+1]=o.y,P[ae+he+2]=o.z,P[ae+he+3]=0),S===!0&&(o.fromBufferAttribute(Q,ie),P[ae+he+4]=o.x,P[ae+he+5]=o.y,P[ae+he+6]=o.z,P[ae+he+7]=0),x===!0&&(o.fromBufferAttribute(K,ie),P[ae+he+8]=o.x,P[ae+he+9]=o.y,P[ae+he+10]=o.z,P[ae+he+11]=K.itemSize===4?o.w:1)}}m={count:p,texture:F,size:new Q2(D,E)},a.set(c,m),c.addEventListener("dispose",G)}let v=0;for(let _=0;_<h.length;_++)v+=h[_];const g=c.morphTargetsRelative?1:1-v;d.getUniforms().setValue(n,"morphTargetBaseInfluence",g),d.getUniforms().setValue(n,"morphTargetInfluences",h),d.getUniforms().setValue(n,"morphTargetsTexture",m.texture,t),d.getUniforms().setValue(n,"morphTargetsTextureSize",m.size)}else{const f=h===void 0?0:h.length;let p=i[c.id];if(p===void 0||p.length!==f){p=[];for(let S=0;S<f;S++)p[S]=[S,0];i[c.id]=p}for(let S=0;S<f;S++){const x=p[S];x[0]=S,x[1]=h[S]}p.sort(sIe);for(let S=0;S<8;S++)S<f&&p[S][1]?(s[S][0]=p[S][0],s[S][1]=p[S][1]):(s[S][0]=Number.MAX_SAFE_INTEGER,s[S][1]=0);s.sort(oIe);const m=c.morphAttributes.position,v=c.morphAttributes.normal;let g=0;for(let S=0;S<8;S++){const x=s[S],A=x[0],C=x[1];A!==Number.MAX_SAFE_INTEGER&&C?(m&&c.getAttribute("morphTarget"+S)!==m[A]&&c.setAttribute("morphTarget"+S,m[A]),v&&c.getAttribute("morphNormal"+S)!==v[A]&&c.setAttribute("morphNormal"+S,v[A]),r[S]=C,g+=C):(m&&c.hasAttribute("morphTarget"+S)===!0&&c.deleteAttribute("morphTarget"+S),v&&c.hasAttribute("morphNormal"+S)===!0&&c.deleteAttribute("morphNormal"+S),r[S]=0)}const _=c.morphTargetsRelative?1:1-g;d.getUniforms().setValue(n,"morphTargetBaseInfluence",_),d.getUniforms().setValue(n,"morphTargetInfluences",r)}}return{update:l}}function uIe(n,e,t,i){let r=new WeakMap;function a(l){const u=i.render.frame,c=l.geometry,d=e.get(l,c);if(r.get(d)!==u&&(e.update(d),r.set(d,u)),l.isInstancedMesh&&(l.hasEventListener("dispose",s)===!1&&l.addEventListener("dispose",s),r.get(l)!==u&&(t.update(l.instanceMatrix,n.ARRAY_BUFFER),l.instanceColor!==null&&t.update(l.instanceColor,n.ARRAY_BUFFER),r.set(l,u))),l.isSkinnedMesh){const h=l.skeleton;r.get(h)!==u&&(h.update(),r.set(h,u))}return d}function o(){r=new WeakMap}function s(l){const u=l.target;u.removeEventListener("dispose",s),t.remove(u.instanceMatrix),u.instanceColor!==null&&t.remove(u.instanceColor)}return{update:a,dispose:o}}class $Q extends gn{constructor(e,t,i,r,a,o,s,l,u,c){if(c=c!==void 0?c:R8,c!==R8&&c!==x7)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&c===R8&&(i=u5),i===void 0&&c===x7&&(i=P8),super(null,r,a,o,s,l,c,i,u),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=s!==void 0?s:vn,this.minFilter=l!==void 0?l:vn,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}const qQ=new gn,XQ=new $Q(1,1);XQ.compareFunction=NQ;const YQ=new BQ,KQ=new XEe,ZQ=new WQ,gV=[],yV=[],_V=new Float32Array(16),SV=new Float32Array(9),bV=new Float32Array(4);function eu(n,e,t){const i=n[0];if(i<=0||i>0)return n;const r=e*t;let a=gV[r];if(a===void 0&&(a=new Float32Array(r),gV[r]=a),e!==0){i.toArray(a,0);for(let o=1,s=0;o!==e;++o)s+=t,n[o].toArray(a,s)}return a}function bn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0}function xn(n,e){for(let t=0,i=e.length;t<i;t++)n[t]=e[t]}function s_(n,e){let t=yV[e];t===void 0&&(t=new Int32Array(e),yV[e]=t);for(let i=0;i!==e;++i)t[i]=n.allocateTextureUnit();return t}function cIe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1f(this.addr,e),t[0]=e)}function dIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(bn(t,e))return;n.uniform2fv(this.addr,e),xn(t,e)}}function hIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(n.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(bn(t,e))return;n.uniform3fv(this.addr,e),xn(t,e)}}function fIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(bn(t,e))return;n.uniform4fv(this.addr,e),xn(t,e)}}function pIe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(bn(t,e))return;n.uniformMatrix2fv(this.addr,!1,e),xn(t,e)}else{if(bn(t,i))return;bV.set(i),n.uniformMatrix2fv(this.addr,!1,bV),xn(t,i)}}function vIe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(bn(t,e))return;n.uniformMatrix3fv(this.addr,!1,e),xn(t,e)}else{if(bn(t,i))return;SV.set(i),n.uniformMatrix3fv(this.addr,!1,SV),xn(t,i)}}function mIe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(bn(t,e))return;n.uniformMatrix4fv(this.addr,!1,e),xn(t,e)}else{if(bn(t,i))return;_V.set(i),n.uniformMatrix4fv(this.addr,!1,_V),xn(t,i)}}function gIe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1i(this.addr,e),t[0]=e)}function yIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(bn(t,e))return;n.uniform2iv(this.addr,e),xn(t,e)}}function _Ie(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(bn(t,e))return;n.uniform3iv(this.addr,e),xn(t,e)}}function SIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(bn(t,e))return;n.uniform4iv(this.addr,e),xn(t,e)}}function bIe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1ui(this.addr,e),t[0]=e)}function xIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(bn(t,e))return;n.uniform2uiv(this.addr,e),xn(t,e)}}function wIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(bn(t,e))return;n.uniform3uiv(this.addr,e),xn(t,e)}}function TIe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(bn(t,e))return;n.uniform4uiv(this.addr,e),xn(t,e)}}function AIe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r);const a=this.type===n.SAMPLER_2D_SHADOW?XQ:qQ;t.setTexture2D(e||a,r)}function CIe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture3D(e||KQ,r)}function MIe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTextureCube(e||ZQ,r)}function EIe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture2DArray(e||YQ,r)}function PIe(n){switch(n){case 5126:return cIe;case 35664:return dIe;case 35665:return hIe;case 35666:return fIe;case 35674:return pIe;case 35675:return vIe;case 35676:return mIe;case 5124:case 35670:return gIe;case 35667:case 35671:return yIe;case 35668:case 35672:return _Ie;case 35669:case 35673:return SIe;case 5125:return bIe;case 36294:return xIe;case 36295:return wIe;case 36296:return TIe;case 35678:case 36198:case 36298:case 36306:case 35682:return AIe;case 35679:case 36299:case 36307:return CIe;case 35680:case 36300:case 36308:case 36293:return MIe;case 36289:case 36303:case 36311:case 36292:return EIe}}function RIe(n,e){n.uniform1fv(this.addr,e)}function LIe(n,e){const t=eu(e,this.size,2);n.uniform2fv(this.addr,t)}function IIe(n,e){const t=eu(e,this.size,3);n.uniform3fv(this.addr,t)}function DIe(n,e){const t=eu(e,this.size,4);n.uniform4fv(this.addr,t)}function NIe(n,e){const t=eu(e,this.size,4);n.uniformMatrix2fv(this.addr,!1,t)}function kIe(n,e){const t=eu(e,this.size,9);n.uniformMatrix3fv(this.addr,!1,t)}function FIe(n,e){const t=eu(e,this.size,16);n.uniformMatrix4fv(this.addr,!1,t)}function OIe(n,e){n.uniform1iv(this.addr,e)}function BIe(n,e){n.uniform2iv(this.addr,e)}function zIe(n,e){n.uniform3iv(this.addr,e)}function GIe(n,e){n.uniform4iv(this.addr,e)}function UIe(n,e){n.uniform1uiv(this.addr,e)}function VIe(n,e){n.uniform2uiv(this.addr,e)}function HIe(n,e){n.uniform3uiv(this.addr,e)}function WIe(n,e){n.uniform4uiv(this.addr,e)}function jIe(n,e,t){const i=this.cache,r=e.length,a=s_(t,r);bn(i,a)||(n.uniform1iv(this.addr,a),xn(i,a));for(let o=0;o!==r;++o)t.setTexture2D(e[o]||qQ,a[o])}function $Ie(n,e,t){const i=this.cache,r=e.length,a=s_(t,r);bn(i,a)||(n.uniform1iv(this.addr,a),xn(i,a));for(let o=0;o!==r;++o)t.setTexture3D(e[o]||KQ,a[o])}function qIe(n,e,t){const i=this.cache,r=e.length,a=s_(t,r);bn(i,a)||(n.uniform1iv(this.addr,a),xn(i,a));for(let o=0;o!==r;++o)t.setTextureCube(e[o]||ZQ,a[o])}function XIe(n,e,t){const i=this.cache,r=e.length,a=s_(t,r);bn(i,a)||(n.uniform1iv(this.addr,a),xn(i,a));for(let o=0;o!==r;++o)t.setTexture2DArray(e[o]||YQ,a[o])}function YIe(n){switch(n){case 5126:return RIe;case 35664:return LIe;case 35665:return IIe;case 35666:return DIe;case 35674:return NIe;case 35675:return kIe;case 35676:return FIe;case 5124:case 35670:return OIe;case 35667:case 35671:return BIe;case 35668:case 35672:return zIe;case 35669:case 35673:return GIe;case 5125:return UIe;case 36294:return VIe;case 36295:return HIe;case 36296:return WIe;case 35678:case 36198:case 36298:case 36306:case 35682:return jIe;case 35679:case 36299:case 36307:return $Ie;case 35680:case 36300:case 36308:case 36293:return qIe;case 36289:case 36303:case 36311:case 36292:return XIe}}class KIe{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.setValue=PIe(t.type)}}class ZIe{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=YIe(t.type)}}class JIe{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,i){const r=this.seq;for(let a=0,o=r.length;a!==o;++a){const s=r[a];s.setValue(e,t[s.id],i)}}}const Jw=/(\w+)(\])?(\[|\.)?/g;function xV(n,e){n.seq.push(e),n.map[e.id]=e}function QIe(n,e,t){const i=n.name,r=i.length;for(Jw.lastIndex=0;;){const a=Jw.exec(i),o=Jw.lastIndex;let s=a[1];const l=a[2]==="]",u=a[3];if(l&&(s=s|0),u===void 0||u==="["&&o+2===r){xV(t,u===void 0?new KIe(s,n,e):new ZIe(s,n,e));break}else{let d=t.map[s];d===void 0&&(d=new JIe(s),xV(t,d)),t=d}}}class mm{constructor(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let r=0;r<i;++r){const a=e.getActiveUniform(t,r),o=e.getUniformLocation(t,a.name);QIe(a,o,this)}}setValue(e,t,i,r){const a=this.map[t];a!==void 0&&a.setValue(e,i,r)}setOptional(e,t,i){const r=t[i];r!==void 0&&this.setValue(e,i,r)}static upload(e,t,i,r){for(let a=0,o=t.length;a!==o;++a){const s=t[a],l=i[s.id];l.needsUpdate!==!1&&s.setValue(e,l.value,r)}}static seqWithValue(e,t){const i=[];for(let r=0,a=e.length;r!==a;++r){const o=e[r];o.id in t&&i.push(o)}return i}}function wV(n,e,t){const i=n.createShader(e);return n.shaderSource(i,t),n.compileShader(i),i}const eDe=37297;let tDe=0;function nDe(n,e){const t=n.split(` |
|
|
`),i=[],r=Math.max(e-6,0),a=Math.min(e+6,t.length);for(let o=r;o<a;o++){const s=o+1;i.push(`${s===e?">":" "} ${s}: ${t[o]}`)}return i.join(` |
|
|
`)}function iDe(n){const e=F1.getPrimaries(F1.workingColorSpace),t=F1.getPrimaries(n);let i;switch(e===t?i="":e===Bg&&t===Og?i="LinearDisplayP3ToLinearSRGB":e===Og&&t===Bg&&(i="LinearSRGBToLinearDisplayP3"),n){case Sn:case r_:return[i,"LinearTransferOETF"];case W1:case uR:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function TV(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const a=/ERROR: 0:(\d+)/.exec(r);if(a){const o=parseInt(a[1]);return t.toUpperCase()+` |
|
|
|
|
|
`+r+` |
|
|
|
|
|
`+nDe(n.getShaderSource(e),o)}else return r}function rDe(n,e){const t=iDe(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function aDe(n,e){let t;switch(e){case nEe:t="Linear";break;case iEe:t="Reinhard";break;case rEe:t="OptimizedCineon";break;case aEe:t="ACESFilmic";break;case sEe:t="AgX";break;case oEe:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function oDe(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Dl).join(` |
|
|
`)}function sDe(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Dl).join(` |
|
|
`)}function lDe(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` |
|
|
`)}function uDe(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const a=n.getActiveAttrib(e,r),o=a.name;let s=1;a.type===n.FLOAT_MAT2&&(s=2),a.type===n.FLOAT_MAT3&&(s=3),a.type===n.FLOAT_MAT4&&(s=4),t[o]={type:a.type,location:n.getAttribLocation(e,o),locationSize:s}}return t}function Dl(n){return n!==""}function AV(n,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return n.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function CV(n,e){return n.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const cDe=/^[ \t]*#include +<([\w\d./]+)>/gm;function qC(n){return n.replace(cDe,hDe)}const dDe=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function hDe(n,e){let t=j3[e];if(t===void 0){const i=dDe.get(e);if(i!==void 0)t=j3[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return qC(t)}const fDe=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function MV(n){return n.replace(fDe,pDe)}function pDe(n,e,t,i){let r="";for(let a=parseInt(e);a<parseInt(t);a++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+a+" ]").replace(/UNROLLED_LOOP_INDEX/g,a);return r}function EV(n){let e=`precision ${n.precision} float; |
|
|
precision ${n.precision} int; |
|
|
precision ${n.precision} sampler2D; |
|
|
precision ${n.precision} samplerCube; |
|
|
`;return n.isWebGL2&&(e+=`precision ${n.precision} sampler3D; |
|
|
precision ${n.precision} sampler2DArray; |
|
|
precision ${n.precision} sampler2DShadow; |
|
|
precision ${n.precision} samplerCubeShadow; |
|
|
precision ${n.precision} sampler2DArrayShadow; |
|
|
precision ${n.precision} isampler2D; |
|
|
precision ${n.precision} isampler3D; |
|
|
precision ${n.precision} isamplerCube; |
|
|
precision ${n.precision} isampler2DArray; |
|
|
precision ${n.precision} usampler2D; |
|
|
precision ${n.precision} usampler3D; |
|
|
precision ${n.precision} usamplerCube; |
|
|
precision ${n.precision} usampler2DArray; |
|
|
`),n.precision==="highp"?e+=` |
|
|
#define HIGH_PRECISION`:n.precision==="mediump"?e+=` |
|
|
#define MEDIUM_PRECISION`:n.precision==="lowp"&&(e+=` |
|
|
#define LOW_PRECISION`),e}function vDe(n){let e="SHADOWMAP_TYPE_BASIC";return n.shadowMapType===SQ?e="SHADOWMAP_TYPE_PCF":n.shadowMapType===DMe?e="SHADOWMAP_TYPE_PCF_SOFT":n.shadowMapType===Cs&&(e="SHADOWMAP_TYPE_VSM"),e}function mDe(n){let e="ENVMAP_TYPE_CUBE";if(n.envMap)switch(n.envMapMode){case S7:case b7:e="ENVMAP_TYPE_CUBE";break;case i_:e="ENVMAP_TYPE_CUBE_UV";break}return e}function gDe(n){let e="ENVMAP_MODE_REFLECTION";if(n.envMap)switch(n.envMapMode){case b7:e="ENVMAP_MODE_REFRACTION";break}return e}function yDe(n){let e="ENVMAP_BLENDING_NONE";if(n.envMap)switch(n.combine){case oR:e="ENVMAP_BLENDING_MULTIPLY";break;case eEe:e="ENVMAP_BLENDING_MIX";break;case tEe:e="ENVMAP_BLENDING_ADD";break}return e}function _De(n){const e=n.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:i,maxMip:t}}function SDe(n,e,t,i){const r=n.getContext(),a=t.defines;let o=t.vertexShader,s=t.fragmentShader;const l=vDe(t),u=mDe(t),c=gDe(t),d=yDe(t),h=_De(t),f=t.isWebGL2?"":oDe(t),p=sDe(t),m=lDe(a),v=r.createProgram();let g,_,S=t.glslVersion?"#version "+t.glslVersion+` |
|
|
`:"";t.isRawShaderMaterial?(g=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Dl).join(` |
|
|
`),g.length>0&&(g+=` |
|
|
`),_=[f,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Dl).join(` |
|
|
`),_.length>0&&(_+=` |
|
|
`)):(g=[EV(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` |
|
|
`].filter(Dl).join(` |
|
|
`),_=[f,EV(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+c:"",t.envMap?"#define "+d:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==S5?"#define TONE_MAPPING":"",t.toneMapping!==S5?j3.tonemapping_pars_fragment:"",t.toneMapping!==S5?aDe("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",j3.colorspace_pars_fragment,rDe("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` |
|
|
`].filter(Dl).join(` |
|
|
`)),o=qC(o),o=AV(o,t),o=CV(o,t),s=qC(s),s=AV(s,t),s=CV(s,t),o=MV(o),s=MV(s),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(S=`#version 300 es |
|
|
`,g=[p,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` |
|
|
`)+` |
|
|
`+g,_=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===WU?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===WU?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` |
|
|
`)+` |
|
|
`+_);const x=S+g+o,A=S+_+s,C=wV(r,r.VERTEX_SHADER,x),M=wV(r,r.FRAGMENT_SHADER,A);r.attachShader(v,C),r.attachShader(v,M),t.index0AttributeName!==void 0?r.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v);function I(F){if(n.debug.checkShaderErrors){const V=r.getProgramInfoLog(v).trim(),G=r.getShaderInfoLog(C).trim(),W=r.getShaderInfoLog(M).trim();let Y=!0,Q=!0;if(r.getProgramParameter(v,r.LINK_STATUS)===!1)if(Y=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,v,C,M);else{const K=TV(r,C,"vertex"),ae=TV(r,M,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(v,r.VALIDATE_STATUS)+` |
|
|
|
|
|
Material Name: `+F.name+` |
|
|
Material Type: `+F.type+` |
|
|
|
|
|
Program Info Log: `+V+` |
|
|
`+K+` |
|
|
`+ae)}else V!==""?console.warn("THREE.WebGLProgram: Program Info Log:",V):(G===""||W==="")&&(Q=!1);Q&&(F.diagnostics={runnable:Y,programLog:V,vertexShader:{log:G,prefix:g},fragmentShader:{log:W,prefix:_}})}r.deleteShader(C),r.deleteShader(M),D=new mm(r,v),E=uDe(r,v)}let D;this.getUniforms=function(){return D===void 0&&I(this),D};let E;this.getAttributes=function(){return E===void 0&&I(this),E};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(v,eDe)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=tDe++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=C,this.fragmentShader=M,this}let bDe=0;class xDe{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),a=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(a)===!1&&(o.add(a),a.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new wDe(e),t.set(e,i)),i}}class wDe{constructor(e){this.id=bDe++,this.code=e,this.usedTimes=0}}function TDe(n,e,t,i,r,a,o){const s=new hR,l=new xDe,u=new Set,c=[],d=r.isWebGL2,h=r.logarithmicDepthBuffer,f=r.vertexTextures;let p=r.precision;const m={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function v(E){return u.add(E),E===0?"uv":`uv${E}`}function g(E,P,F,V,G){const W=V.fog,Y=G.geometry,Q=E.isMeshStandardMaterial?V.environment:null,K=(E.isMeshStandardMaterial?t:e).get(E.envMap||Q),ae=K&&K.mapping===i_?K.image.height:null,ie=m[E.type];E.precision!==null&&(p=r.getMaxPrecision(E.precision),p!==E.precision&&console.warn("THREE.WebGLProgram.getParameters:",E.precision,"not supported, using",p,"instead."));const he=Y.morphAttributes.position||Y.morphAttributes.normal||Y.morphAttributes.color,Ee=he!==void 0?he.length:0;let je=0;Y.morphAttributes.position!==void 0&&(je=1),Y.morphAttributes.normal!==void 0&&(je=2),Y.morphAttributes.color!==void 0&&(je=3);let xe,Oe,f2,B2;if(ie){const l2=$i[ie];xe=l2.vertexShader,Oe=l2.fragmentShader}else xe=E.vertexShader,Oe=E.fragmentShader,l.update(E),f2=l.getVertexShaderID(E),B2=l.getFragmentShaderID(E);const S2=n.getRenderTarget(),p2=G.isInstancedMesh===!0,X2=G.isBatchedMesh===!0,w2=!!E.map,Ce=!!E.matcap,R2=!!K,v2=!!E.aoMap,O2=!!E.lightMap,k=!!E.bumpMap,_2=!!E.normalMap,A2=!!E.displacementMap,Z=!!E.emissiveMap,ee=!!E.metalnessMap,Ge=!!E.roughnessMap,T2=E.anisotropy>0,z2=E.clearcoat>0,Te=E.iridescence>0,$e=E.sheen>0,Xe=E.transmission>0,Ne=T2&&!!E.anisotropyMap,u2=z2&&!!E.clearcoatMap,P2=z2&&!!E.clearcoatNormalMap,d2=z2&&!!E.clearcoatRoughnessMap,st=Te&&!!E.iridescenceMap,pt=Te&&!!E.iridescenceThicknessMap,yt=$e&&!!E.sheenColorMap,_t=$e&&!!E.sheenRoughnessMap,ut=!!E.specularMap,Ht=!!E.specularColorMap,Ue=!!E.specularIntensityMap,it=Xe&&!!E.transmissionMap,St=Xe&&!!E.thicknessMap,jt=!!E.gradientMap,Ve=!!E.alphaMap,lt=E.alphaTest>0,at=!!E.alphaHash,kt=!!E.extensions;let Pt=S5;E.toneMapped&&(S2===null||S2.isXRRenderTarget===!0)&&(Pt=n.toneMapping);const wt={isWebGL2:d,shaderID:ie,shaderType:E.type,shaderName:E.name,vertexShader:xe,fragmentShader:Oe,defines:E.defines,customVertexShaderID:f2,customFragmentShaderID:B2,isRawShaderMaterial:E.isRawShaderMaterial===!0,glslVersion:E.glslVersion,precision:p,batching:X2,instancing:p2,instancingColor:p2&&G.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:S2===null?n.outputColorSpace:S2.isXRRenderTarget===!0?S2.texture.colorSpace:Sn,alphaToCoverage:!!E.alphaToCoverage,map:w2,matcap:Ce,envMap:R2,envMapMode:R2&&K.mapping,envMapCubeUVHeight:ae,aoMap:v2,lightMap:O2,bumpMap:k,normalMap:_2,displacementMap:f&&A2,emissiveMap:Z,normalMapObjectSpace:_2&&E.normalMapType===bEe,normalMapTangentSpace:_2&&E.normalMapType===lR,metalnessMap:ee,roughnessMap:Ge,anisotropy:T2,anisotropyMap:Ne,clearcoat:z2,clearcoatMap:u2,clearcoatNormalMap:P2,clearcoatRoughnessMap:d2,iridescence:Te,iridescenceMap:st,iridescenceThicknessMap:pt,sheen:$e,sheenColorMap:yt,sheenRoughnessMap:_t,specularMap:ut,specularColorMap:Ht,specularIntensityMap:Ue,transmission:Xe,transmissionMap:it,thicknessMap:St,gradientMap:jt,opaque:E.transparent===!1&&E.blending===E8&&E.alphaToCoverage===!1,alphaMap:Ve,alphaTest:lt,alphaHash:at,combine:E.combine,mapUv:w2&&v(E.map.channel),aoMapUv:v2&&v(E.aoMap.channel),lightMapUv:O2&&v(E.lightMap.channel),bumpMapUv:k&&v(E.bumpMap.channel),normalMapUv:_2&&v(E.normalMap.channel),displacementMapUv:A2&&v(E.displacementMap.channel),emissiveMapUv:Z&&v(E.emissiveMap.channel),metalnessMapUv:ee&&v(E.metalnessMap.channel),roughnessMapUv:Ge&&v(E.roughnessMap.channel),anisotropyMapUv:Ne&&v(E.anisotropyMap.channel),clearcoatMapUv:u2&&v(E.clearcoatMap.channel),clearcoatNormalMapUv:P2&&v(E.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:d2&&v(E.clearcoatRoughnessMap.channel),iridescenceMapUv:st&&v(E.iridescenceMap.channel),iridescenceThicknessMapUv:pt&&v(E.iridescenceThicknessMap.channel),sheenColorMapUv:yt&&v(E.sheenColorMap.channel),sheenRoughnessMapUv:_t&&v(E.sheenRoughnessMap.channel),specularMapUv:ut&&v(E.specularMap.channel),specularColorMapUv:Ht&&v(E.specularColorMap.channel),specularIntensityMapUv:Ue&&v(E.specularIntensityMap.channel),transmissionMapUv:it&&v(E.transmissionMap.channel),thicknessMapUv:St&&v(E.thicknessMap.channel),alphaMapUv:Ve&&v(E.alphaMap.channel),vertexTangents:!!Y.attributes.tangent&&(_2||T2),vertexColors:E.vertexColors,vertexAlphas:E.vertexColors===!0&&!!Y.attributes.color&&Y.attributes.color.itemSize===4,pointsUvs:G.isPoints===!0&&!!Y.attributes.uv&&(w2||Ve),fog:!!W,useFog:E.fog===!0,fogExp2:!!W&&W.isFogExp2,flatShading:E.flatShading===!0,sizeAttenuation:E.sizeAttenuation===!0,logarithmicDepthBuffer:h,skinning:G.isSkinnedMesh===!0,morphTargets:Y.morphAttributes.position!==void 0,morphNormals:Y.morphAttributes.normal!==void 0,morphColors:Y.morphAttributes.color!==void 0,morphTargetsCount:Ee,morphTextureStride:je,numDirLights:P.directional.length,numPointLights:P.point.length,numSpotLights:P.spot.length,numSpotLightMaps:P.spotLightMap.length,numRectAreaLights:P.rectArea.length,numHemiLights:P.hemi.length,numDirLightShadows:P.directionalShadowMap.length,numPointLightShadows:P.pointShadowMap.length,numSpotLightShadows:P.spotShadowMap.length,numSpotLightShadowsWithMaps:P.numSpotLightShadowsWithMaps,numLightProbes:P.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:E.dithering,shadowMapEnabled:n.shadowMap.enabled&&F.length>0,shadowMapType:n.shadowMap.type,toneMapping:Pt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:w2&&E.map.isVideoTexture===!0&&F1.getTransfer(E.map.colorSpace)===v0,premultipliedAlpha:E.premultipliedAlpha,doubleSided:E.side===r0,flipSided:E.side===ir,useDepthPacking:E.depthPacking>=0,depthPacking:E.depthPacking||0,index0AttributeName:E.index0AttributeName,extensionDerivatives:kt&&E.extensions.derivatives===!0,extensionFragDepth:kt&&E.extensions.fragDepth===!0,extensionDrawBuffers:kt&&E.extensions.drawBuffers===!0,extensionShaderTextureLOD:kt&&E.extensions.shaderTextureLOD===!0,extensionClipCullDistance:kt&&E.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:kt&&E.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:d||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:E.customProgramCacheKey()};return wt.vertexUv1s=u.has(1),wt.vertexUv2s=u.has(2),wt.vertexUv3s=u.has(3),u.clear(),wt}function _(E){const P=[];if(E.shaderID?P.push(E.shaderID):(P.push(E.customVertexShaderID),P.push(E.customFragmentShaderID)),E.defines!==void 0)for(const F in E.defines)P.push(F),P.push(E.defines[F]);return E.isRawShaderMaterial===!1&&(S(P,E),x(P,E),P.push(n.outputColorSpace)),P.push(E.customProgramCacheKey),P.join()}function S(E,P){E.push(P.precision),E.push(P.outputColorSpace),E.push(P.envMapMode),E.push(P.envMapCubeUVHeight),E.push(P.mapUv),E.push(P.alphaMapUv),E.push(P.lightMapUv),E.push(P.aoMapUv),E.push(P.bumpMapUv),E.push(P.normalMapUv),E.push(P.displacementMapUv),E.push(P.emissiveMapUv),E.push(P.metalnessMapUv),E.push(P.roughnessMapUv),E.push(P.anisotropyMapUv),E.push(P.clearcoatMapUv),E.push(P.clearcoatNormalMapUv),E.push(P.clearcoatRoughnessMapUv),E.push(P.iridescenceMapUv),E.push(P.iridescenceThicknessMapUv),E.push(P.sheenColorMapUv),E.push(P.sheenRoughnessMapUv),E.push(P.specularMapUv),E.push(P.specularColorMapUv),E.push(P.specularIntensityMapUv),E.push(P.transmissionMapUv),E.push(P.thicknessMapUv),E.push(P.combine),E.push(P.fogExp2),E.push(P.sizeAttenuation),E.push(P.morphTargetsCount),E.push(P.morphAttributeCount),E.push(P.numDirLights),E.push(P.numPointLights),E.push(P.numSpotLights),E.push(P.numSpotLightMaps),E.push(P.numHemiLights),E.push(P.numRectAreaLights),E.push(P.numDirLightShadows),E.push(P.numPointLightShadows),E.push(P.numSpotLightShadows),E.push(P.numSpotLightShadowsWithMaps),E.push(P.numLightProbes),E.push(P.shadowMapType),E.push(P.toneMapping),E.push(P.numClippingPlanes),E.push(P.numClipIntersection),E.push(P.depthPacking)}function x(E,P){s.disableAll(),P.isWebGL2&&s.enable(0),P.supportsVertexTextures&&s.enable(1),P.instancing&&s.enable(2),P.instancingColor&&s.enable(3),P.matcap&&s.enable(4),P.envMap&&s.enable(5),P.normalMapObjectSpace&&s.enable(6),P.normalMapTangentSpace&&s.enable(7),P.clearcoat&&s.enable(8),P.iridescence&&s.enable(9),P.alphaTest&&s.enable(10),P.vertexColors&&s.enable(11),P.vertexAlphas&&s.enable(12),P.vertexUv1s&&s.enable(13),P.vertexUv2s&&s.enable(14),P.vertexUv3s&&s.enable(15),P.vertexTangents&&s.enable(16),P.anisotropy&&s.enable(17),P.alphaHash&&s.enable(18),P.batching&&s.enable(19),E.push(s.mask),s.disableAll(),P.fog&&s.enable(0),P.useFog&&s.enable(1),P.flatShading&&s.enable(2),P.logarithmicDepthBuffer&&s.enable(3),P.skinning&&s.enable(4),P.morphTargets&&s.enable(5),P.morphNormals&&s.enable(6),P.morphColors&&s.enable(7),P.premultipliedAlpha&&s.enable(8),P.shadowMapEnabled&&s.enable(9),P.useLegacyLights&&s.enable(10),P.doubleSided&&s.enable(11),P.flipSided&&s.enable(12),P.useDepthPacking&&s.enable(13),P.dithering&&s.enable(14),P.transmission&&s.enable(15),P.sheen&&s.enable(16),P.opaque&&s.enable(17),P.pointsUvs&&s.enable(18),P.decodeVideoTexture&&s.enable(19),P.alphaToCoverage&&s.enable(20),E.push(s.mask)}function A(E){const P=m[E.type];let F;if(P){const V=$i[P];F=fR.clone(V.uniforms)}else F=E.uniforms;return F}function C(E,P){let F;for(let V=0,G=c.length;V<G;V++){const W=c[V];if(W.cacheKey===P){F=W,++F.usedTimes;break}}return F===void 0&&(F=new SDe(n,P,E,a),c.push(F)),F}function M(E){if(--E.usedTimes===0){const P=c.indexOf(E);c[P]=c[c.length-1],c.pop(),E.destroy()}}function I(E){l.remove(E)}function D(){l.dispose()}return{getParameters:g,getProgramCacheKey:_,getUniforms:A,acquireProgram:C,releaseProgram:M,releaseShaderCache:I,programs:c,dispose:D}}function ADe(){let n=new WeakMap;function e(a){let o=n.get(a);return o===void 0&&(o={},n.set(a,o)),o}function t(a){n.delete(a)}function i(a,o,s){n.get(a)[o]=s}function r(){n=new WeakMap}return{get:e,remove:t,update:i,dispose:r}}function CDe(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.material.id!==e.material.id?n.material.id-e.material.id:n.z!==e.z?n.z-e.z:n.id-e.id}function PV(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function RV(){const n=[];let e=0;const t=[],i=[],r=[];function a(){e=0,t.length=0,i.length=0,r.length=0}function o(d,h,f,p,m,v){let g=n[e];return g===void 0?(g={id:d.id,object:d,geometry:h,material:f,groupOrder:p,renderOrder:d.renderOrder,z:m,group:v},n[e]=g):(g.id=d.id,g.object=d,g.geometry=h,g.material=f,g.groupOrder=p,g.renderOrder=d.renderOrder,g.z=m,g.group=v),e++,g}function s(d,h,f,p,m,v){const g=o(d,h,f,p,m,v);f.transmission>0?i.push(g):f.transparent===!0?r.push(g):t.push(g)}function l(d,h,f,p,m,v){const g=o(d,h,f,p,m,v);f.transmission>0?i.unshift(g):f.transparent===!0?r.unshift(g):t.unshift(g)}function u(d,h){t.length>1&&t.sort(d||CDe),i.length>1&&i.sort(h||PV),r.length>1&&r.sort(h||PV)}function c(){for(let d=e,h=n.length;d<h;d++){const f=n[d];if(f.id===null)break;f.id=null,f.object=null,f.geometry=null,f.material=null,f.group=null}}return{opaque:t,transmissive:i,transparent:r,init:a,push:s,unshift:l,finish:c,sort:u}}function MDe(){let n=new WeakMap;function e(i,r){const a=n.get(i);let o;return a===void 0?(o=new RV,n.set(i,[o])):r>=a.length?(o=new RV,a.push(o)):o=a[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function EDe(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new Ie,color:new Jt};break;case"SpotLight":t={position:new Ie,direction:new Ie,color:new Jt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new Ie,color:new Jt,distance:0,decay:0};break;case"HemisphereLight":t={direction:new Ie,skyColor:new Jt,groundColor:new Jt};break;case"RectAreaLight":t={color:new Jt,position:new Ie,halfWidth:new Ie,halfHeight:new Ie};break}return n[e.id]=t,t}}}function PDe(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Q2};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Q2};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Q2,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let RDe=0;function LDe(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function IDe(n,e){const t=new EDe,i=PDe(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)r.probe.push(new Ie);const a=new Ie,o=new B3,s=new B3;function l(c,d){let h=0,f=0,p=0;for(let F=0;F<9;F++)r.probe[F].set(0,0,0);let m=0,v=0,g=0,_=0,S=0,x=0,A=0,C=0,M=0,I=0,D=0;c.sort(LDe);const E=d===!0?Math.PI:1;for(let F=0,V=c.length;F<V;F++){const G=c[F],W=G.color,Y=G.intensity,Q=G.distance,K=G.shadow&&G.shadow.map?G.shadow.map.texture:null;if(G.isAmbientLight)h+=W.r*Y*E,f+=W.g*Y*E,p+=W.b*Y*E;else if(G.isLightProbe){for(let ae=0;ae<9;ae++)r.probe[ae].addScaledVector(G.sh.coefficients[ae],Y);D++}else if(G.isDirectionalLight){const ae=t.get(G);if(ae.color.copy(G.color).multiplyScalar(G.intensity*E),G.castShadow){const ie=G.shadow,he=i.get(G);he.shadowBias=ie.bias,he.shadowNormalBias=ie.normalBias,he.shadowRadius=ie.radius,he.shadowMapSize=ie.mapSize,r.directionalShadow[m]=he,r.directionalShadowMap[m]=K,r.directionalShadowMatrix[m]=G.shadow.matrix,x++}r.directional[m]=ae,m++}else if(G.isSpotLight){const ae=t.get(G);ae.position.setFromMatrixPosition(G.matrixWorld),ae.color.copy(W).multiplyScalar(Y*E),ae.distance=Q,ae.coneCos=Math.cos(G.angle),ae.penumbraCos=Math.cos(G.angle*(1-G.penumbra)),ae.decay=G.decay,r.spot[g]=ae;const ie=G.shadow;if(G.map&&(r.spotLightMap[M]=G.map,M++,ie.updateMatrices(G),G.castShadow&&I++),r.spotLightMatrix[g]=ie.matrix,G.castShadow){const he=i.get(G);he.shadowBias=ie.bias,he.shadowNormalBias=ie.normalBias,he.shadowRadius=ie.radius,he.shadowMapSize=ie.mapSize,r.spotShadow[g]=he,r.spotShadowMap[g]=K,C++}g++}else if(G.isRectAreaLight){const ae=t.get(G);ae.color.copy(W).multiplyScalar(Y),ae.halfWidth.set(G.width*.5,0,0),ae.halfHeight.set(0,G.height*.5,0),r.rectArea[_]=ae,_++}else if(G.isPointLight){const ae=t.get(G);if(ae.color.copy(G.color).multiplyScalar(G.intensity*E),ae.distance=G.distance,ae.decay=G.decay,G.castShadow){const ie=G.shadow,he=i.get(G);he.shadowBias=ie.bias,he.shadowNormalBias=ie.normalBias,he.shadowRadius=ie.radius,he.shadowMapSize=ie.mapSize,he.shadowCameraNear=ie.camera.near,he.shadowCameraFar=ie.camera.far,r.pointShadow[v]=he,r.pointShadowMap[v]=K,r.pointShadowMatrix[v]=G.shadow.matrix,A++}r.point[v]=ae,v++}else if(G.isHemisphereLight){const ae=t.get(G);ae.skyColor.copy(G.color).multiplyScalar(Y*E),ae.groundColor.copy(G.groundColor).multiplyScalar(Y*E),r.hemi[S]=ae,S++}}_>0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Mt.LTC_FLOAT_1,r.rectAreaLTC2=Mt.LTC_FLOAT_2):(r.rectAreaLTC1=Mt.LTC_HALF_1,r.rectAreaLTC2=Mt.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Mt.LTC_FLOAT_1,r.rectAreaLTC2=Mt.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Mt.LTC_HALF_1,r.rectAreaLTC2=Mt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=h,r.ambient[1]=f,r.ambient[2]=p;const P=r.hash;(P.directionalLength!==m||P.pointLength!==v||P.spotLength!==g||P.rectAreaLength!==_||P.hemiLength!==S||P.numDirectionalShadows!==x||P.numPointShadows!==A||P.numSpotShadows!==C||P.numSpotMaps!==M||P.numLightProbes!==D)&&(r.directional.length=m,r.spot.length=g,r.rectArea.length=_,r.point.length=v,r.hemi.length=S,r.directionalShadow.length=x,r.directionalShadowMap.length=x,r.pointShadow.length=A,r.pointShadowMap.length=A,r.spotShadow.length=C,r.spotShadowMap.length=C,r.directionalShadowMatrix.length=x,r.pointShadowMatrix.length=A,r.spotLightMatrix.length=C+M-I,r.spotLightMap.length=M,r.numSpotLightShadowsWithMaps=I,r.numLightProbes=D,P.directionalLength=m,P.pointLength=v,P.spotLength=g,P.rectAreaLength=_,P.hemiLength=S,P.numDirectionalShadows=x,P.numPointShadows=A,P.numSpotShadows=C,P.numSpotMaps=M,P.numLightProbes=D,r.version=RDe++)}function u(c,d){let h=0,f=0,p=0,m=0,v=0;const g=d.matrixWorldInverse;for(let _=0,S=c.length;_<S;_++){const x=c[_];if(x.isDirectionalLight){const A=r.directional[h];A.direction.setFromMatrixPosition(x.matrixWorld),a.setFromMatrixPosition(x.target.matrixWorld),A.direction.sub(a),A.direction.transformDirection(g),h++}else if(x.isSpotLight){const A=r.spot[p];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(g),A.direction.setFromMatrixPosition(x.matrixWorld),a.setFromMatrixPosition(x.target.matrixWorld),A.direction.sub(a),A.direction.transformDirection(g),p++}else if(x.isRectAreaLight){const A=r.rectArea[m];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(g),s.identity(),o.copy(x.matrixWorld),o.premultiply(g),s.extractRotation(o),A.halfWidth.set(x.width*.5,0,0),A.halfHeight.set(0,x.height*.5,0),A.halfWidth.applyMatrix4(s),A.halfHeight.applyMatrix4(s),m++}else if(x.isPointLight){const A=r.point[f];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(g),f++}else if(x.isHemisphereLight){const A=r.hemi[v];A.direction.setFromMatrixPosition(x.matrixWorld),A.direction.transformDirection(g),v++}}}return{setup:l,setupView:u,state:r}}function LV(n,e){const t=new IDe(n,e),i=[],r=[];function a(){i.length=0,r.length=0}function o(d){i.push(d)}function s(d){r.push(d)}function l(d){t.setup(i,d)}function u(d){t.setupView(i,d)}return{init:a,state:{lightsArray:i,shadowsArray:r,lights:t},setupLights:l,setupLightsView:u,pushLight:o,pushShadow:s}}function DDe(n,e){let t=new WeakMap;function i(a,o=0){const s=t.get(a);let l;return s===void 0?(l=new LV(n,e),t.set(a,[l])):o>=s.length?(l=new LV(n,e),s.push(l)):l=s[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class NDe extends Ta{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=_Ee,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class kDe extends Ta{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const FDe=`void main() { |
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
}`,ODe=`uniform sampler2D shadow_pass; |
|
|
uniform vec2 resolution; |
|
|
uniform float radius; |
|
|
#include <packing> |
|
|
void main() { |
|
|
const float samples = float( VSM_SAMPLES ); |
|
|
float mean = 0.0; |
|
|
float squared_mean = 0.0; |
|
|
float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); |
|
|
float uvStart = samples <= 1.0 ? 0.0 : - 1.0; |
|
|
for ( float i = 0.0; i < samples; i ++ ) { |
|
|
float uvOffset = uvStart + i * uvStride; |
|
|
#ifdef HORIZONTAL_PASS |
|
|
vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); |
|
|
mean += distribution.x; |
|
|
squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; |
|
|
#else |
|
|
float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); |
|
|
mean += depth; |
|
|
squared_mean += depth * depth; |
|
|
#endif |
|
|
} |
|
|
mean = mean / samples; |
|
|
squared_mean = squared_mean / samples; |
|
|
float std_dev = sqrt( squared_mean - mean * mean ); |
|
|
gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); |
|
|
}`;function BDe(n,e,t){let i=new pR;const r=new Q2,a=new Q2,o=new M1,s=new NDe({depthPacking:SEe}),l=new kDe,u={},c=t.maxTextureSize,d={[Zs]:ir,[ir]:Zs,[r0]:r0},h=new Js({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Q2},radius:{value:4}},vertexShader:FDe,fragmentShader:ODe}),f=h.clone();f.defines.HORIZONTAL_PASS=1;const p=new J1;p.setAttribute("position",new R0(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const m=new h1(p,h),v=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=SQ;let g=this.type;this.render=function(C,M,I){if(v.enabled===!1||v.autoUpdate===!1&&v.needsUpdate===!1||C.length===0)return;const D=n.getRenderTarget(),E=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),F=n.state;F.setBlending(_5),F.buffers.color.setClear(1,1,1,1),F.buffers.depth.setTest(!0),F.setScissorTest(!1);const V=g!==Cs&&this.type===Cs,G=g===Cs&&this.type!==Cs;for(let W=0,Y=C.length;W<Y;W++){const Q=C[W],K=Q.shadow;if(K===void 0){console.warn("THREE.WebGLShadowMap:",Q,"has no shadow.");continue}if(K.autoUpdate===!1&&K.needsUpdate===!1)continue;r.copy(K.mapSize);const ae=K.getFrameExtents();if(r.multiply(ae),a.copy(K.mapSize),(r.x>c||r.y>c)&&(r.x>c&&(a.x=Math.floor(c/ae.x),r.x=a.x*ae.x,K.mapSize.x=a.x),r.y>c&&(a.y=Math.floor(c/ae.y),r.y=a.y*ae.y,K.mapSize.y=a.y)),K.map===null||V===!0||G===!0){const he=this.type!==Cs?{minFilter:vn,magFilter:vn}:{};K.map!==null&&K.map.dispose(),K.map=new V8(r.x,r.y,he),K.map.texture.name=Q.name+".shadowMap",K.camera.updateProjectionMatrix()}n.setRenderTarget(K.map),n.clear();const ie=K.getViewportCount();for(let he=0;he<ie;he++){const Ee=K.getViewport(he);o.set(a.x*Ee.x,a.y*Ee.y,a.x*Ee.z,a.y*Ee.w),F.viewport(o),K.updateMatrices(Q,he),i=K.getFrustum(),x(M,I,K.camera,Q,this.type)}K.isPointLightShadow!==!0&&this.type===Cs&&_(K,I),K.needsUpdate=!1}g=this.type,v.needsUpdate=!1,n.setRenderTarget(D,E,P)};function _(C,M){const I=e.update(m);h.defines.VSM_SAMPLES!==C.blurSamples&&(h.defines.VSM_SAMPLES=C.blurSamples,f.defines.VSM_SAMPLES=C.blurSamples,h.needsUpdate=!0,f.needsUpdate=!0),C.mapPass===null&&(C.mapPass=new V8(r.x,r.y)),h.uniforms.shadow_pass.value=C.map.texture,h.uniforms.resolution.value=C.mapSize,h.uniforms.radius.value=C.radius,n.setRenderTarget(C.mapPass),n.clear(),n.renderBufferDirect(M,null,I,h,m,null),f.uniforms.shadow_pass.value=C.mapPass.texture,f.uniforms.resolution.value=C.mapSize,f.uniforms.radius.value=C.radius,n.setRenderTarget(C.map),n.clear(),n.renderBufferDirect(M,null,I,f,m,null)}function S(C,M,I,D){let E=null;const P=I.isPointLight===!0?C.customDistanceMaterial:C.customDepthMaterial;if(P!==void 0)E=P;else if(E=I.isPointLight===!0?l:s,n.localClippingEnabled&&M.clipShadows===!0&&Array.isArray(M.clippingPlanes)&&M.clippingPlanes.length!==0||M.displacementMap&&M.displacementScale!==0||M.alphaMap&&M.alphaTest>0||M.map&&M.alphaTest>0){const F=E.uuid,V=M.uuid;let G=u[F];G===void 0&&(G={},u[F]=G);let W=G[V];W===void 0&&(W=E.clone(),G[V]=W,M.addEventListener("dispose",A)),E=W}if(E.visible=M.visible,E.wireframe=M.wireframe,D===Cs?E.side=M.shadowSide!==null?M.shadowSide:M.side:E.side=M.shadowSide!==null?M.shadowSide:d[M.side],E.alphaMap=M.alphaMap,E.alphaTest=M.alphaTest,E.map=M.map,E.clipShadows=M.clipShadows,E.clippingPlanes=M.clippingPlanes,E.clipIntersection=M.clipIntersection,E.displacementMap=M.displacementMap,E.displacementScale=M.displacementScale,E.displacementBias=M.displacementBias,E.wireframeLinewidth=M.wireframeLinewidth,E.linewidth=M.linewidth,I.isPointLight===!0&&E.isMeshDistanceMaterial===!0){const F=n.properties.get(E);F.light=I}return E}function x(C,M,I,D,E){if(C.visible===!1)return;if(C.layers.test(M.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&E===Cs)&&(!C.frustumCulled||i.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(I.matrixWorldInverse,C.matrixWorld);const V=e.update(C),G=C.material;if(Array.isArray(G)){const W=V.groups;for(let Y=0,Q=W.length;Y<Q;Y++){const K=W[Y],ae=G[K.materialIndex];if(ae&&ae.visible){const ie=S(C,ae,D,E);C.onBeforeShadow(n,C,M,I,V,ie,K),n.renderBufferDirect(I,null,V,ie,C,K),C.onAfterShadow(n,C,M,I,V,ie,K)}}}else if(G.visible){const W=S(C,G,D,E);C.onBeforeShadow(n,C,M,I,V,W,null),n.renderBufferDirect(I,null,V,W,C,null),C.onAfterShadow(n,C,M,I,V,W,null)}}const F=C.children;for(let V=0,G=F.length;V<G;V++)x(F[V],M,I,D,E)}function A(C){C.target.removeEventListener("dispose",A);for(const I in u){const D=u[I],E=C.target.uuid;E in D&&(D[E].dispose(),delete D[E])}}}function zDe(n,e,t){const i=t.isWebGL2;function r(){let Ve=!1;const lt=new M1;let at=null;const kt=new M1(0,0,0,0);return{setMask:function(Pt){at!==Pt&&!Ve&&(n.colorMask(Pt,Pt,Pt,Pt),at=Pt)},setLocked:function(Pt){Ve=Pt},setClear:function(Pt,wt,l2,Y2,rt){rt===!0&&(Pt*=Y2,wt*=Y2,l2*=Y2),lt.set(Pt,wt,l2,Y2),kt.equals(lt)===!1&&(n.clearColor(Pt,wt,l2,Y2),kt.copy(lt))},reset:function(){Ve=!1,at=null,kt.set(-1,0,0,0)}}}function a(){let Ve=!1,lt=null,at=null,kt=null;return{setTest:function(Pt){Pt?p2(n.DEPTH_TEST):X2(n.DEPTH_TEST)},setMask:function(Pt){lt!==Pt&&!Ve&&(n.depthMask(Pt),lt=Pt)},setFunc:function(Pt){if(at!==Pt){switch(Pt){case qMe:n.depthFunc(n.NEVER);break;case XMe:n.depthFunc(n.ALWAYS);break;case YMe:n.depthFunc(n.LESS);break;case Ng:n.depthFunc(n.LEQUAL);break;case KMe:n.depthFunc(n.EQUAL);break;case ZMe:n.depthFunc(n.GEQUAL);break;case JMe:n.depthFunc(n.GREATER);break;case QMe:n.depthFunc(n.NOTEQUAL);break;default:n.depthFunc(n.LEQUAL)}at=Pt}},setLocked:function(Pt){Ve=Pt},setClear:function(Pt){kt!==Pt&&(n.clearDepth(Pt),kt=Pt)},reset:function(){Ve=!1,lt=null,at=null,kt=null}}}function o(){let Ve=!1,lt=null,at=null,kt=null,Pt=null,wt=null,l2=null,Y2=null,rt=null;return{setTest:function(Ft){Ve||(Ft?p2(n.STENCIL_TEST):X2(n.STENCIL_TEST))},setMask:function(Ft){lt!==Ft&&!Ve&&(n.stencilMask(Ft),lt=Ft)},setFunc:function(Ft,Re,s2){(at!==Ft||kt!==Re||Pt!==s2)&&(n.stencilFunc(Ft,Re,s2),at=Ft,kt=Re,Pt=s2)},setOp:function(Ft,Re,s2){(wt!==Ft||l2!==Re||Y2!==s2)&&(n.stencilOp(Ft,Re,s2),wt=Ft,l2=Re,Y2=s2)},setLocked:function(Ft){Ve=Ft},setClear:function(Ft){rt!==Ft&&(n.clearStencil(Ft),rt=Ft)},reset:function(){Ve=!1,lt=null,at=null,kt=null,Pt=null,wt=null,l2=null,Y2=null,rt=null}}}const s=new r,l=new a,u=new o,c=new WeakMap,d=new WeakMap;let h={},f={},p=new WeakMap,m=[],v=null,g=!1,_=null,S=null,x=null,A=null,C=null,M=null,I=null,D=new Jt(0,0,0),E=0,P=!1,F=null,V=null,G=null,W=null,Y=null;const Q=n.getParameter(n.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let K=!1,ae=0;const ie=n.getParameter(n.VERSION);ie.indexOf("WebGL")!==-1?(ae=parseFloat(/^WebGL (\d)/.exec(ie)[1]),K=ae>=1):ie.indexOf("OpenGL ES")!==-1&&(ae=parseFloat(/^OpenGL ES (\d)/.exec(ie)[1]),K=ae>=2);let he=null,Ee={};const je=n.getParameter(n.SCISSOR_BOX),xe=n.getParameter(n.VIEWPORT),Oe=new M1().fromArray(je),f2=new M1().fromArray(xe);function B2(Ve,lt,at,kt){const Pt=new Uint8Array(4),wt=n.createTexture();n.bindTexture(Ve,wt),n.texParameteri(Ve,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(Ve,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let l2=0;l2<at;l2++)i&&(Ve===n.TEXTURE_3D||Ve===n.TEXTURE_2D_ARRAY)?n.texImage3D(lt,0,n.RGBA,1,1,kt,0,n.RGBA,n.UNSIGNED_BYTE,Pt):n.texImage2D(lt+l2,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,Pt);return wt}const S2={};S2[n.TEXTURE_2D]=B2(n.TEXTURE_2D,n.TEXTURE_2D,1),S2[n.TEXTURE_CUBE_MAP]=B2(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),i&&(S2[n.TEXTURE_2D_ARRAY]=B2(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),S2[n.TEXTURE_3D]=B2(n.TEXTURE_3D,n.TEXTURE_3D,1,1)),s.setClear(0,0,0,1),l.setClear(1),u.setClear(0),p2(n.DEPTH_TEST),l.setFunc(Ng),A2(!1),Z(uU),p2(n.CULL_FACE),k(_5);function p2(Ve){h[Ve]!==!0&&(n.enable(Ve),h[Ve]=!0)}function X2(Ve){h[Ve]!==!1&&(n.disable(Ve),h[Ve]=!1)}function w2(Ve,lt){return f[Ve]!==lt?(n.bindFramebuffer(Ve,lt),f[Ve]=lt,i&&(Ve===n.DRAW_FRAMEBUFFER&&(f[n.FRAMEBUFFER]=lt),Ve===n.FRAMEBUFFER&&(f[n.DRAW_FRAMEBUFFER]=lt)),!0):!1}function Ce(Ve,lt){let at=m,kt=!1;if(Ve)if(at=p.get(lt),at===void 0&&(at=[],p.set(lt,at)),Ve.isWebGLMultipleRenderTargets){const Pt=Ve.texture;if(at.length!==Pt.length||at[0]!==n.COLOR_ATTACHMENT0){for(let wt=0,l2=Pt.length;wt<l2;wt++)at[wt]=n.COLOR_ATTACHMENT0+wt;at.length=Pt.length,kt=!0}}else at[0]!==n.COLOR_ATTACHMENT0&&(at[0]=n.COLOR_ATTACHMENT0,kt=!0);else at[0]!==n.BACK&&(at[0]=n.BACK,kt=!0);kt&&(t.isWebGL2?n.drawBuffers(at):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(at))}function R2(Ve){return v!==Ve?(n.useProgram(Ve),v=Ve,!0):!1}const v2={[X6]:n.FUNC_ADD,[NMe]:n.FUNC_SUBTRACT,[kMe]:n.FUNC_REVERSE_SUBTRACT};if(i)v2[hU]=n.MIN,v2[fU]=n.MAX;else{const Ve=e.get("EXT_blend_minmax");Ve!==null&&(v2[hU]=Ve.MIN_EXT,v2[fU]=Ve.MAX_EXT)}const O2={[FMe]:n.ZERO,[xQ]:n.ONE,[OMe]:n.SRC_COLOR,[BC]:n.SRC_ALPHA,[VMe]:n.SRC_ALPHA_SATURATE,[wQ]:n.DST_COLOR,[zMe]:n.DST_ALPHA,[BMe]:n.ONE_MINUS_SRC_COLOR,[zC]:n.ONE_MINUS_SRC_ALPHA,[UMe]:n.ONE_MINUS_DST_COLOR,[GMe]:n.ONE_MINUS_DST_ALPHA,[HMe]:n.CONSTANT_COLOR,[WMe]:n.ONE_MINUS_CONSTANT_COLOR,[jMe]:n.CONSTANT_ALPHA,[$Me]:n.ONE_MINUS_CONSTANT_ALPHA};function k(Ve,lt,at,kt,Pt,wt,l2,Y2,rt,Ft){if(Ve===_5){g===!0&&(X2(n.BLEND),g=!1);return}if(g===!1&&(p2(n.BLEND),g=!0),Ve!==bQ){if(Ve!==_||Ft!==P){if((S!==X6||C!==X6)&&(n.blendEquation(n.FUNC_ADD),S=X6,C=X6),Ft)switch(Ve){case E8:n.blendFuncSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Cn:n.blendFunc(n.ONE,n.ONE);break;case cU:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case dU:n.blendFuncSeparate(n.ZERO,n.SRC_COLOR,n.ZERO,n.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",Ve);break}else switch(Ve){case E8:n.blendFuncSeparate(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Cn:n.blendFunc(n.SRC_ALPHA,n.ONE);break;case cU:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case dU:n.blendFunc(n.ZERO,n.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",Ve);break}x=null,A=null,M=null,I=null,D.set(0,0,0),E=0,_=Ve,P=Ft}return}Pt=Pt||lt,wt=wt||at,l2=l2||kt,(lt!==S||Pt!==C)&&(n.blendEquationSeparate(v2[lt],v2[Pt]),S=lt,C=Pt),(at!==x||kt!==A||wt!==M||l2!==I)&&(n.blendFuncSeparate(O2[at],O2[kt],O2[wt],O2[l2]),x=at,A=kt,M=wt,I=l2),(Y2.equals(D)===!1||rt!==E)&&(n.blendColor(Y2.r,Y2.g,Y2.b,rt),D.copy(Y2),E=rt),_=Ve,P=!1}function _2(Ve,lt){Ve.side===r0?X2(n.CULL_FACE):p2(n.CULL_FACE);let at=Ve.side===ir;lt&&(at=!at),A2(at),Ve.blending===E8&&Ve.transparent===!1?k(_5):k(Ve.blending,Ve.blendEquation,Ve.blendSrc,Ve.blendDst,Ve.blendEquationAlpha,Ve.blendSrcAlpha,Ve.blendDstAlpha,Ve.blendColor,Ve.blendAlpha,Ve.premultipliedAlpha),l.setFunc(Ve.depthFunc),l.setTest(Ve.depthTest),l.setMask(Ve.depthWrite),s.setMask(Ve.colorWrite);const kt=Ve.stencilWrite;u.setTest(kt),kt&&(u.setMask(Ve.stencilWriteMask),u.setFunc(Ve.stencilFunc,Ve.stencilRef,Ve.stencilFuncMask),u.setOp(Ve.stencilFail,Ve.stencilZFail,Ve.stencilZPass)),Ge(Ve.polygonOffset,Ve.polygonOffsetFactor,Ve.polygonOffsetUnits),Ve.alphaToCoverage===!0?p2(n.SAMPLE_ALPHA_TO_COVERAGE):X2(n.SAMPLE_ALPHA_TO_COVERAGE)}function A2(Ve){F!==Ve&&(Ve?n.frontFace(n.CW):n.frontFace(n.CCW),F=Ve)}function Z(Ve){Ve!==LMe?(p2(n.CULL_FACE),Ve!==V&&(Ve===uU?n.cullFace(n.BACK):Ve===IMe?n.cullFace(n.FRONT):n.cullFace(n.FRONT_AND_BACK))):X2(n.CULL_FACE),V=Ve}function ee(Ve){Ve!==G&&(K&&n.lineWidth(Ve),G=Ve)}function Ge(Ve,lt,at){Ve?(p2(n.POLYGON_OFFSET_FILL),(W!==lt||Y!==at)&&(n.polygonOffset(lt,at),W=lt,Y=at)):X2(n.POLYGON_OFFSET_FILL)}function T2(Ve){Ve?p2(n.SCISSOR_TEST):X2(n.SCISSOR_TEST)}function z2(Ve){Ve===void 0&&(Ve=n.TEXTURE0+Q-1),he!==Ve&&(n.activeTexture(Ve),he=Ve)}function Te(Ve,lt,at){at===void 0&&(he===null?at=n.TEXTURE0+Q-1:at=he);let kt=Ee[at];kt===void 0&&(kt={type:void 0,texture:void 0},Ee[at]=kt),(kt.type!==Ve||kt.texture!==lt)&&(he!==at&&(n.activeTexture(at),he=at),n.bindTexture(Ve,lt||S2[Ve]),kt.type=Ve,kt.texture=lt)}function $e(){const Ve=Ee[he];Ve!==void 0&&Ve.type!==void 0&&(n.bindTexture(Ve.type,null),Ve.type=void 0,Ve.texture=void 0)}function Xe(){try{n.compressedTexImage2D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function Ne(){try{n.compressedTexImage3D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function u2(){try{n.texSubImage2D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function P2(){try{n.texSubImage3D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function d2(){try{n.compressedTexSubImage2D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function st(){try{n.compressedTexSubImage3D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function pt(){try{n.texStorage2D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function yt(){try{n.texStorage3D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function _t(){try{n.texImage2D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function ut(){try{n.texImage3D.apply(n,arguments)}catch(Ve){console.error("THREE.WebGLState:",Ve)}}function Ht(Ve){Oe.equals(Ve)===!1&&(n.scissor(Ve.x,Ve.y,Ve.z,Ve.w),Oe.copy(Ve))}function Ue(Ve){f2.equals(Ve)===!1&&(n.viewport(Ve.x,Ve.y,Ve.z,Ve.w),f2.copy(Ve))}function it(Ve,lt){let at=d.get(lt);at===void 0&&(at=new WeakMap,d.set(lt,at));let kt=at.get(Ve);kt===void 0&&(kt=n.getUniformBlockIndex(lt,Ve.name),at.set(Ve,kt))}function St(Ve,lt){const kt=d.get(lt).get(Ve);c.get(lt)!==kt&&(n.uniformBlockBinding(lt,kt,Ve.__bindingPointIndex),c.set(lt,kt))}function jt(){n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SCISSOR_TEST),n.disable(n.STENCIL_TEST),n.disable(n.SAMPLE_ALPHA_TO_COVERAGE),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.blendFuncSeparate(n.ONE,n.ZERO,n.ONE,n.ZERO),n.blendColor(0,0,0,0),n.colorMask(!0,!0,!0,!0),n.clearColor(0,0,0,0),n.depthMask(!0),n.depthFunc(n.LESS),n.clearDepth(1),n.stencilMask(4294967295),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.clearStencil(0),n.cullFace(n.BACK),n.frontFace(n.CCW),n.polygonOffset(0,0),n.activeTexture(n.TEXTURE0),n.bindFramebuffer(n.FRAMEBUFFER,null),i===!0&&(n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),n.bindFramebuffer(n.READ_FRAMEBUFFER,null)),n.useProgram(null),n.lineWidth(1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.viewport(0,0,n.canvas.width,n.canvas.height),h={},he=null,Ee={},f={},p=new WeakMap,m=[],v=null,g=!1,_=null,S=null,x=null,A=null,C=null,M=null,I=null,D=new Jt(0,0,0),E=0,P=!1,F=null,V=null,G=null,W=null,Y=null,Oe.set(0,0,n.canvas.width,n.canvas.height),f2.set(0,0,n.canvas.width,n.canvas.height),s.reset(),l.reset(),u.reset()}return{buffers:{color:s,depth:l,stencil:u},enable:p2,disable:X2,bindFramebuffer:w2,drawBuffers:Ce,useProgram:R2,setBlending:k,setMaterial:_2,setFlipSided:A2,setCullFace:Z,setLineWidth:ee,setPolygonOffset:Ge,setScissorTest:T2,activeTexture:z2,bindTexture:Te,unbindTexture:$e,compressedTexImage2D:Xe,compressedTexImage3D:Ne,texImage2D:_t,texImage3D:ut,updateUBOMapping:it,uniformBlockBinding:St,texStorage2D:pt,texStorage3D:yt,texSubImage2D:u2,texSubImage3D:P2,compressedTexSubImage2D:d2,compressedTexSubImage3D:st,scissor:Ht,viewport:Ue,reset:jt}}function GDe(n,e,t,i,r,a,o){const s=r.isWebGL2,l=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,u=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new WeakMap;let d;const h=new WeakMap;let f=!1;try{f=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch(Z){}function p(Z,ee){return f?new OffscreenCanvas(Z,ee):Zd("canvas")}function m(Z,ee,Ge,T2){let z2=1;if((Z.width>T2||Z.height>T2)&&(z2=T2/Math.max(Z.width,Z.height)),z2<1||ee===!0)if(typeof HTMLImageElement!="undefined"&&Z instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&Z instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&Z instanceof ImageBitmap){const Te=ee?Gg:Math.floor,$e=Te(z2*Z.width),Xe=Te(z2*Z.height);d===void 0&&(d=p($e,Xe));const Ne=Ge?p($e,Xe):d;return Ne.width=$e,Ne.height=Xe,Ne.getContext("2d").drawImage(Z,0,0,$e,Xe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Z.width+"x"+Z.height+") to ("+$e+"x"+Xe+")."),Ne}else return"data"in Z&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Z.width+"x"+Z.height+")."),Z;return Z}function v(Z){return $C(Z.width)&&$C(Z.height)}function g(Z){return s?!1:Z.wrapS!==li||Z.wrapT!==li||Z.minFilter!==vn&&Z.minFilter!==an}function _(Z,ee){return Z.generateMipmaps&&ee&&Z.minFilter!==vn&&Z.minFilter!==an}function S(Z){n.generateMipmap(Z)}function x(Z,ee,Ge,T2,z2=!1){if(s===!1)return ee;if(Z!==null){if(n[Z]!==void 0)return n[Z];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Z+"'")}let Te=ee;if(ee===n.RED&&(Ge===n.FLOAT&&(Te=n.R32F),Ge===n.HALF_FLOAT&&(Te=n.R16F),Ge===n.UNSIGNED_BYTE&&(Te=n.R8)),ee===n.RED_INTEGER&&(Ge===n.UNSIGNED_BYTE&&(Te=n.R8UI),Ge===n.UNSIGNED_SHORT&&(Te=n.R16UI),Ge===n.UNSIGNED_INT&&(Te=n.R32UI),Ge===n.BYTE&&(Te=n.R8I),Ge===n.SHORT&&(Te=n.R16I),Ge===n.INT&&(Te=n.R32I)),ee===n.RG&&(Ge===n.FLOAT&&(Te=n.RG32F),Ge===n.HALF_FLOAT&&(Te=n.RG16F),Ge===n.UNSIGNED_BYTE&&(Te=n.RG8)),ee===n.RGBA){const $e=z2?Fg:F1.getTransfer(T2);Ge===n.FLOAT&&(Te=n.RGBA32F),Ge===n.HALF_FLOAT&&(Te=n.RGBA16F),Ge===n.UNSIGNED_BYTE&&(Te=$e===v0?n.SRGB8_ALPHA8:n.RGBA8),Ge===n.UNSIGNED_SHORT_4_4_4_4&&(Te=n.RGBA4),Ge===n.UNSIGNED_SHORT_5_5_5_1&&(Te=n.RGB5_A1)}return(Te===n.R16F||Te===n.R32F||Te===n.RG16F||Te===n.RG32F||Te===n.RGBA16F||Te===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Te}function A(Z,ee,Ge){return _(Z,Ge)===!0||Z.isFramebufferTexture&&Z.minFilter!==vn&&Z.minFilter!==an?Math.log2(Math.max(ee.width,ee.height))+1:Z.mipmaps!==void 0&&Z.mipmaps.length>0?Z.mipmaps.length:Z.isCompressedTexture&&Array.isArray(Z.image)?ee.mipmaps.length:1}function C(Z){return Z===vn||Z===VC||Z===bl?n.NEAREST:n.LINEAR}function M(Z){const ee=Z.target;ee.removeEventListener("dispose",M),D(ee),ee.isVideoTexture&&c.delete(ee)}function I(Z){const ee=Z.target;ee.removeEventListener("dispose",I),P(ee)}function D(Z){const ee=i.get(Z);if(ee.__webglInit===void 0)return;const Ge=Z.source,T2=h.get(Ge);if(T2){const z2=T2[ee.__cacheKey];z2.usedTimes--,z2.usedTimes===0&&E(Z),Object.keys(T2).length===0&&h.delete(Ge)}i.remove(Z)}function E(Z){const ee=i.get(Z);n.deleteTexture(ee.__webglTexture);const Ge=Z.source,T2=h.get(Ge);delete T2[ee.__cacheKey],o.memory.textures--}function P(Z){const ee=Z.texture,Ge=i.get(Z),T2=i.get(ee);if(T2.__webglTexture!==void 0&&(n.deleteTexture(T2.__webglTexture),o.memory.textures--),Z.depthTexture&&Z.depthTexture.dispose(),Z.isWebGLCubeRenderTarget)for(let z2=0;z2<6;z2++){if(Array.isArray(Ge.__webglFramebuffer[z2]))for(let Te=0;Te<Ge.__webglFramebuffer[z2].length;Te++)n.deleteFramebuffer(Ge.__webglFramebuffer[z2][Te]);else n.deleteFramebuffer(Ge.__webglFramebuffer[z2]);Ge.__webglDepthbuffer&&n.deleteRenderbuffer(Ge.__webglDepthbuffer[z2])}else{if(Array.isArray(Ge.__webglFramebuffer))for(let z2=0;z2<Ge.__webglFramebuffer.length;z2++)n.deleteFramebuffer(Ge.__webglFramebuffer[z2]);else n.deleteFramebuffer(Ge.__webglFramebuffer);if(Ge.__webglDepthbuffer&&n.deleteRenderbuffer(Ge.__webglDepthbuffer),Ge.__webglMultisampledFramebuffer&&n.deleteFramebuffer(Ge.__webglMultisampledFramebuffer),Ge.__webglColorRenderbuffer)for(let z2=0;z2<Ge.__webglColorRenderbuffer.length;z2++)Ge.__webglColorRenderbuffer[z2]&&n.deleteRenderbuffer(Ge.__webglColorRenderbuffer[z2]);Ge.__webglDepthRenderbuffer&&n.deleteRenderbuffer(Ge.__webglDepthRenderbuffer)}if(Z.isWebGLMultipleRenderTargets)for(let z2=0,Te=ee.length;z2<Te;z2++){const $e=i.get(ee[z2]);$e.__webglTexture&&(n.deleteTexture($e.__webglTexture),o.memory.textures--),i.remove(ee[z2])}i.remove(ee),i.remove(Z)}let F=0;function V(){F=0}function G(){const Z=F;return Z>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+Z+" texture units while this GPU supports only "+r.maxTextures),F+=1,Z}function W(Z){const ee=[];return ee.push(Z.wrapS),ee.push(Z.wrapT),ee.push(Z.wrapR||0),ee.push(Z.magFilter),ee.push(Z.minFilter),ee.push(Z.anisotropy),ee.push(Z.internalFormat),ee.push(Z.format),ee.push(Z.type),ee.push(Z.generateMipmaps),ee.push(Z.premultiplyAlpha),ee.push(Z.flipY),ee.push(Z.unpackAlignment),ee.push(Z.colorSpace),ee.join()}function Y(Z,ee){const Ge=i.get(Z);if(Z.isVideoTexture&&_2(Z),Z.isRenderTargetTexture===!1&&Z.version>0&&Ge.__version!==Z.version){const T2=Z.image;if(T2===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(T2.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Oe(Ge,Z,ee);return}}t.bindTexture(n.TEXTURE_2D,Ge.__webglTexture,n.TEXTURE0+ee)}function Q(Z,ee){const Ge=i.get(Z);if(Z.version>0&&Ge.__version!==Z.version){Oe(Ge,Z,ee);return}t.bindTexture(n.TEXTURE_2D_ARRAY,Ge.__webglTexture,n.TEXTURE0+ee)}function K(Z,ee){const Ge=i.get(Z);if(Z.version>0&&Ge.__version!==Z.version){Oe(Ge,Z,ee);return}t.bindTexture(n.TEXTURE_3D,Ge.__webglTexture,n.TEXTURE0+ee)}function ae(Z,ee){const Ge=i.get(Z);if(Z.version>0&&Ge.__version!==Z.version){f2(Ge,Z,ee);return}t.bindTexture(n.TEXTURE_CUBE_MAP,Ge.__webglTexture,n.TEXTURE0+ee)}const ie={[Mn]:n.REPEAT,[li]:n.CLAMP_TO_EDGE,[kg]:n.MIRRORED_REPEAT},he={[vn]:n.NEAREST,[VC]:n.NEAREST_MIPMAP_NEAREST,[bl]:n.NEAREST_MIPMAP_LINEAR,[an]:n.LINEAR,[vm]:n.LINEAR_MIPMAP_NEAREST,[ks]:n.LINEAR_MIPMAP_LINEAR},Ee={[xEe]:n.NEVER,[EEe]:n.ALWAYS,[wEe]:n.LESS,[NQ]:n.LEQUAL,[TEe]:n.EQUAL,[MEe]:n.GEQUAL,[AEe]:n.GREATER,[CEe]:n.NOTEQUAL};function je(Z,ee,Ge){if(ee.type===No&&e.has("OES_texture_float_linear")===!1&&(ee.magFilter===an||ee.magFilter===vm||ee.magFilter===bl||ee.magFilter===ks||ee.minFilter===an||ee.minFilter===vm||ee.minFilter===bl||ee.minFilter===ks)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),Ge?(n.texParameteri(Z,n.TEXTURE_WRAP_S,ie[ee.wrapS]),n.texParameteri(Z,n.TEXTURE_WRAP_T,ie[ee.wrapT]),(Z===n.TEXTURE_3D||Z===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Z,n.TEXTURE_WRAP_R,ie[ee.wrapR]),n.texParameteri(Z,n.TEXTURE_MAG_FILTER,he[ee.magFilter]),n.texParameteri(Z,n.TEXTURE_MIN_FILTER,he[ee.minFilter])):(n.texParameteri(Z,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(Z,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(Z===n.TEXTURE_3D||Z===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Z,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(ee.wrapS!==li||ee.wrapT!==li)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(Z,n.TEXTURE_MAG_FILTER,C(ee.magFilter)),n.texParameteri(Z,n.TEXTURE_MIN_FILTER,C(ee.minFilter)),ee.minFilter!==vn&&ee.minFilter!==an&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),ee.compareFunction&&(n.texParameteri(Z,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(Z,n.TEXTURE_COMPARE_FUNC,Ee[ee.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const T2=e.get("EXT_texture_filter_anisotropic");if(ee.magFilter===vn||ee.minFilter!==bl&&ee.minFilter!==ks||ee.type===No&&e.has("OES_texture_float_linear")===!1||s===!1&&ee.type===Yd&&e.has("OES_texture_half_float_linear")===!1)return;(ee.anisotropy>1||i.get(ee).__currentAnisotropy)&&(n.texParameterf(Z,T2.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(ee.anisotropy,r.getMaxAnisotropy())),i.get(ee).__currentAnisotropy=ee.anisotropy)}}function xe(Z,ee){let Ge=!1;Z.__webglInit===void 0&&(Z.__webglInit=!0,ee.addEventListener("dispose",M));const T2=ee.source;let z2=h.get(T2);z2===void 0&&(z2={},h.set(T2,z2));const Te=W(ee);if(Te!==Z.__cacheKey){z2[Te]===void 0&&(z2[Te]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,Ge=!0),z2[Te].usedTimes++;const $e=z2[Z.__cacheKey];$e!==void 0&&(z2[Z.__cacheKey].usedTimes--,$e.usedTimes===0&&E(ee)),Z.__cacheKey=Te,Z.__webglTexture=z2[Te].texture}return Ge}function Oe(Z,ee,Ge){let T2=n.TEXTURE_2D;(ee.isDataArrayTexture||ee.isCompressedArrayTexture)&&(T2=n.TEXTURE_2D_ARRAY),ee.isData3DTexture&&(T2=n.TEXTURE_3D);const z2=xe(Z,ee),Te=ee.source;t.bindTexture(T2,Z.__webglTexture,n.TEXTURE0+Ge);const $e=i.get(Te);if(Te.version!==$e.__version||z2===!0){t.activeTexture(n.TEXTURE0+Ge);const Xe=F1.getPrimaries(F1.workingColorSpace),Ne=ee.colorSpace===ya?null:F1.getPrimaries(ee.colorSpace),u2=ee.colorSpace===ya||Xe===Ne?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,ee.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ee.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,ee.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,u2);const P2=g(ee)&&v(ee.image)===!1;let d2=m(ee.image,P2,!1,r.maxTextureSize);d2=A2(ee,d2);const st=v(d2)||s,pt=a.convert(ee.format,ee.colorSpace);let yt=a.convert(ee.type),_t=x(ee.internalFormat,pt,yt,ee.colorSpace,ee.isVideoTexture);je(T2,ee,st);let ut;const Ht=ee.mipmaps,Ue=s&&ee.isVideoTexture!==!0&&_t!==LQ,it=$e.__version===void 0||z2===!0,St=Te.dataReady,jt=A(ee,d2,st);if(ee.isDepthTexture)_t=n.DEPTH_COMPONENT,s?ee.type===No?_t=n.DEPTH_COMPONENT32F:ee.type===u5?_t=n.DEPTH_COMPONENT24:ee.type===P8?_t=n.DEPTH24_STENCIL8:_t=n.DEPTH_COMPONENT16:ee.type===No&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),ee.format===R8&&_t===n.DEPTH_COMPONENT&&ee.type!==sR&&ee.type!==u5&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),ee.type=u5,yt=a.convert(ee.type)),ee.format===x7&&_t===n.DEPTH_COMPONENT&&(_t=n.DEPTH_STENCIL,ee.type!==P8&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),ee.type=P8,yt=a.convert(ee.type))),it&&(Ue?t.texStorage2D(n.TEXTURE_2D,1,_t,d2.width,d2.height):t.texImage2D(n.TEXTURE_2D,0,_t,d2.width,d2.height,0,pt,yt,null));else if(ee.isDataTexture)if(Ht.length>0&&st){Ue&&it&&t.texStorage2D(n.TEXTURE_2D,jt,_t,Ht[0].width,Ht[0].height);for(let Ve=0,lt=Ht.length;Ve<lt;Ve++)ut=Ht[Ve],Ue?St&&t.texSubImage2D(n.TEXTURE_2D,Ve,0,0,ut.width,ut.height,pt,yt,ut.data):t.texImage2D(n.TEXTURE_2D,Ve,_t,ut.width,ut.height,0,pt,yt,ut.data);ee.generateMipmaps=!1}else Ue?(it&&t.texStorage2D(n.TEXTURE_2D,jt,_t,d2.width,d2.height),St&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,d2.width,d2.height,pt,yt,d2.data)):t.texImage2D(n.TEXTURE_2D,0,_t,d2.width,d2.height,0,pt,yt,d2.data);else if(ee.isCompressedTexture)if(ee.isCompressedArrayTexture){Ue&&it&&t.texStorage3D(n.TEXTURE_2D_ARRAY,jt,_t,Ht[0].width,Ht[0].height,d2.depth);for(let Ve=0,lt=Ht.length;Ve<lt;Ve++)ut=Ht[Ve],ee.format!==ga?pt!==null?Ue?St&&t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,Ve,0,0,0,ut.width,ut.height,d2.depth,pt,ut.data,0,0):t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,Ve,_t,ut.width,ut.height,d2.depth,0,ut.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Ue?St&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,Ve,0,0,0,ut.width,ut.height,d2.depth,pt,yt,ut.data):t.texImage3D(n.TEXTURE_2D_ARRAY,Ve,_t,ut.width,ut.height,d2.depth,0,pt,yt,ut.data)}else{Ue&&it&&t.texStorage2D(n.TEXTURE_2D,jt,_t,Ht[0].width,Ht[0].height);for(let Ve=0,lt=Ht.length;Ve<lt;Ve++)ut=Ht[Ve],ee.format!==ga?pt!==null?Ue?St&&t.compressedTexSubImage2D(n.TEXTURE_2D,Ve,0,0,ut.width,ut.height,pt,ut.data):t.compressedTexImage2D(n.TEXTURE_2D,Ve,_t,ut.width,ut.height,0,ut.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Ue?St&&t.texSubImage2D(n.TEXTURE_2D,Ve,0,0,ut.width,ut.height,pt,yt,ut.data):t.texImage2D(n.TEXTURE_2D,Ve,_t,ut.width,ut.height,0,pt,yt,ut.data)}else if(ee.isDataArrayTexture)Ue?(it&&t.texStorage3D(n.TEXTURE_2D_ARRAY,jt,_t,d2.width,d2.height,d2.depth),St&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,d2.width,d2.height,d2.depth,pt,yt,d2.data)):t.texImage3D(n.TEXTURE_2D_ARRAY,0,_t,d2.width,d2.height,d2.depth,0,pt,yt,d2.data);else if(ee.isData3DTexture)Ue?(it&&t.texStorage3D(n.TEXTURE_3D,jt,_t,d2.width,d2.height,d2.depth),St&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,d2.width,d2.height,d2.depth,pt,yt,d2.data)):t.texImage3D(n.TEXTURE_3D,0,_t,d2.width,d2.height,d2.depth,0,pt,yt,d2.data);else if(ee.isFramebufferTexture){if(it)if(Ue)t.texStorage2D(n.TEXTURE_2D,jt,_t,d2.width,d2.height);else{let Ve=d2.width,lt=d2.height;for(let at=0;at<jt;at++)t.texImage2D(n.TEXTURE_2D,at,_t,Ve,lt,0,pt,yt,null),Ve>>=1,lt>>=1}}else if(Ht.length>0&&st){Ue&&it&&t.texStorage2D(n.TEXTURE_2D,jt,_t,Ht[0].width,Ht[0].height);for(let Ve=0,lt=Ht.length;Ve<lt;Ve++)ut=Ht[Ve],Ue?St&&t.texSubImage2D(n.TEXTURE_2D,Ve,0,0,pt,yt,ut):t.texImage2D(n.TEXTURE_2D,Ve,_t,pt,yt,ut);ee.generateMipmaps=!1}else Ue?(it&&t.texStorage2D(n.TEXTURE_2D,jt,_t,d2.width,d2.height),St&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,pt,yt,d2)):t.texImage2D(n.TEXTURE_2D,0,_t,pt,yt,d2);_(ee,st)&&S(T2),$e.__version=Te.version,ee.onUpdate&&ee.onUpdate(ee)}Z.__version=ee.version}function f2(Z,ee,Ge){if(ee.image.length!==6)return;const T2=xe(Z,ee),z2=ee.source;t.bindTexture(n.TEXTURE_CUBE_MAP,Z.__webglTexture,n.TEXTURE0+Ge);const Te=i.get(z2);if(z2.version!==Te.__version||T2===!0){t.activeTexture(n.TEXTURE0+Ge);const $e=F1.getPrimaries(F1.workingColorSpace),Xe=ee.colorSpace===ya?null:F1.getPrimaries(ee.colorSpace),Ne=ee.colorSpace===ya||$e===Xe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,ee.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ee.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,ee.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ne);const u2=ee.isCompressedTexture||ee.image[0].isCompressedTexture,P2=ee.image[0]&&ee.image[0].isDataTexture,d2=[];for(let Ve=0;Ve<6;Ve++)!u2&&!P2?d2[Ve]=m(ee.image[Ve],!1,!0,r.maxCubemapSize):d2[Ve]=P2?ee.image[Ve].image:ee.image[Ve],d2[Ve]=A2(ee,d2[Ve]);const st=d2[0],pt=v(st)||s,yt=a.convert(ee.format,ee.colorSpace),_t=a.convert(ee.type),ut=x(ee.internalFormat,yt,_t,ee.colorSpace),Ht=s&&ee.isVideoTexture!==!0,Ue=Te.__version===void 0||T2===!0,it=z2.dataReady;let St=A(ee,st,pt);je(n.TEXTURE_CUBE_MAP,ee,pt);let jt;if(u2){Ht&&Ue&&t.texStorage2D(n.TEXTURE_CUBE_MAP,St,ut,st.width,st.height);for(let Ve=0;Ve<6;Ve++){jt=d2[Ve].mipmaps;for(let lt=0;lt<jt.length;lt++){const at=jt[lt];ee.format!==ga?yt!==null?Ht?it&&t.compressedTexSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt,0,0,at.width,at.height,yt,at.data):t.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt,ut,at.width,at.height,0,at.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):Ht?it&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt,0,0,at.width,at.height,yt,_t,at.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt,ut,at.width,at.height,0,yt,_t,at.data)}}}else{jt=ee.mipmaps,Ht&&Ue&&(jt.length>0&&St++,t.texStorage2D(n.TEXTURE_CUBE_MAP,St,ut,d2[0].width,d2[0].height));for(let Ve=0;Ve<6;Ve++)if(P2){Ht?it&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,0,0,0,d2[Ve].width,d2[Ve].height,yt,_t,d2[Ve].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,0,ut,d2[Ve].width,d2[Ve].height,0,yt,_t,d2[Ve].data);for(let lt=0;lt<jt.length;lt++){const kt=jt[lt].image[Ve].image;Ht?it&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt+1,0,0,kt.width,kt.height,yt,_t,kt.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt+1,ut,kt.width,kt.height,0,yt,_t,kt.data)}}else{Ht?it&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,0,0,0,yt,_t,d2[Ve]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,0,ut,yt,_t,d2[Ve]);for(let lt=0;lt<jt.length;lt++){const at=jt[lt];Ht?it&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt+1,0,0,yt,_t,at.image[Ve]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ve,lt+1,ut,yt,_t,at.image[Ve])}}}_(ee,pt)&&S(n.TEXTURE_CUBE_MAP),Te.__version=z2.version,ee.onUpdate&&ee.onUpdate(ee)}Z.__version=ee.version}function B2(Z,ee,Ge,T2,z2,Te){const $e=a.convert(Ge.format,Ge.colorSpace),Xe=a.convert(Ge.type),Ne=x(Ge.internalFormat,$e,Xe,Ge.colorSpace);if(!i.get(ee).__hasExternalTextures){const P2=Math.max(1,ee.width>>Te),d2=Math.max(1,ee.height>>Te);z2===n.TEXTURE_3D||z2===n.TEXTURE_2D_ARRAY?t.texImage3D(z2,Te,Ne,P2,d2,ee.depth,0,$e,Xe,null):t.texImage2D(z2,Te,Ne,P2,d2,0,$e,Xe,null)}t.bindFramebuffer(n.FRAMEBUFFER,Z),k(ee)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,T2,z2,i.get(Ge).__webglTexture,0,O2(ee)):(z2===n.TEXTURE_2D||z2>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&z2<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,T2,z2,i.get(Ge).__webglTexture,Te),t.bindFramebuffer(n.FRAMEBUFFER,null)}function S2(Z,ee,Ge){if(n.bindRenderbuffer(n.RENDERBUFFER,Z),ee.depthBuffer&&!ee.stencilBuffer){let T2=s===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(Ge||k(ee)){const z2=ee.depthTexture;z2&&z2.isDepthTexture&&(z2.type===No?T2=n.DEPTH_COMPONENT32F:z2.type===u5&&(T2=n.DEPTH_COMPONENT24));const Te=O2(ee);k(ee)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Te,T2,ee.width,ee.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Te,T2,ee.width,ee.height)}else n.renderbufferStorage(n.RENDERBUFFER,T2,ee.width,ee.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,Z)}else if(ee.depthBuffer&&ee.stencilBuffer){const T2=O2(ee);Ge&&k(ee)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,T2,n.DEPTH24_STENCIL8,ee.width,ee.height):k(ee)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,T2,n.DEPTH24_STENCIL8,ee.width,ee.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,ee.width,ee.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,Z)}else{const T2=ee.isWebGLMultipleRenderTargets===!0?ee.texture:[ee.texture];for(let z2=0;z2<T2.length;z2++){const Te=T2[z2],$e=a.convert(Te.format,Te.colorSpace),Xe=a.convert(Te.type),Ne=x(Te.internalFormat,$e,Xe,Te.colorSpace),u2=O2(ee);Ge&&k(ee)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,u2,Ne,ee.width,ee.height):k(ee)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,u2,Ne,ee.width,ee.height):n.renderbufferStorage(n.RENDERBUFFER,Ne,ee.width,ee.height)}}n.bindRenderbuffer(n.RENDERBUFFER,null)}function p2(Z,ee){if(ee&&ee.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(n.FRAMEBUFFER,Z),!(ee.depthTexture&&ee.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!i.get(ee.depthTexture).__webglTexture||ee.depthTexture.image.width!==ee.width||ee.depthTexture.image.height!==ee.height)&&(ee.depthTexture.image.width=ee.width,ee.depthTexture.image.height=ee.height,ee.depthTexture.needsUpdate=!0),Y(ee.depthTexture,0);const T2=i.get(ee.depthTexture).__webglTexture,z2=O2(ee);if(ee.depthTexture.format===R8)k(ee)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,T2,0,z2):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,T2,0);else if(ee.depthTexture.format===x7)k(ee)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,T2,0,z2):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,T2,0);else throw new Error("Unknown depthTexture format")}function X2(Z){const ee=i.get(Z),Ge=Z.isWebGLCubeRenderTarget===!0;if(Z.depthTexture&&!ee.__autoAllocateDepthBuffer){if(Ge)throw new Error("target.depthTexture not supported in Cube render targets");p2(ee.__webglFramebuffer,Z)}else if(Ge){ee.__webglDepthbuffer=[];for(let T2=0;T2<6;T2++)t.bindFramebuffer(n.FRAMEBUFFER,ee.__webglFramebuffer[T2]),ee.__webglDepthbuffer[T2]=n.createRenderbuffer(),S2(ee.__webglDepthbuffer[T2],Z,!1)}else t.bindFramebuffer(n.FRAMEBUFFER,ee.__webglFramebuffer),ee.__webglDepthbuffer=n.createRenderbuffer(),S2(ee.__webglDepthbuffer,Z,!1);t.bindFramebuffer(n.FRAMEBUFFER,null)}function w2(Z,ee,Ge){const T2=i.get(Z);ee!==void 0&&B2(T2.__webglFramebuffer,Z,Z.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,0),Ge!==void 0&&X2(Z)}function Ce(Z){const ee=Z.texture,Ge=i.get(Z),T2=i.get(ee);Z.addEventListener("dispose",I),Z.isWebGLMultipleRenderTargets!==!0&&(T2.__webglTexture===void 0&&(T2.__webglTexture=n.createTexture()),T2.__version=ee.version,o.memory.textures++);const z2=Z.isWebGLCubeRenderTarget===!0,Te=Z.isWebGLMultipleRenderTargets===!0,$e=v(Z)||s;if(z2){Ge.__webglFramebuffer=[];for(let Xe=0;Xe<6;Xe++)if(s&&ee.mipmaps&&ee.mipmaps.length>0){Ge.__webglFramebuffer[Xe]=[];for(let Ne=0;Ne<ee.mipmaps.length;Ne++)Ge.__webglFramebuffer[Xe][Ne]=n.createFramebuffer()}else Ge.__webglFramebuffer[Xe]=n.createFramebuffer()}else{if(s&&ee.mipmaps&&ee.mipmaps.length>0){Ge.__webglFramebuffer=[];for(let Xe=0;Xe<ee.mipmaps.length;Xe++)Ge.__webglFramebuffer[Xe]=n.createFramebuffer()}else Ge.__webglFramebuffer=n.createFramebuffer();if(Te)if(r.drawBuffers){const Xe=Z.texture;for(let Ne=0,u2=Xe.length;Ne<u2;Ne++){const P2=i.get(Xe[Ne]);P2.__webglTexture===void 0&&(P2.__webglTexture=n.createTexture(),o.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(s&&Z.samples>0&&k(Z)===!1){const Xe=Te?ee:[ee];Ge.__webglMultisampledFramebuffer=n.createFramebuffer(),Ge.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,Ge.__webglMultisampledFramebuffer);for(let Ne=0;Ne<Xe.length;Ne++){const u2=Xe[Ne];Ge.__webglColorRenderbuffer[Ne]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,Ge.__webglColorRenderbuffer[Ne]);const P2=a.convert(u2.format,u2.colorSpace),d2=a.convert(u2.type),st=x(u2.internalFormat,P2,d2,u2.colorSpace,Z.isXRRenderTarget===!0),pt=O2(Z);n.renderbufferStorageMultisample(n.RENDERBUFFER,pt,st,Z.width,Z.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Ne,n.RENDERBUFFER,Ge.__webglColorRenderbuffer[Ne])}n.bindRenderbuffer(n.RENDERBUFFER,null),Z.depthBuffer&&(Ge.__webglDepthRenderbuffer=n.createRenderbuffer(),S2(Ge.__webglDepthRenderbuffer,Z,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(z2){t.bindTexture(n.TEXTURE_CUBE_MAP,T2.__webglTexture),je(n.TEXTURE_CUBE_MAP,ee,$e);for(let Xe=0;Xe<6;Xe++)if(s&&ee.mipmaps&&ee.mipmaps.length>0)for(let Ne=0;Ne<ee.mipmaps.length;Ne++)B2(Ge.__webglFramebuffer[Xe][Ne],Z,ee,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Xe,Ne);else B2(Ge.__webglFramebuffer[Xe],Z,ee,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Xe,0);_(ee,$e)&&S(n.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Te){const Xe=Z.texture;for(let Ne=0,u2=Xe.length;Ne<u2;Ne++){const P2=Xe[Ne],d2=i.get(P2);t.bindTexture(n.TEXTURE_2D,d2.__webglTexture),je(n.TEXTURE_2D,P2,$e),B2(Ge.__webglFramebuffer,Z,P2,n.COLOR_ATTACHMENT0+Ne,n.TEXTURE_2D,0),_(P2,$e)&&S(n.TEXTURE_2D)}t.unbindTexture()}else{let Xe=n.TEXTURE_2D;if((Z.isWebGL3DRenderTarget||Z.isWebGLArrayRenderTarget)&&(s?Xe=Z.isWebGL3DRenderTarget?n.TEXTURE_3D:n.TEXTURE_2D_ARRAY:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),t.bindTexture(Xe,T2.__webglTexture),je(Xe,ee,$e),s&&ee.mipmaps&&ee.mipmaps.length>0)for(let Ne=0;Ne<ee.mipmaps.length;Ne++)B2(Ge.__webglFramebuffer[Ne],Z,ee,n.COLOR_ATTACHMENT0,Xe,Ne);else B2(Ge.__webglFramebuffer,Z,ee,n.COLOR_ATTACHMENT0,Xe,0);_(ee,$e)&&S(Xe),t.unbindTexture()}Z.depthBuffer&&X2(Z)}function R2(Z){const ee=v(Z)||s,Ge=Z.isWebGLMultipleRenderTargets===!0?Z.texture:[Z.texture];for(let T2=0,z2=Ge.length;T2<z2;T2++){const Te=Ge[T2];if(_(Te,ee)){const $e=Z.isWebGLCubeRenderTarget?n.TEXTURE_CUBE_MAP:n.TEXTURE_2D,Xe=i.get(Te).__webglTexture;t.bindTexture($e,Xe),S($e),t.unbindTexture()}}}function v2(Z){if(s&&Z.samples>0&&k(Z)===!1){const ee=Z.isWebGLMultipleRenderTargets?Z.texture:[Z.texture],Ge=Z.width,T2=Z.height;let z2=n.COLOR_BUFFER_BIT;const Te=[],$e=Z.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Xe=i.get(Z),Ne=Z.isWebGLMultipleRenderTargets===!0;if(Ne)for(let u2=0;u2<ee.length;u2++)t.bindFramebuffer(n.FRAMEBUFFER,Xe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+u2,n.RENDERBUFFER,null),t.bindFramebuffer(n.FRAMEBUFFER,Xe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+u2,n.TEXTURE_2D,null,0);t.bindFramebuffer(n.READ_FRAMEBUFFER,Xe.__webglMultisampledFramebuffer),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Xe.__webglFramebuffer);for(let u2=0;u2<ee.length;u2++){Te.push(n.COLOR_ATTACHMENT0+u2),Z.depthBuffer&&Te.push($e);const P2=Xe.__ignoreDepthValues!==void 0?Xe.__ignoreDepthValues:!1;if(P2===!1&&(Z.depthBuffer&&(z2|=n.DEPTH_BUFFER_BIT),Z.stencilBuffer&&(z2|=n.STENCIL_BUFFER_BIT)),Ne&&n.framebufferRenderbuffer(n.READ_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,Xe.__webglColorRenderbuffer[u2]),P2===!0&&(n.invalidateFramebuffer(n.READ_FRAMEBUFFER,[$e]),n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,[$e])),Ne){const d2=i.get(ee[u2]).__webglTexture;n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,d2,0)}n.blitFramebuffer(0,0,Ge,T2,0,0,Ge,T2,z2,n.NEAREST),u&&n.invalidateFramebuffer(n.READ_FRAMEBUFFER,Te)}if(t.bindFramebuffer(n.READ_FRAMEBUFFER,null),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),Ne)for(let u2=0;u2<ee.length;u2++){t.bindFramebuffer(n.FRAMEBUFFER,Xe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+u2,n.RENDERBUFFER,Xe.__webglColorRenderbuffer[u2]);const P2=i.get(ee[u2]).__webglTexture;t.bindFramebuffer(n.FRAMEBUFFER,Xe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+u2,n.TEXTURE_2D,P2,0)}t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Xe.__webglMultisampledFramebuffer)}}function O2(Z){return Math.min(r.maxSamples,Z.samples)}function k(Z){const ee=i.get(Z);return s&&Z.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&ee.__useRenderToTexture!==!1}function _2(Z){const ee=o.render.frame;c.get(Z)!==ee&&(c.set(Z,ee),Z.update())}function A2(Z,ee){const Ge=Z.colorSpace,T2=Z.format,z2=Z.type;return Z.isCompressedTexture===!0||Z.isVideoTexture===!0||Z.format===jC||Ge!==Sn&&Ge!==ya&&(F1.getTransfer(Ge)===v0?s===!1?e.has("EXT_sRGB")===!0&&T2===ga?(Z.format=jC,Z.minFilter=an,Z.generateMipmaps=!1):ee=FQ.sRGBToLinear(ee):(T2!==ga||z2!==b5)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Ge)),ee}this.allocateTextureUnit=G,this.resetTextureUnits=V,this.setTexture2D=Y,this.setTexture2DArray=Q,this.setTexture3D=K,this.setTextureCube=ae,this.rebindTextures=w2,this.setupRenderTarget=Ce,this.updateRenderTargetMipmap=R2,this.updateMultisampleRenderTarget=v2,this.setupDepthRenderbuffer=X2,this.setupFrameBufferTexture=B2,this.useMultisampledRTT=k}function UDe(n,e,t){const i=t.isWebGL2;function r(a,o=ya){let s;const l=F1.getTransfer(o);if(a===b5)return n.UNSIGNED_BYTE;if(a===CQ)return n.UNSIGNED_SHORT_4_4_4_4;if(a===MQ)return n.UNSIGNED_SHORT_5_5_5_1;if(a===uEe)return n.BYTE;if(a===cEe)return n.SHORT;if(a===sR)return n.UNSIGNED_SHORT;if(a===AQ)return n.INT;if(a===u5)return n.UNSIGNED_INT;if(a===No)return n.FLOAT;if(a===Yd)return i?n.HALF_FLOAT:(s=e.get("OES_texture_half_float"),s!==null?s.HALF_FLOAT_OES:null);if(a===dEe)return n.ALPHA;if(a===ga)return n.RGBA;if(a===hEe)return n.LUMINANCE;if(a===fEe)return n.LUMINANCE_ALPHA;if(a===R8)return n.DEPTH_COMPONENT;if(a===x7)return n.DEPTH_STENCIL;if(a===jC)return s=e.get("EXT_sRGB"),s!==null?s.SRGB_ALPHA_EXT:null;if(a===pEe)return n.RED;if(a===EQ)return n.RED_INTEGER;if(a===vEe)return n.RG;if(a===PQ)return n.RG_INTEGER;if(a===RQ)return n.RGBA_INTEGER;if(a===Aw||a===Cw||a===Mw||a===Ew)if(l===v0)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(a===Aw)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(a===Cw)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(a===Mw)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(a===Ew)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(a===Aw)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===Cw)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===Mw)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===Ew)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(a===vU||a===mU||a===gU||a===yU)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(a===vU)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===mU)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===gU)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===yU)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(a===LQ)return s=e.get("WEBGL_compressed_texture_etc1"),s!==null?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(a===_U||a===SU)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(a===_U)return l===v0?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(a===SU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(a===bU||a===xU||a===wU||a===TU||a===AU||a===CU||a===MU||a===EU||a===PU||a===RU||a===LU||a===IU||a===DU||a===NU)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(a===bU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(a===xU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(a===wU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(a===TU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(a===AU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(a===CU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(a===MU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(a===EU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(a===PU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(a===RU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(a===LU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(a===IU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(a===DU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(a===NU)return l===v0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(a===Pw||a===kU||a===FU)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(a===Pw)return l===v0?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(a===kU)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(a===FU)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(a===mEe||a===OU||a===BU||a===zU)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(a===Pw)return s.COMPRESSED_RED_RGTC1_EXT;if(a===OU)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(a===BU)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(a===zU)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return a===P8?i?n.UNSIGNED_INT_24_8:(s=e.get("WEBGL_depth_texture"),s!==null?s.UNSIGNED_INT_24_8_WEBGL:null):n[a]!==void 0?n[a]:null}return{convert:r}}class VDe extends oi{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class D1 extends s0{constructor(){super(),this.isGroup=!0,this.type="Group"}}const HDe={type:"move"};class Qw{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new D1,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new D1,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Ie,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Ie),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new D1,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Ie,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Ie),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,a=null,o=null;const s=this._targetRay,l=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){o=!0;for(const m of e.hand.values()){const v=t.getJointPose(m,i),g=this._getHandJoint(u,m);v!==null&&(g.matrix.fromArray(v.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=v.radius),g.visible=v!==null}const c=u.joints["index-finger-tip"],d=u.joints["thumb-tip"],h=c.position.distanceTo(d.position),f=.02,p=.005;u.inputState.pinching&&h>f+p?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&h<=f-p&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(a=t.getPose(e.gripSpace,i),a!==null&&(l.matrix.fromArray(a.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,a.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(a.linearVelocity)):l.hasLinearVelocity=!1,a.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(a.angularVelocity)):l.hasAngularVelocity=!1));s!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&a!==null&&(r=a),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(HDe)))}return s!==null&&(s.visible=r!==null),l!==null&&(l.visible=a!==null),u!==null&&(u.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new D1;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const WDe=` |
|
|
void main() { |
|
|
|
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
|
|
|
}`,jDe=` |
|
|
uniform sampler2DArray depthColor; |
|
|
uniform float depthWidth; |
|
|
uniform float depthHeight; |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); |
|
|
|
|
|
if ( coord.x >= 1.0 ) { |
|
|
|
|
|
gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; |
|
|
|
|
|
} else { |
|
|
|
|
|
gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; |
|
|
|
|
|
} |
|
|
|
|
|
}`;class $De{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new gn,a=e.properties.get(r);a.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new Js({extensions:{fragDepth:!0},vertexShader:WDe,fragmentShader:jDe,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new h1(new Tr(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class qDe extends a4{constructor(e,t){super();const i=this;let r=null,a=1,o=null,s="local-floor",l=1,u=null,c=null,d=null,h=null,f=null,p=null;const m=new $De,v=t.getContextAttributes();let g=null,_=null;const S=[],x=[],A=new Q2;let C=null;const M=new oi;M.layers.enable(1),M.viewport=new M1;const I=new oi;I.layers.enable(2),I.viewport=new M1;const D=[M,I],E=new VDe;E.layers.enable(1),E.layers.enable(2);let P=null,F=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(xe){let Oe=S[xe];return Oe===void 0&&(Oe=new Qw,S[xe]=Oe),Oe.getTargetRaySpace()},this.getControllerGrip=function(xe){let Oe=S[xe];return Oe===void 0&&(Oe=new Qw,S[xe]=Oe),Oe.getGripSpace()},this.getHand=function(xe){let Oe=S[xe];return Oe===void 0&&(Oe=new Qw,S[xe]=Oe),Oe.getHandSpace()};function V(xe){const Oe=x.indexOf(xe.inputSource);if(Oe===-1)return;const f2=S[Oe];f2!==void 0&&(f2.update(xe.inputSource,xe.frame,u||o),f2.dispatchEvent({type:xe.type,data:xe.inputSource}))}function G(){r.removeEventListener("select",V),r.removeEventListener("selectstart",V),r.removeEventListener("selectend",V),r.removeEventListener("squeeze",V),r.removeEventListener("squeezestart",V),r.removeEventListener("squeezeend",V),r.removeEventListener("end",G),r.removeEventListener("inputsourceschange",W);for(let xe=0;xe<S.length;xe++){const Oe=x[xe];Oe!==null&&(x[xe]=null,S[xe].disconnect(Oe))}P=null,F=null,m.reset(),e.setRenderTarget(g),f=null,h=null,d=null,r=null,_=null,je.stop(),i.isPresenting=!1,e.setPixelRatio(C),e.setSize(A.width,A.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(xe){a=xe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(xe){s=xe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return u||o},this.setReferenceSpace=function(xe){u=xe},this.getBaseLayer=function(){return h!==null?h:f},this.getBinding=function(){return d},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=function(xe){return J2(this,null,function*(){if(r=xe,r!==null){if(g=e.getRenderTarget(),r.addEventListener("select",V),r.addEventListener("selectstart",V),r.addEventListener("selectend",V),r.addEventListener("squeeze",V),r.addEventListener("squeezestart",V),r.addEventListener("squeezeend",V),r.addEventListener("end",G),r.addEventListener("inputsourceschange",W),v.xrCompatible!==!0&&(yield t.makeXRCompatible()),C=e.getPixelRatio(),e.getSize(A),r.renderState.layers===void 0||e.capabilities.isWebGL2===!1){const Oe={antialias:r.renderState.layers===void 0?v.antialias:!0,alpha:!0,depth:v.depth,stencil:v.stencil,framebufferScaleFactor:a};f=new XRWebGLLayer(r,t,Oe),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),_=new V8(f.framebufferWidth,f.framebufferHeight,{format:ga,type:b5,colorSpace:e.outputColorSpace,stencilBuffer:v.stencil})}else{let Oe=null,f2=null,B2=null;v.depth&&(B2=v.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Oe=v.stencil?x7:R8,f2=v.stencil?P8:u5);const S2={colorFormat:t.RGBA8,depthFormat:B2,scaleFactor:a};d=new XRWebGLBinding(r,t),h=d.createProjectionLayer(S2),r.updateRenderState({layers:[h]}),e.setPixelRatio(1),e.setSize(h.textureWidth,h.textureHeight,!1),_=new V8(h.textureWidth,h.textureHeight,{format:ga,type:b5,depthTexture:new $Q(h.textureWidth,h.textureHeight,f2,void 0,void 0,void 0,void 0,void 0,void 0,Oe),stencilBuffer:v.stencil,colorSpace:e.outputColorSpace,samples:v.antialias?4:0});const p2=e.properties.get(_);p2.__ignoreDepthValues=h.ignoreDepthValues}_.isXRRenderTarget=!0,this.setFoveation(l),u=null,o=yield r.requestReferenceSpace(s),je.setContext(r),je.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode};function W(xe){for(let Oe=0;Oe<xe.removed.length;Oe++){const f2=xe.removed[Oe],B2=x.indexOf(f2);B2>=0&&(x[B2]=null,S[B2].disconnect(f2))}for(let Oe=0;Oe<xe.added.length;Oe++){const f2=xe.added[Oe];let B2=x.indexOf(f2);if(B2===-1){for(let p2=0;p2<S.length;p2++)if(p2>=x.length){x.push(f2),B2=p2;break}else if(x[p2]===null){x[p2]=f2,B2=p2;break}if(B2===-1)break}const S2=S[B2];S2&&S2.connect(f2)}}const Y=new Ie,Q=new Ie;function K(xe,Oe,f2){Y.setFromMatrixPosition(Oe.matrixWorld),Q.setFromMatrixPosition(f2.matrixWorld);const B2=Y.distanceTo(Q),S2=Oe.projectionMatrix.elements,p2=f2.projectionMatrix.elements,X2=S2[14]/(S2[10]-1),w2=S2[14]/(S2[10]+1),Ce=(S2[9]+1)/S2[5],R2=(S2[9]-1)/S2[5],v2=(S2[8]-1)/S2[0],O2=(p2[8]+1)/p2[0],k=X2*v2,_2=X2*O2,A2=B2/(-v2+O2),Z=A2*-v2;Oe.matrixWorld.decompose(xe.position,xe.quaternion,xe.scale),xe.translateX(Z),xe.translateZ(A2),xe.matrixWorld.compose(xe.position,xe.quaternion,xe.scale),xe.matrixWorldInverse.copy(xe.matrixWorld).invert();const ee=X2+A2,Ge=w2+A2,T2=k-Z,z2=_2+(B2-Z),Te=Ce*w2/Ge*ee,$e=R2*w2/Ge*ee;xe.projectionMatrix.makePerspective(T2,z2,Te,$e,ee,Ge),xe.projectionMatrixInverse.copy(xe.projectionMatrix).invert()}function ae(xe,Oe){Oe===null?xe.matrixWorld.copy(xe.matrix):xe.matrixWorld.multiplyMatrices(Oe.matrixWorld,xe.matrix),xe.matrixWorldInverse.copy(xe.matrixWorld).invert()}this.updateCamera=function(xe){if(r===null)return;m.texture!==null&&(xe.near=m.depthNear,xe.far=m.depthFar),E.near=I.near=M.near=xe.near,E.far=I.far=M.far=xe.far,(P!==E.near||F!==E.far)&&(r.updateRenderState({depthNear:E.near,depthFar:E.far}),P=E.near,F=E.far,M.near=P,M.far=F,I.near=P,I.far=F,M.updateProjectionMatrix(),I.updateProjectionMatrix(),xe.updateProjectionMatrix());const Oe=xe.parent,f2=E.cameras;ae(E,Oe);for(let B2=0;B2<f2.length;B2++)ae(f2[B2],Oe);f2.length===2?K(E,M,I):E.projectionMatrix.copy(M.projectionMatrix),ie(xe,E,Oe)};function ie(xe,Oe,f2){f2===null?xe.matrix.copy(Oe.matrixWorld):(xe.matrix.copy(f2.matrixWorld),xe.matrix.invert(),xe.matrix.multiply(Oe.matrixWorld)),xe.matrix.decompose(xe.position,xe.quaternion,xe.scale),xe.updateMatrixWorld(!0),xe.projectionMatrix.copy(Oe.projectionMatrix),xe.projectionMatrixInverse.copy(Oe.projectionMatrixInverse),xe.isPerspectiveCamera&&(xe.fov=T7*2*Math.atan(1/xe.projectionMatrix.elements[5]),xe.zoom=1)}this.getCamera=function(){return E},this.getFoveation=function(){if(!(h===null&&f===null))return l},this.setFoveation=function(xe){l=xe,h!==null&&(h.fixedFoveation=xe),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=xe)},this.hasDepthSensing=function(){return m.texture!==null};let he=null;function Ee(xe,Oe){if(c=Oe.getViewerPose(u||o),p=Oe,c!==null){const f2=c.views;f!==null&&(e.setRenderTargetFramebuffer(_,f.framebuffer),e.setRenderTarget(_));let B2=!1;f2.length!==E.cameras.length&&(E.cameras.length=0,B2=!0);for(let p2=0;p2<f2.length;p2++){const X2=f2[p2];let w2=null;if(f!==null)w2=f.getViewport(X2);else{const R2=d.getViewSubImage(h,X2);w2=R2.viewport,p2===0&&(e.setRenderTargetTextures(_,R2.colorTexture,h.ignoreDepthValues?void 0:R2.depthStencilTexture),e.setRenderTarget(_))}let Ce=D[p2];Ce===void 0&&(Ce=new oi,Ce.layers.enable(p2),Ce.viewport=new M1,D[p2]=Ce),Ce.matrix.fromArray(X2.transform.matrix),Ce.matrix.decompose(Ce.position,Ce.quaternion,Ce.scale),Ce.projectionMatrix.fromArray(X2.projectionMatrix),Ce.projectionMatrixInverse.copy(Ce.projectionMatrix).invert(),Ce.viewport.set(w2.x,w2.y,w2.width,w2.height),p2===0&&(E.matrix.copy(Ce.matrix),E.matrix.decompose(E.position,E.quaternion,E.scale)),B2===!0&&E.cameras.push(Ce)}const S2=r.enabledFeatures;if(S2&&S2.includes("depth-sensing")){const p2=d.getDepthInformation(f2[0]);p2&&p2.isValid&&p2.texture&&m.init(e,p2,r.renderState)}}for(let f2=0;f2<S.length;f2++){const B2=x[f2],S2=S[f2];B2!==null&&S2!==void 0&&S2.update(B2,Oe,u||o)}m.render(e,E),he&&he(xe,Oe),Oe.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:Oe}),p=null}const je=new jQ;je.setAnimationLoop(Ee),this.setAnimationLoop=function(xe){he=xe},this.dispose=function(){}}}function XDe(n,e){function t(v,g){v.matrixAutoUpdate===!0&&v.updateMatrix(),g.value.copy(v.matrix)}function i(v,g){g.color.getRGB(v.fogColor.value,VQ(n)),g.isFog?(v.fogNear.value=g.near,v.fogFar.value=g.far):g.isFogExp2&&(v.fogDensity.value=g.density)}function r(v,g,_,S,x){g.isMeshBasicMaterial||g.isMeshLambertMaterial?a(v,g):g.isMeshToonMaterial?(a(v,g),d(v,g)):g.isMeshPhongMaterial?(a(v,g),c(v,g)):g.isMeshStandardMaterial?(a(v,g),h(v,g),g.isMeshPhysicalMaterial&&f(v,g,x)):g.isMeshMatcapMaterial?(a(v,g),p(v,g)):g.isMeshDepthMaterial?a(v,g):g.isMeshDistanceMaterial?(a(v,g),m(v,g)):g.isMeshNormalMaterial?a(v,g):g.isLineBasicMaterial?(o(v,g),g.isLineDashedMaterial&&s(v,g)):g.isPointsMaterial?l(v,g,_,S):g.isSpriteMaterial?u(v,g):g.isShadowMaterial?(v.color.value.copy(g.color),v.opacity.value=g.opacity):g.isShaderMaterial&&(g.uniformsNeedUpdate=!1)}function a(v,g){v.opacity.value=g.opacity,g.color&&v.diffuse.value.copy(g.color),g.emissive&&v.emissive.value.copy(g.emissive).multiplyScalar(g.emissiveIntensity),g.map&&(v.map.value=g.map,t(g.map,v.mapTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.bumpMap&&(v.bumpMap.value=g.bumpMap,t(g.bumpMap,v.bumpMapTransform),v.bumpScale.value=g.bumpScale,g.side===ir&&(v.bumpScale.value*=-1)),g.normalMap&&(v.normalMap.value=g.normalMap,t(g.normalMap,v.normalMapTransform),v.normalScale.value.copy(g.normalScale),g.side===ir&&v.normalScale.value.negate()),g.displacementMap&&(v.displacementMap.value=g.displacementMap,t(g.displacementMap,v.displacementMapTransform),v.displacementScale.value=g.displacementScale,v.displacementBias.value=g.displacementBias),g.emissiveMap&&(v.emissiveMap.value=g.emissiveMap,t(g.emissiveMap,v.emissiveMapTransform)),g.specularMap&&(v.specularMap.value=g.specularMap,t(g.specularMap,v.specularMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest);const _=e.get(g).envMap;if(_&&(v.envMap.value=_,v.flipEnvMap.value=_.isCubeTexture&&_.isRenderTargetTexture===!1?-1:1,v.reflectivity.value=g.reflectivity,v.ior.value=g.ior,v.refractionRatio.value=g.refractionRatio),g.lightMap){v.lightMap.value=g.lightMap;const S=n._useLegacyLights===!0?Math.PI:1;v.lightMapIntensity.value=g.lightMapIntensity*S,t(g.lightMap,v.lightMapTransform)}g.aoMap&&(v.aoMap.value=g.aoMap,v.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,v.aoMapTransform))}function o(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform))}function s(v,g){v.dashSize.value=g.dashSize,v.totalSize.value=g.dashSize+g.gapSize,v.scale.value=g.scale}function l(v,g,_,S){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.size.value=g.size*_,v.scale.value=S*.5,g.map&&(v.map.value=g.map,t(g.map,v.uvTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function u(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.rotation.value=g.rotation,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function c(v,g){v.specular.value.copy(g.specular),v.shininess.value=Math.max(g.shininess,1e-4)}function d(v,g){g.gradientMap&&(v.gradientMap.value=g.gradientMap)}function h(v,g){v.metalness.value=g.metalness,g.metalnessMap&&(v.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,v.metalnessMapTransform)),v.roughness.value=g.roughness,g.roughnessMap&&(v.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,v.roughnessMapTransform)),e.get(g).envMap&&(v.envMapIntensity.value=g.envMapIntensity)}function f(v,g,_){v.ior.value=g.ior,g.sheen>0&&(v.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),v.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(v.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,v.sheenColorMapTransform)),g.sheenRoughnessMap&&(v.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,v.sheenRoughnessMapTransform))),g.clearcoat>0&&(v.clearcoat.value=g.clearcoat,v.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(v.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,v.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(v.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,v.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(v.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,v.clearcoatNormalMapTransform),v.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===ir&&v.clearcoatNormalScale.value.negate())),g.iridescence>0&&(v.iridescence.value=g.iridescence,v.iridescenceIOR.value=g.iridescenceIOR,v.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],v.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(v.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,v.iridescenceMapTransform)),g.iridescenceThicknessMap&&(v.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,v.iridescenceThicknessMapTransform))),g.transmission>0&&(v.transmission.value=g.transmission,v.transmissionSamplerMap.value=_.texture,v.transmissionSamplerSize.value.set(_.width,_.height),g.transmissionMap&&(v.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,v.transmissionMapTransform)),v.thickness.value=g.thickness,g.thicknessMap&&(v.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,v.thicknessMapTransform)),v.attenuationDistance.value=g.attenuationDistance,v.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(v.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(v.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,v.anisotropyMapTransform))),v.specularIntensity.value=g.specularIntensity,v.specularColor.value.copy(g.specularColor),g.specularColorMap&&(v.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,v.specularColorMapTransform)),g.specularIntensityMap&&(v.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,v.specularIntensityMapTransform))}function p(v,g){g.matcap&&(v.matcap.value=g.matcap)}function m(v,g){const _=e.get(g).light;v.referencePosition.value.setFromMatrixPosition(_.matrixWorld),v.nearDistance.value=_.shadow.camera.near,v.farDistance.value=_.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function YDe(n,e,t,i){let r={},a={},o=[];const s=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(_,S){const x=S.program;i.uniformBlockBinding(_,x)}function u(_,S){let x=r[_.id];x===void 0&&(p(_),x=c(_),r[_.id]=x,_.addEventListener("dispose",v));const A=S.program;i.updateUBOMapping(_,A);const C=e.render.frame;a[_.id]!==C&&(h(_),a[_.id]=C)}function c(_){const S=d();_.__bindingPointIndex=S;const x=n.createBuffer(),A=_.__size,C=_.usage;return n.bindBuffer(n.UNIFORM_BUFFER,x),n.bufferData(n.UNIFORM_BUFFER,A,C),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,x),x}function d(){for(let _=0;_<s;_++)if(o.indexOf(_)===-1)return o.push(_),_;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(_){const S=r[_.id],x=_.uniforms,A=_.__cache;n.bindBuffer(n.UNIFORM_BUFFER,S);for(let C=0,M=x.length;C<M;C++){const I=Array.isArray(x[C])?x[C]:[x[C]];for(let D=0,E=I.length;D<E;D++){const P=I[D];if(f(P,C,D,A)===!0){const F=P.__offset,V=Array.isArray(P.value)?P.value:[P.value];let G=0;for(let W=0;W<V.length;W++){const Y=V[W],Q=m(Y);typeof Y=="number"||typeof Y=="boolean"?(P.__data[0]=Y,n.bufferSubData(n.UNIFORM_BUFFER,F+G,P.__data)):Y.isMatrix3?(P.__data[0]=Y.elements[0],P.__data[1]=Y.elements[1],P.__data[2]=Y.elements[2],P.__data[3]=0,P.__data[4]=Y.elements[3],P.__data[5]=Y.elements[4],P.__data[6]=Y.elements[5],P.__data[7]=0,P.__data[8]=Y.elements[6],P.__data[9]=Y.elements[7],P.__data[10]=Y.elements[8],P.__data[11]=0):(Y.toArray(P.__data,G),G+=Q.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,F,P.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function f(_,S,x,A){const C=_.value,M=S+"_"+x;if(A[M]===void 0)return typeof C=="number"||typeof C=="boolean"?A[M]=C:A[M]=C.clone(),!0;{const I=A[M];if(typeof C=="number"||typeof C=="boolean"){if(I!==C)return A[M]=C,!0}else if(I.equals(C)===!1)return I.copy(C),!0}return!1}function p(_){const S=_.uniforms;let x=0;const A=16;for(let M=0,I=S.length;M<I;M++){const D=Array.isArray(S[M])?S[M]:[S[M]];for(let E=0,P=D.length;E<P;E++){const F=D[E],V=Array.isArray(F.value)?F.value:[F.value];for(let G=0,W=V.length;G<W;G++){const Y=V[G],Q=m(Y),K=x%A;K!==0&&A-K<Q.boundary&&(x+=A-K),F.__data=new Float32Array(Q.storage/Float32Array.BYTES_PER_ELEMENT),F.__offset=x,x+=Q.storage}}}const C=x%A;return C>0&&(x+=A-C),_.__size=x,_.__cache={},this}function m(_){const S={boundary:0,storage:0};return typeof _=="number"||typeof _=="boolean"?(S.boundary=4,S.storage=4):_.isVector2?(S.boundary=8,S.storage=8):_.isVector3||_.isColor?(S.boundary=16,S.storage=12):_.isVector4?(S.boundary=16,S.storage=16):_.isMatrix3?(S.boundary=48,S.storage=48):_.isMatrix4?(S.boundary=64,S.storage=64):_.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",_),S}function v(_){const S=_.target;S.removeEventListener("dispose",v);const x=o.indexOf(S.__bindingPointIndex);o.splice(x,1),n.deleteBuffer(r[S.id]),delete r[S.id],delete a[S.id]}function g(){for(const _ in r)n.deleteBuffer(r[_]);o=[],r={},a={}}return{bind:l,update:u,dispose:g}}class mR{constructor(e={}){const{canvas:t=HEe(),context:i=null,depth:r=!0,stencil:a=!0,alpha:o=!1,antialias:s=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:c="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let h;i!==null?h=i.getContextAttributes().alpha:h=o;const f=new Uint32Array(4),p=new Int32Array(4);let m=null,v=null;const g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=W1,this._useLegacyLights=!1,this.toneMapping=S5,this.toneMappingExposure=1;const S=this;let x=!1,A=0,C=0,M=null,I=-1,D=null;const E=new M1,P=new M1;let F=null;const V=new Jt(0);let G=0,W=t.width,Y=t.height,Q=1,K=null,ae=null;const ie=new M1(0,0,W,Y),he=new M1(0,0,W,Y);let Ee=!1;const je=new pR;let xe=!1,Oe=!1,f2=null;const B2=new B3,S2=new Q2,p2=new Ie,X2={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function w2(){return M===null?Q:1}let Ce=i;function R2(we,n2){for(let E2=0;E2<we.length;E2++){const D2=we[E2],L2=t.getContext(D2,n2);if(L2!==null)return L2}return null}try{const we={alpha:!0,depth:r,stencil:a,antialias:s,premultipliedAlpha:l,preserveDrawingBuffer:u,powerPreference:c,failIfMajorPerformanceCaveat:d};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${aR}`),t.addEventListener("webglcontextlost",jt,!1),t.addEventListener("webglcontextrestored",Ve,!1),t.addEventListener("webglcontextcreationerror",lt,!1),Ce===null){const n2=["webgl2","webgl","experimental-webgl"];if(S.isWebGL1Renderer===!0&&n2.shift(),Ce=R2(n2,we),Ce===null)throw R2(n2)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&Ce instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),Ce.getShaderPrecisionFormat===void 0&&(Ce.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(we){throw console.error("THREE.WebGLRenderer: "+we.message),we}let v2,O2,k,_2,A2,Z,ee,Ge,T2,z2,Te,$e,Xe,Ne,u2,P2,d2,st,pt,yt,_t,ut,Ht,Ue;function it(){v2=new nIe(Ce),O2=new KLe(Ce,v2,e),v2.init(O2),ut=new UDe(Ce,v2,O2),k=new zDe(Ce,v2,O2),_2=new aIe(Ce),A2=new ADe,Z=new GDe(Ce,v2,k,A2,O2,ut,_2),ee=new JLe(S),Ge=new tIe(S),T2=new fPe(Ce,O2),Ht=new XLe(Ce,v2,T2,O2),z2=new iIe(Ce,T2,_2,Ht),Te=new uIe(Ce,z2,T2,_2),pt=new lIe(Ce,O2,Z),P2=new ZLe(A2),$e=new TDe(S,ee,Ge,v2,O2,Ht,P2),Xe=new XDe(S,A2),Ne=new MDe,u2=new DDe(v2,O2),st=new qLe(S,ee,Ge,k,Te,h,l),d2=new BDe(S,Te,O2),Ue=new YDe(Ce,_2,O2,k),yt=new YLe(Ce,v2,_2,O2),_t=new rIe(Ce,v2,_2,O2),_2.programs=$e.programs,S.capabilities=O2,S.extensions=v2,S.properties=A2,S.renderLists=Ne,S.shadowMap=d2,S.state=k,S.info=_2}it();const St=new qDe(S,Ce);this.xr=St,this.getContext=function(){return Ce},this.getContextAttributes=function(){return Ce.getContextAttributes()},this.forceContextLoss=function(){const we=v2.get("WEBGL_lose_context");we&&we.loseContext()},this.forceContextRestore=function(){const we=v2.get("WEBGL_lose_context");we&&we.restoreContext()},this.getPixelRatio=function(){return Q},this.setPixelRatio=function(we){we!==void 0&&(Q=we,this.setSize(W,Y,!1))},this.getSize=function(we){return we.set(W,Y)},this.setSize=function(we,n2,E2=!0){if(St.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}W=we,Y=n2,t.width=Math.floor(we*Q),t.height=Math.floor(n2*Q),E2===!0&&(t.style.width=we+"px",t.style.height=n2+"px"),this.setViewport(0,0,we,n2)},this.getDrawingBufferSize=function(we){return we.set(W*Q,Y*Q).floor()},this.setDrawingBufferSize=function(we,n2,E2){W=we,Y=n2,Q=E2,t.width=Math.floor(we*E2),t.height=Math.floor(n2*E2),this.setViewport(0,0,we,n2)},this.getCurrentViewport=function(we){return we.copy(E)},this.getViewport=function(we){return we.copy(ie)},this.setViewport=function(we,n2,E2,D2){we.isVector4?ie.set(we.x,we.y,we.z,we.w):ie.set(we,n2,E2,D2),k.viewport(E.copy(ie).multiplyScalar(Q).floor())},this.getScissor=function(we){return we.copy(he)},this.setScissor=function(we,n2,E2,D2){we.isVector4?he.set(we.x,we.y,we.z,we.w):he.set(we,n2,E2,D2),k.scissor(P.copy(he).multiplyScalar(Q).floor())},this.getScissorTest=function(){return Ee},this.setScissorTest=function(we){k.setScissorTest(Ee=we)},this.setOpaqueSort=function(we){K=we},this.setTransparentSort=function(we){ae=we},this.getClearColor=function(we){return we.copy(st.getClearColor())},this.setClearColor=function(){st.setClearColor.apply(st,arguments)},this.getClearAlpha=function(){return st.getClearAlpha()},this.setClearAlpha=function(){st.setClearAlpha.apply(st,arguments)},this.clear=function(we=!0,n2=!0,E2=!0){let D2=0;if(we){let L2=!1;if(M!==null){const Ot=M.texture.format;L2=Ot===RQ||Ot===PQ||Ot===EQ}if(L2){const Ot=M.texture.type,n3=Ot===b5||Ot===u5||Ot===sR||Ot===P8||Ot===CQ||Ot===MQ,l3=st.getClearColor(),f3=st.getClearAlpha(),J=l3.r,H=l3.g,w=l3.b;n3?(f[0]=J,f[1]=H,f[2]=w,f[3]=f3,Ce.clearBufferuiv(Ce.COLOR,0,f)):(p[0]=J,p[1]=H,p[2]=w,p[3]=f3,Ce.clearBufferiv(Ce.COLOR,0,p))}else D2|=Ce.COLOR_BUFFER_BIT}n2&&(D2|=Ce.DEPTH_BUFFER_BIT),E2&&(D2|=Ce.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Ce.clear(D2)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",jt,!1),t.removeEventListener("webglcontextrestored",Ve,!1),t.removeEventListener("webglcontextcreationerror",lt,!1),Ne.dispose(),u2.dispose(),A2.dispose(),ee.dispose(),Ge.dispose(),Te.dispose(),Ht.dispose(),Ue.dispose(),$e.dispose(),St.dispose(),St.removeEventListener("sessionstart",rt),St.removeEventListener("sessionend",Ft),f2&&(f2.dispose(),f2=null),Re.stop()};function jt(we){we.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),x=!0}function Ve(){console.log("THREE.WebGLRenderer: Context Restored."),x=!1;const we=_2.autoReset,n2=d2.enabled,E2=d2.autoUpdate,D2=d2.needsUpdate,L2=d2.type;it(),_2.autoReset=we,d2.enabled=n2,d2.autoUpdate=E2,d2.needsUpdate=D2,d2.type=L2}function lt(we){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",we.statusMessage)}function at(we){const n2=we.target;n2.removeEventListener("dispose",at),kt(n2)}function kt(we){Pt(we),A2.remove(we)}function Pt(we){const n2=A2.get(we).programs;n2!==void 0&&(n2.forEach(function(E2){$e.releaseProgram(E2)}),we.isShaderMaterial&&$e.releaseShaderCache(we))}this.renderBufferDirect=function(we,n2,E2,D2,L2,Ot){n2===null&&(n2=X2);const n3=L2.isMesh&&L2.matrixWorld.determinant()<0,l3=Le(we,n2,E2,D2,L2);k.setMaterial(D2,n3);let f3=E2.index,J=1;if(D2.wireframe===!0){if(f3=z2.getWireframeAttribute(E2),f3===void 0)return;J=2}const H=E2.drawRange,w=E2.attributes.position;let T=H.start*J,R=(H.start+H.count)*J;Ot!==null&&(T=Math.max(T,Ot.start*J),R=Math.min(R,(Ot.start+Ot.count)*J)),f3!==null?(T=Math.max(T,0),R=Math.min(R,f3.count)):w!=null&&(T=Math.max(T,0),R=Math.min(R,w.count));const N=R-T;if(N<0||N===1/0)return;Ht.setup(L2,D2,l3,E2,f3);let z,U=yt;if(f3!==null&&(z=T2.get(f3),U=_t,U.setIndex(z)),L2.isMesh)D2.wireframe===!0?(k.setLineWidth(D2.wireframeLinewidth*w2()),U.setMode(Ce.LINES)):U.setMode(Ce.TRIANGLES);else if(L2.isLine){let ue=D2.linewidth;ue===void 0&&(ue=1),k.setLineWidth(ue*w2()),L2.isLineSegments?U.setMode(Ce.LINES):L2.isLineLoop?U.setMode(Ce.LINE_LOOP):U.setMode(Ce.LINE_STRIP)}else L2.isPoints?U.setMode(Ce.POINTS):L2.isSprite&&U.setMode(Ce.TRIANGLES);if(L2.isBatchedMesh)U.renderMultiDraw(L2._multiDrawStarts,L2._multiDrawCounts,L2._multiDrawCount);else if(L2.isInstancedMesh)U.renderInstances(T,N,L2.count);else if(E2.isInstancedBufferGeometry){const ue=E2._maxInstanceCount!==void 0?E2._maxInstanceCount:1/0,pe=Math.min(E2.instanceCount,ue);U.renderInstances(T,N,pe)}else U.render(T,N)};function wt(we,n2,E2){we.transparent===!0&&we.side===r0&&we.forceSinglePass===!1?(we.side=ir,we.needsUpdate=!0,Qe(we,n2,E2),we.side=Zs,we.needsUpdate=!0,Qe(we,n2,E2),we.side=r0):Qe(we,n2,E2)}this.compile=function(we,n2,E2=null){E2===null&&(E2=we),v=u2.get(E2),v.init(),_.push(v),E2.traverseVisible(function(L2){L2.isLight&&L2.layers.test(n2.layers)&&(v.pushLight(L2),L2.castShadow&&v.pushShadow(L2))}),we!==E2&&we.traverseVisible(function(L2){L2.isLight&&L2.layers.test(n2.layers)&&(v.pushLight(L2),L2.castShadow&&v.pushShadow(L2))}),v.setupLights(S._useLegacyLights);const D2=new Set;return we.traverse(function(L2){const Ot=L2.material;if(Ot)if(Array.isArray(Ot))for(let n3=0;n3<Ot.length;n3++){const l3=Ot[n3];wt(l3,E2,L2),D2.add(l3)}else wt(Ot,E2,L2),D2.add(Ot)}),_.pop(),v=null,D2},this.compileAsync=function(we,n2,E2=null){const D2=this.compile(we,n2,E2);return new Promise(L2=>{function Ot(){if(D2.forEach(function(n3){A2.get(n3).currentProgram.isReady()&&D2.delete(n3)}),D2.size===0){L2(we);return}setTimeout(Ot,10)}v2.get("KHR_parallel_shader_compile")!==null?Ot():setTimeout(Ot,10)})};let l2=null;function Y2(we){l2&&l2(we)}function rt(){Re.stop()}function Ft(){Re.start()}const Re=new jQ;Re.setAnimationLoop(Y2),typeof self!="undefined"&&Re.setContext(self),this.setAnimationLoop=function(we){l2=we,St.setAnimationLoop(we),we===null?Re.stop():Re.start()},St.addEventListener("sessionstart",rt),St.addEventListener("sessionend",Ft),this.render=function(we,n2){if(n2!==void 0&&n2.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(x===!0)return;we.matrixWorldAutoUpdate===!0&&we.updateMatrixWorld(),n2.parent===null&&n2.matrixWorldAutoUpdate===!0&&n2.updateMatrixWorld(),St.enabled===!0&&St.isPresenting===!0&&(St.cameraAutoUpdate===!0&&St.updateCamera(n2),n2=St.getCamera()),we.isScene===!0&&we.onBeforeRender(S,we,n2,M),v=u2.get(we,_.length),v.init(),_.push(v),B2.multiplyMatrices(n2.projectionMatrix,n2.matrixWorldInverse),je.setFromProjectionMatrix(B2),Oe=this.localClippingEnabled,xe=P2.init(this.clippingPlanes,Oe),m=Ne.get(we,g.length),m.init(),g.push(m),s2(we,n2,0,S.sortObjects),m.finish(),S.sortObjects===!0&&m.sort(K,ae),this.info.render.frame++,xe===!0&&P2.beginShadows();const E2=v.state.shadowsArray;if(d2.render(E2,we,n2),xe===!0&&P2.endShadows(),this.info.autoReset===!0&&this.info.reset(),(St.enabled===!1||St.isPresenting===!1||St.hasDepthSensing()===!1)&&st.render(m,we),v.setupLights(S._useLegacyLights),n2.isArrayCamera){const D2=n2.cameras;for(let L2=0,Ot=D2.length;L2<Ot;L2++){const n3=D2[L2];et(m,we,n3,n3.viewport)}}else et(m,we,n2);M!==null&&(Z.updateMultisampleRenderTarget(M),Z.updateRenderTargetMipmap(M)),we.isScene===!0&&we.onAfterRender(S,we,n2),Ht.resetDefaultState(),I=-1,D=null,_.pop(),_.length>0?v=_[_.length-1]:v=null,g.pop(),g.length>0?m=g[g.length-1]:m=null};function s2(we,n2,E2,D2){if(we.visible===!1)return;if(we.layers.test(n2.layers)){if(we.isGroup)E2=we.renderOrder;else if(we.isLOD)we.autoUpdate===!0&&we.update(n2);else if(we.isLight)v.pushLight(we),we.castShadow&&v.pushShadow(we);else if(we.isSprite){if(!we.frustumCulled||je.intersectsSprite(we)){D2&&p2.setFromMatrixPosition(we.matrixWorld).applyMatrix4(B2);const n3=Te.update(we),l3=we.material;l3.visible&&m.push(we,n3,l3,E2,p2.z,null)}}else if((we.isMesh||we.isLine||we.isPoints)&&(!we.frustumCulled||je.intersectsObject(we))){const n3=Te.update(we),l3=we.material;if(D2&&(we.boundingSphere!==void 0?(we.boundingSphere===null&&we.computeBoundingSphere(),p2.copy(we.boundingSphere.center)):(n3.boundingSphere===null&&n3.computeBoundingSphere(),p2.copy(n3.boundingSphere.center)),p2.applyMatrix4(we.matrixWorld).applyMatrix4(B2)),Array.isArray(l3)){const f3=n3.groups;for(let J=0,H=f3.length;J<H;J++){const w=f3[J],T=l3[w.materialIndex];T&&T.visible&&m.push(we,n3,T,E2,p2.z,w)}}else l3.visible&&m.push(we,n3,l3,E2,p2.z,null)}}const Ot=we.children;for(let n3=0,l3=Ot.length;n3<l3;n3++)s2(Ot[n3],n2,E2,D2)}function et(we,n2,E2,D2){const L2=we.opaque,Ot=we.transmissive,n3=we.transparent;v.setupLightsView(E2),xe===!0&&P2.setGlobalState(S.clippingPlanes,E2),Ot.length>0&&P3(L2,Ot,n2,E2),D2&&k.viewport(E.copy(D2)),L2.length>0&&me(L2,n2,E2),Ot.length>0&&me(Ot,n2,E2),n3.length>0&&me(n3,n2,E2),k.buffers.depth.setTest(!0),k.buffers.depth.setMask(!0),k.buffers.color.setMask(!0),k.setPolygonOffset(!1)}function P3(we,n2,E2,D2){if((E2.isScene===!0?E2.overrideMaterial:null)!==null)return;const Ot=O2.isWebGL2;f2===null&&(f2=new V8(1,1,{generateMipmaps:!0,type:v2.has("EXT_color_buffer_half_float")?Yd:b5,minFilter:ks,samples:Ot?4:0})),S.getDrawingBufferSize(S2),Ot?f2.setSize(S2.x,S2.y):f2.setSize(Gg(S2.x),Gg(S2.y));const n3=S.getRenderTarget();S.setRenderTarget(f2),S.getClearColor(V),G=S.getClearAlpha(),G<1&&S.setClearColor(16777215,.5),S.clear();const l3=S.toneMapping;S.toneMapping=S5,me(we,E2,D2),Z.updateMultisampleRenderTarget(f2),Z.updateRenderTargetMipmap(f2);let f3=!1;for(let J=0,H=n2.length;J<H;J++){const w=n2[J],T=w.object,R=w.geometry,N=w.material,z=w.group;if(N.side===r0&&T.layers.test(D2.layers)){const U=N.side;N.side=ir,N.needsUpdate=!0,ze(T,E2,D2,R,N,z),N.side=U,N.needsUpdate=!0,f3=!0}}f3===!0&&(Z.updateMultisampleRenderTarget(f2),Z.updateRenderTargetMipmap(f2)),S.setRenderTarget(n3),S.setClearColor(V,G),S.toneMapping=l3}function me(we,n2,E2){const D2=n2.isScene===!0?n2.overrideMaterial:null;for(let L2=0,Ot=we.length;L2<Ot;L2++){const n3=we[L2],l3=n3.object,f3=n3.geometry,J=D2===null?n3.material:D2,H=n3.group;l3.layers.test(E2.layers)&&ze(l3,n2,E2,f3,J,H)}}function ze(we,n2,E2,D2,L2,Ot){we.onBeforeRender(S,n2,E2,D2,L2,Ot),we.modelViewMatrix.multiplyMatrices(E2.matrixWorldInverse,we.matrixWorld),we.normalMatrix.getNormalMatrix(we.modelViewMatrix),L2.onBeforeRender(S,n2,E2,D2,we,Ot),L2.transparent===!0&&L2.side===r0&&L2.forceSinglePass===!1?(L2.side=ir,L2.needsUpdate=!0,S.renderBufferDirect(E2,n2,D2,L2,we,Ot),L2.side=Zs,L2.needsUpdate=!0,S.renderBufferDirect(E2,n2,D2,L2,we,Ot),L2.side=r0):S.renderBufferDirect(E2,n2,D2,L2,we,Ot),we.onAfterRender(S,n2,E2,D2,L2,Ot)}function Qe(we,n2,E2){n2.isScene!==!0&&(n2=X2);const D2=A2.get(we),L2=v.state.lights,Ot=v.state.shadowsArray,n3=L2.state.version,l3=$e.getParameters(we,L2.state,Ot,n2,E2),f3=$e.getProgramCacheKey(l3);let J=D2.programs;D2.environment=we.isMeshStandardMaterial?n2.environment:null,D2.fog=n2.fog,D2.envMap=(we.isMeshStandardMaterial?Ge:ee).get(we.envMap||D2.environment),J===void 0&&(we.addEventListener("dispose",at),J=new Map,D2.programs=J);let H=J.get(f3);if(H!==void 0){if(D2.currentProgram===H&&D2.lightsStateVersion===n3)return ct(we,l3),H}else l3.uniforms=$e.getUniforms(we),we.onBuild(E2,l3,S),we.onBeforeCompile(l3,S),H=$e.acquireProgram(l3,f3),J.set(f3,H),D2.uniforms=l3.uniforms;const w=D2.uniforms;return(!we.isShaderMaterial&&!we.isRawShaderMaterial||we.clipping===!0)&&(w.clippingPlanes=P2.uniform),ct(we,l3),D2.needsLights=$t(we),D2.lightsStateVersion=n3,D2.needsLights&&(w.ambientLightColor.value=L2.state.ambient,w.lightProbe.value=L2.state.probe,w.directionalLights.value=L2.state.directional,w.directionalLightShadows.value=L2.state.directionalShadow,w.spotLights.value=L2.state.spot,w.spotLightShadows.value=L2.state.spotShadow,w.rectAreaLights.value=L2.state.rectArea,w.ltc_1.value=L2.state.rectAreaLTC1,w.ltc_2.value=L2.state.rectAreaLTC2,w.pointLights.value=L2.state.point,w.pointLightShadows.value=L2.state.pointShadow,w.hemisphereLights.value=L2.state.hemi,w.directionalShadowMap.value=L2.state.directionalShadowMap,w.directionalShadowMatrix.value=L2.state.directionalShadowMatrix,w.spotShadowMap.value=L2.state.spotShadowMap,w.spotLightMatrix.value=L2.state.spotLightMatrix,w.spotLightMap.value=L2.state.spotLightMap,w.pointShadowMap.value=L2.state.pointShadowMap,w.pointShadowMatrix.value=L2.state.pointShadowMatrix),D2.currentProgram=H,D2.uniformsList=null,H}function y2(we){if(we.uniformsList===null){const n2=we.currentProgram.getUniforms();we.uniformsList=mm.seqWithValue(n2.seq,we.uniforms)}return we.uniformsList}function ct(we,n2){const E2=A2.get(we);E2.outputColorSpace=n2.outputColorSpace,E2.batching=n2.batching,E2.instancing=n2.instancing,E2.instancingColor=n2.instancingColor,E2.skinning=n2.skinning,E2.morphTargets=n2.morphTargets,E2.morphNormals=n2.morphNormals,E2.morphColors=n2.morphColors,E2.morphTargetsCount=n2.morphTargetsCount,E2.numClippingPlanes=n2.numClippingPlanes,E2.numIntersection=n2.numClipIntersection,E2.vertexAlphas=n2.vertexAlphas,E2.vertexTangents=n2.vertexTangents,E2.toneMapping=n2.toneMapping}function Le(we,n2,E2,D2,L2){n2.isScene!==!0&&(n2=X2),Z.resetTextureUnits();const Ot=n2.fog,n3=D2.isMeshStandardMaterial?n2.environment:null,l3=M===null?S.outputColorSpace:M.isXRRenderTarget===!0?M.texture.colorSpace:Sn,f3=(D2.isMeshStandardMaterial?Ge:ee).get(D2.envMap||n3),J=D2.vertexColors===!0&&!!E2.attributes.color&&E2.attributes.color.itemSize===4,H=!!E2.attributes.tangent&&(!!D2.normalMap||D2.anisotropy>0),w=!!E2.morphAttributes.position,T=!!E2.morphAttributes.normal,R=!!E2.morphAttributes.color;let N=S5;D2.toneMapped&&(M===null||M.isXRRenderTarget===!0)&&(N=S.toneMapping);const z=E2.morphAttributes.position||E2.morphAttributes.normal||E2.morphAttributes.color,U=z!==void 0?z.length:0,ue=A2.get(D2),pe=v.state.lights;if(xe===!0&&(Oe===!0||we!==D)){const fe=we===D&&D2.id===I;P2.setState(D2,we,fe)}let de=!1;D2.version===ue.__version?(ue.needsLights&&ue.lightsStateVersion!==pe.state.version||ue.outputColorSpace!==l3||L2.isBatchedMesh&&ue.batching===!1||!L2.isBatchedMesh&&ue.batching===!0||L2.isInstancedMesh&&ue.instancing===!1||!L2.isInstancedMesh&&ue.instancing===!0||L2.isSkinnedMesh&&ue.skinning===!1||!L2.isSkinnedMesh&&ue.skinning===!0||L2.isInstancedMesh&&ue.instancingColor===!0&&L2.instanceColor===null||L2.isInstancedMesh&&ue.instancingColor===!1&&L2.instanceColor!==null||ue.envMap!==f3||D2.fog===!0&&ue.fog!==Ot||ue.numClippingPlanes!==void 0&&(ue.numClippingPlanes!==P2.numPlanes||ue.numIntersection!==P2.numIntersection)||ue.vertexAlphas!==J||ue.vertexTangents!==H||ue.morphTargets!==w||ue.morphNormals!==T||ue.morphColors!==R||ue.toneMapping!==N||O2.isWebGL2===!0&&ue.morphTargetsCount!==U)&&(de=!0):(de=!0,ue.__version=D2.version);let se=ue.currentProgram;de===!0&&(se=Qe(D2,n2,L2));let re=!1,Be=!1,be=!1;const ge=se.getUniforms(),ye=ue.uniforms;if(k.useProgram(se.program)&&(re=!0,Be=!0,be=!0),D2.id!==I&&(I=D2.id,Be=!0),re||D!==we){ge.setValue(Ce,"projectionMatrix",we.projectionMatrix),ge.setValue(Ce,"viewMatrix",we.matrixWorldInverse);const fe=ge.map.cameraPosition;fe!==void 0&&fe.setValue(Ce,p2.setFromMatrixPosition(we.matrixWorld)),O2.logarithmicDepthBuffer&&ge.setValue(Ce,"logDepthBufFC",2/(Math.log(we.far+1)/Math.LN2)),(D2.isMeshPhongMaterial||D2.isMeshToonMaterial||D2.isMeshLambertMaterial||D2.isMeshBasicMaterial||D2.isMeshStandardMaterial||D2.isShaderMaterial)&&ge.setValue(Ce,"isOrthographic",we.isOrthographicCamera===!0),D!==we&&(D=we,Be=!0,be=!0)}if(L2.isSkinnedMesh){ge.setOptional(Ce,L2,"bindMatrix"),ge.setOptional(Ce,L2,"bindMatrixInverse");const fe=L2.skeleton;fe&&(O2.floatVertexTextures?(fe.boneTexture===null&&fe.computeBoneTexture(),ge.setValue(Ce,"boneTexture",fe.boneTexture,Z)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}L2.isBatchedMesh&&(ge.setOptional(Ce,L2,"batchingTexture"),ge.setValue(Ce,"batchingTexture",L2._matricesTexture,Z));const Ze=E2.morphAttributes;if((Ze.position!==void 0||Ze.normal!==void 0||Ze.color!==void 0&&O2.isWebGL2===!0)&&pt.update(L2,E2,se),(Be||ue.receiveShadow!==L2.receiveShadow)&&(ue.receiveShadow=L2.receiveShadow,ge.setValue(Ce,"receiveShadow",L2.receiveShadow)),D2.isMeshGouraudMaterial&&D2.envMap!==null&&(ye.envMap.value=f3,ye.flipEnvMap.value=f3.isCubeTexture&&f3.isRenderTargetTexture===!1?-1:1),Be&&(ge.setValue(Ce,"toneMappingExposure",S.toneMappingExposure),ue.needsLights&&M2(ye,be),Ot&&D2.fog===!0&&Xe.refreshFogUniforms(ye,Ot),Xe.refreshMaterialUniforms(ye,D2,Q,Y,f2),mm.upload(Ce,y2(ue),ye,Z)),D2.isShaderMaterial&&D2.uniformsNeedUpdate===!0&&(mm.upload(Ce,y2(ue),ye,Z),D2.uniformsNeedUpdate=!1),D2.isSpriteMaterial&&ge.setValue(Ce,"center",L2.center),ge.setValue(Ce,"modelViewMatrix",L2.modelViewMatrix),ge.setValue(Ce,"normalMatrix",L2.normalMatrix),ge.setValue(Ce,"modelMatrix",L2.matrixWorld),D2.isShaderMaterial||D2.isRawShaderMaterial){const fe=D2.uniformsGroups;for(let O=0,te=fe.length;O<te;O++)if(O2.isWebGL2){const oe=fe[O];Ue.update(oe,se),Ue.bind(oe,se)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return se}function M2(we,n2){we.ambientLightColor.needsUpdate=n2,we.lightProbe.needsUpdate=n2,we.directionalLights.needsUpdate=n2,we.directionalLightShadows.needsUpdate=n2,we.pointLights.needsUpdate=n2,we.pointLightShadows.needsUpdate=n2,we.spotLights.needsUpdate=n2,we.spotLightShadows.needsUpdate=n2,we.rectAreaLights.needsUpdate=n2,we.hemisphereLights.needsUpdate=n2}function $t(we){return we.isMeshLambertMaterial||we.isMeshToonMaterial||we.isMeshPhongMaterial||we.isMeshStandardMaterial||we.isShadowMaterial||we.isShaderMaterial&&we.lights===!0}this.getActiveCubeFace=function(){return A},this.getActiveMipmapLevel=function(){return C},this.getRenderTarget=function(){return M},this.setRenderTargetTextures=function(we,n2,E2){A2.get(we.texture).__webglTexture=n2,A2.get(we.depthTexture).__webglTexture=E2;const D2=A2.get(we);D2.__hasExternalTextures=!0,D2.__hasExternalTextures&&(D2.__autoAllocateDepthBuffer=E2===void 0,D2.__autoAllocateDepthBuffer||v2.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),D2.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(we,n2){const E2=A2.get(we);E2.__webglFramebuffer=n2,E2.__useDefaultFramebuffer=n2===void 0},this.setRenderTarget=function(we,n2=0,E2=0){M=we,A=n2,C=E2;let D2=!0,L2=null,Ot=!1,n3=!1;if(we){const f3=A2.get(we);f3.__useDefaultFramebuffer!==void 0?(k.bindFramebuffer(Ce.FRAMEBUFFER,null),D2=!1):f3.__webglFramebuffer===void 0?Z.setupRenderTarget(we):f3.__hasExternalTextures&&Z.rebindTextures(we,A2.get(we.texture).__webglTexture,A2.get(we.depthTexture).__webglTexture);const J=we.texture;(J.isData3DTexture||J.isDataArrayTexture||J.isCompressedArrayTexture)&&(n3=!0);const H=A2.get(we).__webglFramebuffer;we.isWebGLCubeRenderTarget?(Array.isArray(H[n2])?L2=H[n2][E2]:L2=H[n2],Ot=!0):O2.isWebGL2&&we.samples>0&&Z.useMultisampledRTT(we)===!1?L2=A2.get(we).__webglMultisampledFramebuffer:Array.isArray(H)?L2=H[E2]:L2=H,E.copy(we.viewport),P.copy(we.scissor),F=we.scissorTest}else E.copy(ie).multiplyScalar(Q).floor(),P.copy(he).multiplyScalar(Q).floor(),F=Ee;if(k.bindFramebuffer(Ce.FRAMEBUFFER,L2)&&O2.drawBuffers&&D2&&k.drawBuffers(we,L2),k.viewport(E),k.scissor(P),k.setScissorTest(F),Ot){const f3=A2.get(we.texture);Ce.framebufferTexture2D(Ce.FRAMEBUFFER,Ce.COLOR_ATTACHMENT0,Ce.TEXTURE_CUBE_MAP_POSITIVE_X+n2,f3.__webglTexture,E2)}else if(n3){const f3=A2.get(we.texture),J=n2||0;Ce.framebufferTextureLayer(Ce.FRAMEBUFFER,Ce.COLOR_ATTACHMENT0,f3.__webglTexture,E2||0,J)}I=-1},this.readRenderTargetPixels=function(we,n2,E2,D2,L2,Ot,n3){if(!(we&&we.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let l3=A2.get(we).__webglFramebuffer;if(we.isWebGLCubeRenderTarget&&n3!==void 0&&(l3=l3[n3]),l3){k.bindFramebuffer(Ce.FRAMEBUFFER,l3);try{const f3=we.texture,J=f3.format,H=f3.type;if(J!==ga&&ut.convert(J)!==Ce.getParameter(Ce.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const w=H===Yd&&(v2.has("EXT_color_buffer_half_float")||O2.isWebGL2&&v2.has("EXT_color_buffer_float"));if(H!==b5&&ut.convert(H)!==Ce.getParameter(Ce.IMPLEMENTATION_COLOR_READ_TYPE)&&!(H===No&&(O2.isWebGL2||v2.has("OES_texture_float")||v2.has("WEBGL_color_buffer_float")))&&!w){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}n2>=0&&n2<=we.width-D2&&E2>=0&&E2<=we.height-L2&&Ce.readPixels(n2,E2,D2,L2,ut.convert(J),ut.convert(H),Ot)}finally{const f3=M!==null?A2.get(M).__webglFramebuffer:null;k.bindFramebuffer(Ce.FRAMEBUFFER,f3)}}},this.copyFramebufferToTexture=function(we,n2,E2=0){const D2=Math.pow(2,-E2),L2=Math.floor(n2.image.width*D2),Ot=Math.floor(n2.image.height*D2);Z.setTexture2D(n2,0),Ce.copyTexSubImage2D(Ce.TEXTURE_2D,E2,0,0,we.x,we.y,L2,Ot),k.unbindTexture()},this.copyTextureToTexture=function(we,n2,E2,D2=0){const L2=n2.image.width,Ot=n2.image.height,n3=ut.convert(E2.format),l3=ut.convert(E2.type);Z.setTexture2D(E2,0),Ce.pixelStorei(Ce.UNPACK_FLIP_Y_WEBGL,E2.flipY),Ce.pixelStorei(Ce.UNPACK_PREMULTIPLY_ALPHA_WEBGL,E2.premultiplyAlpha),Ce.pixelStorei(Ce.UNPACK_ALIGNMENT,E2.unpackAlignment),n2.isDataTexture?Ce.texSubImage2D(Ce.TEXTURE_2D,D2,we.x,we.y,L2,Ot,n3,l3,n2.image.data):n2.isCompressedTexture?Ce.compressedTexSubImage2D(Ce.TEXTURE_2D,D2,we.x,we.y,n2.mipmaps[0].width,n2.mipmaps[0].height,n3,n2.mipmaps[0].data):Ce.texSubImage2D(Ce.TEXTURE_2D,D2,we.x,we.y,n3,l3,n2.image),D2===0&&E2.generateMipmaps&&Ce.generateMipmap(Ce.TEXTURE_2D),k.unbindTexture()},this.copyTextureToTexture3D=function(we,n2,E2,D2,L2=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ot=we.max.x-we.min.x+1,n3=we.max.y-we.min.y+1,l3=we.max.z-we.min.z+1,f3=ut.convert(D2.format),J=ut.convert(D2.type);let H;if(D2.isData3DTexture)Z.setTexture3D(D2,0),H=Ce.TEXTURE_3D;else if(D2.isDataArrayTexture||D2.isCompressedArrayTexture)Z.setTexture2DArray(D2,0),H=Ce.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Ce.pixelStorei(Ce.UNPACK_FLIP_Y_WEBGL,D2.flipY),Ce.pixelStorei(Ce.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D2.premultiplyAlpha),Ce.pixelStorei(Ce.UNPACK_ALIGNMENT,D2.unpackAlignment);const w=Ce.getParameter(Ce.UNPACK_ROW_LENGTH),T=Ce.getParameter(Ce.UNPACK_IMAGE_HEIGHT),R=Ce.getParameter(Ce.UNPACK_SKIP_PIXELS),N=Ce.getParameter(Ce.UNPACK_SKIP_ROWS),z=Ce.getParameter(Ce.UNPACK_SKIP_IMAGES),U=E2.isCompressedTexture?E2.mipmaps[L2]:E2.image;Ce.pixelStorei(Ce.UNPACK_ROW_LENGTH,U.width),Ce.pixelStorei(Ce.UNPACK_IMAGE_HEIGHT,U.height),Ce.pixelStorei(Ce.UNPACK_SKIP_PIXELS,we.min.x),Ce.pixelStorei(Ce.UNPACK_SKIP_ROWS,we.min.y),Ce.pixelStorei(Ce.UNPACK_SKIP_IMAGES,we.min.z),E2.isDataTexture||E2.isData3DTexture?Ce.texSubImage3D(H,L2,n2.x,n2.y,n2.z,Ot,n3,l3,f3,J,U.data):E2.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Ce.compressedTexSubImage3D(H,L2,n2.x,n2.y,n2.z,Ot,n3,l3,f3,U.data)):Ce.texSubImage3D(H,L2,n2.x,n2.y,n2.z,Ot,n3,l3,f3,J,U),Ce.pixelStorei(Ce.UNPACK_ROW_LENGTH,w),Ce.pixelStorei(Ce.UNPACK_IMAGE_HEIGHT,T),Ce.pixelStorei(Ce.UNPACK_SKIP_PIXELS,R),Ce.pixelStorei(Ce.UNPACK_SKIP_ROWS,N),Ce.pixelStorei(Ce.UNPACK_SKIP_IMAGES,z),L2===0&&D2.generateMipmaps&&Ce.generateMipmap(H),k.unbindTexture()},this.initTexture=function(we){we.isCubeTexture?Z.setTextureCube(we,0):we.isData3DTexture?Z.setTexture3D(we,0):we.isDataArrayTexture||we.isCompressedArrayTexture?Z.setTexture2DArray(we,0):Z.setTexture2D(we,0),k.unbindTexture()},this.resetState=function(){A=0,C=0,M=null,k.reset(),Ht.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Fs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===uR?"display-p3":"srgb",t.unpackColorSpace=F1.workingColorSpace===r_?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===W1?L8:DQ}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===L8?W1:Sn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class KDe extends mR{}KDe.prototype.isWebGL1Renderer=!0;class gR{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Jt(e),this.near=t,this.far=i}clone(){return new gR(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class JQ extends s0{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class yR{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=WC,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=wa()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return I8("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,a=this.stride;r<a;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=wa()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=wa()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const bi=new Ie;class Za{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)bi.fromBufferAttribute(this,t),bi.applyMatrix4(e),this.setXYZ(t,bi.x,bi.y,bi.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)bi.fromBufferAttribute(this,t),bi.applyNormalMatrix(e),this.setXYZ(t,bi.x,bi.y,bi.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)bi.fromBufferAttribute(this,t),bi.transformDirection(e),this.setXYZ(t,bi.x,bi.y,bi.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=$a(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=G1(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=G1(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=G1(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=G1(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=G1(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=$a(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=$a(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=$a(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=$a(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array),r=G1(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,a){return e=e*this.data.stride+this.offset,this.normalized&&(t=G1(t,this.array),i=G1(i,this.array),r=G1(r,this.array),a=G1(a,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=a,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let a=0;a<this.itemSize;a++)t.push(this.data.array[r+a])}return new R0(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new Za(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let a=0;a<this.itemSize;a++)t.push(this.data.array[r+a])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class xl extends Ta{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Jt(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let cl;const ac=new Ie,dl=new Ie,hl=new Ie,fl=new Q2,oc=new Q2,QQ=new B3,lv=new Ie,sc=new Ie,uv=new Ie,IV=new Q2,eT=new Q2,DV=new Q2;class lc extends s0{constructor(e=new xl){if(super(),this.isSprite=!0,this.type="Sprite",cl===void 0){cl=new J1;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new yR(t,5);cl.setIndex([0,1,2,0,2,3]),cl.setAttribute("position",new Za(i,3,0,!1)),cl.setAttribute("uv",new Za(i,2,3,!1))}this.geometry=cl,this.material=e,this.center=new Q2(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),dl.setFromMatrixScale(this.matrixWorld),QQ.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),hl.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&dl.multiplyScalar(-hl.z);const i=this.material.rotation;let r,a;i!==0&&(a=Math.cos(i),r=Math.sin(i));const o=this.center;cv(lv.set(-.5,-.5,0),hl,o,dl,r,a),cv(sc.set(.5,-.5,0),hl,o,dl,r,a),cv(uv.set(.5,.5,0),hl,o,dl,r,a),IV.set(0,0),eT.set(1,0),DV.set(1,1);let s=e.ray.intersectTriangle(lv,sc,uv,!1,ac);if(s===null&&(cv(sc.set(-.5,.5,0),hl,o,dl,r,a),eT.set(0,1),s=e.ray.intersectTriangle(lv,uv,sc,!1,ac),s===null))return;const l=e.ray.origin.distanceTo(ac);l<e.near||l>e.far||t.push({distance:l,point:ac.clone(),uv:qa.getInterpolation(ac,lv,sc,uv,IV,eT,DV,new Q2),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function cv(n,e,t,i,r,a){fl.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(oc.x=a*fl.x-r*fl.y,oc.y=r*fl.x+a*fl.y):oc.copy(fl),n.copy(e),n.x+=oc.x,n.y+=oc.y,n.applyMatrix4(QQ)}const NV=new Ie,kV=new M1,FV=new M1,ZDe=new Ie,OV=new B3,dv=new Ie,tT=new Ia,BV=new B3,nT=new J7;class JDe extends h1{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=pU,this.bindMatrix=new B3,this.bindMatrixInverse=new B3,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new La),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,dv),this.boundingBox.expandByPoint(dv)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Ia),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,dv),this.boundingSphere.expandByPoint(dv)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const i=this.material,r=this.matrixWorld;i!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),tT.copy(this.boundingSphere),tT.applyMatrix4(r),e.ray.intersectsSphere(tT)!==!1&&(BV.copy(r).invert(),nT.copy(e.ray).applyMatrix4(BV),!(this.boundingBox!==null&&nT.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,nT)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new M1,t=this.geometry.attributes.skinWeight;for(let i=0,r=t.count;i<r;i++){e.fromBufferAttribute(t,i);const a=1/e.manhattanLength();a!==1/0?e.multiplyScalar(a):e.set(1,0,0,0),t.setXYZW(i,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===pU?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===lEe?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const i=this.skeleton,r=this.geometry;kV.fromBufferAttribute(r.attributes.skinIndex,e),FV.fromBufferAttribute(r.attributes.skinWeight,e),NV.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let a=0;a<4;a++){const o=FV.getComponent(a);if(o!==0){const s=kV.getComponent(a);OV.multiplyMatrices(i.bones[s].matrixWorld,i.boneInverses[s]),t.addScaledVector(ZDe.copy(NV).applyMatrix4(OV),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class eee extends s0{constructor(){super(),this.isBone=!0,this.type="Bone"}}class QDe extends gn{constructor(e=null,t=1,i=1,r,a,o,s,l,u=vn,c=vn,d,h){super(null,o,s,l,u,c,r,a,d,h),this.isDataTexture=!0,this.image={data:e,width:t,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const zV=new B3,eNe=new B3;class _R{constructor(e=[],t=[]){this.uuid=wa(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let i=0,r=this.bones.length;i<r;i++)this.boneInverses.push(new B3)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const i=new B3;this.bones[e]&&i.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(i)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&i.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&(i.parent&&i.parent.isBone?(i.matrix.copy(i.parent.matrixWorld).invert(),i.matrix.multiply(i.matrixWorld)):i.matrix.copy(i.matrixWorld),i.matrix.decompose(i.position,i.quaternion,i.scale))}}update(){const e=this.bones,t=this.boneInverses,i=this.boneMatrices,r=this.boneTexture;for(let a=0,o=e.length;a<o;a++){const s=e[a]?e[a].matrixWorld:eNe;zV.multiplyMatrices(s,t[a]),zV.toArray(i,a*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new _R(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const i=new QDe(t,e,e,ga,No);return i.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=i,this}getBoneByName(e){for(let t=0,i=this.bones.length;t<i;t++){const r=this.bones[t];if(r.name===e)return r}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let i=0,r=e.bones.length;i<r;i++){const a=e.bones[i];let o=t[a];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",a),o=new eee),this.bones.push(o),this.boneInverses.push(new B3().fromArray(e.boneInverses[i]))}return this.init(),this}toJSON(){const e={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,i=this.boneInverses;for(let r=0,a=t.length;r<a;r++){const o=t[r];e.bones.push(o.uuid);const s=i[r];e.boneInverses.push(s.toArray())}return e}}class XC extends R0{constructor(e,t,i,r=1){super(e,t,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const pl=new B3,GV=new B3,hv=[],UV=new La,tNe=new B3,uc=new h1,cc=new Ia;class nNe extends h1{constructor(e,t,i){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new XC(new Float32Array(i*16),16),this.instanceColor=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let r=0;r<i;r++)this.setMatrixAt(r,tNe)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new La),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,pl),UV.copy(e.boundingBox).applyMatrix4(pl),this.boundingBox.union(UV)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new Ia),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,pl),cc.copy(e.boundingSphere).applyMatrix4(pl),this.boundingSphere.union(cc)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}raycast(e,t){const i=this.matrixWorld,r=this.count;if(uc.geometry=this.geometry,uc.material=this.material,uc.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),cc.copy(this.boundingSphere),cc.applyMatrix4(i),e.ray.intersectsSphere(cc)!==!1))for(let a=0;a<r;a++){this.getMatrixAt(a,pl),GV.multiplyMatrices(i,pl),uc.matrixWorld=GV,uc.raycast(e,hv);for(let o=0,s=hv.length;o<s;o++){const l=hv[o];l.instanceId=a,l.object=this,t.push(l)}hv.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new XC(new Float32Array(this.instanceMatrix.count*3),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class ko extends Ta{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Jt(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const VV=new Ie,HV=new Ie,WV=new B3,iT=new J7,fv=new Ia;let Jd=class extends s0{constructor(e=new J1,t=new ko){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[0];for(let r=1,a=t.count;r<a;r++)VV.fromBufferAttribute(t,r-1),HV.fromBufferAttribute(t,r),i[r]=i[r-1],i[r]+=VV.distanceTo(HV);e.setAttribute("lineDistance",new m0(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,a=e.params.Line.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),fv.copy(i.boundingSphere),fv.applyMatrix4(r),fv.radius+=a,e.ray.intersectsSphere(fv)===!1)return;WV.copy(r).invert(),iT.copy(e.ray).applyMatrix4(WV);const s=a/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s,u=new Ie,c=new Ie,d=new Ie,h=new Ie,f=this.isLineSegments?2:1,p=i.index,v=i.attributes.position;if(p!==null){const g=Math.max(0,o.start),_=Math.min(p.count,o.start+o.count);for(let S=g,x=_-1;S<x;S+=f){const A=p.getX(S),C=p.getX(S+1);if(u.fromBufferAttribute(v,A),c.fromBufferAttribute(v,C),iT.distanceSqToSegment(u,c,h,d)>l)continue;h.applyMatrix4(this.matrixWorld);const I=e.ray.origin.distanceTo(h);I<e.near||I>e.far||t.push({distance:I,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),_=Math.min(v.count,o.start+o.count);for(let S=g,x=_-1;S<x;S+=f){if(u.fromBufferAttribute(v,S),c.fromBufferAttribute(v,S+1),iT.distanceSqToSegment(u,c,h,d)>l)continue;h.applyMatrix4(this.matrixWorld);const C=e.ray.origin.distanceTo(h);C<e.near||C>e.far||t.push({distance:C,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}};const jV=new Ie,$V=new Ie;class SR extends Jd{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,a=t.count;r<a;r+=2)jV.fromBufferAttribute(t,r),$V.fromBufferAttribute(t,r+1),i[r]=r===0?0:i[r-1],i[r+1]=i[r]+jV.distanceTo($V);e.setAttribute("lineDistance",new m0(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Ug extends Jd{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class Nh extends Ta{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Jt(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const qV=new B3,YC=new J7,pv=new Ia,vv=new Ie;class bR extends s0{constructor(e=new J1,t=new Nh){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,a=e.params.Points.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),pv.copy(i.boundingSphere),pv.applyMatrix4(r),pv.radius+=a,e.ray.intersectsSphere(pv)===!1)return;qV.copy(r).invert(),YC.copy(e.ray).applyMatrix4(qV);const s=a/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s,u=i.index,d=i.attributes.position;if(u!==null){const h=Math.max(0,o.start),f=Math.min(u.count,o.start+o.count);for(let p=h,m=f;p<m;p++){const v=u.getX(p);vv.fromBufferAttribute(d,v),XV(vv,v,l,r,e,t,this)}}else{const h=Math.max(0,o.start),f=Math.min(d.count,o.start+o.count);for(let p=h,m=f;p<m;p++)vv.fromBufferAttribute(d,p),XV(vv,p,l,r,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}}function XV(n,e,t,i,r,a,o){const s=YC.distanceSqToPoint(n);if(s<t){const l=new Ie;YC.closestPointToPoint(n,l),l.applyMatrix4(i);const u=r.ray.origin.distanceTo(l);if(u<r.near||u>r.far)return;a.push({distance:u,distanceToRay:Math.sqrt(s),point:l,index:e,face:null,object:o})}}class xR extends gn{constructor(e,t,i,r,a,o,s,l,u){super(e,t,i,r,a,o,s,l,u),this.isCanvasTexture=!0,this.needsUpdate=!0}}class is{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),a=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),a+=i.distanceTo(r),t.push(a),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const a=i.length;let o;t?o=t:o=e*i[a-1];let s=0,l=a-1,u;for(;s<=l;)if(r=Math.floor(s+(l-s)/2),u=i[r]-o,u<0)s=r+1;else if(u>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(a-1);const c=i[r],h=i[r+1]-c,f=(o-c)/h;return(r+f)/(a-1)}getTangent(e,t){let r=e-1e-4,a=e+1e-4;r<0&&(r=0),a>1&&(a=1);const o=this.getPoint(r),s=this.getPoint(a),l=t||(o.isVector2?new Q2:new Ie);return l.copy(s).sub(o).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new Ie,r=[],a=[],o=[],s=new Ie,l=new B3;for(let f=0;f<=e;f++){const p=f/e;r[f]=this.getTangentAt(p,new Ie)}a[0]=new Ie,o[0]=new Ie;let u=Number.MAX_VALUE;const c=Math.abs(r[0].x),d=Math.abs(r[0].y),h=Math.abs(r[0].z);c<=u&&(u=c,i.set(1,0,0)),d<=u&&(u=d,i.set(0,1,0)),h<=u&&i.set(0,0,1),s.crossVectors(r[0],i).normalize(),a[0].crossVectors(r[0],s),o[0].crossVectors(r[0],a[0]);for(let f=1;f<=e;f++){if(a[f]=a[f-1].clone(),o[f]=o[f-1].clone(),s.crossVectors(r[f-1],r[f]),s.length()>Number.EPSILON){s.normalize();const p=Math.acos(sn(r[f-1].dot(r[f]),-1,1));a[f].applyMatrix4(l.makeRotationAxis(s,p))}o[f].crossVectors(r[f],a[f])}if(t===!0){let f=Math.acos(sn(a[0].dot(a[e]),-1,1));f/=e,r[0].dot(s.crossVectors(a[0],a[e]))>0&&(f=-f);for(let p=1;p<=e;p++)a[p].applyMatrix4(l.makeRotationAxis(r[p],f*p)),o[p].crossVectors(r[p],a[p])}return{tangents:r,normals:a,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class wR extends is{constructor(e=0,t=0,i=1,r=1,a=0,o=Math.PI*2,s=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=a,this.aEndAngle=o,this.aClockwise=s,this.aRotation=l}getPoint(e,t){const i=t||new Q2,r=Math.PI*2;let a=this.aEndAngle-this.aStartAngle;const o=Math.abs(a)<Number.EPSILON;for(;a<0;)a+=r;for(;a>r;)a-=r;a<Number.EPSILON&&(o?a=0:a=r),this.aClockwise===!0&&!o&&(a===r?a=-r:a=a-r);const s=this.aStartAngle+e*a;let l=this.aX+this.xRadius*Math.cos(s),u=this.aY+this.yRadius*Math.sin(s);if(this.aRotation!==0){const c=Math.cos(this.aRotation),d=Math.sin(this.aRotation),h=l-this.aX,f=u-this.aY;l=h*c-f*d+this.aX,u=h*d+f*c+this.aY}return i.set(l,u)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}}class iNe extends wR{constructor(e,t,i,r,a,o){super(e,t,i,i,r,a,o),this.isArcCurve=!0,this.type="ArcCurve"}}function TR(){let n=0,e=0,t=0,i=0;function r(a,o,s,l){n=a,e=s,t=-3*a+3*o-2*s-l,i=2*a-2*o+s+l}return{initCatmullRom:function(a,o,s,l,u){r(o,s,u*(s-a),u*(l-o))},initNonuniformCatmullRom:function(a,o,s,l,u,c,d){let h=(o-a)/u-(s-a)/(u+c)+(s-o)/c,f=(s-o)/c-(l-o)/(c+d)+(l-s)/d;h*=c,f*=c,r(o,s,h,f)},calc:function(a){const o=a*a,s=o*a;return n+e*a+t*o+i*s}}}const mv=new Ie,rT=new TR,aT=new TR,oT=new TR;class AR extends is{constructor(e=[],t=!1,i="centripetal",r=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=i,this.tension=r}getPoint(e,t=new Ie){const i=t,r=this.points,a=r.length,o=(a-(this.closed?0:1))*e;let s=Math.floor(o),l=o-s;this.closed?s+=s>0?0:(Math.floor(Math.abs(s)/a)+1)*a:l===0&&s===a-1&&(s=a-2,l=1);let u,c;this.closed||s>0?u=r[(s-1)%a]:(mv.subVectors(r[0],r[1]).add(r[0]),u=mv);const d=r[s%a],h=r[(s+1)%a];if(this.closed||s+2<a?c=r[(s+2)%a]:(mv.subVectors(r[a-1],r[a-2]).add(r[a-1]),c=mv),this.curveType==="centripetal"||this.curveType==="chordal"){const f=this.curveType==="chordal"?.5:.25;let p=Math.pow(u.distanceToSquared(d),f),m=Math.pow(d.distanceToSquared(h),f),v=Math.pow(h.distanceToSquared(c),f);m<1e-4&&(m=1),p<1e-4&&(p=m),v<1e-4&&(v=m),rT.initNonuniformCatmullRom(u.x,d.x,h.x,c.x,p,m,v),aT.initNonuniformCatmullRom(u.y,d.y,h.y,c.y,p,m,v),oT.initNonuniformCatmullRom(u.z,d.z,h.z,c.z,p,m,v)}else this.curveType==="catmullrom"&&(rT.initCatmullRom(u.x,d.x,h.x,c.x,this.tension),aT.initCatmullRom(u.y,d.y,h.y,c.y,this.tension),oT.initCatmullRom(u.z,d.z,h.z,c.z,this.tension));return i.set(rT.calc(l),aT.calc(l),oT.calc(l)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new Ie().fromArray(r))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function YV(n,e,t,i,r){const a=(i-e)*.5,o=(r-t)*.5,s=n*n,l=n*s;return(2*t-2*i+a+o)*l+(-3*t+3*i-2*a-o)*s+a*n+t}function rNe(n,e){const t=1-n;return t*t*e}function aNe(n,e){return 2*(1-n)*n*e}function oNe(n,e){return n*n*e}function nd(n,e,t,i){return rNe(n,e)+aNe(n,t)+oNe(n,i)}function sNe(n,e){const t=1-n;return t*t*t*e}function lNe(n,e){const t=1-n;return 3*t*t*n*e}function uNe(n,e){return 3*(1-n)*n*n*e}function cNe(n,e){return n*n*n*e}function id(n,e,t,i,r){return sNe(n,e)+lNe(n,t)+uNe(n,i)+cNe(n,r)}class tee extends is{constructor(e=new Q2,t=new Q2,i=new Q2,r=new Q2){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new Q2){const i=t,r=this.v0,a=this.v1,o=this.v2,s=this.v3;return i.set(id(e,r.x,a.x,o.x,s.x),id(e,r.y,a.y,o.y,s.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class dNe extends is{constructor(e=new Ie,t=new Ie,i=new Ie,r=new Ie){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new Ie){const i=t,r=this.v0,a=this.v1,o=this.v2,s=this.v3;return i.set(id(e,r.x,a.x,o.x,s.x),id(e,r.y,a.y,o.y,s.y),id(e,r.z,a.z,o.z,s.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class nee extends is{constructor(e=new Q2,t=new Q2){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new Q2){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new Q2){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class hNe extends is{constructor(e=new Ie,t=new Ie){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new Ie){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new Ie){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class iee extends is{constructor(e=new Q2,t=new Q2,i=new Q2){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Q2){const i=t,r=this.v0,a=this.v1,o=this.v2;return i.set(nd(e,r.x,a.x,o.x),nd(e,r.y,a.y,o.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class ree extends is{constructor(e=new Ie,t=new Ie,i=new Ie){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Ie){const i=t,r=this.v0,a=this.v1,o=this.v2;return i.set(nd(e,r.x,a.x,o.x),nd(e,r.y,a.y,o.y),nd(e,r.z,a.z,o.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class aee extends is{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new Q2){const i=t,r=this.points,a=(r.length-1)*e,o=Math.floor(a),s=a-o,l=r[o===0?o:o-1],u=r[o],c=r[o>r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(YV(s,l.x,u.x,c.x,d.x),YV(s,l.y,u.y,c.y,d.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new Q2().fromArray(r))}return this}}var Vg=Object.freeze({__proto__:null,ArcCurve:iNe,CatmullRomCurve3:AR,CubicBezierCurve:tee,CubicBezierCurve3:dNe,EllipseCurve:wR,LineCurve:nee,LineCurve3:hNe,QuadraticBezierCurve:iee,QuadraticBezierCurve3:ree,SplineCurve:aee});class fNe extends is{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){const i=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new Vg[i](t,e))}return this}getPoint(e,t){const i=e*this.getLength(),r=this.getCurveLengths();let a=0;for(;a<r.length;){if(r[a]>=i){const o=r[a]-i,s=this.curves[a],l=s.getLength(),u=l===0?0:1-o/l;return s.getPointAt(u,t)}a++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i<r;i++)t+=this.curves[i].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let i;for(let r=0,a=this.curves;r<a.length;r++){const o=a[r],s=o.isEllipseCurve?e*2:o.isLineCurve||o.isLineCurve3?1:o.isSplineCurve?e*o.points.length:e,l=o.getPoints(s);for(let u=0;u<l.length;u++){const c=l[u];i&&i.equals(c)||(t.push(c),i=c)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(r.clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,i=this.curves.length;t<i;t++){const r=this.curves[t];e.curves.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(new Vg[r.type]().fromJSON(r))}return this}}class KV extends fNe{constructor(e){super(),this.type="Path",this.currentPoint=new Q2,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;t<i;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){const i=new nee(this.currentPoint.clone(),new Q2(e,t));return this.curves.push(i),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,i,r){const a=new iee(this.currentPoint.clone(),new Q2(e,t),new Q2(i,r));return this.curves.push(a),this.currentPoint.set(i,r),this}bezierCurveTo(e,t,i,r,a,o){const s=new tee(this.currentPoint.clone(),new Q2(e,t),new Q2(i,r),new Q2(a,o));return this.curves.push(s),this.currentPoint.set(a,o),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),i=new aee(t);return this.curves.push(i),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,i,r,a,o){const s=this.currentPoint.x,l=this.currentPoint.y;return this.absarc(e+s,t+l,i,r,a,o),this}absarc(e,t,i,r,a,o){return this.absellipse(e,t,i,i,r,a,o),this}ellipse(e,t,i,r,a,o,s,l){const u=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(e+u,t+c,i,r,a,o,s,l),this}absellipse(e,t,i,r,a,o,s,l){const u=new wR(e,t,i,r,a,o,s,l);if(this.curves.length>0){const d=u.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(u);const c=u.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class jo extends KV{constructor(e){super(e),this.uuid=wa(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let i=0,r=this.holes.length;i<r;i++)t[i]=this.holes[i].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,i=this.holes.length;t<i;t++){const r=this.holes[t];e.holes.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(new KV().fromJSON(r))}return this}}const pNe={triangulate:function(n,e,t=2){const i=e&&e.length,r=i?e[0]*t:n.length;let a=oee(n,0,r,t,!0);const o=[];if(!a||a.next===a.prev)return o;let s,l,u,c,d,h,f;if(i&&(a=_Ne(n,e,a,t)),n.length>80*t){s=u=n[0],l=c=n[1];for(let p=t;p<r;p+=t)d=n[p],h=n[p+1],d<s&&(s=d),h<l&&(l=h),d>u&&(u=d),h>c&&(c=h);f=Math.max(u-s,c-l),f=f!==0?32767/f:0}return Qd(a,o,t,s,l,f,0),o}};function oee(n,e,t,i,r){let a,o;if(r===RNe(n,e,t,i)>0)for(a=e;a<t;a+=i)o=ZV(a,n[a],n[a+1],o);else for(a=t-i;a>=e;a-=i)o=ZV(a,n[a],n[a+1],o);return o&&l_(o,o.next)&&(th(o),o=o.next),o}function H8(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(l_(t,t.next)||E0(t.prev,t,t.next)===0)){if(th(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Qd(n,e,t,i,r,a,o){if(!n)return;!o&&a&&TNe(n,i,r,a);let s=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,a?mNe(n,i,r,a):vNe(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),th(n),n=u.next,s=u.next;continue}if(n=u,n===s){o?o===1?(n=gNe(H8(n),e,t),Qd(n,e,t,i,r,a,2)):o===2&&yNe(n,e,t,i,r,a):Qd(H8(n),e,t,i,r,a,1);break}}}function vNe(n){const e=n.prev,t=n,i=n.next;if(E0(e,t,i)>=0)return!1;const r=e.x,a=t.x,o=i.x,s=e.y,l=t.y,u=i.y,c=r<a?r<o?r:o:a<o?a:o,d=s<l?s<u?s:u:l<u?l:u,h=r>a?r>o?r:o:a>o?a:o,f=s>l?s>u?s:u:l>u?l:u;let p=i.next;for(;p!==e;){if(p.x>=c&&p.x<=h&&p.y>=d&&p.y<=f&&Nl(r,s,a,l,o,u,p.x,p.y)&&E0(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function mNe(n,e,t,i){const r=n.prev,a=n,o=n.next;if(E0(r,a,o)>=0)return!1;const s=r.x,l=a.x,u=o.x,c=r.y,d=a.y,h=o.y,f=s<l?s<u?s:u:l<u?l:u,p=c<d?c<h?c:h:d<h?d:h,m=s>l?s>u?s:u:l>u?l:u,v=c>d?c>h?c:h:d>h?d:h,g=KC(f,p,e,t,i),_=KC(m,v,e,t,i);let S=n.prevZ,x=n.nextZ;for(;S&&S.z>=g&&x&&x.z<=_;){if(S.x>=f&&S.x<=m&&S.y>=p&&S.y<=v&&S!==r&&S!==o&&Nl(s,c,l,d,u,h,S.x,S.y)&&E0(S.prev,S,S.next)>=0||(S=S.prevZ,x.x>=f&&x.x<=m&&x.y>=p&&x.y<=v&&x!==r&&x!==o&&Nl(s,c,l,d,u,h,x.x,x.y)&&E0(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;S&&S.z>=g;){if(S.x>=f&&S.x<=m&&S.y>=p&&S.y<=v&&S!==r&&S!==o&&Nl(s,c,l,d,u,h,S.x,S.y)&&E0(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;x&&x.z<=_;){if(x.x>=f&&x.x<=m&&x.y>=p&&x.y<=v&&x!==r&&x!==o&&Nl(s,c,l,d,u,h,x.x,x.y)&&E0(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function gNe(n,e,t){let i=n;do{const r=i.prev,a=i.next.next;!l_(r,a)&&see(r,i,i.next,a)&&eh(r,a)&&eh(a,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(a.i/t|0),th(i),th(i.next),i=n=a),i=i.next}while(i!==n);return H8(i)}function yNe(n,e,t,i,r,a){let o=n;do{let s=o.next.next;for(;s!==o.prev;){if(o.i!==s.i&&MNe(o,s)){let l=lee(o,s);o=H8(o,o.next),l=H8(l,l.next),Qd(o,e,t,i,r,a,0),Qd(l,e,t,i,r,a,0);return}s=s.next}o=o.next}while(o!==n)}function _Ne(n,e,t,i){const r=[];let a,o,s,l,u;for(a=0,o=e.length;a<o;a++)s=e[a]*i,l=a<o-1?e[a+1]*i:n.length,u=oee(n,s,l,i,!1),u===u.next&&(u.steiner=!0),r.push(CNe(u));for(r.sort(SNe),a=0;a<r.length;a++)t=bNe(r[a],t);return t}function SNe(n,e){return n.x-e.x}function bNe(n,e){const t=xNe(n,e);if(!t)return e;const i=lee(t,n);return H8(i,i.next),H8(t,t.next)}function xNe(n,e){let t=e,i=-1/0,r;const a=n.x,o=n.y;do{if(o<=t.y&&o>=t.next.y&&t.next.y!==t.y){const h=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=a&&h>i&&(i=h,r=t.x<t.next.x?t:t.next,h===a))return r}t=t.next}while(t!==e);if(!r)return null;const s=r,l=r.x,u=r.y;let c=1/0,d;t=r;do a>=t.x&&t.x>=l&&a!==t.x&&Nl(o<u?a:i,o,l,u,o<u?i:a,o,t.x,t.y)&&(d=Math.abs(o-t.y)/(a-t.x),eh(t,n)&&(d<c||d===c&&(t.x>r.x||t.x===r.x&&wNe(r,t)))&&(r=t,c=d)),t=t.next;while(t!==s);return r}function wNe(n,e){return E0(n.prev,n,e.prev)<0&&E0(e.next,n,n.next)<0}function TNe(n,e,t,i){let r=n;do r.z===0&&(r.z=KC(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,ANe(r)}function ANe(n){let e,t,i,r,a,o,s,l,u=1;do{for(t=n,n=null,a=null,o=0;t;){for(o++,i=t,s=0,e=0;e<u&&(s++,i=i.nextZ,!!i);e++);for(l=u;s>0||l>0&&i;)s!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,s--):(r=i,i=i.nextZ,l--),a?a.nextZ=r:n=r,r.prevZ=a,a=r;t=i}a.nextZ=null,u*=2}while(o>1);return n}function KC(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function CNe(n){let e=n,t=n;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==n);return t}function Nl(n,e,t,i,r,a,o,s){return(r-o)*(e-s)>=(n-o)*(a-s)&&(n-o)*(i-s)>=(t-o)*(e-s)&&(t-o)*(a-s)>=(r-o)*(i-s)}function MNe(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!ENe(n,e)&&(eh(n,e)&&eh(e,n)&&PNe(n,e)&&(E0(n.prev,n,e.prev)||E0(n,e.prev,e))||l_(n,e)&&E0(n.prev,n,n.next)>0&&E0(e.prev,e,e.next)>0)}function E0(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function l_(n,e){return n.x===e.x&&n.y===e.y}function see(n,e,t,i){const r=yv(E0(n,e,t)),a=yv(E0(n,e,i)),o=yv(E0(t,i,n)),s=yv(E0(t,i,e));return!!(r!==a&&o!==s||r===0&&gv(n,t,e)||a===0&&gv(n,i,e)||o===0&&gv(t,n,i)||s===0&&gv(t,e,i))}function gv(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function yv(n){return n>0?1:n<0?-1:0}function ENe(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&see(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function eh(n,e){return E0(n.prev,n,n.next)<0?E0(n,e,n.next)>=0&&E0(n,n.prev,e)>=0:E0(n,e,n.prev)<0||E0(n,n.next,e)<0}function PNe(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,a=(n.y+e.y)/2;do t.y>a!=t.next.y>a&&t.next.y!==t.y&&r<(t.next.x-t.x)*(a-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function lee(n,e){const t=new ZC(n.i,n.x,n.y),i=new ZC(e.i,e.x,e.y),r=n.next,a=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,a.next=i,i.prev=a,i}function ZV(n,e,t,i){const r=new ZC(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function th(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function ZC(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function RNe(n,e,t,i){let r=0;for(let a=e,o=t-i;a<t;a+=i)r+=(n[o]-n[a])*(n[a+1]+n[o+1]),o=a;return r}class x5{static area(e){const t=e.length;let i=0;for(let r=t-1,a=0;a<t;r=a++)i+=e[r].x*e[a].y-e[a].x*e[r].y;return i*.5}static isClockWise(e){return x5.area(e)<0}static triangulateShape(e,t){const i=[],r=[],a=[];JV(e),QV(i,e);let o=e.length;t.forEach(JV);for(let l=0;l<t.length;l++)r.push(o),o+=t[l].length,QV(i,t[l]);const s=pNe.triangulate(i,r);for(let l=0;l<s.length;l+=3)a.push(s.slice(l,l+3));return a}}function JV(n){const e=n.length;e>2&&n[e-1].equals(n[0])&&n.pop()}function QV(n,e){for(let t=0;t<e.length;t++)n.push(e[t].x),n.push(e[t].y)}class u_ extends J1{constructor(e=new jo([new Q2(.5,.5),new Q2(-.5,.5),new Q2(-.5,-.5),new Q2(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const i=this,r=[],a=[];for(let s=0,l=e.length;s<l;s++){const u=e[s];o(u)}this.setAttribute("position",new m0(r,3)),this.setAttribute("uv",new m0(a,2)),this.computeVertexNormals();function o(s){const l=[],u=t.curveSegments!==void 0?t.curveSegments:12,c=t.steps!==void 0?t.steps:1,d=t.depth!==void 0?t.depth:1;let h=t.bevelEnabled!==void 0?t.bevelEnabled:!0,f=t.bevelThickness!==void 0?t.bevelThickness:.2,p=t.bevelSize!==void 0?t.bevelSize:f-.1,m=t.bevelOffset!==void 0?t.bevelOffset:0,v=t.bevelSegments!==void 0?t.bevelSegments:3;const g=t.extrudePath,_=t.UVGenerator!==void 0?t.UVGenerator:LNe;let S,x=!1,A,C,M,I;g&&(S=g.getSpacedPoints(c),x=!0,h=!1,A=g.computeFrenetFrames(c,!1),C=new Ie,M=new Ie,I=new Ie),h||(v=0,f=0,p=0,m=0);const D=s.extractPoints(u);let E=D.shape;const P=D.holes;if(!x5.isClockWise(E)){E=E.reverse();for(let Ce=0,R2=P.length;Ce<R2;Ce++){const v2=P[Ce];x5.isClockWise(v2)&&(P[Ce]=v2.reverse())}}const V=x5.triangulateShape(E,P),G=E;for(let Ce=0,R2=P.length;Ce<R2;Ce++){const v2=P[Ce];E=E.concat(v2)}function W(Ce,R2,v2){return R2||console.error("THREE.ExtrudeGeometry: vec does not exist"),Ce.clone().addScaledVector(R2,v2)}const Y=E.length,Q=V.length;function K(Ce,R2,v2){let O2,k,_2;const A2=Ce.x-R2.x,Z=Ce.y-R2.y,ee=v2.x-Ce.x,Ge=v2.y-Ce.y,T2=A2*A2+Z*Z,z2=A2*Ge-Z*ee;if(Math.abs(z2)>Number.EPSILON){const Te=Math.sqrt(T2),$e=Math.sqrt(ee*ee+Ge*Ge),Xe=R2.x-Z/Te,Ne=R2.y+A2/Te,u2=v2.x-Ge/$e,P2=v2.y+ee/$e,d2=((u2-Xe)*Ge-(P2-Ne)*ee)/(A2*Ge-Z*ee);O2=Xe+A2*d2-Ce.x,k=Ne+Z*d2-Ce.y;const st=O2*O2+k*k;if(st<=2)return new Q2(O2,k);_2=Math.sqrt(st/2)}else{let Te=!1;A2>Number.EPSILON?ee>Number.EPSILON&&(Te=!0):A2<-Number.EPSILON?ee<-Number.EPSILON&&(Te=!0):Math.sign(Z)===Math.sign(Ge)&&(Te=!0),Te?(O2=-Z,k=A2,_2=Math.sqrt(T2)):(O2=A2,k=Z,_2=Math.sqrt(T2/2))}return new Q2(O2/_2,k/_2)}const ae=[];for(let Ce=0,R2=G.length,v2=R2-1,O2=Ce+1;Ce<R2;Ce++,v2++,O2++)v2===R2&&(v2=0),O2===R2&&(O2=0),ae[Ce]=K(G[Ce],G[v2],G[O2]);const ie=[];let he,Ee=ae.concat();for(let Ce=0,R2=P.length;Ce<R2;Ce++){const v2=P[Ce];he=[];for(let O2=0,k=v2.length,_2=k-1,A2=O2+1;O2<k;O2++,_2++,A2++)_2===k&&(_2=0),A2===k&&(A2=0),he[O2]=K(v2[O2],v2[_2],v2[A2]);ie.push(he),Ee=Ee.concat(he)}for(let Ce=0;Ce<v;Ce++){const R2=Ce/v,v2=f*Math.cos(R2*Math.PI/2),O2=p*Math.sin(R2*Math.PI/2)+m;for(let k=0,_2=G.length;k<_2;k++){const A2=W(G[k],ae[k],O2);B2(A2.x,A2.y,-v2)}for(let k=0,_2=P.length;k<_2;k++){const A2=P[k];he=ie[k];for(let Z=0,ee=A2.length;Z<ee;Z++){const Ge=W(A2[Z],he[Z],O2);B2(Ge.x,Ge.y,-v2)}}}const je=p+m;for(let Ce=0;Ce<Y;Ce++){const R2=h?W(E[Ce],Ee[Ce],je):E[Ce];x?(M.copy(A.normals[0]).multiplyScalar(R2.x),C.copy(A.binormals[0]).multiplyScalar(R2.y),I.copy(S[0]).add(M).add(C),B2(I.x,I.y,I.z)):B2(R2.x,R2.y,0)}for(let Ce=1;Ce<=c;Ce++)for(let R2=0;R2<Y;R2++){const v2=h?W(E[R2],Ee[R2],je):E[R2];x?(M.copy(A.normals[Ce]).multiplyScalar(v2.x),C.copy(A.binormals[Ce]).multiplyScalar(v2.y),I.copy(S[Ce]).add(M).add(C),B2(I.x,I.y,I.z)):B2(v2.x,v2.y,d/c*Ce)}for(let Ce=v-1;Ce>=0;Ce--){const R2=Ce/v,v2=f*Math.cos(R2*Math.PI/2),O2=p*Math.sin(R2*Math.PI/2)+m;for(let k=0,_2=G.length;k<_2;k++){const A2=W(G[k],ae[k],O2);B2(A2.x,A2.y,d+v2)}for(let k=0,_2=P.length;k<_2;k++){const A2=P[k];he=ie[k];for(let Z=0,ee=A2.length;Z<ee;Z++){const Ge=W(A2[Z],he[Z],O2);x?B2(Ge.x,Ge.y+S[c-1].y,S[c-1].x+v2):B2(Ge.x,Ge.y,d+v2)}}}xe(),Oe();function xe(){const Ce=r.length/3;if(h){let R2=0,v2=Y*R2;for(let O2=0;O2<Q;O2++){const k=V[O2];S2(k[2]+v2,k[1]+v2,k[0]+v2)}R2=c+v*2,v2=Y*R2;for(let O2=0;O2<Q;O2++){const k=V[O2];S2(k[0]+v2,k[1]+v2,k[2]+v2)}}else{for(let R2=0;R2<Q;R2++){const v2=V[R2];S2(v2[2],v2[1],v2[0])}for(let R2=0;R2<Q;R2++){const v2=V[R2];S2(v2[0]+Y*c,v2[1]+Y*c,v2[2]+Y*c)}}i.addGroup(Ce,r.length/3-Ce,0)}function Oe(){const Ce=r.length/3;let R2=0;f2(G,R2),R2+=G.length;for(let v2=0,O2=P.length;v2<O2;v2++){const k=P[v2];f2(k,R2),R2+=k.length}i.addGroup(Ce,r.length/3-Ce,1)}function f2(Ce,R2){let v2=Ce.length;for(;--v2>=0;){const O2=v2;let k=v2-1;k<0&&(k=Ce.length-1);for(let _2=0,A2=c+v*2;_2<A2;_2++){const Z=Y*_2,ee=Y*(_2+1),Ge=R2+O2+Z,T2=R2+k+Z,z2=R2+k+ee,Te=R2+O2+ee;p2(Ge,T2,z2,Te)}}}function B2(Ce,R2,v2){l.push(Ce),l.push(R2),l.push(v2)}function S2(Ce,R2,v2){X2(Ce),X2(R2),X2(v2);const O2=r.length/3,k=_.generateTopUV(i,r,O2-3,O2-2,O2-1);w2(k[0]),w2(k[1]),w2(k[2])}function p2(Ce,R2,v2,O2){X2(Ce),X2(R2),X2(O2),X2(R2),X2(v2),X2(O2);const k=r.length/3,_2=_.generateSideWallUV(i,r,k-6,k-3,k-2,k-1);w2(_2[0]),w2(_2[1]),w2(_2[3]),w2(_2[1]),w2(_2[2]),w2(_2[3])}function X2(Ce){r.push(l[Ce*3+0]),r.push(l[Ce*3+1]),r.push(l[Ce*3+2])}function w2(Ce){a.push(Ce.x),a.push(Ce.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,i=this.parameters.options;return INe(t,i,e)}static fromJSON(e,t){const i=[];for(let a=0,o=e.shapes.length;a<o;a++){const s=t[e.shapes[a]];i.push(s)}const r=e.options.extrudePath;return r!==void 0&&(e.options.extrudePath=new Vg[r.type]().fromJSON(r)),new u_(i,e.options)}}const LNe={generateTopUV:function(n,e,t,i,r){const a=e[t*3],o=e[t*3+1],s=e[i*3],l=e[i*3+1],u=e[r*3],c=e[r*3+1];return[new Q2(a,o),new Q2(s,l),new Q2(u,c)]},generateSideWallUV:function(n,e,t,i,r,a){const o=e[t*3],s=e[t*3+1],l=e[t*3+2],u=e[i*3],c=e[i*3+1],d=e[i*3+2],h=e[r*3],f=e[r*3+1],p=e[r*3+2],m=e[a*3],v=e[a*3+1],g=e[a*3+2];return Math.abs(s-c)<Math.abs(o-u)?[new Q2(o,1-l),new Q2(u,1-d),new Q2(h,1-p),new Q2(m,1-g)]:[new Q2(s,1-l),new Q2(c,1-d),new Q2(f,1-p),new Q2(v,1-g)]}};function INe(n,e,t){if(t.shapes=[],Array.isArray(n))for(let i=0,r=n.length;i<r;i++){const a=n[i];t.shapes.push(a.uuid)}else t.shapes.push(n.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}class kh extends J1{constructor(e=new jo([new Q2(0,.5),new Q2(-.5,-.5),new Q2(.5,-.5)]),t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const i=[],r=[],a=[],o=[];let s=0,l=0;if(Array.isArray(e)===!1)u(e);else for(let c=0;c<e.length;c++)u(e[c]),this.addGroup(s,l,c),s+=l,l=0;this.setIndex(i),this.setAttribute("position",new m0(r,3)),this.setAttribute("normal",new m0(a,3)),this.setAttribute("uv",new m0(o,2));function u(c){const d=r.length/3,h=c.extractPoints(t);let f=h.shape;const p=h.holes;x5.isClockWise(f)===!1&&(f=f.reverse());for(let v=0,g=p.length;v<g;v++){const _=p[v];x5.isClockWise(_)===!0&&(p[v]=_.reverse())}const m=x5.triangulateShape(f,p);for(let v=0,g=p.length;v<g;v++){const _=p[v];f=f.concat(_)}for(let v=0,g=f.length;v<g;v++){const _=f[v];r.push(_.x,_.y,0),a.push(0,0,1),o.push(_.x,_.y)}for(let v=0,g=m.length;v<g;v++){const _=m[v],S=_[0]+d,x=_[1]+d,A=_[2]+d;i.push(S,x,A),l+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes;return DNe(t,e)}static fromJSON(e,t){const i=[];for(let r=0,a=e.shapes.length;r<a;r++){const o=t[e.shapes[r]];i.push(o)}return new kh(i,e.curveSegments)}}function DNe(n,e){if(e.shapes=[],Array.isArray(n))for(let t=0,i=n.length;t<i;t++){const r=n[t];e.shapes.push(r.uuid)}else e.shapes.push(n.uuid);return e}class c_ extends J1{constructor(e=new ree(new Ie(-1,-1,0),new Ie(-1,1,0),new Ie(1,1,0)),t=64,i=1,r=8,a=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:i,radialSegments:r,closed:a};const o=e.computeFrenetFrames(t,a);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;const s=new Ie,l=new Ie,u=new Q2;let c=new Ie;const d=[],h=[],f=[],p=[];m(),this.setIndex(p),this.setAttribute("position",new m0(d,3)),this.setAttribute("normal",new m0(h,3)),this.setAttribute("uv",new m0(f,2));function m(){for(let S=0;S<t;S++)v(S);v(a===!1?t:0),_(),g()}function v(S){c=e.getPointAt(S/t,c);const x=o.normals[S],A=o.binormals[S];for(let C=0;C<=r;C++){const M=C/r*Math.PI*2,I=Math.sin(M),D=-Math.cos(M);l.x=D*x.x+I*A.x,l.y=D*x.y+I*A.y,l.z=D*x.z+I*A.z,l.normalize(),h.push(l.x,l.y,l.z),s.x=c.x+i*l.x,s.y=c.y+i*l.y,s.z=c.z+i*l.z,d.push(s.x,s.y,s.z)}}function g(){for(let S=1;S<=t;S++)for(let x=1;x<=r;x++){const A=(r+1)*(S-1)+(x-1),C=(r+1)*S+(x-1),M=(r+1)*S+x,I=(r+1)*(S-1)+x;p.push(A,C,I),p.push(C,M,I)}}function _(){for(let S=0;S<=t;S++)for(let x=0;x<=r;x++)u.x=S/t,u.y=x/r,f.push(u.x,u.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new c_(new Vg[e.path.type]().fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class NNe extends J1{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],i=new Set,r=new Ie,a=new Ie;if(e.index!==null){const o=e.attributes.position,s=e.index;let l=e.groups;l.length===0&&(l=[{start:0,count:s.count,materialIndex:0}]);for(let u=0,c=l.length;u<c;++u){const d=l[u],h=d.start,f=d.count;for(let p=h,m=h+f;p<m;p+=3)for(let v=0;v<3;v++){const g=s.getX(p+v),_=s.getX(p+(v+1)%3);r.fromBufferAttribute(o,g),a.fromBufferAttribute(o,_),eH(r,a,i)===!0&&(t.push(r.x,r.y,r.z),t.push(a.x,a.y,a.z))}}}else{const o=e.attributes.position;for(let s=0,l=o.count/3;s<l;s++)for(let u=0;u<3;u++){const c=3*s+u,d=3*s+(u+1)%3;r.fromBufferAttribute(o,c),a.fromBufferAttribute(o,d),eH(r,a,i)===!0&&(t.push(r.x,r.y,r.z),t.push(a.x,a.y,a.z))}}this.setAttribute("position",new m0(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function eH(n,e,t){const i=`${n.x},${n.y},${n.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${n.x},${n.y},${n.z}`;return t.has(i)===!0||t.has(r)===!0?!1:(t.add(i),t.add(r),!0)}class c8 extends Ta{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Jt(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Jt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lR,this.normalScale=new Q2(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class r6 extends c8{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Q2(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return sn(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Jt(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Jt(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Jt(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class JC extends Ta{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Jt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Jt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lR,this.normalScale=new Q2(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=oR,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function _v(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function kNe(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function FNe(n){function e(r,a){return n[r]-n[a]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function tH(n,e,t){const i=n.length,r=new n.constructor(i);for(let a=0,o=0;o!==i;++a){const s=t[a]*e;for(let l=0;l!==e;++l)r[o++]=n[s+l]}return r}function uee(n,e,t,i){let r=1,a=n[0];for(;a!==void 0&&a[i]===void 0;)a=n[r++];if(a===void 0)return;let o=a[i];if(o!==void 0)if(Array.isArray(o))do o=a[i],o!==void 0&&(e.push(a.time),t.push.apply(t,o)),a=n[r++];while(a!==void 0);else if(o.toArray!==void 0)do o=a[i],o!==void 0&&(e.push(a.time),o.toArray(t,t.length)),a=n[r++];while(a!==void 0);else do o=a[i],o!==void 0&&(e.push(a.time),t.push(o)),a=n[r++];while(a!==void 0)}class Fh{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,r=t[i],a=t[i-1];e:{t:{let o;n:{i:if(!(e<r)){for(let s=i+2;;){if(r===void 0){if(e<a)break i;return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===s)break;if(a=r,r=t[++i],e<r)break t}o=t.length;break n}if(!(e>=a)){const s=t[1];e<s&&(i=2,a=s);for(let l=i-2;;){if(a===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===l)break;if(r=a,a=t[--i-1],e>=a)break t}o=i,i=0;break n}break e}for(;i<o;){const s=i+o>>>1;e<t[s]?o=s:i=s+1}if(r=t[i],a=t[i-1],a===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,a,r)}return this.interpolate_(i,a,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,a=e*r;for(let o=0;o!==r;++o)t[o]=i[a+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class ONe extends Fh{constructor(e,t,i,r){super(e,t,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:GU,endingEnd:GU}}intervalChanged_(e,t,i){const r=this.parameterPositions;let a=e-2,o=e+1,s=r[a],l=r[o];if(s===void 0)switch(this.getSettings_().endingStart){case UU:a=e,s=2*t-i;break;case VU:a=r.length-2,s=t+r[a]-r[a+1];break;default:a=e,s=i}if(l===void 0)switch(this.getSettings_().endingEnd){case UU:o=e,l=2*i-t;break;case VU:o=1,l=i+r[1]-r[0];break;default:o=e-1,l=t}const u=(i-t)*.5,c=this.valueSize;this._weightPrev=u/(t-s),this._weightNext=u/(l-i),this._offsetPrev=a*c,this._offsetNext=o*c}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=e*s,u=l-s,c=this._offsetPrev,d=this._offsetNext,h=this._weightPrev,f=this._weightNext,p=(i-t)/(r-t),m=p*p,v=m*p,g=-h*v+2*h*m-h*p,_=(1+h)*v+(-1.5-2*h)*m+(-.5+h)*p+1,S=(-1-f)*v+(1.5+f)*m+.5*p,x=f*v-f*m;for(let A=0;A!==s;++A)a[A]=g*o[c+A]+_*o[u+A]+S*o[l+A]+x*o[d+A];return a}}class BNe extends Fh{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=e*s,u=l-s,c=(i-t)/(r-t),d=1-c;for(let h=0;h!==s;++h)a[h]=o[u+h]*d+o[l+h]*c;return a}}class zNe extends Fh{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class rs{constructor(e,t,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=_v(t,this.TimeBufferType),this.values=_v(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:_v(e.times,Array),values:_v(e.values,Array)};const r=e.getInterpolation();r!==e.DefaultInterpolation&&(i.interpolation=r)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new zNe(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new BNe(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new ONe(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Kd:t=this.InterpolantFactoryMethodDiscrete;break;case w7:t=this.InterpolantFactoryMethodLinear;break;case Rw:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Kd;case this.InterpolantFactoryMethodLinear:return w7;case this.InterpolantFactoryMethodSmooth:return Rw}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]*=e}return this}trim(e,t){const i=this.times,r=i.length;let a=0,o=r-1;for(;a!==r&&i[a]<e;)++a;for(;o!==-1&&i[o]>t;)--o;if(++o,a!==0||o!==r){a>=o&&(o=Math.max(o,1),a=o-1);const s=this.getValueSize();this.times=i.slice(a,o),this.values=this.values.slice(a*s,o*s)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,a=i.length;a===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let s=0;s!==a;s++){const l=i[s];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,l,o),e=!1;break}o=l}if(r!==void 0&&kNe(r))for(let s=0,l=r.length;s!==l;++s){const u=r[s];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,u),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Rw,a=e.length-1;let o=1;for(let s=1;s<a;++s){let l=!1;const u=e[s],c=e[s+1];if(u!==c&&(s!==1||u!==e[0]))if(r)l=!0;else{const d=s*i,h=d-i,f=d+i;for(let p=0;p!==i;++p){const m=t[d+p];if(m!==t[h+p]||m!==t[f+p]){l=!0;break}}}if(l){if(s!==o){e[o]=e[s];const d=s*i,h=o*i;for(let f=0;f!==i;++f)t[h+f]=t[d+f]}++o}}if(a>0){e[o]=e[a];for(let s=a*i,l=o*i,u=0;u!==i;++u)t[l+u]=t[s+u];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}rs.prototype.TimeBufferType=Float32Array;rs.prototype.ValueBufferType=Float32Array;rs.prototype.DefaultInterpolation=w7;class tu extends rs{}tu.prototype.ValueTypeName="bool";tu.prototype.ValueBufferType=Array;tu.prototype.DefaultInterpolation=Kd;tu.prototype.InterpolantFactoryMethodLinear=void 0;tu.prototype.InterpolantFactoryMethodSmooth=void 0;class cee extends rs{}cee.prototype.ValueTypeName="color";class C7 extends rs{}C7.prototype.ValueTypeName="number";class GNe extends Fh{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=(i-t)/(r-t);let u=e*s;for(let c=u+s;u!==c;u+=4)io.slerpFlat(a,0,o,u-s,o,u,l);return a}}class W8 extends rs{InterpolantFactoryMethodLinear(e){return new GNe(this.times,this.values,this.getValueSize(),e)}}W8.prototype.ValueTypeName="quaternion";W8.prototype.DefaultInterpolation=w7;W8.prototype.InterpolantFactoryMethodSmooth=void 0;class nu extends rs{}nu.prototype.ValueTypeName="string";nu.prototype.ValueBufferType=Array;nu.prototype.DefaultInterpolation=Kd;nu.prototype.InterpolantFactoryMethodLinear=void 0;nu.prototype.InterpolantFactoryMethodSmooth=void 0;class M7 extends rs{}M7.prototype.ValueTypeName="vector";class UNe{constructor(e,t=-1,i,r=gEe){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=wa(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,s=i.length;o!==s;++o)t.push(HNe(i[o]).scale(r));const a=new this(e.name,e.duration,t,e.blendMode);return a.uuid=e.uuid,a}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let a=0,o=i.length;a!==o;++a)t.push(rs.toJSON(i[a]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const a=t.length,o=[];for(let s=0;s<a;s++){let l=[],u=[];l.push((s+a-1)%a,s,(s+1)%a),u.push(0,1,0);const c=FNe(l);l=tH(l,1,c),u=tH(u,1,c),!r&&l[0]===0&&(l.push(a),u.push(u[0])),o.push(new C7(".morphTargetInfluences["+t[s].name+"]",l,u).scale(1/i))}return new this(e,-1,o)}static findByName(e,t){let i=e;if(!Array.isArray(e)){const r=e;i=r.geometry&&r.geometry.animations||r.animations}for(let r=0;r<i.length;r++)if(i[r].name===t)return i[r];return null}static CreateClipsFromMorphTargetSequences(e,t,i){const r={},a=/^([\w-]*?)([\d]+)$/;for(let s=0,l=e.length;s<l;s++){const u=e[s],c=u.name.match(a);if(c&&c.length>1){const d=c[1];let h=r[d];h||(r[d]=h=[]),h.push(u)}}const o=[];for(const s in r)o.push(this.CreateFromMorphTargetSequence(s,r[s],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,h,f,p,m){if(f.length!==0){const v=[],g=[];uee(f,v,g,p),v.length!==0&&m.push(new d(h,v,g))}},r=[],a=e.name||"default",o=e.fps||30,s=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let d=0;d<u.length;d++){const h=u[d].keys;if(!(!h||h.length===0))if(h[0].morphTargets){const f={};let p;for(p=0;p<h.length;p++)if(h[p].morphTargets)for(let m=0;m<h[p].morphTargets.length;m++)f[h[p].morphTargets[m]]=-1;for(const m in f){const v=[],g=[];for(let _=0;_!==h[p].morphTargets.length;++_){const S=h[p];v.push(S.time),g.push(S.morphTarget===m?1:0)}r.push(new C7(".morphTargetInfluence["+m+"]",v,g))}l=f.length*o}else{const f=".bones["+t[d].name+"]";i(M7,f+".position",h,"pos",r),i(W8,f+".quaternion",h,"rot",r),i(M7,f+".scale",h,"scl",r)}}return r.length===0?null:new this(a,l,r,s)}resetDuration(){const e=this.tracks;let t=0;for(let i=0,r=e.length;i!==r;++i){const a=this.tracks[i];t=Math.max(t,a.times[a.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function VNe(n){switch(n.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return C7;case"vector":case"vector2":case"vector3":case"vector4":return M7;case"color":return cee;case"quaternion":return W8;case"bool":case"boolean":return tu;case"string":return nu}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+n)}function HNe(n){if(n.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=VNe(n.type);if(n.times===void 0){const t=[],i=[];uee(n.keys,t,i,"value"),n.times=t,n.values=i}return e.parse!==void 0?e.parse(n):new e(n.name,n.times,n.values,n.interpolation)}const c5={enabled:!1,files:{},add:function(n,e){this.enabled!==!1&&(this.files[n]=e)},get:function(n){if(this.enabled!==!1)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}};class dee{constructor(e,t,i){const r=this;let a=!1,o=0,s=0,l;const u=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(c){s++,a===!1&&r.onStart!==void 0&&r.onStart(c,o,s),a=!0},this.itemEnd=function(c){o++,r.onProgress!==void 0&&r.onProgress(c,o,s),o===s&&(a=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(c){r.onError!==void 0&&r.onError(c)},this.resolveURL=function(c){return l?l(c):c},this.setURLModifier=function(c){return l=c,this},this.addHandler=function(c,d){return u.push(c,d),this},this.removeHandler=function(c){const d=u.indexOf(c);return d!==-1&&u.splice(d,2),this},this.getHandler=function(c){for(let d=0,h=u.length;d<h;d+=2){const f=u[d],p=u[d+1];if(f.global&&(f.lastIndex=0),f.test(c))return p}return null}}}const WNe=new dee;class V5{constructor(e){this.manager=e!==void 0?e:WNe,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise(function(r,a){i.load(e,r,t,a)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}V5.DEFAULT_MATERIAL_NAME="__DEFAULT";const As={};class jNe extends Error{constructor(e,t){super(e),this.response=t}}class nh extends V5{constructor(e){super(e)}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=c5.get(e);if(a!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(a),this.manager.itemEnd(e)},0),a;if(As[e]!==void 0){As[e].push({onLoad:t,onProgress:i,onError:r});return}As[e]=[],As[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,l=this.responseType;fetch(o).then(u=>{if(u.status===200||u.status===0){if(u.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||u.body===void 0||u.body.getReader===void 0)return u;const c=As[e],d=u.body.getReader(),h=u.headers.get("Content-Length")||u.headers.get("X-File-Size"),f=h?parseInt(h):0,p=f!==0;let m=0;const v=new ReadableStream({start(g){_();function _(){d.read().then(({done:S,value:x})=>{if(S)g.close();else{m+=x.byteLength;const A=new ProgressEvent("progress",{lengthComputable:p,loaded:m,total:f});for(let C=0,M=c.length;C<M;C++){const I=c[C];I.onProgress&&I.onProgress(A)}g.enqueue(x),_()}})}}});return new Response(v)}else throw new jNe(`fetch for "${u.url}" responded with ${u.status}: ${u.statusText}`,u)}).then(u=>{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(c=>new DOMParser().parseFromString(c,s));case"json":return u.json();default:if(s===void 0)return u.text();{const d=/charset="?([^;"\s]*)"?/i.exec(s),h=d&&d[1]?d[1].toLowerCase():void 0,f=new TextDecoder(h);return u.arrayBuffer().then(p=>f.decode(p))}}}).then(u=>{c5.add(e,u);const c=As[e];delete As[e];for(let d=0,h=c.length;d<h;d++){const f=c[d];f.onLoad&&f.onLoad(u)}}).catch(u=>{const c=As[e];if(c===void 0)throw this.manager.itemError(e),u;delete As[e];for(let d=0,h=c.length;d<h;d++){const f=c[d];f.onError&&f.onError(u)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class $Ne extends V5{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=this,o=c5.get(e);if(o!==void 0)return a.manager.itemStart(e),setTimeout(function(){t&&t(o),a.manager.itemEnd(e)},0),o;const s=Zd("img");function l(){c(),c5.add(e,this),t&&t(this),a.manager.itemEnd(e)}function u(d){c(),r&&r(d),a.manager.itemError(e),a.manager.itemEnd(e)}function c(){s.removeEventListener("load",l,!1),s.removeEventListener("error",u,!1)}return s.addEventListener("load",l,!1),s.addEventListener("error",u,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(s.crossOrigin=this.crossOrigin),a.manager.itemStart(e),s.src=e,s}}class CR extends V5{constructor(e){super(e)}load(e,t,i,r){const a=new gn,o=new $Ne(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(s){a.image=s,a.needsUpdate=!0,t!==void 0&&t(a)},i,r),a}}class d_ extends s0{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new Jt(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}const sT=new B3,nH=new Ie,iH=new Ie;class MR{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Q2(512,512),this.map=null,this.mapPass=null,this.matrix=new B3,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new pR,this._frameExtents=new Q2(1,1),this._viewportCount=1,this._viewports=[new M1(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;nH.setFromMatrixPosition(e.matrixWorld),t.position.copy(nH),iH.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(iH),t.updateMatrixWorld(),sT.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(sT),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(sT)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class qNe extends MR{constructor(){super(new oi(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,i=T7*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,a=e.distance||t.far;(i!==t.fov||r!==t.aspect||a!==t.far)&&(t.fov=i,t.aspect=r,t.far=a,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class XNe extends d_{constructor(e,t,i=0,r=Math.PI/3,a=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(s0.DEFAULT_UP),this.updateMatrix(),this.target=new s0,this.distance=i,this.angle=r,this.penumbra=a,this.decay=o,this.map=null,this.shadow=new qNe}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const rH=new B3,dc=new Ie,lT=new Ie;class YNe extends MR{constructor(){super(new oi(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Q2(4,2),this._viewportCount=6,this._viewports=[new M1(2,1,1,1),new M1(0,1,1,1),new M1(3,1,1,1),new M1(1,1,1,1),new M1(3,0,1,1),new M1(1,0,1,1)],this._cubeDirections=[new Ie(1,0,0),new Ie(-1,0,0),new Ie(0,0,1),new Ie(0,0,-1),new Ie(0,1,0),new Ie(0,-1,0)],this._cubeUps=[new Ie(0,1,0),new Ie(0,1,0),new Ie(0,1,0),new Ie(0,1,0),new Ie(0,0,1),new Ie(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,a=e.distance||i.far;a!==i.far&&(i.far=a,i.updateProjectionMatrix()),dc.setFromMatrixPosition(e.matrixWorld),i.position.copy(dc),lT.copy(i.position),lT.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(lT),i.updateMatrixWorld(),r.makeTranslation(-dc.x,-dc.y,-dc.z),rH.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(rH)}}class hee extends d_{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new YNe}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class KNe extends MR{constructor(){super(new o_(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Hg extends d_{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(s0.DEFAULT_UP),this.updateMatrix(),this.target=new s0,this.shadow=new KNe}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class fee extends d_{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class rd{static decodeText(e){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i<r;i++)t+=String.fromCharCode(e[i]);try{return decodeURIComponent(escape(t))}catch(i){return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class ZNe extends J1{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class JNe extends V5{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap=="undefined"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch=="undefined"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=this,o=c5.get(e);if(o!==void 0){if(a.manager.itemStart(e),o.then){o.then(u=>{t&&t(u),a.manager.itemEnd(e)}).catch(u=>{r&&r(u)});return}return setTimeout(function(){t&&t(o),a.manager.itemEnd(e)},0),o}const s={};s.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",s.headers=this.requestHeader;const l=fetch(e,s).then(function(u){return u.blob()}).then(function(u){return createImageBitmap(u,Object.assign(a.options,{colorSpaceConversion:"none"}))}).then(function(u){return c5.add(e,u),t&&t(u),a.manager.itemEnd(e),u}).catch(function(u){r&&r(u),c5.remove(e),a.manager.itemError(e),a.manager.itemEnd(e)});c5.add(e,l),a.manager.itemStart(e)}}class QNe{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=aH(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=aH();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function aH(){return(typeof performance=="undefined"?Date:performance).now()}const ER="\\[\\]\\.:\\/",eke=new RegExp("["+ER+"]","g"),PR="[^"+ER+"]",tke="[^"+ER.replace("\\.","")+"]",nke=/((?:WC+[\/:])*)/.source.replace("WC",PR),ike=/(WCOD+)?/.source.replace("WCOD",tke),rke=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",PR),ake=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",PR),oke=new RegExp("^"+nke+ike+rke+ake+"$"),ske=["material","materials","bones","map"];class lke{constructor(e,t,i){const r=i||U1.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,a=i.length;r!==a;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class U1{constructor(e,t,i){this.path=t,this.parsedPath=i||U1.parseTrackName(t),this.node=U1.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new U1.Composite(e,t,i):new U1(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(eke,"")}static parseTrackName(e){const t=oke.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const a=i.nodeName.substring(r+1);ske.indexOf(a)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=a)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(a){for(let o=0;o<a.length;o++){const s=a[o];if(s.name===t||s.uuid===t)return s;const l=i(s.children);if(l)return l}return null},r=i(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)e[t++]=i[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,i=t.objectName,r=t.propertyName;let a=t.propertyIndex;if(e||(e=U1.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let u=t.objectIndex;switch(i){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let c=0;c<e.length;c++)if(e[c].name===u){u=c;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[i]}if(u!==void 0){if(e[u]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[u]}}const o=e[r];if(o===void 0){const u=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+u+"."+r+" but it wasn't found.",e);return}let s=this.Versioning.None;this.targetObject=e,e.needsUpdate!==void 0?s=this.Versioning.NeedsUpdate:e.matrixWorldNeedsUpdate!==void 0&&(s=this.Versioning.MatrixWorldNeedsUpdate);let l=this.BindingType.Direct;if(a!==void 0){if(r==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[a]!==void 0&&(a=e.morphTargetDictionary[a])}l=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=a}else o.fromArray!==void 0&&o.toArray!==void 0?(l=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(l=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=r;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}U1.Composite=lke;U1.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};U1.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};U1.prototype.GetterByBindingType=[U1.prototype._getValue_direct,U1.prototype._getValue_array,U1.prototype._getValue_arrayElement,U1.prototype._getValue_toArray];U1.prototype.SetterByBindingTypeAndVersioning=[[U1.prototype._setValue_direct,U1.prototype._setValue_direct_setNeedsUpdate,U1.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[U1.prototype._setValue_array,U1.prototype._setValue_array_setNeedsUpdate,U1.prototype._setValue_array_setMatrixWorldNeedsUpdate],[U1.prototype._setValue_arrayElement,U1.prototype._setValue_arrayElement_setNeedsUpdate,U1.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[U1.prototype._setValue_fromArray,U1.prototype._setValue_fromArray_setNeedsUpdate,U1.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class QC extends yR{constructor(e,t,i=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}class uke{constructor(e,t,i=0,r=1/0){this.ray=new J7(e,t),this.near=i,this.far=r,this.camera=null,this.layers=new hR,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e,t=!0,i=[]){return eM(e,this,i,t),i.sort(oH),i}intersectObjects(e,t=!0,i=[]){for(let r=0,a=e.length;r<a;r++)eM(e[r],this,i,t);return i.sort(oH),i}}function oH(n,e){return n.distance-e.distance}function eM(n,e,t,i){if(n.layers.test(e.layers)&&n.raycast(e,t),i===!0){const r=n.children;for(let a=0,o=r.length;a<o;a++)eM(r[a],e,t,!0)}}class sH{constructor(e=1,t=0,i=0){return this.radius=e,this.phi=t,this.theta=i,this}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(sn(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}const lH=new Ie,Sv=new Ie;class cke{constructor(e=new Ie,t=new Ie){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){lH.subVectors(e,this.start),Sv.subVectors(this.end,this.start);const i=Sv.dot(Sv);let a=Sv.dot(lH)/i;return t&&(a=sn(a,0,1)),a}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}class dke extends SR{constructor(e=10,t=10,i=4473924,r=8947848){i=new Jt(i),r=new Jt(r);const a=t/2,o=e/t,s=e/2,l=[],u=[];for(let h=0,f=0,p=-s;h<=t;h++,p+=o){l.push(-s,0,p,s,0,p),l.push(p,0,-s,p,0,s);const m=h===a?i:r;m.toArray(u,f),f+=3,m.toArray(u,f),f+=3,m.toArray(u,f),f+=3,m.toArray(u,f),f+=3}const c=new J1;c.setAttribute("position",new m0(l,3)),c.setAttribute("color",new m0(u,3));const d=new ko({vertexColors:!0,toneMapped:!1});super(c,d),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class pee extends SR{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new J1;r.setAttribute("position",new m0(t,3)),r.setAttribute("color",new m0(i,3));const a=new ko({vertexColors:!0,toneMapped:!1});super(r,a),this.type="AxesHelper"}setColors(e,t,i){const r=new Jt,a=this.geometry.attributes.color.array;return r.set(e),r.toArray(a,0),r.toArray(a,3),r.set(t),r.toArray(a,6),r.toArray(a,9),r.set(i),r.toArray(a,12),r.toArray(a,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:aR}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=aR);function hke(n){let e=null,t=!1,i=!1;function r(){!t||i||(n(),e=requestAnimationFrame(r))}function a(){t||(t=!0,r())}function o(){t&&(t=!1,i=!0,cancelAnimationFrame(e))}function s(){!t&&i&&(t=!0,i=!1,r())}return{start:a,pause:o,resume:s,isActive:()=>t}}class h_{constructor(){this.events=new Map}on(e,t){let i=this.events.get(e);i||(i=new Set,this.events.set(e,i)),i.add(t)}off(e,t){const i=this.events.get(e);i&&(t?i.delete(t):this.events.delete(e))}emit(e,...t){const i=this.events.get(e);i&&i.forEach(r=>{r(...t)})}once(e,t){const i=(...r)=>{t(...r),this.off(e,i)};this.on(e,i)}}class fke extends h_{constructor({canvas:e}){super(),this.canvas=e,this.pixelRatio=2,this.init(),window.addEventListener("resize",()=>{this.init(),this.emit("resize")})}init(){var t;const e=((t=this.canvas)==null?void 0:t.parentNode)||this.canvas||document.documentElement;this.width=e.offsetWidth||window.innerWidth||1,this.height=e.offsetHeight||window.innerHeight||1,this.pixelRatio=this.pixelRatio||Math.min(window.devicePixelRatio,2)}destroy(){this.off("resize")}}class pke extends h_{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new QNe,this.raf=hke(()=>this.tick()),this.raf.start()}tick(){const e=Date.now();this.delta=e-this.current,this.current=e,this.elapsed=this.current-this.start;const t=this.clock.getDelta(),i=this.clock.getElapsedTime();this.emit("tick",t,i)}destroy(){this.pause(),this.off("tick")}pause(){this.raf.pause()}resume(){this.raf.resume()}isActive(){this.raf.isActive()}}function vee(n,e=!1){const t=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),r=new Set(Object.keys(n[0].morphAttributes)),a={},o={},s=n[0].morphTargetsRelative,l=new J1;let u=0;for(let c=0;c<n.length;++c){const d=n[c];let h=0;if(t!==(d.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const f in d.attributes){if(!i.has(f))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+'. All geometries must have compatible attributes; make sure "'+f+'" attribute exists among all geometries, or in none of them.'),null;a[f]===void 0&&(a[f]=[]),a[f].push(d.attributes[f]),h++}if(h!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". Make sure all geometries have the same number of attributes."),null;if(s!==d.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const f in d.morphAttributes){if(!r.has(f))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". .morphAttributes must be consistent throughout all geometries."),null;o[f]===void 0&&(o[f]=[]),o[f].push(d.morphAttributes[f])}if(e){let f;if(t)f=d.index.count;else if(d.attributes.position!==void 0)f=d.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". The geometry must have either an index or a position attribute"),null;l.addGroup(u,f,c),u+=f}}if(t){let c=0;const d=[];for(let h=0;h<n.length;++h){const f=n[h].index;for(let p=0;p<f.count;++p)d.push(f.getX(p)+c);c+=n[h].attributes.position.count}l.setIndex(d)}for(const c in a){const d=uH(a[c]);if(!d)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+c+" attribute."),null;l.setAttribute(c,d)}for(const c in o){const d=o[c][0].length;if(d===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[c]=[];for(let h=0;h<d;++h){const f=[];for(let m=0;m<o[c].length;++m)f.push(o[c][m][h]);const p=uH(f);if(!p)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+c+" morphAttribute."),null;l.morphAttributes[c].push(p)}}return l}function uH(n){let e,t,i,r=-1,a=0;for(let u=0;u<n.length;++u){const c=n[u];if(e===void 0&&(e=c.array.constructor),e!==c.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(t===void 0&&(t=c.itemSize),t!==c.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=c.normalized),i!==c.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(r===-1&&(r=c.gpuType),r!==c.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;a+=c.count*t}const o=new e(a),s=new R0(o,t,i);let l=0;for(let u=0;u<n.length;++u){const c=n[u];if(c.isInterleavedBufferAttribute){const d=l/t;for(let h=0,f=c.count;h<f;h++)for(let p=0;p<t;p++){const m=c.getComponent(h,p);s.setComponent(h+d,p,m)}}else o.set(c.array,l);l+=c.count*t}return r!==void 0&&(s.gpuType=r),s}function cH(n,e){if(e===yEe)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===HC||e===IQ){let t=n.getIndex();if(t===null){const o=[],s=n.getAttribute("position");if(s!==void 0){for(let l=0;l<s.count;l++)o.push(l);n.setIndex(o),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const i=t.count-2,r=[];if(e===HC)for(let o=1;o<=i;o++)r.push(t.getX(0)),r.push(t.getX(o)),r.push(t.getX(o+1));else for(let o=0;o<i;o++)o%2===0?(r.push(t.getX(o)),r.push(t.getX(o+1)),r.push(t.getX(o+2))):(r.push(t.getX(o+2)),r.push(t.getX(o+1)),r.push(t.getX(o)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const a=n.clone();return a.setIndex(r),a.clearGroups(),a}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}class vke extends V5{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new Ske(t)}),this.register(function(t){return new Pke(t)}),this.register(function(t){return new Rke(t)}),this.register(function(t){return new Lke(t)}),this.register(function(t){return new xke(t)}),this.register(function(t){return new wke(t)}),this.register(function(t){return new Tke(t)}),this.register(function(t){return new Ake(t)}),this.register(function(t){return new _ke(t)}),this.register(function(t){return new Cke(t)}),this.register(function(t){return new bke(t)}),this.register(function(t){return new Eke(t)}),this.register(function(t){return new Mke(t)}),this.register(function(t){return new gke(t)}),this.register(function(t){return new Ike(t)}),this.register(function(t){return new Dke(t)})}load(e,t,i,r){const a=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const u=rd.extractUrlBase(e);o=rd.resolveURL(u,this.path)}else o=rd.extractUrlBase(e);this.manager.itemStart(e);const s=function(u){r?r(u):console.error(u),a.manager.itemError(e),a.manager.itemEnd(e)},l=new nh(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(u){try{a.parse(u,o,function(c){t(c),a.manager.itemEnd(e)},s)}catch(c){s(c)}},i,s)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,i,r){let a;const o={},s={},l=new TextDecoder;if(typeof e=="string")a=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===mee){try{o[u1.KHR_BINARY_GLTF]=new Nke(e)}catch(d){r&&r(d);return}a=JSON.parse(o[u1.KHR_BINARY_GLTF].content)}else a=JSON.parse(l.decode(e));else a=e;if(a.asset===void 0||a.asset.version[0]<2){r&&r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const u=new qke(a,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c<this.pluginCallbacks.length;c++){const d=this.pluginCallbacks[c](u);d.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),s[d.name]=d,o[d.name]=!0}if(a.extensionsUsed)for(let c=0;c<a.extensionsUsed.length;++c){const d=a.extensionsUsed[c],h=a.extensionsRequired||[];switch(d){case u1.KHR_MATERIALS_UNLIT:o[d]=new yke;break;case u1.KHR_DRACO_MESH_COMPRESSION:o[d]=new kke(a,this.dracoLoader);break;case u1.KHR_TEXTURE_TRANSFORM:o[d]=new Fke;break;case u1.KHR_MESH_QUANTIZATION:o[d]=new Oke;break;default:h.indexOf(d)>=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(o),u.setPlugins(s),u.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,a){i.parse(e,t,r,a)})}}function mke(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const u1={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class gke{constructor(e){this.parser=e,this.name=u1.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i<r;i++){const a=t[i];a.extensions&&a.extensions[this.name]&&a.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,a.extensions[this.name].light)}}_loadLight(e){const t=this.parser,i="light:"+e;let r=t.cache.get(i);if(r)return r;const a=t.json,l=((a.extensions&&a.extensions[this.name]||{}).lights||[])[e];let u;const c=new Jt(16777215);l.color!==void 0&&c.setRGB(l.color[0],l.color[1],l.color[2],Sn);const d=l.range!==void 0?l.range:0;switch(l.type){case"directional":u=new Hg(c),u.target.position.set(0,0,-1),u.add(u.target);break;case"point":u=new hee(c),u.distance=d;break;case"spot":u=new XNe(c),u.distance=d,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,u.angle=l.spot.outerConeAngle,u.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,u.target.position.set(0,0,-1),u.add(u.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return u.position.set(0,0,0),u.decay=2,$6(u,l),l.intensity!==void 0&&(u.intensity=l.intensity),u.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(u),t.cache.add(i,r),r}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,i=this.parser,a=i.json.nodes[e],s=(a.extensions&&a.extensions[this.name]||{}).light;return s===void 0?null:this._loadLight(s).then(function(l){return i._getNodeRef(t.cache,s,l)})}}class yke{constructor(){this.name=u1.KHR_MATERIALS_UNLIT}getMaterialType(){return C1}extendParams(e,t,i){const r=[];e.color=new Jt(1,1,1),e.opacity=1;const a=t.pbrMetallicRoughness;if(a){if(Array.isArray(a.baseColorFactor)){const o=a.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],Sn),e.opacity=o[3]}a.baseColorTexture!==void 0&&r.push(i.assignTexture(e,"map",a.baseColorTexture,W1))}return Promise.all(r)}}class _ke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=r.extensions[this.name].emissiveStrength;return a!==void 0&&(t.emissiveIntensity=a),Promise.resolve()}}class Ske{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(a.push(i.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const s=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new Q2(s,s)}return Promise.all(a)}}class bke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(a)}}class xke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_SHEEN}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[];t.sheenColor=new Jt(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=r.extensions[this.name];if(o.sheenColorFactor!==void 0){const s=o.sheenColorFactor;t.sheenColor.setRGB(s[0],s[1],s[2],Sn)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&a.push(i.assignTexture(t,"sheenColorMap",o.sheenColorTexture,W1)),o.sheenRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(a)}}class wke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&a.push(i.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(a)}}class Tke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_VOLUME}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&a.push(i.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const s=o.attenuationColor||[1,1,1];return t.attenuationColor=new Jt().setRGB(s[0],s[1],s[2],Sn),Promise.all(a)}}class Ake{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_IOR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=r.extensions[this.name];return t.ior=a.ior!==void 0?a.ior:1.5,Promise.resolve()}}class Cke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_SPECULAR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&a.push(i.assignTexture(t,"specularIntensityMap",o.specularTexture));const s=o.specularColorFactor||[1,1,1];return t.specularColor=new Jt().setRGB(s[0],s[1],s[2],Sn),o.specularColorTexture!==void 0&&a.push(i.assignTexture(t,"specularColorMap",o.specularColorTexture,W1)),Promise.all(a)}}class Mke{constructor(e){this.parser=e,this.name=u1.EXT_MATERIALS_BUMP}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&a.push(i.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(a)}}class Eke{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:r6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&a.push(i.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(a)}}class Pke{constructor(e){this.parser=e,this.name=u1.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,i=t.json,r=i.textures[e];if(!r.extensions||!r.extensions[this.name])return null;const a=r.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(i.extensionsRequired&&i.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,a.source,o)}}class Rke{constructor(e){this.parser=e,this.name=u1.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const o=a.extensions[t],s=r.images[o.source];let l=i.textureLoader;if(s.uri){const u=i.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Lke{constructor(e){this.parser=e,this.name=u1.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const o=a.extensions[t],s=r.images[o.source];let l=i.textureLoader;if(s.uri){const u=i.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Ike{constructor(e){this.name=u1.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],a=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return a.then(function(s){const l=r.byteOffset||0,u=r.byteLength||0,c=r.count,d=r.byteStride,h=new Uint8Array(s,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(c,d,h,r.mode,r.filter).then(function(f){return f.buffer}):o.ready.then(function(){const f=new ArrayBuffer(c*d);return o.decodeGltfBuffer(new Uint8Array(f),c,d,h,r.mode,r.filter),f})})}else return null}}class Dke{constructor(e){this.name=u1.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==sa.TRIANGLES&&u.mode!==sa.TRIANGLE_STRIP&&u.mode!==sa.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,s=[],l={};for(const u in o)s.push(this.parser.getDependency("accessor",o[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],h=u[0].count,f=[];for(const p of d){const m=new B3,v=new Ie,g=new io,_=new Ie(1,1,1),S=new nNe(p.geometry,p.material,h);for(let x=0;x<h;x++)l.TRANSLATION&&v.fromBufferAttribute(l.TRANSLATION,x),l.ROTATION&&g.fromBufferAttribute(l.ROTATION,x),l.SCALE&&_.fromBufferAttribute(l.SCALE,x),S.setMatrixAt(x,m.compose(v,g,_));for(const x in l)if(x==="_COLOR_0"){const A=l[x];S.instanceColor=new XC(A.array,A.itemSize,A.normalized)}else x!=="TRANSLATION"&&x!=="ROTATION"&&x!=="SCALE"&&p.geometry.setAttribute(x,l[x]);s0.prototype.copy.call(S,p),this.parser.assignFinalMaterial(S),f.push(S)}return c.isGroup?(c.clear(),c.add(...f),c):f[0]}))}}const mee="glTF",hc=12,dH={JSON:1313821514,BIN:5130562};class Nke{constructor(e){this.name=u1.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,hc),i=new TextDecoder;if(this.header={magic:i.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==mee)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-hc,a=new DataView(e,hc);let o=0;for(;o<r;){const s=a.getUint32(o,!0);o+=4;const l=a.getUint32(o,!0);if(o+=4,l===dH.JSON){const u=new Uint8Array(e,hc+o,s);this.content=i.decode(u)}else if(l===dH.BIN){const u=hc+o;this.body=e.slice(u,u+s)}o+=s}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class kke{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=u1.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const i=this.json,r=this.dracoLoader,a=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,s={},l={},u={};for(const c in o){const d=tM[c]||c.toLowerCase();s[d]=o[c]}for(const c in e.attributes){const d=tM[c]||c.toLowerCase();if(o[c]!==void 0){const h=i.accessors[e.attributes[c]],f=Jl[h.componentType];u[d]=f.name,l[d]=h.normalized===!0}}return t.getDependency("bufferView",a).then(function(c){return new Promise(function(d,h){r.decodeDracoFile(c,function(f){for(const p in f.attributes){const m=f.attributes[p],v=l[p];v!==void 0&&(m.normalized=v)}d(f)},s,u,Sn,h)})})}}class Fke{constructor(){this.name=u1.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class Oke{constructor(){this.name=u1.KHR_MESH_QUANTIZATION}}class gee extends Fh{constructor(e,t,i,r){super(e,t,i,r)}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,a=e*r*3+r;for(let o=0;o!==r;o++)t[o]=i[a+o];return t}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=s*2,u=s*3,c=r-t,d=(i-t)/c,h=d*d,f=h*d,p=e*u,m=p-u,v=-2*f+3*h,g=f-h,_=1-v,S=g-h+d;for(let x=0;x!==s;x++){const A=o[m+x+s],C=o[m+x+l]*c,M=o[p+x+s],I=o[p+x]*c;a[x]=_*A+S*C+v*M+g*I}return a}}const Bke=new io;class zke extends gee{interpolate_(e,t,i,r){const a=super.interpolate_(e,t,i,r);return Bke.fromArray(a).normalize().toArray(a),a}}const sa={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},Jl={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},hH={9728:vn,9729:an,9984:VC,9985:vm,9986:bl,9987:ks},fH={33071:li,33648:kg,10497:Mn},uT={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tM={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},z6={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Gke={CUBICSPLINE:void 0,LINEAR:w7,STEP:Kd},cT={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function Uke(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new c8({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Zs})),n.DefaultMaterial}function F9(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function $6(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function Vke(n,e,t){let i=!1,r=!1,a=!1;for(let u=0,c=e.length;u<c;u++){const d=e[u];if(d.POSITION!==void 0&&(i=!0),d.NORMAL!==void 0&&(r=!0),d.COLOR_0!==void 0&&(a=!0),i&&r&&a)break}if(!i&&!r&&!a)return Promise.resolve(n);const o=[],s=[],l=[];for(let u=0,c=e.length;u<c;u++){const d=e[u];if(i){const h=d.POSITION!==void 0?t.getDependency("accessor",d.POSITION):n.attributes.position;o.push(h)}if(r){const h=d.NORMAL!==void 0?t.getDependency("accessor",d.NORMAL):n.attributes.normal;s.push(h)}if(a){const h=d.COLOR_0!==void 0?t.getDependency("accessor",d.COLOR_0):n.attributes.color;l.push(h)}}return Promise.all([Promise.all(o),Promise.all(s),Promise.all(l)]).then(function(u){const c=u[0],d=u[1],h=u[2];return i&&(n.morphAttributes.position=c),r&&(n.morphAttributes.normal=d),a&&(n.morphAttributes.color=h),n.morphTargetsRelative=!0,n})}function Hke(n,e){if(n.updateMorphTargets(),e.weights!==void 0)for(let t=0,i=e.weights.length;t<i;t++)n.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(n.morphTargetInfluences.length===t.length){n.morphTargetDictionary={};for(let i=0,r=t.length;i<r;i++)n.morphTargetDictionary[t[i]]=i}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function Wke(n){let e;const t=n.extensions&&n.extensions[u1.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+dT(t.attributes):e=n.indices+":"+dT(n.attributes)+":"+n.mode,n.targets!==void 0)for(let i=0,r=n.targets.length;i<r;i++)e+=":"+dT(n.targets[i]);return e}function dT(n){let e="";const t=Object.keys(n).sort();for(let i=0,r=t.length;i<r;i++)e+=t[i]+":"+n[t[i]]+";";return e}function nM(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function jke(n){return n.search(/\.jpe?g($|\?)/i)>0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const $ke=new B3;class qke{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new mke,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,a=-1;typeof navigator!="undefined"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,a=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap=="undefined"||i||r&&a<98?this.textureLoader=new CR(this.options.manager):this.textureLoader=new JNe(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new nh(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,a=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const s={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return F9(a,s,r),$6(s,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){e(s)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,a=t.length;r<a;r++){const o=t[r].joints;for(let s=0,l=o.length;s<l;s++)e[o[s]].isBone=!0}for(let r=0,a=e.length;r<a;r++){const o=e[r];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(i[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,i){if(e.refs[t]<=1)return i;const r=i.clone(),a=(o,s)=>{const l=this.associations.get(o);l!=null&&this.associations.set(s,l);for(const[u,c]of o.children.entries())a(c,s.children[u])};return a(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i<t.length;i++){const r=e(t[i]);if(r)return r}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const i=[];for(let r=0;r<t.length;r++){const a=e(t[r]);a&&i.push(a)}return i}getDependency(e,t){const i=e+":"+t;let r=this.cache.get(i);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this._invokeOne(function(a){return a.loadNode&&a.loadNode(t)});break;case"mesh":r=this._invokeOne(function(a){return a.loadMesh&&a.loadMesh(t)});break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne(function(a){return a.loadBufferView&&a.loadBufferView(t)});break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne(function(a){return a.loadMaterial&&a.loadMaterial(t)});break;case"texture":r=this._invokeOne(function(a){return a.loadTexture&&a.loadTexture(t)});break;case"skin":r=this.loadSkin(t);break;case"animation":r=this._invokeOne(function(a){return a.loadAnimation&&a.loadAnimation(t)});break;case"camera":r=this.loadCamera(t);break;default:if(r=this._invokeOne(function(a){return a!=this&&a.getDependency&&a.getDependency(e,t)}),!r)throw new Error("Unknown type: "+e);break}this.cache.add(i,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){const i=this,r=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(r.map(function(a,o){return i.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],i=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[u1.KHR_BINARY_GLTF].body);const r=this.options;return new Promise(function(a,o){i.load(rd.resolveURL(t.uri,r.path),a,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(i){const r=t.byteLength||0,a=t.byteOffset||0;return i.slice(a,a+r)})}loadAccessor(e){const t=this,i=this.json,r=this.json.accessors[e];if(r.bufferView===void 0&&r.sparse===void 0){const o=uT[r.type],s=Jl[r.componentType],l=r.normalized===!0,u=new s(r.count*o);return Promise.resolve(new R0(u,o,l))}const a=[];return r.bufferView!==void 0?a.push(this.getDependency("bufferView",r.bufferView)):a.push(null),r.sparse!==void 0&&(a.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),a.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(a).then(function(o){const s=o[0],l=uT[r.type],u=Jl[r.componentType],c=u.BYTES_PER_ELEMENT,d=c*l,h=r.byteOffset||0,f=r.bufferView!==void 0?i.bufferViews[r.bufferView].byteStride:void 0,p=r.normalized===!0;let m,v;if(f&&f!==d){const g=Math.floor(h/f),_="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+g+":"+r.count;let S=t.cache.get(_);S||(m=new u(s,g*f,r.count*f/c),S=new yR(m,f/c),t.cache.add(_,S)),v=new Za(S,l,h%f/c,p)}else s===null?m=new u(r.count*l):m=new u(s,h,r.count*l),v=new R0(m,l,p);if(r.sparse!==void 0){const g=uT.SCALAR,_=Jl[r.sparse.indices.componentType],S=r.sparse.indices.byteOffset||0,x=r.sparse.values.byteOffset||0,A=new _(o[1],S,r.sparse.count*g),C=new u(o[2],x,r.sparse.count*l);s!==null&&(v=new R0(v.array.slice(),v.itemSize,v.normalized));for(let M=0,I=A.length;M<I;M++){const D=A[M];if(v.setX(D,C[M*l]),l>=2&&v.setY(D,C[M*l+1]),l>=3&&v.setZ(D,C[M*l+2]),l>=4&&v.setW(D,C[M*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return v})}loadTexture(e){const t=this.json,i=this.options,a=t.textures[e].source,o=t.images[a];let s=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(s=l)}return this.loadTextureImage(e,a,s)}loadTextureImage(e,t,i){const r=this,a=this.json,o=a.textures[e],s=a.images[t],l=(s.uri||s.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(c){c.flipY=!1,c.name=o.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const h=(a.samplers||{})[o.sampler]||{};return c.magFilter=hH[h.magFilter]||an,c.minFilter=hH[h.minFilter]||ks,c.wrapS=fH[h.wrapS]||Mn,c.wrapT=fH[h.wrapT]||Mn,r.associations.set(c,{textures:e}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,a=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],s=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const h=new Blob([d],{type:o.mimeType});return l=s.createObjectURL(h),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(h,f){let p=h;t.isImageBitmapLoader===!0&&(p=function(m){const v=new gn(m);v.needsUpdate=!0,h(v)}),t.load(rd.resolveURL(d,a.path),p,void 0,f)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),d.userData.mimeType=o.mimeType||jke(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=c,c}assignTexture(e,t,i,r){const a=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),a.extensions[u1.KHR_TEXTURE_TRANSFORM]){const s=i.extensions!==void 0?i.extensions[u1.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=a.associations.get(o);o=a.extensions[u1.KHR_TEXTURE_TRANSFORM].extendTexture(o,s),a.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,a=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+i.uuid;let l=this.cache.get(s);l||(l=new Nh,Ta.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(s,l)),i=l}else if(e.isLine){const s="LineBasicMaterial:"+i.uuid;let l=this.cache.get(s);l||(l=new ko,Ta.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(s,l)),i=l}if(r||a||o){let s="ClonedMaterial:"+i.uuid+":";r&&(s+="derivative-tangents:"),a&&(s+="vertex-colors:"),o&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=i.clone(),a&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return c8}loadMaterial(e){const t=this,i=this.json,r=this.extensions,a=i.materials[e];let o;const s={},l=a.extensions||{},u=[];if(l[u1.KHR_MATERIALS_UNLIT]){const d=r[u1.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(s,a,t))}else{const d=a.pbrMetallicRoughness||{};if(s.color=new Jt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const h=d.baseColorFactor;s.color.setRGB(h[0],h[1],h[2],Sn),s.opacity=h[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(s,"map",d.baseColorTexture,W1)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(h){return h.getMaterialType&&h.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(h){return h.extendMaterialParams&&h.extendMaterialParams(e,s)})))}a.doubleSided===!0&&(s.side=r0);const c=a.alphaMode||cT.OPAQUE;if(c===cT.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===cT.MASK&&(s.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&o!==C1&&(u.push(t.assignTexture(s,"normalMap",a.normalTexture)),s.normalScale=new Q2(1,1),a.normalTexture.scale!==void 0)){const d=a.normalTexture.scale;s.normalScale.set(d,d)}if(a.occlusionTexture!==void 0&&o!==C1&&(u.push(t.assignTexture(s,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&o!==C1){const d=a.emissiveFactor;s.emissive=new Jt().setRGB(d[0],d[1],d[2],Sn)}return a.emissiveTexture!==void 0&&o!==C1&&u.push(t.assignTexture(s,"emissiveMap",a.emissiveTexture,W1)),Promise.all(u).then(function(){const d=new o(s);return a.name&&(d.name=a.name),$6(d,a),t.associations.set(d,{materials:e}),a.extensions&&F9(r,d,a),d})}createUniqueName(e){const t=U1.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function a(s){return i[u1.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,t).then(function(l){return pH(l,s,t)})}const o=[];for(let s=0,l=e.length;s<l;s++){const u=e[s],c=Wke(u),d=r[c];if(d)o.push(d.promise);else{let h;u.extensions&&u.extensions[u1.KHR_DRACO_MESH_COMPRESSION]?h=a(u):h=pH(new J1,u,t),r[c]={primitive:u,promise:h},o.push(h)}}return Promise.all(o)}loadMesh(e){const t=this,i=this.json,r=this.extensions,a=i.meshes[e],o=a.primitives,s=[];for(let l=0,u=o.length;l<u;l++){const c=o[l].material===void 0?Uke(this.cache):this.getDependency("material",o[l].material);s.push(c)}return s.push(t.loadGeometries(o)),Promise.all(s).then(function(l){const u=l.slice(0,l.length-1),c=l[l.length-1],d=[];for(let f=0,p=c.length;f<p;f++){const m=c[f],v=o[f];let g;const _=u[f];if(v.mode===sa.TRIANGLES||v.mode===sa.TRIANGLE_STRIP||v.mode===sa.TRIANGLE_FAN||v.mode===void 0)g=a.isSkinnedMesh===!0?new JDe(m,_):new h1(m,_),g.isSkinnedMesh===!0&&g.normalizeSkinWeights(),v.mode===sa.TRIANGLE_STRIP?g.geometry=cH(g.geometry,IQ):v.mode===sa.TRIANGLE_FAN&&(g.geometry=cH(g.geometry,HC));else if(v.mode===sa.LINES)g=new SR(m,_);else if(v.mode===sa.LINE_STRIP)g=new Jd(m,_);else if(v.mode===sa.LINE_LOOP)g=new Ug(m,_);else if(v.mode===sa.POINTS)g=new bR(m,_);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+v.mode);Object.keys(g.geometry.morphAttributes).length>0&&Hke(g,a),g.name=t.createUniqueName(a.name||"mesh_"+e),$6(g,a),v.extensions&&F9(r,g,v),t.assignFinalMaterial(g),d.push(g)}for(let f=0,p=d.length;f<p;f++)t.associations.set(d[f],{meshes:e,primitives:f});if(d.length===1)return a.extensions&&F9(r,d[0],a),d[0];const h=new D1;a.extensions&&F9(r,h,a),t.associations.set(h,{meshes:e});for(let f=0,p=d.length;f<p;f++)h.add(d[f]);return h})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new oi(dR.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new o_(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),$6(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,a=t.joints.length;r<a;r++)i.push(this._loadNodeShallow(t.joints[r]));return t.inverseBindMatrices!==void 0?i.push(this.getDependency("accessor",t.inverseBindMatrices)):i.push(null),Promise.all(i).then(function(r){const a=r.pop(),o=r,s=[],l=[];for(let u=0,c=o.length;u<c;u++){const d=o[u];if(d){s.push(d);const h=new B3;a!==null&&h.fromArray(a.array,u*16),l.push(h)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[u])}return new _R(s,l)})}loadAnimation(e){const t=this.json,i=this,r=t.animations[e],a=r.name?r.name:"animation_"+e,o=[],s=[],l=[],u=[],c=[];for(let d=0,h=r.channels.length;d<h;d++){const f=r.channels[d],p=r.samplers[f.sampler],m=f.target,v=m.node,g=r.parameters!==void 0?r.parameters[p.input]:p.input,_=r.parameters!==void 0?r.parameters[p.output]:p.output;m.node!==void 0&&(o.push(this.getDependency("node",v)),s.push(this.getDependency("accessor",g)),l.push(this.getDependency("accessor",_)),u.push(p),c.push(m))}return Promise.all([Promise.all(o),Promise.all(s),Promise.all(l),Promise.all(u),Promise.all(c)]).then(function(d){const h=d[0],f=d[1],p=d[2],m=d[3],v=d[4],g=[];for(let _=0,S=h.length;_<S;_++){const x=h[_],A=f[_],C=p[_],M=m[_],I=v[_];if(x===void 0)continue;x.updateMatrix&&x.updateMatrix();const D=i._createAnimationTracks(x,A,C,M,I);if(D)for(let E=0;E<D.length;E++)g.push(D[E])}return new UNe(a,void 0,g)})}createNodeMesh(e){const t=this.json,i=this,r=t.nodes[e];return r.mesh===void 0?null:i.getDependency("mesh",r.mesh).then(function(a){const o=i._getNodeRef(i.meshCache,r.mesh,a);return r.weights!==void 0&&o.traverse(function(s){if(s.isMesh)for(let l=0,u=r.weights.length;l<u;l++)s.morphTargetInfluences[l]=r.weights[l]}),o})}loadNode(e){const t=this.json,i=this,r=t.nodes[e],a=i._loadNodeShallow(e),o=[],s=r.children||[];for(let u=0,c=s.length;u<c;u++)o.push(i.getDependency("node",s[u]));const l=r.skin===void 0?Promise.resolve(null):i.getDependency("skin",r.skin);return Promise.all([a,Promise.all(o),l]).then(function(u){const c=u[0],d=u[1],h=u[2];h!==null&&c.traverse(function(f){f.isSkinnedMesh&&f.bind(h,$ke)});for(let f=0,p=d.length;f<p;f++)c.add(d[f]);return c})}_loadNodeShallow(e){const t=this.json,i=this.extensions,r=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const a=t.nodes[e],o=a.name?r.createUniqueName(a.name):"",s=[],l=r._invokeOne(function(u){return u.createNodeMesh&&u.createNodeMesh(e)});return l&&s.push(l),a.camera!==void 0&&s.push(r.getDependency("camera",a.camera).then(function(u){return r._getNodeRef(r.cameraCache,a.camera,u)})),r._invokeAll(function(u){return u.createNodeAttachment&&u.createNodeAttachment(e)}).forEach(function(u){s.push(u)}),this.nodeCache[e]=Promise.all(s).then(function(u){let c;if(a.isBone===!0?c=new eee:u.length>1?c=new D1:u.length===1?c=u[0]:c=new s0,c!==u[0])for(let d=0,h=u.length;d<h;d++)c.add(u[d]);if(a.name&&(c.userData.name=a.name,c.name=o),$6(c,a),a.extensions&&F9(i,c,a),a.matrix!==void 0){const d=new B3;d.fromArray(a.matrix),c.applyMatrix4(d)}else a.translation!==void 0&&c.position.fromArray(a.translation),a.rotation!==void 0&&c.quaternion.fromArray(a.rotation),a.scale!==void 0&&c.scale.fromArray(a.scale);return r.associations.has(c)||r.associations.set(c,{}),r.associations.get(c).nodes=e,c}),this.nodeCache[e]}loadScene(e){const t=this.extensions,i=this.json.scenes[e],r=this,a=new D1;i.name&&(a.name=r.createUniqueName(i.name)),$6(a,i),i.extensions&&F9(t,a,i);const o=i.nodes||[],s=[];for(let l=0,u=o.length;l<u;l++)s.push(r.getDependency("node",o[l]));return Promise.all(s).then(function(l){for(let c=0,d=l.length;c<d;c++)a.add(l[c]);const u=c=>{const d=new Map;for(const[h,f]of r.associations)(h instanceof Ta||h instanceof gn)&&d.set(h,f);return c.traverse(h=>{const f=r.associations.get(h);f!=null&&d.set(h,f)}),d};return r.associations=u(a),a})}_createAnimationTracks(e,t,i,r,a){const o=[],s=e.name?e.name:e.uuid,l=[];z6[a.path]===z6.weights?e.traverse(function(h){h.morphTargetInfluences&&l.push(h.name?h.name:h.uuid)}):l.push(s);let u;switch(z6[a.path]){case z6.weights:u=C7;break;case z6.rotation:u=W8;break;case z6.position:case z6.scale:u=M7;break;default:switch(i.itemSize){case 1:u=C7;break;case 2:case 3:default:u=M7;break}break}const c=r.interpolation!==void 0?Gke[r.interpolation]:w7,d=this._getArrayFromAccessor(i);for(let h=0,f=l.length;h<f;h++){const p=new u(l[h]+"."+z6[a.path],t.array,d,c);r.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(p),o.push(p)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const i=nM(t.constructor),r=new Float32Array(t.length);for(let a=0,o=t.length;a<o;a++)r[a]=t[a]*i;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){const r=this instanceof W8?zke:gee;return new r(this.times,this.values,this.getValueSize()/3,i)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function Xke(n,e,t){const i=e.attributes,r=new La;if(i.POSITION!==void 0){const s=t.json.accessors[i.POSITION],l=s.min,u=s.max;if(l!==void 0&&u!==void 0){if(r.set(new Ie(l[0],l[1],l[2]),new Ie(u[0],u[1],u[2])),s.normalized){const c=nM(Jl[s.componentType]);r.min.multiplyScalar(c),r.max.multiplyScalar(c)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const a=e.targets;if(a!==void 0){const s=new Ie,l=new Ie;for(let u=0,c=a.length;u<c;u++){const d=a[u];if(d.POSITION!==void 0){const h=t.json.accessors[d.POSITION],f=h.min,p=h.max;if(f!==void 0&&p!==void 0){if(l.setX(Math.max(Math.abs(f[0]),Math.abs(p[0]))),l.setY(Math.max(Math.abs(f[1]),Math.abs(p[1]))),l.setZ(Math.max(Math.abs(f[2]),Math.abs(p[2]))),h.normalized){const m=nM(Jl[h.componentType]);l.multiplyScalar(m)}s.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(s)}n.boundingBox=r;const o=new Ia;r.getCenter(o.center),o.radius=r.min.distanceTo(r.max)/2,n.boundingSphere=o}function pH(n,e,t){const i=e.attributes,r=[];function a(o,s){return t.getDependency("accessor",o).then(function(l){n.setAttribute(s,l)})}for(const o in i){const s=tM[o]||o.toLowerCase();s in n.attributes||r.push(a(i[o],s))}if(e.indices!==void 0&&!n.index){const o=t.getDependency("accessor",e.indices).then(function(s){n.setIndex(s)});r.push(o)}return F1.workingColorSpace!==Sn&&"COLOR_0"in i&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${F1.workingColorSpace}" not supported.`),$6(n,e),Xke(n,e,t),Promise.all(r).then(function(){return e.targets!==void 0?Vke(n,e.targets,t):n})}const hT=new WeakMap;class Yke extends V5{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,i,r){const a=new nh(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,W1).catch(i)}decodeDracoFile(e,t,i,r,a=Sn,o=()=>{}){const s={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:a};return this.decodeGeometry(e,s).then(t).catch(o)}decodeGeometry(e,t){const i=JSON.stringify(t);if(hT.has(e)){const l=hT.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const a=this.workerNextTaskID++,o=e.byteLength,s=this._getWorker(a,o).then(l=>(r=l,new Promise((u,c)=>{r._callbacks[a]={resolve:u,reject:c},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return s.catch(()=>!0).then(()=>{r&&a&&this._releaseTask(r,a)}),hT.set(e,{key:i,promise:s}),s}_createGeometry(e){const t=new J1;e.index&&t.setIndex(new R0(e.index.array,1));for(let i=0;i<e.attributes.length;i++){const r=e.attributes[i],a=r.name,o=r.array,s=r.itemSize,l=new R0(o,s);a==="color"&&(this._assignVertexColorSpace(l,r.vertexColorSpace),l.normalized=!(o instanceof Float32Array)),t.setAttribute(a,l)}return t}_assignVertexColorSpace(e,t){if(t!==W1)return;const i=new Jt;for(let r=0,a=e.count;r<a;r++)i.fromBufferAttribute(e,r).convertSRGBToLinear(),e.setXYZ(r,i.r,i.g,i.b)}_loadLibrary(e,t){const i=new nh(this.manager);return i.setPath(this.decoderPath),i.setResponseType(t),i.setWithCredentials(this.withCredentials),new Promise((r,a)=>{i.load(e,r,void 0,a)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const a=Kke.toString(),o=["/* draco decoder */",r,"","/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(` |
|
|
`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const r=new Worker(this.workerSourceURL);r._callbacks={},r._taskCosts={},r._taskLoad=0,r.postMessage({type:"init",decoderConfig:this.decoderConfig}),r.onmessage=function(a){const o=a.data;switch(o.type){case"decode":r._callbacks[o.id].resolve(o);break;case"error":r._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(r)}else this.workerPool.sort(function(r,a){return r._taskLoad>a._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function Kke(){let n,e;onmessage=function(o){const s=o.data;switch(s.type){case"init":n=s.decoderConfig,e=new Promise(function(c){n.onModuleLoaded=function(d){c({draco:d})},DracoDecoderModule(n)});break;case"decode":const l=s.buffer,u=s.taskConfig;e.then(c=>{const d=c.draco,h=new d.Decoder;try{const f=t(d,h,new Int8Array(l),u),p=f.attributes.map(m=>m.array.buffer);f.index&&p.push(f.index.array.buffer),self.postMessage({type:"decode",id:s.id,geometry:f},p)}catch(f){console.error(f),self.postMessage({type:"error",id:s.id,error:f.message})}finally{d.destroy(h)}});break}};function t(o,s,l,u){const c=u.attributeIDs,d=u.attributeTypes;let h,f;const p=s.GetEncodedGeometryType(l);if(p===o.TRIANGULAR_MESH)h=new o.Mesh,f=s.DecodeArrayToMesh(l,l.byteLength,h);else if(p===o.POINT_CLOUD)h=new o.PointCloud,f=s.DecodeArrayToPointCloud(l,l.byteLength,h);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!f.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+f.error_msg());const m={index:null,attributes:[]};for(const v in c){const g=self[d[v]];let _,S;if(u.useUniqueIDs)S=c[v],_=s.GetAttributeByUniqueId(h,S);else{if(S=s.GetAttributeId(h,o[c[v]]),S===-1)continue;_=s.GetAttribute(h,S)}const x=r(o,s,h,v,g,_);v==="color"&&(x.vertexColorSpace=u.vertexColorSpace),m.attributes.push(x)}return p===o.TRIANGULAR_MESH&&(m.index=i(o,s,h)),o.destroy(h),m}function i(o,s,l){const c=l.num_faces()*3,d=c*4,h=o._malloc(d);s.GetTrianglesUInt32Array(l,d,h);const f=new Uint32Array(o.HEAPF32.buffer,h,c).slice();return o._free(h),{array:f,itemSize:1}}function r(o,s,l,u,c,d){const h=d.num_components(),p=l.num_points()*h,m=p*c.BYTES_PER_ELEMENT,v=a(o,c),g=o._malloc(m);s.GetAttributeDataArrayForAllPoints(l,d,v,m,g);const _=new c(o.HEAPF32.buffer,g,p).slice();return o._free(g),{name:u,array:_,itemSize:h}}function a(o,s){switch(s){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let iM={GLTFLoader:"GLTF",TextureLoader:"Texture",FontLoader:"Font",MMDLoader:"MMD",MTLLoader:"MTL",OBJLoader:"OBJ",PCDLoader:"PCD",FileLoader:"File",ImageLoader:"Image",ObjectLoader:"Object",MaterialLoader:"Material",CubeTextureLoader:"CubeTexture",RGBELoader:"RGBELoader",FBXLoader:"FBX"};const Zke=Object.values(iM);class Jke extends h_{constructor({dracoPath:e}={}){super(),this.dracoPath=e||"./draco/gltf/",this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new dee;return e.onProgress=(t,i,r)=>{this.itemsLoaded=i,this.itemsTotal=r,this.emit("onProgress",t,i,r)},e.onError=t=>{this.emit("onError",t)},e}initDefaultLoader(){[{loader:vke,name:"GLTFLoader"},{loader:CR,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const t=new Yke;t.setDecoderPath(this.dracoPath),t.preload(),e.setDRACOLoader(t)}addLoader(e,t=""){if(e.name&&iM[t]){if(!this.loaders[t]){let r=new e(this.manager),a=t;r instanceof V5&&(a==="GLTFLoader"&&this.initDraco(r),this.loaders[iM[a]]=r)}}else throw new Error("请配置正确的加载器")}loadItem(e){return new Promise((t,i)=>{if(!this.loaders[e.type])throw new Error(`资源${e.path}没有配置加载器`);this.loaders[e.type].load(e.path,r=>{this.itemsLoaded++,this.emit("onProgress",e.path,this.itemsLoaded,this.itemsTotal),t(Z2(b2({},e),{data:r}))},null,r=>{this.emit("onError",r),i(r)})})}loadAll(e){return this.itemsLoaded=0,this.itemsTotal=0,new Promise((t,i)=>{let r=this.matchType(e),a=[];this.itemsTotal=r.length,r.map(o=>{let s=this.loadItem(o);a.push(s)}),Promise.all(a).then(o=>{this.assets=o,this.emit("onLoad"),t(o)}).catch(o=>{this.emit("onError",o),i(o)})})}matchType(e){return this.assets=e.map(t=>({type:Zke.includes(t.type)?t.type:"",path:t.path,name:t.name,data:null})).filter(t=>{if(!t.type)throw new Error(`资源${t.path},type不正确`);return t.type}),this.assets}getResource(e){let t=this.assets.find(i=>i.name===e);if(!t)throw new Error(`资源${e}不存在`);return t.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}const yee=n=>{n instanceof Array?n.forEach(yee):(n.map&&n.map.dispose(),n.dispose())},_ee=n=>{n.geometry&&n.geometry.dispose(),n.material&&yee(n.material),n.texture&&n.texture.dispose(),n.children&&n.children.forEach(_ee)},Qke=n=>{if(n&&n.children)for(;n.children.length;){const e=n.children[0];n.remove(e),_ee(e)}};var RR={exports:{}},eFe=function(e,t,i,r){var a=e[0],o=e[1],s=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=(r-i)/2,u=0,c=l-1;u<l;c=u++){var d=t[i+u*2+0],h=t[i+u*2+1],f=t[i+c*2+0],p=t[i+c*2+1],m=h>o!=p>o&&a<(f-d)*(o-h)/(p-h)+d;m&&(s=!s)}return s},tFe=function(e,t,i,r){var a=e[0],o=e[1],s=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=r-i,u=0,c=l-1;u<l;c=u++){var d=t[u+i][0],h=t[u+i][1],f=t[c+i][0],p=t[c+i][1],m=h>o!=p>o&&a<(f-d)*(o-h)/(p-h)+d;m&&(s=!s)}return s},See=eFe,bee=tFe;RR.exports=function(e,t,i,r){return t.length>0&&Array.isArray(t[0])?bee(e,t,i,r):See(e,t,i,r)};RR.exports.nested=bee;RR.exports.flat=See;function nFe(n=10,e=62){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=[],r;if(e=e||t.length,n)for(r=0;r<n;r++)i[r]=t[0|Math.random()*e];else{var a;for(i[8]=i[13]=i[18]=i[23]="-",i[14]="4",r=0;r<36;r++)i[r]||(a=0|Math.random()*16,i[r]=t[r==19?a&3|8:a])}return i.join("")}const LR=n=>{console.log(n);let e=JSON.parse(n),t=e.features;for(let i=0;i<t.length;i++){const r=t[i];["Polygon"].includes(r.geometry.type)&&(r.geometry.coordinates=[r.geometry.coordinates])}return e};class iFe{constructor({canvas:e,sizes:t,scene:i,camera:r,postprocessing:a=!1,composer:o=null}){this.canvas=e,this.sizes=t,this.scene=i,this.camera=r,this.postprocessing=a,this.composer=o,this.setInstance()}setInstance(){this.instance=new mR({alpha:!1,antialias:!0,canvas:this.canvas}),this.instance.setSize(this.sizes.width,this.sizes.height),this.instance.setPixelRatio(this.sizes.pixelRatio)}resize(){this.instance.setSize(this.sizes.width,this.sizes.height),this.instance.setPixelRatio(this.sizes.pixelRatio)}update(){this.postprocessing&&this.composer?this.composer.render():this.instance.render(this.scene,this.camera.instance)}destroy(){this.instance.dispose(),this.instance.forceContextLoss()}}const vH={type:"change"},fT={type:"start"},mH={type:"end"},bv=new J7,gH=new j6,rFe=Math.cos(70*dR.DEG2RAD);class xee extends a4{constructor(e,t){super(),this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Ie,this.cursor=new Ie,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:$4.ROTATE,MIDDLE:$4.DOLLY,RIGHT:$4.PAN},this.touches={ONE:q4.ROTATE,TWO:q4.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(Ue){Ue.addEventListener("keydown",u2),this._domElementKeyEvents=Ue},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",u2),this._domElementKeyEvents=null},this.saveState=function(){i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object.zoom},this.reset=function(){i.target.copy(i.target0),i.object.position.copy(i.position0),i.object.zoom=i.zoom0,i.object.updateProjectionMatrix(),i.dispatchEvent(vH),i.update(),a=r.NONE},this.update=function(){const Ue=new Ie,it=new io().setFromUnitVectors(e.up,new Ie(0,1,0)),St=it.clone().invert(),jt=new Ie,Ve=new io,lt=new Ie,at=2*Math.PI;return function(Pt=null){const wt=i.object.position;Ue.copy(wt).sub(i.target),Ue.applyQuaternion(it),s.setFromVector3(Ue),i.autoRotate&&a===r.NONE&&F(E(Pt)),i.enableDamping?(s.theta+=l.theta*i.dampingFactor,s.phi+=l.phi*i.dampingFactor):(s.theta+=l.theta,s.phi+=l.phi);let l2=i.minAzimuthAngle,Y2=i.maxAzimuthAngle;isFinite(l2)&&isFinite(Y2)&&(l2<-Math.PI?l2+=at:l2>Math.PI&&(l2-=at),Y2<-Math.PI?Y2+=at:Y2>Math.PI&&(Y2-=at),l2<=Y2?s.theta=Math.max(l2,Math.min(Y2,s.theta)):s.theta=s.theta>(l2+Y2)/2?Math.max(l2,s.theta):Math.min(Y2,s.theta)),s.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,s.phi)),s.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(c,i.dampingFactor):i.target.add(c),i.target.sub(i.cursor),i.target.clampLength(i.minTargetRadius,i.maxTargetRadius),i.target.add(i.cursor),i.zoomToCursor&&C||i.object.isOrthographicCamera?s.radius=ie(s.radius):s.radius=ie(s.radius*u),Ue.setFromSpherical(s),Ue.applyQuaternion(St),wt.copy(i.target).add(Ue),i.object.lookAt(i.target),i.enableDamping===!0?(l.theta*=1-i.dampingFactor,l.phi*=1-i.dampingFactor,c.multiplyScalar(1-i.dampingFactor)):(l.set(0,0,0),c.set(0,0,0));let rt=!1;if(i.zoomToCursor&&C){let Ft=null;if(i.object.isPerspectiveCamera){const Re=Ue.length();Ft=ie(Re*u);const s2=Re-Ft;i.object.position.addScaledVector(x,s2),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const Re=new Ie(A.x,A.y,0);Re.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/u)),i.object.updateProjectionMatrix(),rt=!0;const s2=new Ie(A.x,A.y,0);s2.unproject(i.object),i.object.position.sub(s2).add(Re),i.object.updateMatrixWorld(),Ft=Ue.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;Ft!==null&&(this.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(Ft).add(i.object.position):(bv.origin.copy(i.object.position),bv.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(bv.direction))<rFe?e.lookAt(i.target):(gH.setFromNormalAndCoplanarPoint(i.object.up,i.target),bv.intersectPlane(gH,i.target))))}else i.object.isOrthographicCamera&&(rt=u!==1,rt&&(i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/u)),i.object.updateProjectionMatrix()));return u=1,C=!1,rt||jt.distanceToSquared(i.object.position)>o||8*(1-Ve.dot(i.object.quaternion))>o||lt.distanceToSquared(i.target)>0?(i.dispatchEvent(vH),jt.copy(i.object.position),Ve.copy(i.object.quaternion),lt.copy(i.target),!0):!1}}(),this.dispose=function(){i.domElement.removeEventListener("contextmenu",st),i.domElement.removeEventListener("pointerdown",Z),i.domElement.removeEventListener("pointercancel",Ge),i.domElement.removeEventListener("wheel",Te),i.domElement.removeEventListener("pointermove",ee),i.domElement.removeEventListener("pointerup",Ge),i._domElementKeyEvents!==null&&(i._domElementKeyEvents.removeEventListener("keydown",u2),i._domElementKeyEvents=null)};const i=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let a=r.NONE;const o=1e-6,s=new sH,l=new sH;let u=1;const c=new Ie,d=new Q2,h=new Q2,f=new Q2,p=new Q2,m=new Q2,v=new Q2,g=new Q2,_=new Q2,S=new Q2,x=new Ie,A=new Q2;let C=!1;const M=[],I={};let D=!1;function E(Ue){return Ue!==null?2*Math.PI/60*i.autoRotateSpeed*Ue:2*Math.PI/60/60*i.autoRotateSpeed}function P(Ue){const it=Math.abs(Ue*.01);return Math.pow(.95,i.zoomSpeed*it)}function F(Ue){l.theta-=Ue}function V(Ue){l.phi-=Ue}const G=function(){const Ue=new Ie;return function(St,jt){Ue.setFromMatrixColumn(jt,0),Ue.multiplyScalar(-St),c.add(Ue)}}(),W=function(){const Ue=new Ie;return function(St,jt){i.screenSpacePanning===!0?Ue.setFromMatrixColumn(jt,1):(Ue.setFromMatrixColumn(jt,0),Ue.crossVectors(i.object.up,Ue)),Ue.multiplyScalar(St),c.add(Ue)}}(),Y=function(){const Ue=new Ie;return function(St,jt){const Ve=i.domElement;if(i.object.isPerspectiveCamera){const lt=i.object.position;Ue.copy(lt).sub(i.target);let at=Ue.length();at*=Math.tan(i.object.fov/2*Math.PI/180),G(2*St*at/Ve.clientHeight,i.object.matrix),W(2*jt*at/Ve.clientHeight,i.object.matrix)}else i.object.isOrthographicCamera?(G(St*(i.object.right-i.object.left)/i.object.zoom/Ve.clientWidth,i.object.matrix),W(jt*(i.object.top-i.object.bottom)/i.object.zoom/Ve.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}}();function Q(Ue){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u/=Ue:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function K(Ue){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u*=Ue:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function ae(Ue,it){if(!i.zoomToCursor)return;C=!0;const St=i.domElement.getBoundingClientRect(),jt=Ue-St.left,Ve=it-St.top,lt=St.width,at=St.height;A.x=jt/lt*2-1,A.y=-(Ve/at)*2+1,x.set(A.x,A.y,1).unproject(i.object).sub(i.object.position).normalize()}function ie(Ue){return Math.max(i.minDistance,Math.min(i.maxDistance,Ue))}function he(Ue){d.set(Ue.clientX,Ue.clientY)}function Ee(Ue){ae(Ue.clientX,Ue.clientX),g.set(Ue.clientX,Ue.clientY)}function je(Ue){p.set(Ue.clientX,Ue.clientY)}function xe(Ue){h.set(Ue.clientX,Ue.clientY),f.subVectors(h,d).multiplyScalar(i.rotateSpeed);const it=i.domElement;F(2*Math.PI*f.x/it.clientHeight),V(2*Math.PI*f.y/it.clientHeight),d.copy(h),i.update()}function Oe(Ue){_.set(Ue.clientX,Ue.clientY),S.subVectors(_,g),S.y>0?Q(P(S.y)):S.y<0&&K(P(S.y)),g.copy(_),i.update()}function f2(Ue){m.set(Ue.clientX,Ue.clientY),v.subVectors(m,p).multiplyScalar(i.panSpeed),Y(v.x,v.y),p.copy(m),i.update()}function B2(Ue){ae(Ue.clientX,Ue.clientY),Ue.deltaY<0?K(P(Ue.deltaY)):Ue.deltaY>0&&Q(P(Ue.deltaY)),i.update()}function S2(Ue){let it=!1;switch(Ue.code){case i.keys.UP:Ue.ctrlKey||Ue.metaKey||Ue.shiftKey?V(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):Y(0,i.keyPanSpeed),it=!0;break;case i.keys.BOTTOM:Ue.ctrlKey||Ue.metaKey||Ue.shiftKey?V(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):Y(0,-i.keyPanSpeed),it=!0;break;case i.keys.LEFT:Ue.ctrlKey||Ue.metaKey||Ue.shiftKey?F(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):Y(i.keyPanSpeed,0),it=!0;break;case i.keys.RIGHT:Ue.ctrlKey||Ue.metaKey||Ue.shiftKey?F(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):Y(-i.keyPanSpeed,0),it=!0;break}it&&(Ue.preventDefault(),i.update())}function p2(Ue){if(M.length===1)d.set(Ue.pageX,Ue.pageY);else{const it=ut(Ue),St=.5*(Ue.pageX+it.x),jt=.5*(Ue.pageY+it.y);d.set(St,jt)}}function X2(Ue){if(M.length===1)p.set(Ue.pageX,Ue.pageY);else{const it=ut(Ue),St=.5*(Ue.pageX+it.x),jt=.5*(Ue.pageY+it.y);p.set(St,jt)}}function w2(Ue){const it=ut(Ue),St=Ue.pageX-it.x,jt=Ue.pageY-it.y,Ve=Math.sqrt(St*St+jt*jt);g.set(0,Ve)}function Ce(Ue){i.enableZoom&&w2(Ue),i.enablePan&&X2(Ue)}function R2(Ue){i.enableZoom&&w2(Ue),i.enableRotate&&p2(Ue)}function v2(Ue){if(M.length==1)h.set(Ue.pageX,Ue.pageY);else{const St=ut(Ue),jt=.5*(Ue.pageX+St.x),Ve=.5*(Ue.pageY+St.y);h.set(jt,Ve)}f.subVectors(h,d).multiplyScalar(i.rotateSpeed);const it=i.domElement;F(2*Math.PI*f.x/it.clientHeight),V(2*Math.PI*f.y/it.clientHeight),d.copy(h)}function O2(Ue){if(M.length===1)m.set(Ue.pageX,Ue.pageY);else{const it=ut(Ue),St=.5*(Ue.pageX+it.x),jt=.5*(Ue.pageY+it.y);m.set(St,jt)}v.subVectors(m,p).multiplyScalar(i.panSpeed),Y(v.x,v.y),p.copy(m)}function k(Ue){const it=ut(Ue),St=Ue.pageX-it.x,jt=Ue.pageY-it.y,Ve=Math.sqrt(St*St+jt*jt);_.set(0,Ve),S.set(0,Math.pow(_.y/g.y,i.zoomSpeed)),Q(S.y),g.copy(_);const lt=(Ue.pageX+it.x)*.5,at=(Ue.pageY+it.y)*.5;ae(lt,at)}function _2(Ue){i.enableZoom&&k(Ue),i.enablePan&&O2(Ue)}function A2(Ue){i.enableZoom&&k(Ue),i.enableRotate&&v2(Ue)}function Z(Ue){i.enabled!==!1&&(M.length===0&&(i.domElement.setPointerCapture(Ue.pointerId),i.domElement.addEventListener("pointermove",ee),i.domElement.addEventListener("pointerup",Ge)),pt(Ue),Ue.pointerType==="touch"?P2(Ue):T2(Ue))}function ee(Ue){i.enabled!==!1&&(Ue.pointerType==="touch"?d2(Ue):z2(Ue))}function Ge(Ue){switch(yt(Ue),M.length){case 0:i.domElement.releasePointerCapture(Ue.pointerId),i.domElement.removeEventListener("pointermove",ee),i.domElement.removeEventListener("pointerup",Ge),i.dispatchEvent(mH),a=r.NONE;break;case 1:const it=M[0],St=I[it];P2({pointerId:it,pageX:St.x,pageY:St.y});break}}function T2(Ue){let it;switch(Ue.button){case 0:it=i.mouseButtons.LEFT;break;case 1:it=i.mouseButtons.MIDDLE;break;case 2:it=i.mouseButtons.RIGHT;break;default:it=-1}switch(it){case $4.DOLLY:if(i.enableZoom===!1)return;Ee(Ue),a=r.DOLLY;break;case $4.ROTATE:if(Ue.ctrlKey||Ue.metaKey||Ue.shiftKey){if(i.enablePan===!1)return;je(Ue),a=r.PAN}else{if(i.enableRotate===!1)return;he(Ue),a=r.ROTATE}break;case $4.PAN:if(Ue.ctrlKey||Ue.metaKey||Ue.shiftKey){if(i.enableRotate===!1)return;he(Ue),a=r.ROTATE}else{if(i.enablePan===!1)return;je(Ue),a=r.PAN}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(fT)}function z2(Ue){switch(a){case r.ROTATE:if(i.enableRotate===!1)return;xe(Ue);break;case r.DOLLY:if(i.enableZoom===!1)return;Oe(Ue);break;case r.PAN:if(i.enablePan===!1)return;f2(Ue);break}}function Te(Ue){i.enabled===!1||i.enableZoom===!1||a!==r.NONE||(Ue.preventDefault(),i.dispatchEvent(fT),B2($e(Ue)),i.dispatchEvent(mH))}function $e(Ue){const it=Ue.deltaMode,St={clientX:Ue.clientX,clientY:Ue.clientY,deltaY:Ue.deltaY};switch(it){case 1:St.deltaY*=16;break;case 2:St.deltaY*=100;break}return Ue.ctrlKey&&!D&&(St.deltaY*=10),St}function Xe(Ue){Ue.key==="Control"&&(D=!0,i.domElement.getRootNode().addEventListener("keyup",Ne,{passive:!0,capture:!0}))}function Ne(Ue){Ue.key==="Control"&&(D=!1,i.domElement.getRootNode().removeEventListener("keyup",Ne,{passive:!0,capture:!0}))}function u2(Ue){i.enabled===!1||i.enablePan===!1||S2(Ue)}function P2(Ue){switch(_t(Ue),M.length){case 1:switch(i.touches.ONE){case q4.ROTATE:if(i.enableRotate===!1)return;p2(Ue),a=r.TOUCH_ROTATE;break;case q4.PAN:if(i.enablePan===!1)return;X2(Ue),a=r.TOUCH_PAN;break;default:a=r.NONE}break;case 2:switch(i.touches.TWO){case q4.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;Ce(Ue),a=r.TOUCH_DOLLY_PAN;break;case q4.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;R2(Ue),a=r.TOUCH_DOLLY_ROTATE;break;default:a=r.NONE}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(fT)}function d2(Ue){switch(_t(Ue),a){case r.TOUCH_ROTATE:if(i.enableRotate===!1)return;v2(Ue),i.update();break;case r.TOUCH_PAN:if(i.enablePan===!1)return;O2(Ue),i.update();break;case r.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;_2(Ue),i.update();break;case r.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;A2(Ue),i.update();break;default:a=r.NONE}}function st(Ue){i.enabled!==!1&&Ue.preventDefault()}function pt(Ue){M.push(Ue.pointerId)}function yt(Ue){delete I[Ue.pointerId];for(let it=0;it<M.length;it++)if(M[it]==Ue.pointerId){M.splice(it,1);return}}function _t(Ue){let it=I[Ue.pointerId];it===void 0&&(it=new Q2,I[Ue.pointerId]=it),it.set(Ue.pageX,Ue.pageY)}function ut(Ue){const it=Ue.pointerId===M[0]?M[1]:M[0];return I[it]}i.domElement.addEventListener("contextmenu",st),i.domElement.addEventListener("pointerdown",Z),i.domElement.addEventListener("pointercancel",Ge),i.domElement.addEventListener("wheel",Te,{passive:!1}),i.domElement.getRootNode().addEventListener("keydown",Xe,{passive:!0,capture:!0}),this.update()}}class aFe{constructor({sizes:e,scene:t,canvas:i},r={isOrthographic:!1}){this.sizes=e,this.scene=t,this.canvas=i,this.options=Object.assign({isOrthographic:!1},r),this.setInstance()}setInstance(){this.instance=null,this.setCamera(this.options.isOrthographic),this.instance.position.set(10,10,10),this.scene.add(this.instance)}setCamera(e=!0){let t=this.sizes.width/this.sizes.height;if(e){let i=120;this.instance=new o_(-i*t,i*t,i,-i,1,1e4)}else this.instance=new oi(45,t,1,1e4);this.setControls()}setControls(){this.controls=new xee(this.instance,this.canvas),this.controls.enableDamping=!0,this.controls.update()}resize(){let e=this.sizes.width/this.sizes.height;if(this.options.isOrthographic){let t=120;this.instance.left=-t*e,this.instance.right=t*e,this.instance.top=t,this.instance.bottom=-t}else this.instance.aspect=e;this.instance.updateProjectionMatrix()}update(){this.controls.update()}destroy(){this.controls.dispose()}}class oFe{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let i=0;for(let r=0;r<this._n&&r<32;r++){const a=t[r],o=e+a,s=Math.abs(e)<Math.abs(a)?e-(o-a):a-(o-e);s&&(t[i++]=s),e=o}return t[i]=e,this._n=i+1,this}valueOf(){const e=this._partials;let t=this._n,i,r,a,o=0;if(t>0){for(o=e[--t];t>0&&(i=o,r=e[--t],o=i+r,a=r-(o-i),!a););t>0&&(a<0&&e[t-1]<0||a>0&&e[t-1]>0)&&(r=a*2,i=o+r,r==i-o&&(o=i))}return o}}function*sFe(n){for(const e of n)yield*ED(e)}function wee(n){return Array.from(sFe(n))}var h0=1e-6,lFe=1e-12,S1=Math.PI,Yi=S1/2,yH=S1/4,Ma=S1*2,xr=180/S1,nn=S1/180,F0=Math.abs,Tee=Math.atan,ih=Math.atan2,W0=Math.cos,uFe=Math.exp,cFe=Math.log,j0=Math.sin,dFe=Math.sign||function(n){return n>0?1:n<0?-1:0},f_=Math.sqrt,hFe=Math.tan;function fFe(n){return n>1?0:n<-1?S1:Math.acos(n)}function rh(n){return n>1?Yi:n<-1?-Yi:Math.asin(n)}function Pc(){}function Wg(n,e){n&&SH.hasOwnProperty(n.type)&&SH[n.type](n,e)}var _H={Feature:function(n,e){Wg(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++i<r;)Wg(t[i].geometry,e)}},SH={Sphere:function(n,e){e.sphere()},Point:function(n,e){n=n.coordinates,e.point(n[0],n[1],n[2])},MultiPoint:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)n=t[i],e.point(n[0],n[1],n[2])},LineString:function(n,e){rM(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)rM(t[i],e,0)},Polygon:function(n,e){bH(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)bH(t[i],e)},GeometryCollection:function(n,e){for(var t=n.geometries,i=-1,r=t.length;++i<r;)Wg(t[i],e)}};function rM(n,e,t){var i=-1,r=n.length-t,a;for(e.lineStart();++i<r;)a=n[i],e.point(a[0],a[1],a[2]);e.lineEnd()}function bH(n,e){var t=-1,i=n.length;for(e.polygonStart();++t<i;)rM(n[t],e,1);e.polygonEnd()}function pFe(n,e){n&&_H.hasOwnProperty(n.type)?_H[n.type](n,e):Wg(n,e)}function aM(n){return[ih(n[1],n[0]),rh(n[2])]}function E7(n){var e=n[0],t=n[1],i=W0(t);return[i*W0(e),i*j0(e),j0(t)]}function xv(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function jg(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function pT(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function wv(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function oM(n){var e=f_(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}function sM(n,e){function t(i,r){return i=n(i,r),e(i[0],i[1])}return n.invert&&e.invert&&(t.invert=function(i,r){return i=e.invert(i,r),i&&n.invert(i[0],i[1])}),t}function lM(n,e){return F0(n)>S1&&(n-=Math.round(n/Ma)*Ma),[n,e]}lM.invert=lM;function Aee(n,e,t){return(n%=Ma)?e||t?sM(wH(n),TH(e,t)):wH(n):e||t?TH(e,t):lM}function xH(n){return function(e,t){return e+=n,F0(e)>S1&&(e-=Math.round(e/Ma)*Ma),[e,t]}}function wH(n){var e=xH(n);return e.invert=xH(-n),e}function TH(n,e){var t=W0(n),i=j0(n),r=W0(e),a=j0(e);function o(s,l){var u=W0(l),c=W0(s)*u,d=j0(s)*u,h=j0(l),f=h*t+c*i;return[ih(d*r-f*a,c*t-h*i),rh(f*r+d*a)]}return o.invert=function(s,l){var u=W0(l),c=W0(s)*u,d=j0(s)*u,h=j0(l),f=h*r-d*a;return[ih(d*r+h*a,c*t+f*i),rh(f*t-c*i)]},o}function vFe(n){n=Aee(n[0]*nn,n[1]*nn,n.length>2?n[2]*nn:0);function e(t){return t=n(t[0]*nn,t[1]*nn),t[0]*=xr,t[1]*=xr,t}return e.invert=function(t){return t=n.invert(t[0]*nn,t[1]*nn),t[0]*=xr,t[1]*=xr,t},e}function mFe(n,e,t,i,r,a){if(t){var o=W0(e),s=j0(e),l=i*t;r==null?(r=e+i*Ma,a=e-l/2):(r=AH(o,r),a=AH(o,a),(i>0?r<a:r>a)&&(r+=i*Ma));for(var u,c=r;i>0?c>a:c<a;c-=l)u=aM([o,-s*W0(c),-s*j0(c)]),n.point(u[0],u[1])}}function AH(n,e){e=E7(e),e[0]-=n,oM(e);var t=fFe(-e[1]);return((-e[2]<0?-t:t)+Ma-h0)%Ma}function Cee(){var n=[],e;return{point:function(t,i,r){e.push([t,i,r])},lineStart:function(){n.push(e=[])},lineEnd:Pc,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function gm(n,e){return F0(n[0]-e[0])<h0&&F0(n[1]-e[1])<h0}function Tv(n,e,t,i){this.x=n,this.z=e,this.o=t,this.e=i,this.v=!1,this.n=this.p=null}function Mee(n,e,t,i,r){var a=[],o=[],s,l;if(n.forEach(function(p){if(!((m=p.length-1)<=0)){var m,v=p[0],g=p[m],_;if(gm(v,g)){if(!v[2]&&!g[2]){for(r.lineStart(),s=0;s<m;++s)r.point((v=p[s])[0],v[1]);r.lineEnd();return}g[0]+=2*h0}a.push(_=new Tv(v,p,null,!0)),o.push(_.o=new Tv(v,null,_,!1)),a.push(_=new Tv(g,p,null,!1)),o.push(_.o=new Tv(g,null,_,!0))}}),!!a.length){for(o.sort(e),CH(a),CH(o),s=0,l=o.length;s<l;++s)o[s].e=t=!t;for(var u=a[0],c,d;;){for(var h=u,f=!0;h.v;)if((h=h.n)===u)return;c=h.z,r.lineStart();do{if(h.v=h.o.v=!0,h.e){if(f)for(s=0,l=c.length;s<l;++s)r.point((d=c[s])[0],d[1]);else i(h.x,h.n.x,1,r);h=h.n}else{if(f)for(c=h.p.z,s=c.length-1;s>=0;--s)r.point((d=c[s])[0],d[1]);else i(h.x,h.p.x,-1,r);h=h.p}h=h.o,c=h.z,f=!f}while(!h.v);r.lineEnd()}}}function CH(n){if(e=n.length){for(var e,t=0,i=n[0],r;++t<e;)i.n=r=n[t],r.p=i,i=r;i.n=r=n[0],r.p=i}}function vT(n){return F0(n[0])<=S1?n[0]:dFe(n[0])*((F0(n[0])+S1)%Ma-S1)}function gFe(n,e){var t=vT(e),i=e[1],r=j0(i),a=[j0(t),-W0(t),0],o=0,s=0,l=new oFe;r===1?i=Yi+h0:r===-1&&(i=-Yi-h0);for(var u=0,c=n.length;u<c;++u)if(h=(d=n[u]).length)for(var d,h,f=d[h-1],p=vT(f),m=f[1]/2+yH,v=j0(m),g=W0(m),_=0;_<h;++_,p=x,v=C,g=M,f=S){var S=d[_],x=vT(S),A=S[1]/2+yH,C=j0(A),M=W0(A),I=x-p,D=I>=0?1:-1,E=D*I,P=E>S1,F=v*C;if(l.add(ih(F*D*j0(E),g*M+F*W0(E))),o+=P?I+D*Ma:I,P^p>=t^x>=t){var V=jg(E7(f),E7(S));oM(V);var G=jg(a,V);oM(G);var W=(P^I>=0?-1:1)*rh(G[2]);(i>W||i===W&&(V[0]||V[1]))&&(s+=P^I>=0?1:-1)}}return(o<-h0||o<h0&&l<-lFe)^s&1}function Eee(n,e,t,i){return function(r){var a=e(r),o=Cee(),s=e(o),l=!1,u,c,d,h={point:f,lineStart:m,lineEnd:v,polygonStart:function(){h.point=g,h.lineStart=_,h.lineEnd=S,c=[],u=[]},polygonEnd:function(){h.point=f,h.lineStart=m,h.lineEnd=v,c=wee(c);var x=gFe(u,i);c.length?(l||(r.polygonStart(),l=!0),Mee(c,_Fe,x,t,r)):x&&(l||(r.polygonStart(),l=!0),r.lineStart(),t(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),c=u=null},sphere:function(){r.polygonStart(),r.lineStart(),t(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function f(x,A){n(x,A)&&r.point(x,A)}function p(x,A){a.point(x,A)}function m(){h.point=p,a.lineStart()}function v(){h.point=f,a.lineEnd()}function g(x,A){d.push([x,A]),s.point(x,A)}function _(){s.lineStart(),d=[]}function S(){g(d[0][0],d[0][1]),s.lineEnd();var x=s.clean(),A=o.result(),C,M=A.length,I,D,E;if(d.pop(),u.push(d),d=null,!!M){if(x&1){if(D=A[0],(I=D.length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),C=0;C<I;++C)r.point((E=D[C])[0],E[1]);r.lineEnd()}return}M>1&&x&2&&A.push(A.pop().concat(A.shift())),c.push(A.filter(yFe))}}return h}}function yFe(n){return n.length>1}function _Fe(n,e){return((n=n.x)[0]<0?n[1]-Yi-h0:Yi-n[1])-((e=e.x)[0]<0?e[1]-Yi-h0:Yi-e[1])}const MH=Eee(function(){return!0},SFe,xFe,[-S1,-Yi]);function SFe(n){var e=NaN,t=NaN,i=NaN,r;return{lineStart:function(){n.lineStart(),r=1},point:function(a,o){var s=a>0?S1:-S1,l=F0(a-e);F0(l-S1)<h0?(n.point(e,t=(t+o)/2>0?Yi:-Yi),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(s,t),n.point(a,t),r=0):i!==s&&l>=S1&&(F0(e-i)<h0&&(e-=i*h0),F0(a-s)<h0&&(a-=s*h0),t=bFe(e,t,a,o),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(s,t),r=0),n.point(e=a,t=o),i=s},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-r}}}function bFe(n,e,t,i){var r,a,o=j0(n-t);return F0(o)>h0?Tee((j0(e)*(a=W0(i))*j0(t)-j0(i)*(r=W0(e))*j0(n))/(r*a*o)):(e+i)/2}function xFe(n,e,t,i){var r;if(n==null)r=t*Yi,i.point(-S1,r),i.point(0,r),i.point(S1,r),i.point(S1,0),i.point(S1,-r),i.point(0,-r),i.point(-S1,-r),i.point(-S1,0),i.point(-S1,r);else if(F0(n[0]-e[0])>h0){var a=n[0]<e[0]?S1:-S1;r=t*a/2,i.point(-a,r),i.point(0,r),i.point(a,r)}else i.point(e[0],e[1])}function wFe(n){var e=W0(n),t=2*nn,i=e>0,r=F0(e)>h0;function a(c,d,h,f){mFe(f,n,t,h,c,d)}function o(c,d){return W0(c)*W0(d)>e}function s(c){var d,h,f,p,m;return{lineStart:function(){p=f=!1,m=1},point:function(v,g){var _=[v,g],S,x=o(v,g),A=i?x?0:u(v,g):x?u(v+(v<0?S1:-S1),g):0;if(!d&&(p=f=x)&&c.lineStart(),x!==f&&(S=l(d,_),(!S||gm(d,S)||gm(_,S))&&(_[2]=1)),x!==f)m=0,x?(c.lineStart(),S=l(_,d),c.point(S[0],S[1])):(S=l(d,_),c.point(S[0],S[1],2),c.lineEnd()),d=S;else if(r&&d&&i^x){var C;!(A&h)&&(C=l(_,d,!0))&&(m=0,i?(c.lineStart(),c.point(C[0][0],C[0][1]),c.point(C[1][0],C[1][1]),c.lineEnd()):(c.point(C[1][0],C[1][1]),c.lineEnd(),c.lineStart(),c.point(C[0][0],C[0][1],3)))}x&&(!d||!gm(d,_))&&c.point(_[0],_[1]),d=_,f=x,h=A},lineEnd:function(){f&&c.lineEnd(),d=null},clean:function(){return m|(p&&f)<<1}}}function l(c,d,h){var f=E7(c),p=E7(d),m=[1,0,0],v=jg(f,p),g=xv(v,v),_=v[0],S=g-_*_;if(!S)return!h&&c;var x=e*g/S,A=-e*_/S,C=jg(m,v),M=wv(m,x),I=wv(v,A);pT(M,I);var D=C,E=xv(M,D),P=xv(D,D),F=E*E-P*(xv(M,M)-1);if(!(F<0)){var V=f_(F),G=wv(D,(-E-V)/P);if(pT(G,M),G=aM(G),!h)return G;var W=c[0],Y=d[0],Q=c[1],K=d[1],ae;Y<W&&(ae=W,W=Y,Y=ae);var ie=Y-W,he=F0(ie-S1)<h0,Ee=he||ie<h0;if(!he&&K<Q&&(ae=Q,Q=K,K=ae),Ee?he?Q+K>0^G[1]<(F0(G[0]-W)<h0?Q:K):Q<=G[1]&&G[1]<=K:ie>S1^(W<=G[0]&&G[0]<=Y)){var je=wv(D,(-E+V)/P);return pT(je,M),[G,aM(je)]}}}function u(c,d){var h=i?n:S1-n,f=0;return c<-h?f|=1:c>h&&(f|=2),d<-h?f|=4:d>h&&(f|=8),f}return Eee(o,s,a,i?[0,-n]:[-S1,n-S1])}function TFe(n,e,t,i,r,a){var o=n[0],s=n[1],l=e[0],u=e[1],c=0,d=1,h=l-o,f=u-s,p;if(p=t-o,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<d&&(d=p)}else if(h>0){if(p>d)return;p>c&&(c=p)}if(p=r-o,!(!h&&p<0)){if(p/=h,h<0){if(p>d)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<d&&(d=p)}if(p=i-s,!(!f&&p>0)){if(p/=f,f<0){if(p<c)return;p<d&&(d=p)}else if(f>0){if(p>d)return;p>c&&(c=p)}if(p=a-s,!(!f&&p<0)){if(p/=f,f<0){if(p>d)return;p>c&&(c=p)}else if(f>0){if(p<c)return;p<d&&(d=p)}return c>0&&(n[0]=o+c*h,n[1]=s+c*f),d<1&&(e[0]=o+d*h,e[1]=s+d*f),!0}}}}}var Rc=1e9,Av=-Rc;function AFe(n,e,t,i){function r(u,c){return n<=u&&u<=t&&e<=c&&c<=i}function a(u,c,d,h){var f=0,p=0;if(u==null||(f=o(u,d))!==(p=o(c,d))||l(u,c)<0^d>0)do h.point(f===0||f===3?n:t,f>1?i:e);while((f=(f+d+4)%4)!==p);else h.point(c[0],c[1])}function o(u,c){return F0(u[0]-n)<h0?c>0?0:3:F0(u[0]-t)<h0?c>0?2:1:F0(u[1]-e)<h0?c>0?1:0:c>0?3:2}function s(u,c){return l(u.x,c.x)}function l(u,c){var d=o(u,1),h=o(c,1);return d!==h?d-h:d===0?c[1]-u[1]:d===1?u[0]-c[0]:d===2?u[1]-c[1]:c[0]-u[0]}return function(u){var c=u,d=Cee(),h,f,p,m,v,g,_,S,x,A,C,M={point:I,lineStart:F,lineEnd:V,polygonStart:E,polygonEnd:P};function I(W,Y){r(W,Y)&&c.point(W,Y)}function D(){for(var W=0,Y=0,Q=f.length;Y<Q;++Y)for(var K=f[Y],ae=1,ie=K.length,he=K[0],Ee,je,xe=he[0],Oe=he[1];ae<ie;++ae)Ee=xe,je=Oe,he=K[ae],xe=he[0],Oe=he[1],je<=i?Oe>i&&(xe-Ee)*(i-je)>(Oe-je)*(n-Ee)&&++W:Oe<=i&&(xe-Ee)*(i-je)<(Oe-je)*(n-Ee)&&--W;return W}function E(){c=d,h=[],f=[],C=!0}function P(){var W=D(),Y=C&&W,Q=(h=wee(h)).length;(Y||Q)&&(u.polygonStart(),Y&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),Q&&Mee(h,s,W,a,u),u.polygonEnd()),c=u,h=f=p=null}function F(){M.point=G,f&&f.push(p=[]),A=!0,x=!1,_=S=NaN}function V(){h&&(G(m,v),g&&x&&d.rejoin(),h.push(d.result())),M.point=I,x&&c.lineEnd()}function G(W,Y){var Q=r(W,Y);if(f&&p.push([W,Y]),A)m=W,v=Y,g=Q,A=!1,Q&&(c.lineStart(),c.point(W,Y));else if(Q&&x)c.point(W,Y);else{var K=[_=Math.max(Av,Math.min(Rc,_)),S=Math.max(Av,Math.min(Rc,S))],ae=[W=Math.max(Av,Math.min(Rc,W)),Y=Math.max(Av,Math.min(Rc,Y))];TFe(K,ae,n,e,t,i)?(x||(c.lineStart(),c.point(K[0],K[1])),c.point(ae[0],ae[1]),Q||c.lineEnd(),C=!1):Q&&(c.lineStart(),c.point(W,Y),C=!1)}_=W,S=Y,x=Q}return M}}const EH=n=>n;var P7=1/0,$g=P7,ah=-P7,qg=ah,CFe={point:MFe,lineStart:Pc,lineEnd:Pc,polygonStart:Pc,polygonEnd:Pc,result:function(){var n=[[P7,$g],[ah,qg]];return ah=qg=-($g=P7=1/0),n}};function MFe(n,e){n<P7&&(P7=n),n>ah&&(ah=n),e<$g&&($g=e),e>qg&&(qg=e)}const PH=CFe;function IR(n){return function(e){var t=new uM;for(var i in n)t[i]=n[i];return t.stream=e,t}}function uM(){}uM.prototype={constructor:uM,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function DR(n,e,t){var i=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),i!=null&&n.clipExtent(null),pFe(t,n.stream(PH)),e(PH.result()),i!=null&&n.clipExtent(i),n}function Pee(n,e,t){return DR(n,function(i){var r=e[1][0]-e[0][0],a=e[1][1]-e[0][1],o=Math.min(r/(i[1][0]-i[0][0]),a/(i[1][1]-i[0][1])),s=+e[0][0]+(r-o*(i[1][0]+i[0][0]))/2,l=+e[0][1]+(a-o*(i[1][1]+i[0][1]))/2;n.scale(150*o).translate([s,l])},t)}function EFe(n,e,t){return Pee(n,[[0,0],e],t)}function PFe(n,e,t){return DR(n,function(i){var r=+e,a=r/(i[1][0]-i[0][0]),o=(r-a*(i[1][0]+i[0][0]))/2,s=-a*i[0][1];n.scale(150*a).translate([o,s])},t)}function RFe(n,e,t){return DR(n,function(i){var r=+e,a=r/(i[1][1]-i[0][1]),o=-a*i[0][0],s=(r-a*(i[1][1]+i[0][1]))/2;n.scale(150*a).translate([o,s])},t)}var RH=16,LFe=W0(30*nn);function LH(n,e){return+e?DFe(n,e):IFe(n)}function IFe(n){return IR({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function DFe(n,e){function t(i,r,a,o,s,l,u,c,d,h,f,p,m,v){var g=u-i,_=c-r,S=g*g+_*_;if(S>4*e&&m--){var x=o+h,A=s+f,C=l+p,M=f_(x*x+A*A+C*C),I=rh(C/=M),D=F0(F0(C)-1)<h0||F0(a-d)<h0?(a+d)/2:ih(A,x),E=n(D,I),P=E[0],F=E[1],V=P-i,G=F-r,W=_*V-g*G;(W*W/S>e||F0((g*V+_*G)/S-.5)>.3||o*h+s*f+l*p<LFe)&&(t(i,r,a,o,s,l,P,F,D,x/=M,A/=M,C,m,v),v.point(P,F),t(P,F,D,x,A,C,u,c,d,h,f,p,m,v))}}return function(i){var r,a,o,s,l,u,c,d,h,f,p,m,v={point:g,lineStart:_,lineEnd:x,polygonStart:function(){i.polygonStart(),v.lineStart=A},polygonEnd:function(){i.polygonEnd(),v.lineStart=_}};function g(I,D){I=n(I,D),i.point(I[0],I[1])}function _(){d=NaN,v.point=S,i.lineStart()}function S(I,D){var E=E7([I,D]),P=n(I,D);t(d,h,c,f,p,m,d=P[0],h=P[1],c=I,f=E[0],p=E[1],m=E[2],RH,i),i.point(d,h)}function x(){v.point=g,i.lineEnd()}function A(){_(),v.point=C,v.lineEnd=M}function C(I,D){S(r=I,D),a=d,o=h,s=f,l=p,u=m,v.point=S}function M(){t(d,h,c,f,p,m,a,o,r,s,l,u,RH,i),v.lineEnd=x,x()}return v}}var NFe=IR({point:function(n,e){this.stream.point(n*nn,e*nn)}});function kFe(n){return IR({point:function(e,t){var i=n(e,t);return this.stream.point(i[0],i[1])}})}function FFe(n,e,t,i,r){function a(o,s){return o*=i,s*=r,[e+n*o,t-n*s]}return a.invert=function(o,s){return[(o-e)/n*i,(t-s)/n*r]},a}function IH(n,e,t,i,r,a){if(!a)return FFe(n,e,t,i,r);var o=W0(a),s=j0(a),l=o*n,u=s*n,c=o/n,d=s/n,h=(s*t-o*e)/n,f=(s*e+o*t)/n;function p(m,v){return m*=i,v*=r,[l*m-u*v+e,t-u*m-l*v]}return p.invert=function(m,v){return[i*(c*m-d*v+h),r*(f-d*m-c*v)]},p}function OFe(n){return BFe(function(){return n})()}function BFe(n){var e,t=150,i=480,r=250,a=0,o=0,s=0,l=0,u=0,c,d=0,h=1,f=1,p=null,m=MH,v=null,g,_,S,x=EH,A=.5,C,M,I,D,E;function P(W){return I(W[0]*nn,W[1]*nn)}function F(W){return W=I.invert(W[0],W[1]),W&&[W[0]*xr,W[1]*xr]}P.stream=function(W){return D&&E===W?D:D=NFe(kFe(c)(m(C(x(E=W)))))},P.preclip=function(W){return arguments.length?(m=W,p=void 0,G()):m},P.postclip=function(W){return arguments.length?(x=W,v=g=_=S=null,G()):x},P.clipAngle=function(W){return arguments.length?(m=+W?wFe(p=W*nn):(p=null,MH),G()):p*xr},P.clipExtent=function(W){return arguments.length?(x=W==null?(v=g=_=S=null,EH):AFe(v=+W[0][0],g=+W[0][1],_=+W[1][0],S=+W[1][1]),G()):v==null?null:[[v,g],[_,S]]},P.scale=function(W){return arguments.length?(t=+W,V()):t},P.translate=function(W){return arguments.length?(i=+W[0],r=+W[1],V()):[i,r]},P.center=function(W){return arguments.length?(a=W[0]%360*nn,o=W[1]%360*nn,V()):[a*xr,o*xr]},P.rotate=function(W){return arguments.length?(s=W[0]%360*nn,l=W[1]%360*nn,u=W.length>2?W[2]%360*nn:0,V()):[s*xr,l*xr,u*xr]},P.angle=function(W){return arguments.length?(d=W%360*nn,V()):d*xr},P.reflectX=function(W){return arguments.length?(h=W?-1:1,V()):h<0},P.reflectY=function(W){return arguments.length?(f=W?-1:1,V()):f<0},P.precision=function(W){return arguments.length?(C=LH(M,A=W*W),G()):f_(A)},P.fitExtent=function(W,Y){return Pee(P,W,Y)},P.fitSize=function(W,Y){return EFe(P,W,Y)},P.fitWidth=function(W,Y){return PFe(P,W,Y)},P.fitHeight=function(W,Y){return RFe(P,W,Y)};function V(){var W=IH(t,0,0,h,f,d).apply(null,e(a,o)),Y=IH(t,i-W[0],r-W[1],h,f,d);return c=Aee(s,l,u),M=sM(e,Y),I=sM(c,M),C=LH(M,A),G()}function G(){return D=E=null,P}return function(){return e=n.apply(this,arguments),P.invert=e.invert&&F,V()}}function NR(n,e){return[n,cFe(hFe((Yi+e)/2))]}NR.invert=function(n,e){return[n,2*Tee(uFe(e))-Yi]};function Is(){return zFe(NR).scale(961/Ma)}function zFe(n){var e=OFe(n),t=e.center,i=e.scale,r=e.translate,a=e.clipExtent,o=null,s,l,u;e.scale=function(d){return arguments.length?(i(d),c()):i()},e.translate=function(d){return arguments.length?(r(d),c()):r()},e.center=function(d){return arguments.length?(t(d),c()):t()},e.clipExtent=function(d){return arguments.length?(d==null?o=s=l=u=null:(o=+d[0][0],s=+d[0][1],l=+d[1][0],u=+d[1][1]),c()):o==null?null:[[o,s],[l,u]]};function c(){var d=S1*i(),h=e(vFe(e.rotate()).invert([0,0]));return a(o==null?[[h[0]-d,h[1]-d],[h[0]+d,h[1]+d]]:n===NR?[[Math.max(h[0]-d,o),s],[Math.min(h[0]+d,l),u]]:[[o,Math.max(h[1]-d,s)],[l,Math.min(h[1]+d,u)]])}return c()}class GFe extends h_{constructor(e,t={}){super();let i={isOrthographic:!1};this.config=Object.assign({},i,t),this.canvas=e,this.scene=new JQ,this.sizes=new fke(this),this.time=new pke(this),this.camera=new aFe(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new iFe(this),this.sizes.on("resize",()=>{this.resize()}),this.time.on("tick",r=>{this.update(r)})}setAxesHelper(e=250){if(!e)return!1;let t=new pee(e);this.scene.add(t)}resize(){this.camera.resize(),this.renderer.resize()}update(e){this.camera.update(e),this.renderer.update(e)}destroy(){var e,t;this.sizes.destroy(),this.time.destroy(),this.camera.destroy(),this.renderer.destroy(),this.scene.traverse(i=>{if(i instanceof h1){i.geometry.dispose();for(const r in i.material){const a=i.material[r];a&&typeof a.dispose=="function"&&a.dispose()}}}),(t=(e=this.canvas)==null?void 0:e.parentNode)==null||t.removeChild(this.canvas)}}class UFe{constructor({material:e,time:t,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:o,callback:s=()=>{}}){this.time=t,this.pointShader=null,this.callback=s;let l={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},l,{material:e,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:o}),this.init()}init(){let{material:e,size:t,diffuseColor:i,diffuseSpeed:r,diffuseWidth:a}=this.options,o=t/r;e.onBeforeCompile=s=>{this.pointShader=s,this.callback(s,o),s.uniforms=Z2(b2({},s.uniforms),{uTime:{value:0},uSpeed:{value:r},uWidth:{value:a},uColor:{value:new Jt(i)}}),s.vertexShader=s.vertexShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
void main(){ |
|
|
vPosition = position; |
|
|
`),s.fragmentShader=s.fragmentShader.replace("void main() {",` |
|
|
uniform float uTime; |
|
|
uniform float uSpeed; |
|
|
uniform float uWidth; |
|
|
uniform vec3 uColor; |
|
|
varying vec3 vPosition; |
|
|
void main(){ |
|
|
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
|
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= material.transmissionAlpha; |
|
|
#endif |
|
|
|
|
|
float r = uTime * uSpeed; |
|
|
|
|
|
float w = uWidth; |
|
|
// if(w>uWidth){ |
|
|
// w = uWidth; |
|
|
// }else{ |
|
|
// w = uTime * 1.5; |
|
|
// } |
|
|
|
|
|
vec2 center = vec2(0.0, 0.0); |
|
|
|
|
|
float rDistance = distance(vPosition.xy, center); |
|
|
|
|
|
if(rDistance > r && rDistance < r + 2.0 * w) { |
|
|
float per = 0.0; |
|
|
if(rDistance < r + w) { |
|
|
float p = smoothstep(0.0,1.0,(rDistance - r) / w); |
|
|
p*=p; |
|
|
outgoingLight = mix(outgoingLight, uColor, p); |
|
|
} else { |
|
|
|
|
|
float p = smoothstep(0.0,1.0,(rDistance - r - w) / w); |
|
|
|
|
|
outgoingLight = mix(uColor, outgoingLight, p); |
|
|
} |
|
|
gl_FragColor = vec4(outgoingLight, diffuseColor.a); |
|
|
} else { |
|
|
gl_FragColor = vec4(outgoingLight, 0.0); |
|
|
} |
|
|
`)}}}class VFe{constructor({scene:e,time:t},i){this.scene=e,this.time=t,this.instance=null;let r={position:new Ie(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:E8};this.options=Object.assign({},r,i),this.init()}init(){let e=new D1;e.name="Grid";let t=this.createGridHelp(),i=this.createShapes(),r=this.createPoint();e.add(t,i,r),e.position.copy(this.options.position),this.instance=e,this.scene.add(e)}createShapes(){let{gridSize:e,gridDivision:t,shapeSize:i,shapeColor:r}=this.options,a=e/t,o=e/2,s=new C1({color:r,side:r0}),l=[];for(let d=0;d<t+1;d++)for(let h=0;h<t+1;h++){let f=this.createPlus(i);f.translate(-o+d*a,-o+h*a,0),l.push(f)}let u=vee(l),c=new h1(u,s);return c.renderOrder=-1,c.rotateX(-Math.PI/2),c.position.y+=.01,c}createGridHelp(){let{gridSize:e,gridDivision:t,gridColor:i}=this.options;return new dke(e,t,i,i)}createPoint(){let{gridSize:e,pointSize:t,pointColor:i,pointBlending:r,pointLayout:a}=this.options;const o=a.row,s=a.col,l=new Float32Array(o*s*3);for(let h=0;h<o;h++)for(let f=0;f<s;f++){let p=h/(o-1)*e-e/2,m=0,v=f/(s-1)*e-e/2,g=(h*s+f)*3;l[g]=p,l[g+1]=m,l[g+2]=v}var u=new J1;u.setAttribute("position",new R0(l,3));let c=new Nh({size:t,sizeAttenuation:!0,color:i,blending:r});return new bR(u,c)}setPointMode(){}createPlus(e=50){let t=e/6/3,i=e/3,r=[new Q2(-i,-t),new Q2(-t,-t),new Q2(-t,-i),new Q2(t,-i),new Q2(t,-i),new Q2(t,-t),new Q2(i,-t),new Q2(i,t),new Q2(t,t),new Q2(t,i),new Q2(-t,i),new Q2(-t,t),new Q2(-i,t)],a=new jo(r);return new kh(a,24)}}const DH=new Ie,HFe=new io,NH=new Ie;class Ree extends s0{constructor(e=document.createElement("div")){super(),this.isCSS3DObject=!0,this.element=e,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",function(){this.traverse(function(t){t.element instanceof Element&&t.element.parentNode!==null&&t.element.parentNode.removeChild(t.element)})})}copy(e,t){return super.copy(e,t),this.element=e.element.cloneNode(!0),this}}class WFe extends Ree{constructor(e){super(e),this.isCSS3DSprite=!0,this.rotation2D=0}copy(e,t){return super.copy(e,t),this.rotation2D=e.rotation2D,this}}const _o=new B3,jFe=new B3;class $Fe{constructor(e={}){const t=this;let i,r,a,o;const s={camera:{style:""},objects:new WeakMap},l=e.element!==void 0?e.element:document.createElement("div");l.style.overflow="hidden",this.domElement=l;const u=document.createElement("div");u.style.transformOrigin="0 0",u.style.pointerEvents="none",l.appendChild(u);const c=document.createElement("div");c.style.transformStyle="preserve-3d",u.appendChild(c),this.getSize=function(){return{width:i,height:r}},this.render=function(m,v){const g=v.projectionMatrix.elements[5]*o;v.view&&v.view.enabled?(u.style.transform=`translate( ${-v.view.offsetX*(i/v.view.width)}px, ${-v.view.offsetY*(r/v.view.height)}px )`,u.style.transform+=`scale( ${v.view.fullWidth/v.view.width}, ${v.view.fullHeight/v.view.height} )`):u.style.transform="",m.matrixWorldAutoUpdate===!0&&m.updateMatrixWorld(),v.parent===null&&v.matrixWorldAutoUpdate===!0&&v.updateMatrixWorld();let _,S;v.isOrthographicCamera&&(_=-(v.right+v.left)/2,S=(v.top+v.bottom)/2);const x=v.view&&v.view.enabled?v.view.height/v.view.fullHeight:1,A=v.isOrthographicCamera?`scale( ${x} )scale(`+g+")translate("+d(_)+"px,"+d(S)+"px)"+h(v.matrixWorldInverse):`scale( ${x} )translateZ(`+g+"px)"+h(v.matrixWorldInverse),M=(v.isPerspectiveCamera?"perspective("+g+"px) ":"")+A+"translate("+a+"px,"+o+"px)";s.camera.style!==M&&(c.style.transform=M,s.camera.style=M),p(m,m,v)},this.setSize=function(m,v){i=m,r=v,a=i/2,o=r/2,l.style.width=m+"px",l.style.height=v+"px",u.style.width=m+"px",u.style.height=v+"px",c.style.width=m+"px",c.style.height=v+"px"};function d(m){return Math.abs(m)<1e-10?0:m}function h(m){const v=m.elements;return"matrix3d("+d(v[0])+","+d(-v[1])+","+d(v[2])+","+d(v[3])+","+d(v[4])+","+d(-v[5])+","+d(v[6])+","+d(v[7])+","+d(v[8])+","+d(-v[9])+","+d(v[10])+","+d(v[11])+","+d(v[12])+","+d(-v[13])+","+d(v[14])+","+d(v[15])+")"}function f(m){const v=m.elements;return"translate(-50%,-50%)"+("matrix3d("+d(v[0])+","+d(v[1])+","+d(v[2])+","+d(v[3])+","+d(-v[4])+","+d(-v[5])+","+d(-v[6])+","+d(-v[7])+","+d(v[8])+","+d(v[9])+","+d(v[10])+","+d(v[11])+","+d(v[12])+","+d(v[13])+","+d(v[14])+","+d(v[15])+")")}function p(m,v,g,_){if(m.isCSS3DObject){const S=m.visible===!0&&m.layers.test(g.layers)===!0;if(m.element.style.display=S===!0?"":"none",S===!0){m.onBeforeRender(t,v,g);let x;m.isCSS3DSprite?(_o.copy(g.matrixWorldInverse),_o.transpose(),m.rotation2D!==0&&_o.multiply(jFe.makeRotationZ(m.rotation2D)),m.matrixWorld.decompose(DH,HFe,NH),_o.setPosition(DH),_o.scale(NH),_o.elements[3]=0,_o.elements[7]=0,_o.elements[11]=0,_o.elements[15]=1,x=f(_o)):x=f(m.matrixWorld);const A=m.element,C=s.objects.get(m);if(C===void 0||C.style!==x){A.style.transform=x;const M={style:x};s.objects.set(m,M)}A.parentNode!==c&&c.appendChild(A),m.onAfterRender(t,v,g)}}for(let S=0,x=m.children.length;S<x;S++)p(m.children[S],v,g)}}}class qFe{constructor({scene:e,camera:t,time:i,sizes:r,canvas:a}){this.scene=e,this.camera=t,this.time=i,this.sizes=r,this.canvas=a,this.parent=null;let{width:o,height:s}=this.sizes,l=new $Fe;this.css3dRender=l,l.setSize(o,s),l.domElement.style.position="absolute",l.domElement.style.left="0px",l.domElement.style.top="0px",l.domElement.style.pointerEvents="none",l.domElement.className="label3d-"+nFe(),this.canvas.parentNode.appendChild(l.domElement),this.time.on("tick",()=>{this.update()}),this.sizes.on("resize",()=>{this.resize()})}create(e="",t="",i=!1){let r=document.createElement("div");r.innerHTML=e,r.className=t,r.style.visibility="hidden",r.style.position="absolute",t||(r.style.padding="10px",r.style.color="#fff",r.style.fontSize="12px",r.style.textAlign="center",r.style.background="rgba(0,0,0,0.6)",r.style.borderRadius="4px");let a=null;return i?a=new WFe(r):a=new Ree(r),a.init=(o,s)=>{a.element.innerHTML=o,a.element.style.visibility="visible",a.position.copy(s)},a.hide=()=>{a.element.style.visibility="hidden"},a.scaleHide=()=>{a.element.classList.add("scale-hidden")},a.show=()=>{a.element.style.visibility="visible",a.element.classList.remove("scale-hidden")},a.setParent=o=>{this.parent=o,o.add(a)},a.remove=()=>{this.parent.remove(a)},a}setLabelStyle(e,t=.1,i="x",r=Math.PI/2,a="none"){e.element.style.pointerEvents=a,e.scale.set(t,t,t),e.rotation[i]=r}setRenderLevel(e){this.css3dRender.domElement.style.zIndex=e}update(){this.css3dRender.render(this.scene,this.camera.instance)}destroy(){if(this.css3dRender){let e=this.css3dRender.domElement;e.parentNode.removeChild(e)}}resize(){let{width:e,height:t}=this.sizes;this.css3dRender.setSize(e,t)}}class kH{constructor({time:e},t){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new Ie(0,0,0),needRotate:!1,rotateSpeed:.001,material:new C1({transparent:!0,opacity:1,depthTest:!0})},t);let i=new Tr(this.options.width,this.options.width),r=new h1(i,this.options.material);r.position.copy(this.options.position),r.scale.set(this.options.scale,this.options.scale,this.options.scale),this.instance=r}setParent(e){e.add(this.instance),this.time.on("tick",()=>{this.update()})}update(){this.options.needRotate&&(this.instance.rotation.z+=this.options.rotateSpeed)}}class Xg{constructor({time:e},t={}){this.instance=null,this.time=e,this.enable=!0,this.config=Object.assign({num:100,range:500,speed:.01,renderOrder:99,dir:"up",material:new Nh({map:Xg.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:Cn,sizeAttenuation:!0})},t),this.create()}create(){const{range:e,speed:t,dir:i,material:r,num:a,renderOrder:o}=this.config,s=[],l=[],u=[];for(let d=0;d<a;d++){s.push(Math.random()*e-e/2,Math.random()*e-e/2,Math.random()*e-e/2);let h=i==="up"?1:-1;u.push(Math.random()*h,(.1+Math.random())*h,.1+Math.random()*h);const f=r.color.clone();let p={};f.getHSL(p),f.setHSL(p.h,p.s,p.l*Math.random()),l.push(f.r,f.g,f.b)}const c=new J1;c.setAttribute("position",new R0(new Float32Array(s),3)),c.setAttribute("velocities",new R0(new Float32Array(u),3)),c.setAttribute("color",new R0(new Float32Array(l),3)),this.instance=new bR(c,r),this.instance.renderOrder=o}static createTexture(){let e=document.createElement("canvas");e.width=1024,e.height=1024;let t=e.getContext("2d"),i=t.createRadialGradient(512,512,0,512,512,512);return i.addColorStop(0,"rgba(255,255,255,1)"),i.addColorStop(1,"rgba(255,255,255,0)"),t.fillStyle=i,t.fillRect(0,0,1024,1024),new xR(e)}update(e,t){if(!this.instance)return!1;const{range:i,speed:r,dir:a}=this.config;let o=a==="up"?1:-1,s=this.instance.geometry.getAttribute("position"),l=this.instance.geometry.getAttribute("velocities");const u=s.count;for(let c=0;c<u;c++){let d=s.getX(c);s.getY(c);let h=s.getZ(c),f=l.getX(c),p=l.getY(c);l.getZ(c),d+=Math.sin(f*t)*e,h+=r*o,h>i/2&&o===1&&(h=-i/2),h<-i/2&&o==-1&&(h=i/2),s.setX(c,d),s.setZ(c,h),l.setX(c,f),l.setY(c,p)}s.needsUpdate=!0,l.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(t,i)=>{this.enable&&this.update(t,i)})}}class Cv{constructor({},e={}){this.mapGroup=new D1,this.coordinates=[],this.config=Object.assign({position:new Ie(0,0,0),geoProjectionCenter:new Q2(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new C1({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let t=LR(this.config.data);this.create(t)}geoProjection(e){return Is().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){let{merge:t}=this.config,i=[];if(e.features.forEach(r=>{const a=new s0;let{name:o,center:s=[],centroid:l=[]}=r.properties;this.coordinates.push({name:o,center:s,centroid:l}),a.userData.name=o,r.geometry.coordinates.forEach(u=>{u.forEach(c=>{const d=new jo;for(let f=0;f<c.length;f++){if(!c[f][0]||!c[f][1])return!1;const[p,m]=this.geoProjection(c[f]);f===0&&d.moveTo(p,-m),d.lineTo(p,-m)}const h=new kh(d);if(t)i.push(h);else{const f=new h1(h,this.config.material);f.renderOrder=this.config.renderOrder,f.userData.name=o,a.add(f)}})}),t||this.mapGroup.add(a)}),t){let r=vee(i);const a=new h1(r,this.config.material);a.renderOrder=this.config.renderOrder,this.mapGroup.add(a)}}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}class FH{constructor({assets:e,time:t},i={}){this.mapGroup=new D1,this.assets=e,this.time=t,this.coordinates=[],this.config=Object.assign({position:new Ie(0,0,0),geoProjectionCenter:new Q2(0,0),geoProjectionScale:120,data:"",renderOrder:1,topFaceMaterial:new C1({color:1582651,transparent:!0,opacity:1}),sideMaterial:new C1({color:464171,transparent:!0,opacity:1}),depth:.1},i),this.mapGroup.position.copy(this.config.position);let r=LR(this.config.data);this.create(r)}geoProjection(e){return Is().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){e.features.forEach(t=>{var u,c,d;const i=new s0;let{name:r,center:a=[],centroid:o=[]}=t.properties;this.coordinates.push({name:r,center:a,centroid:o});const s={depth:this.config.depth,bevelEnabled:(u=this.config.bevelEnabled)!=null?u:!0,bevelSegments:(c=this.config.bevelSegments)!=null?c:1,bevelThickness:(d=this.config.bevelThickness)!=null?d:.1};let l=[this.config.topFaceMaterial,this.config.sideMaterial];t.geometry.coordinates.forEach(h=>{h.forEach((f,p)=>{const m=new jo;for(let _=0;_<f.length;_++){if(!f[_][0]||!f[_][1])return!1;const[S,x]=this.geoProjection(f[_]);_===0&&m.moveTo(S,-x),m.lineTo(S,-x)}const v=new u_(m,s),g=new h1(v,l);i.add(g)})}),this.mapGroup.add(i)})}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}const OH=new La,Mv=new Ie;class Lee extends ZNe{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],t=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new m0(e,3)),this.setAttribute("uv",new m0(t,2))}applyMatrix4(e){const t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new QC(t,6,1);return this.setAttribute("instanceStart",new Za(i,3,0)),this.setAttribute("instanceEnd",new Za(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new QC(t,6,1);return this.setAttribute("instanceColorStart",new Za(i,3,0)),this.setAttribute("instanceColorEnd",new Za(i,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new NNe(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new La);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),OH.setFromBufferAttribute(t),this.boundingBox.union(OH))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Ia),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){const i=this.boundingSphere.center;this.boundingBox.getCenter(i);let r=0;for(let a=0,o=e.count;a<o;a++)Mv.fromBufferAttribute(e,a),r=Math.max(r,i.distanceToSquared(Mv)),Mv.fromBufferAttribute(t,a),r=Math.max(r,i.distanceToSquared(Mv));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}}Mt.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Q2(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};$i.line={uniforms:fR.merge([Mt.common,Mt.fog,Mt.line]),vertexShader:` |
|
|
#include <common> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
|
|
|
uniform float linewidth; |
|
|
uniform vec2 resolution; |
|
|
|
|
|
attribute vec3 instanceStart; |
|
|
attribute vec3 instanceEnd; |
|
|
|
|
|
attribute vec3 instanceColorStart; |
|
|
attribute vec3 instanceColorEnd; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
varying vec4 worldPos; |
|
|
varying vec3 worldStart; |
|
|
varying vec3 worldEnd; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
uniform float dashScale; |
|
|
attribute float instanceDistanceStart; |
|
|
attribute float instanceDistanceEnd; |
|
|
varying float vLineDistance; |
|
|
|
|
|
#endif |
|
|
|
|
|
void trimSegment( const in vec4 start, inout vec4 end ) { |
|
|
|
|
|
// trim end segment so it terminates between the camera plane and the near plane |
|
|
|
|
|
// conservative estimate of the near plane |
|
|
float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column |
|
|
float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column |
|
|
float nearEstimate = - 0.5 * b / a; |
|
|
|
|
|
float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); |
|
|
|
|
|
end.xyz = mix( start.xyz, end.xyz, alpha ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
#ifdef USE_COLOR |
|
|
|
|
|
vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; |
|
|
|
|
|
#endif |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; |
|
|
vUv = uv; |
|
|
|
|
|
#endif |
|
|
|
|
|
float aspect = resolution.x / resolution.y; |
|
|
|
|
|
// camera space |
|
|
vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); |
|
|
vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
worldStart = start.xyz; |
|
|
worldEnd = end.xyz; |
|
|
|
|
|
#else |
|
|
|
|
|
vUv = uv; |
|
|
|
|
|
#endif |
|
|
|
|
|
// special case for perspective projection, and segments that terminate either in, or behind, the camera plane |
|
|
// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space |
|
|
// but we need to perform ndc-space calculations in the shader, so we must address this issue directly |
|
|
// perhaps there is a more elegant solution -- WestLangley |
|
|
|
|
|
bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column |
|
|
|
|
|
if ( perspective ) { |
|
|
|
|
|
if ( start.z < 0.0 && end.z >= 0.0 ) { |
|
|
|
|
|
trimSegment( start, end ); |
|
|
|
|
|
} else if ( end.z < 0.0 && start.z >= 0.0 ) { |
|
|
|
|
|
trimSegment( end, start ); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
// clip space |
|
|
vec4 clipStart = projectionMatrix * start; |
|
|
vec4 clipEnd = projectionMatrix * end; |
|
|
|
|
|
// ndc space |
|
|
vec3 ndcStart = clipStart.xyz / clipStart.w; |
|
|
vec3 ndcEnd = clipEnd.xyz / clipEnd.w; |
|
|
|
|
|
// direction |
|
|
vec2 dir = ndcEnd.xy - ndcStart.xy; |
|
|
|
|
|
// account for clip-space aspect ratio |
|
|
dir.x *= aspect; |
|
|
dir = normalize( dir ); |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
vec3 worldDir = normalize( end.xyz - start.xyz ); |
|
|
vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); |
|
|
vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); |
|
|
vec3 worldFwd = cross( worldDir, worldUp ); |
|
|
worldPos = position.y < 0.5 ? start: end; |
|
|
|
|
|
// height offset |
|
|
float hw = linewidth * 0.5; |
|
|
worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; |
|
|
|
|
|
// don't extend the line if we're rendering dashes because we |
|
|
// won't be rendering the endcaps |
|
|
#ifndef USE_DASH |
|
|
|
|
|
// cap extension |
|
|
worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; |
|
|
|
|
|
// add width to the box |
|
|
worldPos.xyz += worldFwd * hw; |
|
|
|
|
|
// endcaps |
|
|
if ( position.y > 1.0 || position.y < 0.0 ) { |
|
|
|
|
|
worldPos.xyz -= worldFwd * 2.0 * hw; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
// project the worldpos |
|
|
vec4 clip = projectionMatrix * worldPos; |
|
|
|
|
|
// shift the depth of the projected points so the line |
|
|
// segments overlap neatly |
|
|
vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; |
|
|
clip.z = clipPose.z * clip.w; |
|
|
|
|
|
#else |
|
|
|
|
|
vec2 offset = vec2( dir.y, - dir.x ); |
|
|
// undo aspect ratio adjustment |
|
|
dir.x /= aspect; |
|
|
offset.x /= aspect; |
|
|
|
|
|
// sign flip |
|
|
if ( position.x < 0.0 ) offset *= - 1.0; |
|
|
|
|
|
// endcaps |
|
|
if ( position.y < 0.0 ) { |
|
|
|
|
|
offset += - dir; |
|
|
|
|
|
} else if ( position.y > 1.0 ) { |
|
|
|
|
|
offset += dir; |
|
|
|
|
|
} |
|
|
|
|
|
// adjust for linewidth |
|
|
offset *= linewidth; |
|
|
|
|
|
// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... |
|
|
offset /= resolution.y; |
|
|
|
|
|
// select end |
|
|
vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; |
|
|
|
|
|
// back to clip space |
|
|
offset *= clip.w; |
|
|
|
|
|
clip.xy += offset; |
|
|
|
|
|
#endif |
|
|
|
|
|
gl_Position = clip; |
|
|
|
|
|
vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation |
|
|
|
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
|
|
|
} |
|
|
`,fragmentShader:` |
|
|
uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform float linewidth; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
uniform float dashOffset; |
|
|
uniform float dashSize; |
|
|
uniform float gapSize; |
|
|
|
|
|
#endif |
|
|
|
|
|
varying float vLineDistance; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
varying vec4 worldPos; |
|
|
varying vec3 worldStart; |
|
|
varying vec3 worldEnd; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
|
|
|
vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { |
|
|
|
|
|
float mua; |
|
|
float mub; |
|
|
|
|
|
vec3 p13 = p1 - p3; |
|
|
vec3 p43 = p4 - p3; |
|
|
|
|
|
vec3 p21 = p2 - p1; |
|
|
|
|
|
float d1343 = dot( p13, p43 ); |
|
|
float d4321 = dot( p43, p21 ); |
|
|
float d1321 = dot( p13, p21 ); |
|
|
float d4343 = dot( p43, p43 ); |
|
|
float d2121 = dot( p21, p21 ); |
|
|
|
|
|
float denom = d2121 * d4343 - d4321 * d4321; |
|
|
|
|
|
float numer = d1343 * d4321 - d1321 * d4343; |
|
|
|
|
|
mua = numer / denom; |
|
|
mua = clamp( mua, 0.0, 1.0 ); |
|
|
mub = ( d1343 + d4321 * ( mua ) ) / d4343; |
|
|
mub = clamp( mub, 0.0, 1.0 ); |
|
|
|
|
|
return vec2( mua, mub ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
#include <clipping_planes_fragment> |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps |
|
|
|
|
|
if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX |
|
|
|
|
|
#endif |
|
|
|
|
|
float alpha = opacity; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
// Find the closest points on the view ray and the line segment |
|
|
vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; |
|
|
vec3 lineDir = worldEnd - worldStart; |
|
|
vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); |
|
|
|
|
|
vec3 p1 = worldStart + lineDir * params.x; |
|
|
vec3 p2 = rayEnd * params.y; |
|
|
vec3 delta = p1 - p2; |
|
|
float len = length( delta ); |
|
|
float norm = len / linewidth; |
|
|
|
|
|
#ifndef USE_DASH |
|
|
|
|
|
#ifdef USE_ALPHA_TO_COVERAGE |
|
|
|
|
|
float dnorm = fwidth( norm ); |
|
|
alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); |
|
|
|
|
|
#else |
|
|
|
|
|
if ( norm > 0.5 ) { |
|
|
|
|
|
discard; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
#ifdef USE_ALPHA_TO_COVERAGE |
|
|
|
|
|
// artifacts appear on some hardware if a derivative is taken within a conditional |
|
|
float a = vUv.x; |
|
|
float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; |
|
|
float len2 = a * a + b * b; |
|
|
float dlen = fwidth( len2 ); |
|
|
|
|
|
if ( abs( vUv.y ) > 1.0 ) { |
|
|
|
|
|
alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); |
|
|
|
|
|
} |
|
|
|
|
|
#else |
|
|
|
|
|
if ( abs( vUv.y ) > 1.0 ) { |
|
|
|
|
|
float a = vUv.x; |
|
|
float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; |
|
|
float len2 = a * a + b * b; |
|
|
|
|
|
if ( len2 > 1.0 ) discard; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
vec4 diffuseColor = vec4( diffuse, alpha ); |
|
|
|
|
|
#include <logdepthbuf_fragment> |
|
|
#include <color_fragment> |
|
|
|
|
|
gl_FragColor = vec4( diffuseColor.rgb, alpha ); |
|
|
|
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
|
|
|
} |
|
|
`};class Iee extends Js{constructor(e){super({type:"LineMaterial",uniforms:fR.clone($i.line.uniforms),vertexShader:$i.line.vertexShader,fragmentShader:$i.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1))}}const BH=new Ie,zH=new Ie,Nn=new M1,kn=new M1,So=new M1,mT=new Ie,gT=new B3,On=new cke,GH=new Ie,Ev=new La,Pv=new Ia,bo=new M1;let Fo,D8;function UH(n,e,t){return bo.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),bo.multiplyScalar(1/bo.w),bo.x=D8/t.width,bo.y=D8/t.height,bo.applyMatrix4(n.projectionMatrixInverse),bo.multiplyScalar(1/bo.w),Math.abs(Math.max(bo.x,bo.y))}function XFe(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,a=i.attributes.instanceEnd,o=Math.min(i.instanceCount,r.count);for(let s=0,l=o;s<l;s++){On.start.fromBufferAttribute(r,s),On.end.fromBufferAttribute(a,s),On.applyMatrix4(t);const u=new Ie,c=new Ie;Fo.distanceSqToSegment(On.start,On.end,c,u),c.distanceTo(u)<D8*.5&&e.push({point:c,pointOnLine:u,distance:Fo.origin.distanceTo(c),object:n,face:null,faceIndex:s,uv:null,uv1:null})}}function YFe(n,e,t){const i=e.projectionMatrix,a=n.material.resolution,o=n.matrixWorld,s=n.geometry,l=s.attributes.instanceStart,u=s.attributes.instanceEnd,c=Math.min(s.instanceCount,l.count),d=-e.near;Fo.at(1,So),So.w=1,So.applyMatrix4(e.matrixWorldInverse),So.applyMatrix4(i),So.multiplyScalar(1/So.w),So.x*=a.x/2,So.y*=a.y/2,So.z=0,mT.copy(So),gT.multiplyMatrices(e.matrixWorldInverse,o);for(let h=0,f=c;h<f;h++){if(Nn.fromBufferAttribute(l,h),kn.fromBufferAttribute(u,h),Nn.w=1,kn.w=1,Nn.applyMatrix4(gT),kn.applyMatrix4(gT),Nn.z>d&&kn.z>d)continue;if(Nn.z>d){const S=Nn.z-kn.z,x=(Nn.z-d)/S;Nn.lerp(kn,x)}else if(kn.z>d){const S=kn.z-Nn.z,x=(kn.z-d)/S;kn.lerp(Nn,x)}Nn.applyMatrix4(i),kn.applyMatrix4(i),Nn.multiplyScalar(1/Nn.w),kn.multiplyScalar(1/kn.w),Nn.x*=a.x/2,Nn.y*=a.y/2,kn.x*=a.x/2,kn.y*=a.y/2,On.start.copy(Nn),On.start.z=0,On.end.copy(kn),On.end.z=0;const m=On.closestPointToPointParameter(mT,!0);On.at(m,GH);const v=dR.lerp(Nn.z,kn.z,m),g=v>=-1&&v<=1,_=mT.distanceTo(GH)<D8*.5;if(g&&_){On.start.fromBufferAttribute(l,h),On.end.fromBufferAttribute(u,h),On.start.applyMatrix4(o),On.end.applyMatrix4(o);const S=new Ie,x=new Ie;Fo.distanceSqToSegment(On.start,On.end,x,S),t.push({point:x,pointOnLine:S,distance:Fo.origin.distanceTo(x),object:n,face:null,faceIndex:h,uv:null,uv1:null})}}}class KFe extends h1{constructor(e=new Lee,t=new Iee({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let o=0,s=0,l=t.count;o<l;o++,s+=2)BH.fromBufferAttribute(t,o),zH.fromBufferAttribute(i,o),r[s]=s===0?0:r[s-1],r[s+1]=r[s]+BH.distanceTo(zH);const a=new QC(r,2,1);return e.setAttribute("instanceDistanceStart",new Za(a,1,0)),e.setAttribute("instanceDistanceEnd",new Za(a,1,1)),this}raycast(e,t){const i=this.material.worldUnits,r=e.camera;r===null&&!i&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const a=e.params.Line2!==void 0&&e.params.Line2.threshold||0;Fo=e.ray;const o=this.matrixWorld,s=this.geometry,l=this.material;D8=l.linewidth+a,s.boundingSphere===null&&s.computeBoundingSphere(),Pv.copy(s.boundingSphere).applyMatrix4(o);let u;if(i)u=D8*.5;else{const d=Math.max(r.near,Pv.distanceToPoint(Fo.origin));u=UH(r,d,l.resolution)}if(Pv.radius+=u,Fo.intersectsSphere(Pv)===!1)return;s.boundingBox===null&&s.computeBoundingBox(),Ev.copy(s.boundingBox).applyMatrix4(o);let c;if(i)c=D8*.5;else{const d=Math.max(r.near,Ev.distanceToPoint(Fo.origin));c=UH(r,d,l.resolution)}Ev.expandByScalar(c),Fo.intersectsBox(Ev)!==!1&&(i?XFe(this,t):YFe(this,r,t))}}class Dee extends Lee{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setPositions(i),this}setColors(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setColors(i),this}fromLine(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}}class ZFe extends KFe{constructor(e=new Dee,t=new Iee({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type="Line2"}}class Rv{constructor({},e={}){this.config=Object.assign({visibelProvince:"",geoProjectionCenter:[0,0],geoProjectionScale:120,position:new Ie(0,0,0),data:"",material:new ko({color:16777215}),type:"LineLoop",renderOrder:1,tubeRadius:.2},e);let t=LR(this.config.data),i=this.create(t);this.lineGroup=i,this.lineGroup.position.copy(this.config.position)}geoProjection(e){return Is().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){const{type:t,visibelProvince:i}=this.config;let r=e.features,a=new D1;for(let o=0;o<r.length;o++){const s=r[o];let l=new D1;l.name="meshLineGroup"+o,s.properties.name!==i&&(s.geometry.coordinates.forEach(u=>{const c=[];let d=null;t==="Line2"?(u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(f,-p,0)}),d=this.createLine2(c)):t==="Line3"?(u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(new Ie(f,-p,0))}),d=this.createLine3(c)):u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(new Ie(f,-p,0)),d=this.createLine(c)}),l.add(d)}),a.add(l))}return a}createLine3(e){const t=this.config.tubeRadius,i=256*10,r=4,a=!1,{material:o,renderOrder:s}=this.config,l=new AR(e),u=new c_(l,i,t,r,a),c=new h1(u,o);return c.name="mapLine3",c.renderOrder=s,c}createLine2(e){const{material:t,renderOrder:i}=this.config,r=new Dee;r.setPositions(e);let a=new ZFe(r,t);return a.name="mapLine2",a.renderOrder=i,a.computeLineDistances(),a}createLine(e){const{material:t,renderOrder:i,type:r}=this.config,a=new J1;a.setFromPoints(e);let o=new Ug(a,t);return o.renderOrder=i,o.name="mapLine",o}setParent(e){e.add(this.lineGroup)}}class Lv{constructor(e,t){this.shader=null,this.config=Object.assign({uColor1:2781042,uColor2:860197,size:15,dir:"x"},t),this.init(e)}init(e){let{uColor1:t,uColor2:i,dir:r,size:a}=this.config,o={x:1,y:2,z:3};e.onBeforeCompile=s=>{this.shader=s,s.uniforms=Z2(b2({},s.uniforms),{uColor1:{value:new Jt(t)},uColor2:{value:new Jt(i)},uDir:{value:o[r]},uSize:{value:a}}),s.vertexShader=s.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),s.fragmentShader=s.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
uniform float uDir; |
|
|
uniform float uSize; |
|
|
|
|
|
void main() { |
|
|
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
|
|
|
// https://github.com/mrdoob/three.js/pull/22425 |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
// vec3 gradient = mix(uColor1, uColor2, vPosition.x / 15.0); |
|
|
vec3 gradient = vec3(0.0,0.0,0.0); |
|
|
if(uDir==1.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.x/ uSize); |
|
|
}else if(uDir==2.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.z/ uSize); |
|
|
}else if(uDir==3.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.y/ uSize); |
|
|
} |
|
|
outgoingLight = outgoingLight * gradient; |
|
|
|
|
|
|
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)}}}const JFe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7dzNbdswGIdxSugCRtGBuklWSO17nXs/J0hHywA11AEMu3wDsLFT5WCJ5PtI/D8nQ5cA/FmxJJLqtofhHBSmPihUAoElEFgCgfVu7ODX95suqOKNXVDpDIElEFgCgSUQWAKBJRBYAoE1G2Q3DJ/j9fRjUGE7DI+f4niEGc0CMYzzKezjx7vWUQwjnMJdF8djDsq8M+QYLu/om0VJGP8OXI/LTc0C+fJhs4/fiIeLQ82hvMaI/zEevsVxCROb/RvSMkpuDCvLVVaLKCUwrGyXvS2hlMKwst6HtIBSEsPKfmO4ZpTSGFaRO/U1otTAsIo9OlkTSi0Mq+izrDWg1MSwij9cXDJKbQyrytPeJaJ4YFjVHr8vCcULw6o6H7IEFE8Mq/oEFRnFG8NymTEkohAwLLcpXBIKBcNynVMnoJAwLPdFDp4oNAwLserEA4WIYXVjK7C9Vr+fY8Gh7e8/Lhha/f5GhDMjJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJZDwvIIQs2kIA/K81tYvzKYhBMh/75vyCYHiDgLBSLmjuIK8xrBV6J1HoO11biCk/Rmk7XUuIMTNMhSU6iDUnUsWAaUqCBkj5Y1SDWQJGClPlCogS8JIeaEUB1kiRsoDpSjIkjFStVGKgawBI1UTpQjImjBStVCyg6wRI1UDJSvImjFSpVGygbSAkSqJkgWkJYxUKZTZIC1ipEqgzAJpGSOVG2UyiDBeyokyCWR3OOyFcd0Yyu4wfA83Ngnk2Pe/ziE82WdhvHSJYuNz7MPPcGOTQH5sNk+nPnyMf/xeGNcZSvyS3tv42DiFG0O94q+19Iq/BSQQWAKBJRBYAoElEFgCgSUQWKM3hsovnSGwBAJLILAEAusvLK6Na4P/Au0AAAAASUVORK5CYII=",Nee=`{"name":"hongyuan_townships","type":"FeatureCollection","source":"PostGIS public.c_area where parent_code = 513233","features":[{"id":"513233100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.439335,32.937888],[102.439465,32.937624],[102.439588,32.937381],[102.439753,32.937201],[102.439756,32.937198],[102.439918,32.937021],[102.440068,32.936829],[102.440337,32.936613],[102.440605,32.936411],[102.440872,32.936208],[102.440989,32.936044],[102.440992,32.93604],[102.440994,32.935966],[102.440914,32.935745],[102.440772,32.935619],[102.440517,32.935419],[102.440455,32.935375],[102.440916,32.935324],[102.441734,32.935456],[102.44229,32.935178],[102.442815,32.934419],[102.44351,32.933259],[102.444121,32.932655],[102.444338,32.932255],[102.444741,32.931762],[102.445596,32.931414],[102.446633,32.931069],[102.447794,32.930381],[102.448442,32.930105],[102.449001,32.929712],[102.449331,32.929353],[102.449481,32.928894],[102.449606,32.928531],[102.450068,32.928328],[102.450741,32.927976],[102.45119,32.927446],[102.451478,32.926932],[102.451945,32.926576],[102.452324,32.926121],[102.452633,32.925685],[102.453259,32.925351],[102.454021,32.925039],[102.454694,32.924668],[102.455301,32.924218],[102.455973,32.923866],[102.456693,32.923437],[102.456974,32.923193],[102.457186,32.922966],[102.457363,32.922373],[102.45741,32.921526],[102.457323,32.919772],[102.457389,32.919361],[102.457412,32.919221],[102.457434,32.919081],[102.45745,32.918523],[102.457466,32.917965],[102.457431,32.917608],[102.457395,32.917251],[102.457233,32.916949],[102.45707,32.916648],[102.45673,32.916159],[102.45639,32.915671],[102.456185,32.915263],[102.45598,32.914854],[102.455876,32.914515],[102.455771,32.914176],[102.45562,32.913855],[102.45547,32.913534],[102.455472,32.913062],[102.455474,32.912591],[102.455475,32.912157],[102.455476,32.911724],[102.455408,32.911299],[102.455341,32.910874],[102.45526,32.910487],[102.45518,32.910101],[102.45526,32.909717],[102.455339,32.909334],[102.455421,32.908864],[102.455503,32.908393],[102.455584,32.907943],[102.455666,32.907492],[102.45571,32.906751],[102.455754,32.906011],[102.455799,32.905636],[102.455844,32.905262],[102.456031,32.904303],[102.456122,32.903515],[102.456001,32.902145],[102.456207,32.898887],[102.456064,32.89765],[102.456252,32.89609],[102.456412,32.894227],[102.456305,32.892992],[102.45657,32.892425],[102.45739,32.891208],[102.458239,32.890203],[102.459053,32.889166],[102.459612,32.888305],[102.460165,32.887684],[102.460608,32.887152],[102.461397,32.887017],[102.462111,32.886972],[102.462401,32.886827],[102.462597,32.886199],[102.463022,32.885034],[102.463218,32.884437],[102.46356,32.883691],[102.463871,32.882795],[102.463611,32.881887],[102.463009,32.880491],[102.463072,32.879529],[102.463198,32.87887],[102.463539,32.878155],[102.464274,32.877387],[102.464908,32.876407],[102.465427,32.875726],[102.466434,32.874182],[102.466629,32.873584],[102.466789,32.872955],[102.466809,32.872264],[102.466829,32.871572],[102.467217,32.870467],[102.468038,32.869159],[102.469019,32.867284],[102.469365,32.866388],[102.469819,32.865465],[102.469976,32.864956],[102.470434,32.863912],[102.471528,32.861768],[102.471984,32.860785],[102.472222,32.859947],[102.472702,32.859232],[102.47278,32.859116],[102.473231,32.858282],[102.473931,32.857514],[102.474161,32.857282],[102.474545,32.856895],[102.475173,32.856433],[102.476142,32.856205],[102.477274,32.855889],[102.478111,32.85559],[102.479001,32.855337],[102.480214,32.854978],[102.481052,32.854679],[102.481971,32.854314],[102.483244,32.85373],[102.484003,32.853362],[102.484649,32.853194],[102.485238,32.853184],[102.486127,32.852953],[102.486855,32.85272],[102.487537,32.852254],[102.48862,32.851531],[102.489742,32.850826],[102.490281,32.850567],[102.490759,32.850338],[102.491861,32.849463],[102.492679,32.848706],[102.49356,32.847885],[102.494546,32.847029],[102.495856,32.8459],[102.496385,32.845276],[102.496502,32.84486],[102.496437,32.84449],[102.496327,32.84412],[102.496249,32.843674],[102.496027,32.843048],[102.495721,32.842674],[102.495537,32.842264],[102.495224,32.841623],[102.494771,32.840636],[102.494555,32.840302],[102.494596,32.839754],[102.49473,32.839101],[102.494919,32.838241],[102.495116,32.837687],[102.495393,32.837247],[102.495484,32.836942],[102.495488,32.836897],[102.49553,32.836469],[102.495487,32.835659],[102.495517,32.835172],[102.495307,32.834429],[102.495258,32.833215],[102.495287,32.832198],[102.495507,32.830836],[102.495588,32.830294],[102.495721,32.829684],[102.495954,32.829005],[102.497083,32.826899],[102.4977,32.82604],[102.498076,32.825525],[102.498227,32.824722],[102.498463,32.82366],[102.498588,32.8229],[102.498942,32.82221],[102.49959,32.821199],[102.500151,32.820513],[102.500339,32.820256],[102.500413,32.820158],[102.500798,32.819848],[102.501091,32.819456],[102.501299,32.818746],[102.501321,32.817952],[102.500655,32.817166],[102.500433,32.816903],[102.499831,32.816281],[102.49959,32.815689],[102.499278,32.814855],[102.498883,32.814215],[102.498573,32.813294],[102.498437,32.812638],[102.498223,32.81198],[102.497608,32.810922],[102.497089,32.810106],[102.496219,32.808956],[102.495557,32.807723],[102.495094,32.806909],[102.495091,32.806903],[102.495059,32.806847],[102.495058,32.806845],[102.495057,32.806843],[102.495026,32.80679],[102.494254,32.805432],[102.493553,32.80433],[102.493538,32.804306],[102.492419,32.802825],[102.491777,32.801788],[102.491803,32.800895],[102.491908,32.80052],[102.49192,32.800476],[102.492233,32.799358],[102.492391,32.799006],[102.494832,32.793593],[102.494849,32.793556],[102.494882,32.793483],[102.4949,32.793443],[102.494913,32.793415],[102.494921,32.793398],[102.495295,32.792567],[102.495311,32.792533],[102.495326,32.792499],[102.495339,32.792471],[102.495353,32.792439],[102.495357,32.79243],[102.495368,32.792407],[102.495601,32.791966],[102.495631,32.791908],[102.495664,32.791847],[102.495681,32.791814],[102.495701,32.791776],[102.495741,32.791699],[102.495743,32.791696],[102.495942,32.79132],[102.495957,32.791291],[102.495958,32.79129],[102.495977,32.791253],[102.496141,32.790943],[102.496206,32.790821],[102.496227,32.790781],[102.496484,32.790294],[102.497119,32.790656],[102.497803,32.791083],[102.498545,32.791294],[102.499195,32.791265],[102.499216,32.791264],[102.499671,32.79104],[102.499896,32.790929],[102.500526,32.790463],[102.500871,32.790208],[102.500808,32.789908],[102.500816,32.789612],[102.500825,32.789283],[102.500832,32.789058],[102.500834,32.788964],[102.500847,32.788526],[102.50085,32.788408],[102.500866,32.78783],[102.500876,32.78749],[102.500958,32.787305],[102.501171,32.786828],[102.501244,32.786663],[102.501361,32.786554],[102.50146,32.786461],[102.5015,32.786423],[102.501756,32.786183],[102.501785,32.786155],[102.501844,32.7861],[102.501849,32.786096],[102.501853,32.786092],[102.501884,32.786081],[102.501923,32.786069],[102.501936,32.786064],[102.503049,32.785698],[102.503785,32.785738],[102.504006,32.78575],[102.504282,32.785765],[102.505311,32.786035],[102.50592,32.786141],[102.506392,32.786224],[102.507623,32.786374],[102.508449,32.786849],[102.508526,32.787282],[102.508552,32.787428],[102.50862,32.787812],[102.508444,32.788136],[102.508389,32.788239],[102.508151,32.788678],[102.50812,32.788804],[102.508079,32.78897],[102.508047,32.789097],[102.507965,32.789429],[102.507873,32.789799],[102.508191,32.79008],[102.50821,32.790098],[102.508393,32.790092],[102.508606,32.790085],[102.50869,32.790082],[102.508743,32.79008],[102.509001,32.790072],[102.509164,32.790003],[102.509337,32.78993],[102.509383,32.789911],[102.509469,32.789874],[102.50972,32.789768],[102.509851,32.789713],[102.510266,32.789151],[102.510518,32.788809],[102.510992,32.787734],[102.510969,32.786816],[102.510549,32.786278],[102.510517,32.786236],[102.51011,32.785714],[102.508457,32.784805],[102.507301,32.783739],[102.507134,32.782651],[102.5074,32.781989],[102.507766,32.781748],[102.507803,32.781723],[102.507897,32.781662],[102.507932,32.781638],[102.507953,32.781625],[102.508188,32.781549],[102.508198,32.781545],[102.508199,32.781545],[102.508275,32.78152],[102.508286,32.781517],[102.5088,32.78135],[102.509279,32.781286],[102.509771,32.78122],[102.509817,32.781214],[102.50989,32.781205],[102.509912,32.781178],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.510024,32.781043],[102.510073,32.780984],[102.510178,32.780858],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780844],[102.510197,32.780835],[102.510201,32.78083],[102.510266,32.780757],[102.510271,32.780752],[102.510617,32.78036],[102.511574,32.779277],[102.512155,32.777913],[102.512186,32.777831],[102.512259,32.77764],[102.51306,32.775553],[102.513343,32.774527],[102.513609,32.773562],[102.513882,32.772608],[102.514105,32.771694],[102.514966,32.769167],[102.515443,32.767967],[102.515761,32.76718],[102.515981,32.766392],[102.516656,32.765196],[102.517578,32.764004],[102.517273,32.762538],[102.517102,32.761576],[102.516983,32.76053],[102.517079,32.758864],[102.517078,32.757112],[102.516861,32.756023],[102.516244,32.755135],[102.515087,32.754152],[102.513051,32.752819],[102.510977,32.751402],[102.510096,32.7508],[102.50903,32.750069],[102.508823,32.749863],[102.507986,32.749029],[102.507648,32.748691],[102.507493,32.748537],[102.507251,32.748257],[102.50593,32.746729],[102.505915,32.746712],[102.504698,32.744352],[102.504056,32.742587],[102.504051,32.742242],[102.504047,32.741937],[102.504039,32.741419],[102.50403,32.741365],[102.503859,32.740319],[102.503744,32.739619],[102.503789,32.737993],[102.503308,32.735207],[102.502777,32.733942],[102.5027,32.733757],[102.502649,32.733637],[102.502644,32.733493],[102.502609,32.732461],[102.502601,32.732227],[102.502637,32.730957],[102.502662,32.730055],[102.502664,32.729988],[102.502666,32.729885],[102.502669,32.729781],[102.502643,32.72915],[102.502617,32.728519],[102.502505,32.727813],[102.502393,32.727106],[102.501973,32.72643],[102.501553,32.725754],[102.50109,32.725033],[102.500627,32.724311],[102.500346,32.724151],[102.500065,32.72399],[102.499828,32.723692],[102.499592,32.723394],[102.499438,32.723063],[102.499284,32.722732],[102.499112,32.722315],[102.49894,32.721898],[102.498832,32.721361],[102.498725,32.720824],[102.498577,32.720269],[102.49843,32.719715],[102.498422,32.719266],[102.498414,32.718818],[102.498409,32.718248],[102.498405,32.717679],[102.498375,32.717282],[102.498345,32.716885],[102.497995,32.716291],[102.497644,32.715698],[102.497412,32.715245],[102.49718,32.714792],[102.49707,32.714359],[102.496959,32.713925],[102.496531,32.71321],[102.496102,32.712494],[102.495767,32.712073],[102.495432,32.711653],[102.495136,32.711285],[102.49484,32.710917],[102.494348,32.710286],[102.493856,32.709655],[102.493385,32.708991],[102.492914,32.708326],[102.492622,32.707803],[102.492331,32.707279],[102.492025,32.706549],[102.491719,32.705819],[102.491631,32.705317],[102.491543,32.704815],[102.491399,32.704139],[102.491255,32.703464],[102.491183,32.702962],[102.491175,32.702907],[102.491104,32.702415],[102.49109,32.702322],[102.491064,32.702137],[102.491016,32.701804],[102.490906,32.699904],[102.490842,32.699282],[102.49058,32.698415],[102.490532,32.698391],[102.490429,32.696549],[102.49061,32.695897],[102.491319,32.695325],[102.492317,32.694655],[102.493923,32.694136],[102.495114,32.693815],[102.496321,32.69363],[102.496712,32.693571],[102.497331,32.693371],[102.497618,32.693278],[102.499003,32.69334],[102.499525,32.693627],[102.500211,32.693882],[102.500386,32.693993],[102.500492,32.69406],[102.503889,32.695851],[102.505234,32.696437],[102.50583,32.696696],[102.506688,32.696966],[102.507444,32.697203],[102.507934,32.69736],[102.509215,32.697769],[102.509502,32.697861],[102.511166,32.698065],[102.511348,32.698088],[102.512285,32.698152],[102.513131,32.69821],[102.514262,32.698288],[102.514305,32.69829],[102.515414,32.698343],[102.515438,32.698344],[102.515484,32.698346],[102.515608,32.698352],[102.515754,32.698359],[102.515777,32.69836],[102.515786,32.698361],[102.515943,32.698368],[102.516141,32.698341],[102.51627,32.698323],[102.517149,32.698202],[102.517151,32.698202],[102.517204,32.698194],[102.517212,32.698193],[102.517738,32.698121],[102.517768,32.698116],[102.517795,32.698113],[102.517796,32.698113],[102.517796,32.698112],[102.517859,32.698104],[102.518122,32.698068],[102.518648,32.697995],[102.519425,32.697971],[102.523039,32.697861],[102.523164,32.697857],[102.523367,32.697851],[102.525392,32.697701],[102.526433,32.697797],[102.526799,32.697831],[102.527351,32.697882],[102.528949,32.697838],[102.529879,32.697813],[102.53041,32.697799],[102.531396,32.697772],[102.534147,32.697731],[102.535597,32.698092],[102.536601,32.698301],[102.535798,32.696909],[102.535783,32.696847],[102.535735,32.696639],[102.535447,32.695384],[102.535047,32.694857],[102.534739,32.69445],[102.533876,32.693312],[102.533356,32.692665],[102.533055,32.69229],[102.531977,32.690949],[102.530923,32.689729],[102.530726,32.689501],[102.529985,32.687872],[102.529975,32.687791],[102.529975,32.687791],[102.529948,32.68758],[102.52993,32.687429],[102.529755,32.686017],[102.529572,32.684969],[102.529523,32.684686],[102.529464,32.68435],[102.528939,32.683058],[102.528298,32.681492],[102.528275,32.681436],[102.52822,32.681302],[102.528097,32.681001],[102.527947,32.680656],[102.527779,32.68027],[102.527495,32.679618],[102.527282,32.679131],[102.5272,32.678942],[102.527029,32.678396],[102.526736,32.677462],[102.526578,32.676968],[102.526549,32.676878],[102.525959,32.675027],[102.525806,32.674549],[102.525301,32.672498],[102.525214,32.671594],[102.524742,32.670868],[102.52453,32.670541],[102.524245,32.670104],[102.523542,32.669141],[102.522782,32.668224],[102.522027,32.667118],[102.521565,32.66664],[102.521381,32.665338],[102.521091,32.66394],[102.521115,32.663059],[102.521262,32.661717],[102.521132,32.660462],[102.520796,32.658739],[102.52047,32.656645],[102.520043,32.65554],[102.520021,32.655484],[102.51988,32.65512],[102.519855,32.655056],[102.519503,32.653935],[102.519496,32.652172],[102.519915,32.650928],[102.520001,32.64977],[102.52031,32.648524],[102.520448,32.647506],[102.520916,32.646448],[102.521664,32.645164],[102.523307,32.643248],[102.523992,32.642241],[102.524899,32.641192],[102.525754,32.640003],[102.526438,32.639042],[102.527296,32.63776],[102.52798,32.6368],[102.529309,32.636316],[102.530926,32.635327],[102.53276,32.634435],[102.534097,32.633673],[102.535564,32.632125],[102.536416,32.631074],[102.537873,32.629897],[102.539552,32.628631],[102.540786,32.627635],[102.542642,32.625908],[102.543939,32.624588],[102.544679,32.623582],[102.546576,32.622367],[102.548618,32.62185],[102.550262,32.621882],[102.550863,32.62194],[102.552375,32.620764],[102.552711,32.620455],[102.554006,32.619265],[102.554907,32.618354],[102.555649,32.617302],[102.556441,32.61639],[102.556752,32.615004],[102.557392,32.613671],[102.558409,32.612531],[102.55848,32.612442],[102.559204,32.611526],[102.559138,32.611041],[102.559021,32.610177],[102.559016,32.609776],[102.559003,32.608832],[102.557939,32.607651],[102.557933,32.607364],[102.557927,32.607061],[102.557915,32.606495],[102.557963,32.606542],[102.558981,32.607625],[102.560591,32.608863],[102.561153,32.609302],[102.561452,32.609536],[102.562163,32.610092],[102.562416,32.61029],[102.563718,32.611475],[102.563974,32.611707],[102.564395,32.612091],[102.566533,32.614127],[102.568248,32.615552],[102.569487,32.616365],[102.57126,32.617698],[102.571601,32.618039],[102.571581,32.617982],[102.571868,32.617478],[102.573049,32.616387],[102.573846,32.615289],[102.575478,32.613697],[102.576709,32.612793],[102.578108,32.611707],[102.57961,32.610901],[102.581008,32.609861],[102.58152,32.609175],[102.581482,32.608525],[102.582228,32.607287],[102.582898,32.606836],[102.595355,32.615193],[102.595396,32.615221],[102.595497,32.615288],[102.597516,32.615606],[102.600068,32.616536],[102.600466,32.6167],[102.601329,32.617056],[102.601357,32.617067],[102.60143,32.617097],[102.601474,32.617115],[102.602038,32.617348],[102.602074,32.617363],[102.603269,32.617757],[102.605241,32.617794],[102.606198,32.617958],[102.606199,32.617958],[102.606214,32.617961],[102.606222,32.617962],[102.606245,32.617966],[102.606769,32.618055],[102.608017,32.618543],[102.611033,32.618641],[102.611136,32.618644],[102.61119,32.618646],[102.611467,32.618655],[102.611469,32.618655],[102.61147,32.618655],[102.611682,32.618659],[102.61174,32.61866],[102.611765,32.618661],[102.611947,32.618664],[102.612932,32.618683],[102.613188,32.618688],[102.613201,32.618688],[102.613203,32.618688],[102.613205,32.618688],[102.613217,32.618688],[102.613434,32.618693],[102.613437,32.618693],[102.61344,32.618693],[102.613601,32.618651],[102.614268,32.618476],[102.615713,32.617715],[102.615849,32.617619],[102.615852,32.617617],[102.615854,32.617616],[102.615859,32.617612],[102.615932,32.61756],[102.615944,32.617552],[102.615944,32.617552],[102.616607,32.617083],[102.617115,32.616743],[102.61789,32.616226],[102.619166,32.615647],[102.620392,32.614882],[102.621617,32.614163],[102.623002,32.613632],[102.623637,32.613392],[102.624053,32.613234],[102.625465,32.612859],[102.626312,32.612569],[102.626329,32.612585],[102.626375,32.612629],[102.626531,32.612777],[102.626681,32.61292],[102.626827,32.612922],[102.627185,32.612929],[102.627266,32.612851],[102.62729,32.612828],[102.6273,32.612826],[102.627376,32.6128],[102.627426,32.612784],[102.627436,32.612777],[102.627505,32.612733],[102.62755,32.612693],[102.62759,32.612638],[102.627626,32.612589],[102.627674,32.612539],[102.627798,32.612493],[102.62785,32.612473],[102.627877,32.612463],[102.62808,32.612387],[102.62836,32.612499],[102.628543,32.612715],[102.628723,32.613065],[102.628698,32.613319],[102.628681,32.613503],[102.628679,32.613517],[102.628628,32.613684],[102.628542,32.613967],[102.62847,32.614105],[102.628316,32.614403],[102.62831,32.614415],[102.628235,32.614866],[102.628255,32.614951],[102.628268,32.615004],[102.62832,32.615214],[102.628718,32.615648],[102.628707,32.616047],[102.628701,32.616074],[102.628674,32.616187],[102.628667,32.616217],[102.628664,32.616229],[102.628652,32.616278],[102.628642,32.616651],[102.629347,32.617432],[102.629352,32.617438],[102.629432,32.617523],[102.629476,32.617571],[102.629496,32.617618],[102.629805,32.617975],[102.629966,32.618136],[102.629823,32.618645],[102.629676,32.619029],[102.629742,32.619184],[102.629706,32.619233],[102.62964,32.619268],[102.629637,32.619291],[102.629667,32.619343],[102.629676,32.619332],[102.629685,32.619322],[102.629696,32.619316],[102.629706,32.619314],[102.629723,32.619315],[102.629733,32.619318],[102.629744,32.61932],[102.629753,32.619317],[102.629764,32.619314],[102.629778,32.61931],[102.629793,32.619302],[102.629809,32.619339],[102.629822,32.61937],[102.629827,32.619381],[102.629977,32.61973],[102.629992,32.619847],[102.629994,32.619862],[102.630003,32.619926],[102.630005,32.619941],[102.629952,32.61994],[102.629819,32.619935],[102.629754,32.619921],[102.629754,32.619986],[102.629772,32.620038],[102.629837,32.6201],[102.62995,32.620178],[102.630051,32.620293],[102.630053,32.620312],[102.630123,32.620981],[102.630125,32.620995],[102.630126,32.621009],[102.630058,32.621094],[102.62992,32.621268],[102.629905,32.621285],[102.62987,32.62133],[102.629701,32.621542],[102.629432,32.621508],[102.629422,32.621507],[102.629337,32.621496],[102.629301,32.621469],[102.629291,32.621447],[102.629277,32.621429],[102.629255,32.621422],[102.629226,32.621418],[102.629193,32.62141],[102.629176,32.621402],[102.629144,32.621379],[102.629104,32.62135],[102.629037,32.6213],[102.628969,32.621235],[102.628932,32.621183],[102.628787,32.621071],[102.628766,32.621054],[102.628634,32.620953],[102.628627,32.620947],[102.62862,32.620942],[102.628506,32.620979],[102.628067,32.621125],[102.628003,32.621367],[102.628,32.62138],[102.627998,32.621386],[102.627984,32.621442],[102.627975,32.621437],[102.627959,32.621436],[102.627948,32.621443],[102.627935,32.621453],[102.62792,32.621467],[102.627909,32.621483],[102.627888,32.621522],[102.627879,32.621572],[102.627881,32.621591],[102.627898,32.621606],[102.627902,32.62163],[102.627901,32.621655],[102.627898,32.621668],[102.627882,32.621691],[102.627867,32.621707],[102.627858,32.621721],[102.627851,32.621739],[102.62785,32.621752],[102.627858,32.621771],[102.627875,32.62179],[102.627891,32.621803],[102.627905,32.621813],[102.627927,32.621828],[102.627935,32.621842],[102.627948,32.62186],[102.627964,32.621917],[102.627975,32.621956],[102.627994,32.621985],[102.628022,32.622004],[102.628054,32.622022],[102.628104,32.622059],[102.628127,32.622091],[102.628151,32.62213],[102.628165,32.622161],[102.628187,32.622181],[102.628255,32.622197],[102.628282,32.622188],[102.628293,32.62217],[102.628308,32.622136],[102.628316,32.62211],[102.628335,32.622086],[102.628362,32.622051],[102.628477,32.622093],[102.628496,32.622101],[102.628513,32.622107],[102.629041,32.622303],[102.629232,32.62257],[102.629246,32.622589],[102.629314,32.622685],[102.62935,32.622734],[102.629267,32.622988],[102.6292,32.623195],[102.629142,32.62327],[102.628935,32.623537],[102.628803,32.623708],[102.628717,32.623675],[102.628588,32.623785],[102.628561,32.623796],[102.628508,32.623811],[102.628444,32.623818],[102.628397,32.623817],[102.628334,32.623809],[102.628151,32.623761],[102.628085,32.623727],[102.628041,32.6237],[102.627983,32.623639],[102.627966,32.623628],[102.627846,32.623551],[102.627745,32.623485],[102.627731,32.623476],[102.627692,32.623327],[102.627689,32.62332],[102.627606,32.62301],[102.627439,32.622946],[102.627307,32.622987],[102.627155,32.623061],[102.627064,32.623118],[102.626988,32.623223],[102.626967,32.623244],[102.626954,32.623277],[102.626951,32.623303],[102.626953,32.62333],[102.626956,32.623352],[102.626971,32.623374],[102.626959,32.623484],[102.626953,32.623539],[102.626957,32.623553],[102.626967,32.623588],[102.62712,32.624122],[102.627112,32.624435],[102.627111,32.624469],[102.62711,32.624521],[102.62711,32.624529],[102.627108,32.624593],[102.627107,32.624623],[102.627102,32.624818],[102.626968,32.625182],[102.626961,32.625203],[102.626845,32.625518],[102.62684,32.625532],[102.626807,32.625624],[102.626673,32.625666],[102.626607,32.625687],[102.626576,32.625697],[102.626268,32.625571],[102.626079,32.625494],[102.626004,32.625364],[102.625994,32.625347],[102.625986,32.625333],[102.62593,32.625237],[102.625926,32.62523],[102.625921,32.625222],[102.625551,32.624586],[102.625533,32.624554],[102.625402,32.624458],[102.625295,32.624371],[102.625161,32.624285],[102.625082,32.624253],[102.624971,32.624253],[102.624876,32.624273],[102.624863,32.624273],[102.624486,32.624265],[102.624463,32.624281],[102.6244,32.624549],[102.624322,32.624879],[102.624313,32.624919],[102.624345,32.624987],[102.624561,32.625447],[102.624576,32.625477],[102.624597,32.625522],[102.624909,32.626185],[102.62493,32.626229],[102.624939,32.626249],[102.624943,32.626257],[102.624968,32.62631],[102.625048,32.62648],[102.625074,32.626704],[102.625101,32.626937],[102.625159,32.627448],[102.625147,32.627908],[102.625142,32.628097],[102.625134,32.628414],[102.625085,32.628451],[102.625078,32.628456],[102.625051,32.628476],[102.625035,32.628488],[102.624528,32.628867],[102.623886,32.62897],[102.623359,32.628922],[102.623298,32.628917],[102.62321,32.628868],[102.623081,32.628828],[102.623011,32.628821],[102.622941,32.628825],[102.622907,32.628829],[102.622837,32.628835],[102.622801,32.628841],[102.622773,32.628851],[102.622737,32.628865],[102.622691,32.62887],[102.622669,32.628869],[102.622627,32.628872],[102.622586,32.628892],[102.62256,32.628907],[102.622477,32.628922],[102.622437,32.628921],[102.622382,32.628908],[102.622343,32.628893],[102.622286,32.628878],[102.622224,32.628867],[102.622158,32.62891],[102.622102,32.628946],[102.622087,32.628956],[102.621826,32.629125],[102.621924,32.629313],[102.622001,32.629462],[102.622026,32.629509],[102.622036,32.629529],[102.622083,32.629619],[102.622088,32.62963],[102.622102,32.629657],[102.622103,32.629658],[102.62213,32.62971],[102.622201,32.630485],[102.621778,32.630941],[102.621737,32.630955],[102.621642,32.630987],[102.62132,32.631097],[102.621303,32.631102],[102.621273,32.631113],[102.621132,32.63116],[102.621124,32.63147],[102.621219,32.631604],[102.621237,32.63163],[102.621257,32.631659],[102.621344,32.631783],[102.621662,32.632008],[102.62168,32.632021],[102.621807,32.632111],[102.62184,32.632134],[102.621846,32.632138],[102.622017,32.63226],[102.622075,32.632303],[102.622331,32.632498],[102.62236,32.633117],[102.622267,32.633335],[102.622172,32.63356],[102.622179,32.633564],[102.622182,32.633571],[102.62218,32.633586],[102.622175,32.633609],[102.622148,32.633676],[102.622103,32.633843],[102.622076,32.634029],[102.62207,32.634117],[102.62207,32.634127],[102.622046,32.634175],[102.622042,32.63418],[102.621986,32.63425],[102.621964,32.634275],[102.621963,32.634307],[102.622031,32.63443],[102.62205,32.634464],[102.622065,32.634459],[102.622082,32.634455],[102.622451,32.634349],[102.622557,32.634319],[102.622692,32.634199],[102.622783,32.634119],[102.622798,32.634106],[102.623071,32.633865],[102.623628,32.633527],[102.62409,32.633596],[102.624173,32.633609],[102.624181,32.63361],[102.624188,32.633651],[102.624189,32.633673],[102.624192,32.633697],[102.624198,32.633719],[102.62421,32.633742],[102.624223,32.633759],[102.624231,32.633768],[102.624238,32.633779],[102.624254,32.633795],[102.624258,32.63382],[102.624256,32.633857],[102.624248,32.633897],[102.624231,32.633945],[102.624174,32.63402],[102.624144,32.634063],[102.624138,32.63412],[102.624132,32.634145],[102.624124,32.634171],[102.624101,32.634209],[102.624072,32.634278],[102.624045,32.634351],[102.624022,32.634379],[102.623969,32.634443],[102.623941,32.63451],[102.623929,32.634542],[102.623897,32.634583],[102.623857,32.634616],[102.623806,32.63465],[102.623756,32.634668],[102.623701,32.634688],[102.62364,32.63472],[102.623581,32.634765],[102.623512,32.634789],[102.623474,32.634804],[102.623455,32.634817],[102.623413,32.634838],[102.623364,32.634868],[102.623309,32.634889],[102.623291,32.634903],[102.623269,32.634927],[102.623259,32.634943],[102.623261,32.634973],[102.623142,32.635072],[102.623045,32.635153],[102.622988,32.635201],[102.622961,32.635228],[102.622952,32.635249],[102.622945,32.635277],[102.622929,32.635292],[102.622802,32.635406],[102.622701,32.635752],[102.622867,32.635874],[102.622872,32.635878],[102.622878,32.635882],[102.62297,32.63595],[102.623011,32.635951],[102.623025,32.635951],[102.623085,32.635952],[102.623155,32.635954],[102.623158,32.635977],[102.62319,32.636023],[102.623213,32.63605],[102.623236,32.636054],[102.623311,32.636038],[102.623358,32.636024],[102.623391,32.636009],[102.623423,32.635991],[102.623449,32.635967],[102.623472,32.635938],[102.623492,32.635916],[102.623549,32.635903],[102.623579,32.635904],[102.62358,32.63588],[102.623595,32.635824],[102.623799,32.635695],[102.623853,32.635693],[102.623899,32.63569],[102.623957,32.635651],[102.624033,32.635618],[102.624089,32.635615],[102.624154,32.635618],[102.624212,32.635638],[102.624273,32.635671],[102.624291,32.635699],[102.624297,32.635714],[102.624304,32.635733],[102.624326,32.635751],[102.624414,32.635802],[102.624521,32.635878],[102.624568,32.635921],[102.624609,32.635969],[102.624567,32.636049],[102.624422,32.636326],[102.624076,32.636571],[102.62406,32.636582],[102.623961,32.636569],[102.62384,32.636548],[102.623661,32.636536],[102.623709,32.636569],[102.623736,32.636598],[102.623227,32.636612],[102.622619,32.636891],[102.622579,32.636909],[102.622242,32.637317],[102.622202,32.637366],[102.622087,32.637586],[102.622061,32.637636],[102.621961,32.637825],[102.621974,32.637859],[102.622075,32.638137],[102.62212,32.638188],[102.622146,32.638221],[102.622178,32.63827],[102.622197,32.638314],[102.622209,32.638351],[102.622218,32.638381],[102.622226,32.638408],[102.622234,32.638433],[102.622298,32.638459],[102.622581,32.638572],[102.623273,32.638314],[102.623511,32.638309],[102.623522,32.638308],[102.623826,32.638301],[102.623867,32.6383],[102.623922,32.638299],[102.624188,32.638293],[102.624339,32.638636],[102.624446,32.638877],[102.624478,32.639223],[102.624517,32.639652],[102.623913,32.640027],[102.623183,32.640013],[102.622984,32.64022],[102.622942,32.640263],[102.622854,32.640355],[102.622852,32.640433],[102.62285,32.640505],[102.622849,32.640525],[102.622841,32.640819],[102.623331,32.64133],[102.623925,32.641303],[102.623956,32.641283],[102.624108,32.641187],[102.624211,32.641122],[102.624265,32.641052],[102.624306,32.640993],[102.624365,32.640937],[102.624426,32.640901],[102.62453,32.640866],[102.624653,32.640854],[102.624669,32.640847],[102.624709,32.640828],[102.625131,32.64063],[102.625683,32.640524],[102.625755,32.64051],[102.625866,32.640489],[102.62595,32.640439],[102.625997,32.640411],[102.625998,32.640401],[102.625999,32.640385],[102.626011,32.640364],[102.626022,32.640335],[102.626074,32.640276],[102.626099,32.640264],[102.626126,32.640256],[102.626136,32.640243],[102.626141,32.640219],[102.626143,32.640198],[102.626149,32.640171],[102.626168,32.64015],[102.626254,32.640108],[102.62629,32.640105],[102.626311,32.640101],[102.626332,32.640083],[102.62635,32.640055],[102.626389,32.64003],[102.62647,32.63998],[102.626546,32.639963],[102.626613,32.639958],[102.626673,32.639961],[102.626713,32.639973],[102.626732,32.639974],[102.626748,32.639965],[102.626824,32.639888],[102.626915,32.639796],[102.626928,32.639782],[102.626942,32.639769],[102.627123,32.639585],[102.627629,32.639479],[102.627741,32.639565],[102.627942,32.639717],[102.627959,32.639744],[102.628013,32.639828],[102.62806,32.639901],[102.628118,32.639991],[102.628064,32.640045],[102.62797,32.640143],[102.627601,32.640522],[102.627319,32.64076],[102.62712,32.640927],[102.627,32.641052],[102.626767,32.641306],[102.626634,32.641435],[102.626569,32.641496],[102.62656,32.641504],[102.626511,32.641553],[102.626462,32.641605],[102.626407,32.641713],[102.626391,32.641751],[102.626374,32.641763],[102.626358,32.64177],[102.626363,32.641808],[102.626415,32.642201],[102.626588,32.642396],[102.626576,32.642456],[102.626578,32.642495],[102.626596,32.642531],[102.626611,32.642578],[102.626647,32.642619],[102.626737,32.64267],[102.626794,32.642697],[102.626824,32.642728],[102.626845,32.642772],[102.626865,32.642816],[102.626893,32.642851],[102.626939,32.642875],[102.626987,32.642894],[102.627103,32.642935],[102.627155,32.642935],[102.627443,32.643145],[102.627452,32.643152],[102.627463,32.643137],[102.627548,32.643157],[102.627593,32.643198],[102.62762,32.643225],[102.627652,32.643251],[102.627683,32.643285],[102.627716,32.643315],[102.627736,32.64333],[102.627768,32.643337],[102.6278,32.643345],[102.627833,32.643358],[102.627792,32.643357],[102.627773,32.643365],[102.62774,32.643381],[102.628065,32.643701],[102.628129,32.644746],[102.627714,32.644922],[102.627697,32.644929],[102.627553,32.64499],[102.627505,32.64501],[102.627494,32.645015],[102.627344,32.645079],[102.6272,32.645298],[102.627197,32.645303],[102.627184,32.645323],[102.627124,32.645413],[102.627088,32.645468],[102.627083,32.645475],[102.626868,32.645804],[102.626742,32.645906],[102.626733,32.645913],[102.626614,32.64601],[102.626595,32.646025],[102.626583,32.646035],[102.626573,32.646042],[102.626216,32.646332],[102.62622,32.646374],[102.62622,32.646402],[102.626223,32.646432],[102.626223,32.646445],[102.626216,32.646457],[102.626213,32.64646],[102.626202,32.646444],[102.626178,32.646418],[102.626159,32.646395],[102.626103,32.646457],[102.625867,32.646721],[102.625842,32.64675],[102.625832,32.64676],[102.625811,32.646784],[102.625664,32.646948],[102.625602,32.64702],[102.625589,32.647488],[102.625589,32.64752],[102.626006,32.647629],[102.626156,32.647669],[102.626168,32.647672],[102.626224,32.647686],[102.626356,32.647689],[102.626417,32.64769],[102.627092,32.647703],[102.627145,32.647682],[102.627165,32.647674],[102.627176,32.647669],[102.627375,32.647589],[102.627409,32.647608],[102.627459,32.647624],[102.627493,32.647633],[102.627567,32.647637],[102.627595,32.647639],[102.627609,32.647639],[102.627673,32.647635],[102.6277,32.647623],[102.627723,32.647608],[102.627735,32.647597],[102.627746,32.647577],[102.62775,32.647559],[102.627754,32.647544],[102.62776,32.647528],[102.62777,32.647517],[102.627785,32.647505],[102.627799,32.647495],[102.627818,32.647486],[102.627844,32.647475],[102.627853,32.647466],[102.627855,32.647458],[102.627854,32.647442],[102.627842,32.64742],[102.627824,32.647393],[102.627784,32.647345],[102.627867,32.647264],[102.628276,32.646863],[102.628302,32.646837],[102.628404,32.646834],[102.628425,32.646834],[102.628551,32.646831],[102.628614,32.646829],[102.629217,32.646815],[102.629469,32.646928],[102.629532,32.646956],[102.629548,32.646963],[102.629681,32.647056],[102.629731,32.647103],[102.629766,32.647138],[102.629792,32.647173],[102.629891,32.647289],[102.629906,32.647337],[102.62991,32.647343],[102.629915,32.647354],[102.629915,32.647365],[102.629909,32.647389],[102.629887,32.647434],[102.629857,32.647492],[102.629771,32.647687],[102.629718,32.647744],[102.629659,32.647782],[102.629628,32.647802],[102.629597,32.647817],[102.629574,32.647841],[102.629543,32.647885],[102.629498,32.647951],[102.629481,32.647999],[102.629461,32.648035],[102.629418,32.648096],[102.629399,32.648129],[102.629374,32.648141],[102.62936,32.648141],[102.629346,32.648138],[102.629329,32.648163],[102.629271,32.648247],[102.62919,32.648367],[102.629165,32.648404],[102.628938,32.648743],[102.628923,32.649284],[102.629463,32.649603],[102.63037,32.649878],[102.630377,32.649879],[102.630687,32.649974],[102.631415,32.649935],[102.63174,32.649917],[102.631907,32.649842],[102.632467,32.649588],[102.63248,32.649583],[102.632512,32.649549],[102.632541,32.649519],[102.632558,32.649501],[102.632808,32.649241],[102.632096,32.648532],[102.632101,32.648348],[102.632104,32.648217],[102.632105,32.648184],[102.63231,32.648166],[102.632396,32.648214],[102.632522,32.648303],[102.632706,32.648412],[102.632804,32.648476],[102.632908,32.648529],[102.633005,32.648566],[102.633071,32.648598],[102.633136,32.648631],[102.633158,32.648647],[102.633183,32.648672],[102.633203,32.648688],[102.63322,32.648699],[102.63325,32.648698],[102.633258,32.648684],[102.633277,32.648675],[102.633296,32.648666],[102.633326,32.64866],[102.633338,32.648674],[102.633357,32.648718],[102.633373,32.648769],[102.633404,32.648827],[102.633469,32.648894],[102.633506,32.648948],[102.63354,32.649026],[102.633557,32.64912],[102.633595,32.649235],[102.633619,32.64936],[102.633615,32.649434],[102.633605,32.649544],[102.63359,32.64957],[102.633585,32.649578],[102.633564,32.6496],[102.633558,32.649691],[102.63359,32.64969],[102.633645,32.649691],[102.633705,32.649915],[102.63402,32.650076],[102.634284,32.650011],[102.634653,32.64992],[102.634894,32.64986],[102.634957,32.64984],[102.634991,32.649829],[102.635004,32.649825],[102.635153,32.649776],[102.635178,32.649768],[102.63568,32.649603],[102.63569,32.649598],[102.635796,32.649538],[102.636105,32.649366],[102.636118,32.649359],[102.636256,32.649282],[102.63628,32.649268],[102.636376,32.648927],[102.636395,32.648859],[102.636432,32.64873],[102.636436,32.648687],[102.636437,32.64868],[102.636494,32.648112],[102.636641,32.64806],[102.636676,32.648048],[102.636895,32.64797],[102.636909,32.647966],[102.637508,32.64809],[102.637607,32.648111],[102.637703,32.6482],[102.63779,32.648292],[102.637878,32.648376],[102.637928,32.648438],[102.637953,32.648494],[102.637989,32.648553],[102.638039,32.648598],[102.638128,32.64867],[102.638176,32.64872],[102.638258,32.648789],[102.638374,32.649146],[102.638398,32.649219],[102.638403,32.649235],[102.638406,32.649244],[102.638427,32.649308],[102.63844,32.649372],[102.638405,32.649414],[102.638393,32.649429],[102.638382,32.649447],[102.638381,32.649463],[102.638388,32.649476],[102.638388,32.649487],[102.638391,32.649507],[102.638462,32.649486],[102.638588,32.650123],[102.639039,32.650364],[102.639366,32.650099],[102.639383,32.65008],[102.639396,32.650066],[102.639559,32.649884],[102.63958,32.649859],[102.639815,32.649597],[102.639883,32.649521],[102.639978,32.649415],[102.640241,32.649274],[102.640256,32.649266],[102.640534,32.649116],[102.640851,32.649238],[102.641167,32.64936],[102.641355,32.649515],[102.641362,32.649555],[102.641373,32.649595],[102.641388,32.649639],[102.641406,32.649681],[102.641429,32.6497],[102.641448,32.649701],[102.641474,32.649688],[102.641502,32.649682],[102.641514,32.649688],[102.641516,32.649696],[102.641591,32.649711],[102.641637,32.64972],[102.641682,32.649738],[102.641713,32.649751],[102.641754,32.649773],[102.641788,32.649839],[102.641809,32.649892],[102.641878,32.64995],[102.641844,32.649988],[102.641836,32.650018],[102.641835,32.650049],[102.641847,32.650098],[102.641842,32.650144],[102.641854,32.65019],[102.641779,32.650159],[102.641725,32.650267],[102.6417,32.650316],[102.641594,32.650527],[102.641482,32.650646],[102.641464,32.650665],[102.641238,32.650903],[102.641233,32.650909],[102.641096,32.651054],[102.641024,32.651053],[102.640971,32.651057],[102.640918,32.65108],[102.640869,32.651121],[102.640792,32.651222],[102.640776,32.65128],[102.640767,32.651324],[102.640756,32.651378],[102.64075,32.651425],[102.640749,32.651456],[102.640778,32.651495],[102.640842,32.65154],[102.640909,32.651578],[102.640984,32.651616],[102.641069,32.65165],[102.641184,32.651674],[102.641198,32.65168],[102.64127,32.651691],[102.641348,32.651694],[102.641428,32.651698],[102.641479,32.651693],[102.641545,32.651695],[102.641614,32.651704],[102.641652,32.651713],[102.641696,32.651726],[102.641762,32.651737],[102.641851,32.651719],[102.641925,32.651696],[102.641971,32.651695],[102.642012,32.651676],[102.642042,32.651658],[102.642118,32.6516],[102.642338,32.651558],[102.642375,32.651551],[102.642411,32.651544],[102.642827,32.651464],[102.64294,32.651442],[102.643258,32.651528],[102.643265,32.65153],[102.643304,32.65154],[102.643629,32.651628],[102.643712,32.65165],[102.643774,32.65173],[102.643802,32.651766],[102.643825,32.651802],[102.643842,32.651837],[102.643845,32.651854],[102.643823,32.651874],[102.643868,32.651966],[102.643881,32.651991],[102.643885,32.652001],[102.643872,32.652504],[102.643908,32.652568],[102.64399,32.65255],[102.644052,32.652526],[102.644092,32.652477],[102.644126,32.652437],[102.644178,32.652405],[102.644241,32.652409],[102.644323,32.65244],[102.64442,32.652467],[102.644492,32.65248],[102.644537,32.652481],[102.64456,32.652469],[102.644661,32.65251],[102.644727,32.652471],[102.644741,32.652462],[102.64478,32.652438],[102.644819,32.652438],[102.644877,32.652428],[102.644947,32.652408],[102.645011,32.652382],[102.645079,32.652351],[102.645118,32.652329],[102.645171,32.652291],[102.645194,32.652271],[102.645229,32.652236],[102.64527,32.652195],[102.645292,32.652155],[102.645298,32.652125],[102.645341,32.652059],[102.645358,32.652007],[102.645371,32.651967],[102.645396,32.651912],[102.645425,32.651879],[102.645447,32.651715],[102.645463,32.651673],[102.645477,32.651662],[102.645476,32.651547],[102.645481,32.651488],[102.645486,32.651413],[102.645458,32.651296],[102.645556,32.651139],[102.645614,32.65112],[102.645628,32.651118],[102.645741,32.651096],[102.64584,32.651101],[102.64594,32.651134],[102.645972,32.651079],[102.646015,32.651],[102.646024,32.651003],[102.64607,32.651015],[102.646091,32.651021],[102.646097,32.651022],[102.646112,32.650997],[102.646263,32.651067],[102.646467,32.651122],[102.647838,32.651148],[102.648067,32.651187],[102.648838,32.651321],[102.648833,32.651528],[102.648832,32.651555],[102.64883,32.651649],[102.648825,32.651823],[102.648731,32.651947],[102.64865,32.652053],[102.648671,32.651991],[102.648679,32.651971],[102.648689,32.651941],[102.64869,32.651893],[102.648693,32.651852],[102.648686,32.651785],[102.64865,32.651705],[102.648631,32.651676],[102.648614,32.651649],[102.648582,32.651622],[102.648556,32.651602],[102.64852,32.651575],[102.648461,32.651549],[102.648417,32.651528],[102.648381,32.651514],[102.648312,32.651489],[102.648271,32.651475],[102.648223,32.651471],[102.648176,32.651471],[102.648281,32.651509],[102.648366,32.651541],[102.648426,32.65157],[102.64847,32.6516],[102.648505,32.651632],[102.64855,32.651674],[102.648575,32.651712],[102.648579,32.651759],[102.64858,32.651819],[102.648578,32.651865],[102.648568,32.651915],[102.64856,32.651958],[102.648537,32.652014],[102.648502,32.65205],[102.648468,32.652086],[102.648441,32.652112],[102.648393,32.652157],[102.648366,32.652188],[102.648334,32.652229],[102.648312,32.65226],[102.64829,32.652285],[102.648233,32.652318],[102.648201,32.652328],[102.648169,32.652348],[102.648164,32.652357],[102.648169,32.652376],[102.648144,32.652384],[102.647995,32.652416],[102.647933,32.652445],[102.647845,32.65248],[102.647775,32.652486],[102.647701,32.652483],[102.647597,32.652484],[102.647419,32.652475],[102.647089,32.652574],[102.646914,32.652627],[102.646825,32.652654],[102.646794,32.652663],[102.64667,32.6527],[102.646644,32.652708],[102.646582,32.652727],[102.646516,32.652746],[102.646166,32.652983],[102.645964,32.653355],[102.645981,32.653973],[102.646001,32.654009],[102.646156,32.654286],[102.646513,32.654353],[102.6469,32.654426],[102.64697,32.65444],[102.647065,32.654458],[102.647189,32.654423],[102.64723,32.654411],[102.647462,32.654346],[102.64771,32.654277],[102.647894,32.654314],[102.648138,32.654364],[102.64823,32.654383],[102.648968,32.654534],[102.649164,32.654574],[102.649299,32.654632],[102.6496,32.654759],[102.649797,32.654842],[102.649976,32.654918],[102.650023,32.654938],[102.650978,32.655188],[102.651474,32.655282],[102.651494,32.655286],[102.651658,32.655317],[102.651682,32.655348],[102.651747,32.655363],[102.651773,32.655371],[102.6518,32.655389],[102.651826,32.655408],[102.651846,32.655427],[102.651856,32.655457],[102.651856,32.655485],[102.651851,32.655516],[102.651844,32.655558],[102.651907,32.655641],[102.651904,32.655567],[102.651904,32.655534],[102.651905,32.655491],[102.651905,32.655441],[102.651906,32.655414],[102.65192,32.655396],[102.651932,32.65539],[102.651961,32.655391],[102.651995,32.655409],[102.652016,32.655442],[102.652023,32.655492],[102.652021,32.655556],[102.652012,32.655609],[102.651995,32.655655],[102.651953,32.6557],[102.652172,32.655985],[102.652298,32.65615],[102.652321,32.65618],[102.652334,32.65654],[102.652341,32.656723],[102.652348,32.656915],[102.652329,32.656947],[102.652178,32.657206],[102.652146,32.65726],[102.652137,32.657275],[102.652131,32.657286],[102.652065,32.657399],[102.652013,32.657488],[102.651958,32.657562],[102.651868,32.657683],[102.651863,32.65769],[102.651729,32.65787],[102.651744,32.657942],[102.651773,32.658083],[102.651782,32.658126],[102.65181,32.658258],[102.6524,32.658423],[102.652586,32.658402],[102.652703,32.658389],[102.652811,32.658376],[102.652912,32.658365],[102.653027,32.658352],[102.653084,32.658345],[102.653146,32.658386],[102.653175,32.658414],[102.653197,32.658435],[102.653212,32.658448],[102.653215,32.658451],[102.653297,32.658495],[102.653388,32.658525],[102.653463,32.658536],[102.653568,32.658526],[102.653635,32.658509],[102.653657,32.658504],[102.65366,32.658502],[102.65373,32.658464],[102.653794,32.658421],[102.653873,32.658375],[102.65393,32.658313],[102.653984,32.658258],[102.654065,32.658218],[102.654139,32.658164],[102.654178,32.658126],[102.654189,32.658071],[102.654177,32.65799],[102.654141,32.657929],[102.654096,32.657886],[102.654034,32.657839],[102.65394,32.657765],[102.65391,32.657751],[102.653927,32.657591],[102.65393,32.657563],[102.65393,32.657544],[102.653911,32.656557],[102.654116,32.656229],[102.654197,32.656099],[102.654241,32.656052],[102.654352,32.656076],[102.654515,32.656123],[102.654614,32.656204],[102.654696,32.656224],[102.654896,32.656387],[102.655026,32.656493],[102.655036,32.656501],[102.655075,32.656533],[102.655095,32.65655],[102.655278,32.656699],[102.655442,32.656856],[102.655451,32.656865],[102.655813,32.657212],[102.6562,32.657822],[102.656384,32.658111],[102.656969,32.658771],[102.657165,32.658991],[102.657242,32.659078],[102.657708,32.659398],[102.657777,32.659446],[102.658154,32.659607],[102.65828,32.65966],[102.658717,32.659846],[102.658804,32.659884],[102.658876,32.659914],[102.658885,32.659918],[102.659854,32.660197],[102.659891,32.660207],[102.660115,32.66016],[102.660221,32.660138],[102.660263,32.660129],[102.660331,32.660115],[102.660468,32.660086],[102.66048,32.660083],[102.661071,32.659959],[102.661588,32.659901],[102.661715,32.659887],[102.661766,32.659881],[102.661976,32.659953],[102.662145,32.66001],[102.662165,32.660017],[102.662194,32.660027],[102.662423,32.660104],[102.662432,32.660107],[102.662515,32.660135],[102.662537,32.660143],[102.662547,32.660146],[102.662612,32.660168],[102.663051,32.65968],[102.663113,32.659534],[102.663392,32.658874],[102.663745,32.658782],[102.663774,32.658798],[102.663842,32.65881],[102.663957,32.658847],[102.664166,32.658972],[102.664291,32.659076],[102.664352,32.659195],[102.664496,32.659481],[102.664431,32.659931],[102.664328,32.660206],[102.664308,32.660258],[102.664301,32.660276],[102.664145,32.660693],[102.663901,32.661238],[102.663909,32.661314],[102.66393,32.661365],[102.663946,32.661403],[102.663976,32.661466],[102.664012,32.661519],[102.664063,32.661558],[102.663935,32.661619],[102.663914,32.66163],[102.663873,32.661639],[102.663952,32.661856],[102.663999,32.661985],[102.664002,32.661992],[102.664054,32.662135],[102.66456,32.662507],[102.664645,32.662571],[102.664653,32.662576],[102.664682,32.662598],[102.664897,32.662666],[102.664908,32.66267],[102.664943,32.662681],[102.665581,32.662885],[102.666715,32.66319],[102.666766,32.663204],[102.6669,32.66324],[102.667305,32.663349],[102.667533,32.663334],[102.667752,32.663338],[102.668238,32.663295],[102.668465,32.663198],[102.669047,32.66295],[102.669561,32.662815],[102.669852,32.662739],[102.669939,32.662765],[102.669943,32.662767],[102.67017,32.662835],[102.670581,32.663429],[102.670713,32.663575],[102.670729,32.663593],[102.67085,32.663727],[102.670858,32.663736],[102.670925,32.663809],[102.670967,32.663856],[102.671203,32.664118],[102.671874,32.664987],[102.671966,32.665055],[102.671979,32.665064],[102.672161,32.665199],[102.672287,32.665292],[102.672368,32.665317],[102.672453,32.665356],[102.672506,32.665382],[102.672538,32.6654],[102.672603,32.665479],[102.672814,32.66554],[102.6732,32.665651],[102.673228,32.665659],[102.673251,32.665666],[102.673508,32.665739],[102.6739,32.665784],[102.674038,32.665799],[102.674246,32.665823],[102.674347,32.665834],[102.674354,32.665835],[102.674498,32.665851],[102.674558,32.665833],[102.674644,32.665833],[102.674713,32.665832],[102.674781,32.665836],[102.674833,32.665856],[102.674869,32.665893],[102.674897,32.665896],[102.674944,32.665901],[102.675118,32.665901],[102.675141,32.665901],[102.675492,32.6659],[102.675556,32.6659],[102.675723,32.6659],[102.675732,32.6659],[102.676871,32.665897],[102.677008,32.665897],[102.677131,32.665897],[102.677243,32.665925],[102.67728,32.665935],[102.677703,32.666043],[102.677937,32.666103],[102.677949,32.666105],[102.678058,32.666133],[102.678085,32.66614],[102.678324,32.666447],[102.678355,32.666486],[102.678393,32.666535],[102.67855,32.666735],[102.678713,32.667587],[102.678699,32.668128],[102.678911,32.668592],[102.67908,32.668782],[102.679253,32.668977],[102.679342,32.669005],[102.679356,32.66901],[102.679442,32.669037],[102.67976,32.669138],[102.679888,32.669178],[102.680427,32.669351],[102.680707,32.669653],[102.680831,32.669767],[102.68084,32.669776],[102.680857,32.669791],[102.680891,32.669823],[102.681199,32.670106],[102.681207,32.670113],[102.681219,32.670179],[102.681293,32.670263],[102.681376,32.670362],[102.681539,32.670496],[102.681564,32.670516],[102.681696,32.670622],[102.681834,32.670695],[102.681933,32.670728],[102.682008,32.670744],[102.682149,32.670761],[102.68225,32.670765],[102.682315,32.670764],[102.682328,32.670767],[102.682626,32.670848],[102.682674,32.670861],[102.683073,32.670969],[102.683415,32.671332],[102.683452,32.671372],[102.683467,32.671388],[102.68354,32.671465],[102.683542,32.67147],[102.683669,32.671799],[102.683682,32.671834],[102.683692,32.67186],[102.68374,32.671985],[102.68375,32.67201],[102.683765,32.672191],[102.683765,32.672199],[102.683798,32.672606],[102.684081,32.672828],[102.684462,32.672916],[102.685395,32.672717],[102.685713,32.672804],[102.685769,32.673103],[102.68576,32.673454],[102.685527,32.673541],[102.685475,32.673561],[102.685326,32.673616],[102.685276,32.673635],[102.685199,32.673653],[102.684761,32.673761],[102.684191,32.67371],[102.683994,32.673692],[102.683294,32.673679],[102.683125,32.673646],[102.682334,32.673489],[102.68224,32.67347],[102.682123,32.673486],[102.681534,32.673566],[102.681076,32.673936],[102.681001,32.674262],[102.681038,32.674407],[102.681082,32.674508],[102.681159,32.674621],[102.681323,32.674784],[102.681411,32.674893],[102.681482,32.674975],[102.681521,32.675014],[102.681649,32.6751],[102.681748,32.675149],[102.681835,32.675168],[102.681991,32.67516],[102.682117,32.675122],[102.682356,32.675177],[102.68256,32.675187],[102.683283,32.675222],[102.683561,32.675298],[102.683601,32.675309],[102.683689,32.675608],[102.683384,32.676676],[102.683215,32.676868],[102.683093,32.677005],[102.683032,32.677005],[102.682963,32.677006],[102.682918,32.677014],[102.682844,32.677026],[102.682743,32.677065],[102.682618,32.677107],[102.68247,32.677154],[102.682431,32.677204],[102.682416,32.677278],[102.682413,32.677294],[102.682385,32.677355],[102.682326,32.677409],[102.682321,32.677414],[102.68229,32.677449],[102.682279,32.677463],[102.682263,32.677557],[102.682238,32.677683],[102.682241,32.677779],[102.682246,32.677847],[102.681831,32.678132],[102.681757,32.678183],[102.681706,32.678218],[102.681667,32.678244],[102.681637,32.678265],[102.681366,32.678451],[102.680135,32.679134],[102.678383,32.679422],[102.676639,32.67939],[102.67635,32.67926],[102.676287,32.679232],[102.67544,32.678854],[102.674451,32.678964],[102.673309,32.679135],[102.672682,32.679893],[102.672656,32.679999],[102.672635,32.680083],[102.672356,32.681203],[102.67192,32.682958],[102.671496,32.684682],[102.671464,32.685901],[102.671802,32.687511],[102.672292,32.689059],[102.67323,32.690937],[102.673717,32.692614],[102.674282,32.694228],[102.674756,32.696418],[102.675227,32.698736],[102.675186,32.700339],[102.675395,32.701302],[102.675466,32.701628],[102.675476,32.70156],[102.676411,32.70271],[102.678,32.703419],[102.678915,32.703254],[102.680319,32.702827],[102.681951,32.701906],[102.682445,32.701482],[102.68316,32.700868],[102.683759,32.700354],[102.687705,32.696008],[102.68777,32.695936],[102.691877,32.691413],[102.693023,32.69015],[102.693482,32.690181],[102.693933,32.690212],[102.693941,32.690213],[102.695055,32.690323],[102.696438,32.690711],[102.698076,32.691602],[102.698802,32.692522],[102.698869,32.694109],[102.698738,32.695012],[102.698919,32.696329],[102.69933,32.697017],[102.699845,32.697841],[102.701003,32.698633],[102.70224,32.698831],[102.702284,32.698838],[102.703359,32.698676],[102.704211,32.698918],[102.705215,32.699435],[102.706591,32.70014],[102.707656,32.700386],[102.708339,32.700897],[102.709341,32.701549],[102.710017,32.702332],[102.710474,32.703337],[102.711045,32.704072],[102.710897,32.705149],[102.710358,32.706276],[102.709519,32.70857],[102.709183,32.710255],[102.709942,32.711094],[102.710765,32.713253],[102.711114,32.714868],[102.711905,32.716367],[102.712407,32.717695],[102.712902,32.719354],[102.713119,32.720389],[102.713414,32.722209],[102.713869,32.723495],[102.714009,32.725642],[102.71461,32.727312],[102.714921,32.728174],[102.715777,32.730953],[102.716123,32.732691],[102.716965,32.734109],[102.717708,32.735566],[102.717499,32.736098],[102.717228,32.737165],[102.716983,32.73914],[102.716626,32.743546],[102.716646,32.743862],[102.71673,32.745239],[102.717,32.748006],[102.717373,32.748714],[102.717787,32.749711],[102.718502,32.750343],[102.719018,32.751013],[102.719211,32.751263],[102.720301,32.75252],[102.720966,32.753233],[102.721534,32.753945],[102.72146,32.754933],[102.721475,32.756253],[102.721303,32.758239],[102.721268,32.758641],[102.721183,32.760042],[102.721403,32.760994],[102.721535,32.761574],[102.721528,32.761909],[102.721562,32.761901],[102.721722,32.761859],[102.722461,32.761665],[102.723295,32.761681],[102.725669,32.762026],[102.726982,32.761949],[102.728347,32.762125],[102.729958,32.762053],[102.731268,32.762077],[102.732346,32.761845],[102.733005,32.761706],[102.734195,32.761778],[102.736213,32.762066],[102.738288,32.762456],[102.739106,32.763074],[102.740571,32.764057],[102.74239,32.76516],[102.743606,32.766541],[102.745408,32.767744],[102.746884,32.768778],[102.746896,32.768786],[102.746903,32.768791],[102.746988,32.768817],[102.747007,32.768823],[102.747886,32.769096],[102.747987,32.769127],[102.74832,32.769231],[102.748441,32.769253],[102.748457,32.769256],[102.748725,32.769304],[102.74874,32.769307],[102.749675,32.769477],[102.749676,32.769478],[102.749698,32.769482],[102.751567,32.769817],[102.753668,32.76978],[102.755127,32.77041],[102.756347,32.77164],[102.756686,32.772363],[102.757023,32.7732],[102.757893,32.774121],[102.759334,32.775469],[102.760564,32.776321],[102.762059,32.777292],[102.762794,32.778286],[102.76358,32.779018],[102.764572,32.780432],[102.766972,32.782778],[102.768283,32.783934],[102.768603,32.789036],[102.768401,32.789977],[102.768283,32.791107],[102.767846,32.792496],[102.767758,32.794231],[102.7685,32.796736],[102.769432,32.798791],[102.77063,32.800927],[102.771281,32.801731],[102.772867,32.802665],[102.774801,32.803983],[102.777841,32.805774],[102.779207,32.806553],[102.779383,32.80667],[102.778828,32.807415],[102.778451,32.808201],[102.778086,32.810271],[102.778714,32.811981],[102.778952,32.813193],[102.778791,32.814285],[102.778842,32.815834],[102.778698,32.818021],[102.778082,32.819407],[102.77715,32.820938],[102.776819,32.82165],[102.776928,32.822671],[102.777201,32.824299],[102.777562,32.825929],[102.77749,32.827022],[102.777092,32.8281],[102.776963,32.828447],[102.776835,32.829659],[102.776788,32.830105],[102.776818,32.830249],[102.776906,32.830668],[102.777068,32.831432],[102.777469,32.833251],[102.777969,32.834732],[102.778723,32.836784],[102.778864,32.838297],[102.779019,32.839244],[102.778935,32.840828],[102.77866,32.844711],[102.778601,32.847051],[102.778394,32.84818],[102.77869,32.848865],[102.780298,32.850743],[102.780965,32.852718],[102.781341,32.853782],[102.78237,32.855536],[102.782782,32.856978],[102.782848,32.857923],[102.782824,32.858867],[102.782933,32.859888],[102.783364,32.862349],[102.78402,32.864739],[102.784091,32.865458],[102.784121,32.866063],[102.784325,32.866859],[102.785388,32.867293],[102.785395,32.867294],[102.785864,32.867321],[102.786326,32.867347],[102.786548,32.867429],[102.78658,32.867441],[102.786635,32.867461],[102.787301,32.867705],[102.787402,32.86777],[102.787411,32.867776],[102.787497,32.867831],[102.787511,32.86784],[102.787961,32.868131],[102.788486,32.868632],[102.789357,32.869591],[102.78952,32.869795],[102.789877,32.870242],[102.790525,32.871394],[102.790649,32.871614],[102.790717,32.872446],[102.791453,32.873441],[102.791954,32.874884],[102.791887,32.875789],[102.791732,32.876617],[102.792015,32.87783],[102.792195,32.879607],[102.792755,32.880486],[102.794064,32.88183],[102.794845,32.882788],[102.795721,32.883558],[102.795932,32.884053],[102.795936,32.884076],[102.796124,32.88534],[102.795807,32.887297],[102.795242,32.890232],[102.794852,32.891546],[102.794106,32.892741],[102.793577,32.894242],[102.793334,32.894993],[102.793136,32.895782],[102.792982,32.896572],[102.792529,32.897642],[102.792174,32.898483],[102.792136,32.898708],[102.792016,32.899424],[102.791897,32.90063],[102.791918,32.901574],[102.79194,32.902481],[102.792147,32.904164],[102.792201,32.904599],[102.792311,32.905583],[102.792598,32.906607],[102.79258,32.907362],[102.792562,32.908079],[102.792588,32.908293],[102.792589,32.908296],[102.792659,32.908868],[102.792674,32.908987],[102.792499,32.909857],[102.792469,32.910003],[102.792451,32.910076],[102.792448,32.91009],[102.79243,32.91016],[102.792427,32.910174],[102.792381,32.91036],[102.79235,32.910484],[102.792171,32.911206],[102.791795,32.91166],[102.791772,32.911688],[102.791637,32.911851],[102.79161,32.911953],[102.791593,32.911993],[102.791561,32.912038],[102.791531,32.912086],[102.791515,32.912118],[102.791503,32.91218],[102.791459,32.912257],[102.791388,32.912299],[102.791313,32.912243],[102.791248,32.912322],[102.791095,32.912434],[102.791086,32.91244],[102.790959,32.912533],[102.790291,32.913022],[102.79009,32.913887],[102.790084,32.91414],[102.790069,32.914745],[102.790066,32.914868],[102.790168,32.915826],[102.790175,32.915889],[102.790176,32.915935],[102.790184,32.916358],[102.790195,32.916856],[102.790195,32.916871],[102.790185,32.91692],[102.790161,32.917035],[102.790093,32.91736],[102.789727,32.917693],[102.789323,32.917724],[102.789246,32.917726],[102.789228,32.917726],[102.789098,32.91773],[102.78886,32.917735],[102.788656,32.91774],[102.788644,32.917719],[102.788542,32.91766],[102.788463,32.917656],[102.788329,32.917688],[102.788313,32.917692],[102.788186,32.917746],[102.788048,32.917806],[102.787935,32.917821],[102.787859,32.917819],[102.787644,32.917837],[102.787617,32.917841],[102.787394,32.917881],[102.787318,32.917956],[102.787287,32.918051],[102.78726,32.918079],[102.787174,32.918127],[102.786756,32.918358],[102.78661,32.918476],[102.786551,32.918524],[102.786525,32.918546],[102.786208,32.918801],[102.786149,32.918839],[102.786003,32.918932],[102.785914,32.918988],[102.785818,32.919049],[102.785616,32.919177],[102.785571,32.919205],[102.785332,32.919338],[102.784709,32.919681],[102.784388,32.919977],[102.78422,32.920068],[102.784185,32.920084],[102.78412,32.920115],[102.783675,32.920321],[102.783617,32.920393],[102.783543,32.920473],[102.783454,32.920564],[102.783366,32.92062],[102.783167,32.92094],[102.783114,32.921025],[102.783102,32.921043],[102.783091,32.921058],[102.782407,32.921923],[102.782113,32.922097],[102.781916,32.922214],[102.781909,32.922218],[102.781674,32.922357],[102.781286,32.922431],[102.781227,32.922443],[102.781198,32.922448],[102.781004,32.922486],[102.780877,32.92251],[102.780821,32.922521],[102.780707,32.922543],[102.779793,32.922567],[102.778451,32.92234],[102.777396,32.9222],[102.776782,32.921742],[102.776003,32.920942],[102.776038,32.920923],[102.776038,32.920889],[102.77599,32.920763],[102.775953,32.920716],[102.775837,32.920637],[102.775724,32.920578],[102.775685,32.920557],[102.775565,32.920533],[102.775406,32.92053],[102.775292,32.920549],[102.775272,32.920539],[102.775261,32.920538],[102.774659,32.920528],[102.774166,32.920519],[102.772761,32.9209],[102.772644,32.92093],[102.771647,32.921183],[102.770824,32.921393],[102.770498,32.921468],[102.769064,32.921799],[102.768917,32.921832],[102.768211,32.921995],[102.765263,32.922511],[102.763859,32.922868],[102.763759,32.922893],[102.763664,32.922917],[102.763326,32.923003],[102.76197,32.923076],[102.760483,32.923155],[102.759033,32.923413],[102.757962,32.923922],[102.75694,32.92439],[102.755851,32.925049],[102.755767,32.9251],[102.755343,32.92565],[102.755324,32.925675],[102.75512,32.92594],[102.755005,32.926005],[102.754486,32.926294],[102.754013,32.926339],[102.753762,32.926362],[102.752718,32.925775],[102.750897,32.92471],[102.750821,32.924666],[102.75014,32.924268],[102.749539,32.923916],[102.749067,32.92364],[102.749043,32.92362],[102.748981,32.923567],[102.748182,32.922896],[102.747441,32.92239],[102.747439,32.922335],[102.747439,32.922325],[102.747411,32.922251],[102.747367,32.922131],[102.747305,32.922024],[102.747181,32.921783],[102.747138,32.9217],[102.747119,32.921684],[102.746578,32.921241],[102.746567,32.921239],[102.746329,32.921189],[102.746121,32.921145],[102.746019,32.921124],[102.746005,32.921121],[102.745525,32.92102],[102.744962,32.921075],[102.744943,32.921059],[102.744916,32.92106],[102.744895,32.921081],[102.744411,32.921129],[102.744397,32.92113],[102.744126,32.921157],[102.743884,32.921212],[102.743816,32.921258],[102.74378,32.921278],[102.743748,32.92135],[102.743591,32.921428],[102.74334,32.921553],[102.743312,32.921719],[102.743304,32.921767],[102.74328,32.921913],[102.743256,32.922054],[102.743253,32.922069],[102.743209,32.92233],[102.743185,32.922477],[102.743265,32.922461],[102.743288,32.922482],[102.743284,32.92251],[102.743266,32.922591],[102.743221,32.922724],[102.743198,32.922799],[102.743198,32.922843],[102.743208,32.92291],[102.74322,32.922971],[102.743238,32.923032],[102.743254,32.923076],[102.743306,32.923128],[102.743392,32.923538],[102.74332,32.923671],[102.743241,32.923819],[102.742972,32.923786],[102.742914,32.923778],[102.742902,32.923777],[102.742859,32.923772],[102.742664,32.923748],[102.742473,32.923724],[102.742381,32.923703],[102.74136,32.923474],[102.741241,32.923447],[102.74112,32.923392],[102.740974,32.92334],[102.740795,32.923289],[102.740621,32.923268],[102.74047,32.923257],[102.740368,32.923194],[102.740282,32.92314],[102.740175,32.923074],[102.740037,32.922988],[102.739923,32.922917],[102.739811,32.922848],[102.739661,32.922755],[102.739501,32.92266],[102.739349,32.922569],[102.73921,32.922475],[102.739069,32.922388],[102.738913,32.922291],[102.738759,32.922196],[102.738677,32.922141],[102.738578,32.922075],[102.738424,32.921973],[102.738326,32.921907],[102.73822,32.921837],[102.738081,32.921744],[102.737933,32.921646],[102.737763,32.921532],[102.737582,32.921412],[102.737408,32.921296],[102.737241,32.921184],[102.737116,32.921101],[102.736945,32.920987],[102.736807,32.920895],[102.73663,32.920778],[102.736439,32.920621],[102.736177,32.920407],[102.735922,32.920198],[102.735707,32.920021],[102.735575,32.919913],[102.735408,32.919777],[102.735104,32.919528],[102.734929,32.919384],[102.734786,32.919267],[102.734604,32.919118],[102.734407,32.918941],[102.734196,32.918751],[102.733962,32.918514],[102.733821,32.918381],[102.733813,32.918373],[102.733601,32.918174],[102.733385,32.91797],[102.733241,32.917835],[102.733084,32.91758],[102.732956,32.917371],[102.732834,32.917172],[102.732409,32.916481],[102.732131,32.916324],[102.731291,32.915851],[102.7311,32.915744],[102.730844,32.9156],[102.730825,32.915564],[102.730774,32.915564],[102.730742,32.915484],[102.73071,32.915442],[102.730692,32.915396],[102.730666,32.915328],[102.730646,32.915269],[102.730611,32.915197],[102.730604,32.915148],[102.730431,32.914821],[102.73045,32.914098],[102.730451,32.914056],[102.730457,32.913807],[102.730416,32.913718],[102.730393,32.913668],[102.730318,32.913505],[102.730317,32.913503],[102.730268,32.913397],[102.730192,32.913232],[102.72991,32.912621],[102.729624,32.912485],[102.729546,32.912448],[102.729416,32.912485],[102.729271,32.91247],[102.729104,32.912447],[102.729003,32.912416],[102.728956,32.912386],[102.728923,32.912373],[102.728853,32.912364],[102.728723,32.912359],[102.728318,32.91239],[102.728273,32.91241],[102.728178,32.912451],[102.728131,32.912471],[102.728089,32.912489],[102.727891,32.912583],[102.72786,32.9126],[102.7278,32.912634],[102.727718,32.912715],[102.727617,32.912821],[102.727519,32.912918],[102.727385,32.913042],[102.727329,32.913152],[102.727323,32.913157],[102.727005,32.913339],[102.726769,32.913295],[102.726683,32.913328],[102.726672,32.913328],[102.726669,32.913316],[102.726707,32.913283],[102.726503,32.913245],[102.726484,32.913241],[102.726459,32.913236],[102.726388,32.913223],[102.726047,32.913159],[102.724997,32.912622],[102.72498,32.912613],[102.724963,32.912605],[102.724813,32.912528],[102.724754,32.912513],[102.724466,32.912438],[102.724455,32.912436],[102.724443,32.912432],[102.724086,32.91234],[102.724068,32.912336],[102.72387,32.912284],[102.723754,32.912254],[102.723202,32.912112],[102.72308,32.91208],[102.722942,32.912045],[102.722804,32.912009],[102.722614,32.91196],[102.722608,32.911961],[102.722541,32.911974],[102.722528,32.911977],[102.722522,32.911978],[102.722416,32.911998],[102.721067,32.912257],[102.720696,32.91246],[102.720509,32.912563],[102.719994,32.912846],[102.71978,32.912873],[102.718304,32.913058],[102.71758,32.913167],[102.71658,32.912743],[102.716465,32.91247],[102.71643,32.912388],[102.716229,32.911912],[102.716218,32.911884],[102.716183,32.911854],[102.716182,32.911853],[102.715599,32.911339],[102.715582,32.911339],[102.715443,32.911336],[102.715372,32.911327],[102.715321,32.911309],[102.715254,32.911274],[102.715182,32.911236],[102.715117,32.911207],[102.715039,32.911186],[102.714956,32.911162],[102.71487,32.911103],[102.714747,32.911086],[102.714365,32.911054],[102.714299,32.911049],[102.714274,32.911047],[102.714123,32.911034],[102.713932,32.910911],[102.713413,32.910575],[102.712907,32.910053],[102.712776,32.909808],[102.712665,32.909666],[102.712609,32.909589],[102.712418,32.909461],[102.712252,32.909414],[102.712227,32.909408],[102.712116,32.909376],[102.711933,32.909306],[102.711733,32.909211],[102.711516,32.909092],[102.711279,32.908959],[102.71108,32.908821],[102.710956,32.908706],[102.710802,32.908622],[102.710755,32.908581],[102.710722,32.908578],[102.710292,32.908524],[102.709571,32.908435],[102.7087,32.908622],[102.708361,32.908658],[102.708216,32.908674],[102.708159,32.90868],[102.708094,32.908687],[102.707735,32.908726],[102.707646,32.908707],[102.707575,32.908692],[102.706683,32.908504],[102.706412,32.908304],[102.706367,32.908272],[102.706339,32.908251],[102.705893,32.907924],[102.705886,32.907918],[102.705833,32.907879],[102.705574,32.907808],[102.705442,32.907771],[102.70505,32.907662],[102.704856,32.907609],[102.704734,32.907575],[102.704478,32.907608],[102.704457,32.90761],[102.703898,32.907681],[102.703674,32.90771],[102.703656,32.907712],[102.703616,32.907717],[102.702512,32.907857],[102.702224,32.907894],[102.702106,32.907929],[102.702094,32.907932],[102.701927,32.907981],[102.700916,32.908276],[102.700469,32.908352],[102.700258,32.908388],[102.700235,32.908392],[102.698983,32.908605],[102.698446,32.908772],[102.698352,32.908801],[102.69829,32.90882],[102.697734,32.908993],[102.697625,32.909027],[102.697544,32.909051],[102.697536,32.909054],[102.697161,32.909169],[102.696122,32.909486],[102.69524,32.909546],[102.695183,32.90955],[102.694242,32.909614],[102.692375,32.909255],[102.691648,32.909009],[102.691632,32.909004],[102.691541,32.908973],[102.691524,32.908967],[102.691508,32.908962],[102.691436,32.908938],[102.691092,32.908822],[102.690849,32.908739],[102.690785,32.908684],[102.690442,32.908393],[102.690057,32.908066],[102.690044,32.908054],[102.689756,32.907809],[102.689737,32.907793],[102.689666,32.907732],[102.689484,32.907578],[102.688524,32.906942],[102.688397,32.906859],[102.688349,32.906826],[102.687006,32.90668],[102.686953,32.906701],[102.686929,32.90671],[102.686633,32.906829],[102.686622,32.906833],[102.68652,32.906874],[102.686487,32.906872],[102.685877,32.906839],[102.68578,32.906834],[102.685487,32.906818],[102.685367,32.906812],[102.685174,32.906788],[102.685024,32.90677],[102.684669,32.906727],[102.684588,32.906717],[102.684176,32.906668],[102.684065,32.906654],[102.683806,32.906623],[102.683784,32.90662],[102.683315,32.906611],[102.683042,32.906606],[102.682871,32.906603],[102.682832,32.906601],[102.682784,32.906598],[102.682777,32.906597],[102.682606,32.906587],[102.682449,32.906578],[102.68191,32.906545],[102.681343,32.906169],[102.681218,32.905396],[102.681288,32.905277],[102.681325,32.905214],[102.681571,32.904794],[102.682643,32.904259],[102.682647,32.904257],[102.68277,32.904196],[102.682796,32.904149],[102.682817,32.904128],[102.68285,32.904113],[102.682898,32.904094],[102.682939,32.904074],[102.682995,32.904034],[102.683052,32.903728],[102.683054,32.903717],[102.683152,32.9032],[102.682116,32.902328],[102.681595,32.90209],[102.681351,32.901978],[102.681107,32.901866],[102.681053,32.901841],[102.680548,32.901609],[102.68039,32.9014],[102.680397,32.90136],[102.680399,32.901325],[102.680397,32.901294],[102.680387,32.901265],[102.680348,32.901209],[102.680333,32.90119],[102.680306,32.901158],[102.680419,32.900913],[102.680429,32.90089],[102.680458,32.900829],[102.680677,32.900354],[102.680776,32.900262],[102.68106,32.9],[102.681367,32.899717],[102.68195,32.899485],[102.682538,32.899364],[102.682578,32.899356],[102.682595,32.899352],[102.682675,32.899336],[102.682987,32.89914],[102.683013,32.899108],[102.683031,32.899093],[102.683051,32.899082],[102.683071,32.899073],[102.683115,32.89906],[102.683116,32.899033],[102.683117,32.898998],[102.683121,32.898865],[102.683124,32.898712],[102.683163,32.898703],[102.683259,32.898671],[102.683286,32.898632],[102.683301,32.89855],[102.683301,32.898442],[102.683302,32.898416],[102.683266,32.898424],[102.683253,32.898474],[102.683219,32.89852],[102.683182,32.898554],[102.683128,32.898592],[102.683137,32.898249],[102.682616,32.89779],[102.682605,32.89778],[102.682525,32.89771],[102.682409,32.89764],[102.682273,32.897558],[102.682161,32.89749],[102.682138,32.897476],[102.681483,32.897082],[102.68052,32.896233],[102.680475,32.896192],[102.680198,32.895948],[102.680026,32.895797],[102.67982,32.895665],[102.679814,32.895643],[102.679779,32.895555],[102.679745,32.895517],[102.679629,32.895423],[102.679411,32.895317],[102.67922,32.895247],[102.679132,32.895223],[102.678985,32.895128],[102.677992,32.89485],[102.677744,32.89478],[102.677699,32.894764],[102.67769,32.89476],[102.6766,32.894353],[102.675437,32.893248],[102.67542,32.893233],[102.67538,32.893194],[102.675214,32.893161],[102.675156,32.89315],[102.675121,32.893143],[102.674934,32.893105],[102.674932,32.893105],[102.67471,32.89306],[102.674546,32.89318],[102.674391,32.893184],[102.674259,32.893207],[102.674224,32.89325],[102.674244,32.893347],[102.674267,32.893385],[102.674171,32.893456],[102.67406,32.893538],[102.673934,32.893631],[102.673905,32.893652],[102.673732,32.89378],[102.673727,32.893784],[102.673582,32.893891],[102.673208,32.894028],[102.672699,32.894213],[102.672417,32.894316],[102.672181,32.894434],[102.671994,32.894497],[102.67193,32.894503],[102.671904,32.894503],[102.671862,32.894594],[102.671247,32.894903],[102.670716,32.895224],[102.670569,32.895312],[102.67052,32.895342],[102.670465,32.895375],[102.669704,32.895513],[102.66962,32.895528],[102.66958,32.895536],[102.66945,32.895559],[102.669277,32.895625],[102.669132,32.89568],[102.669116,32.895686],[102.668799,32.895807],[102.668775,32.895816],[102.668715,32.895839],[102.668332,32.895985],[102.666727,32.896685],[102.665941,32.897279],[102.665743,32.897268],[102.665707,32.897265],[102.665347,32.897244],[102.665116,32.897231],[102.664991,32.897223],[102.664967,32.897222],[102.664933,32.89722],[102.664223,32.89676],[102.663669,32.895898],[102.663396,32.895284],[102.663359,32.895057],[102.663371,32.89486],[102.66337,32.89451],[102.663323,32.89421],[102.663343,32.893988],[102.663309,32.893941],[102.663284,32.893795],[102.663283,32.89368],[102.663286,32.893564],[102.663282,32.893498],[102.663254,32.893365],[102.663256,32.893314],[102.663256,32.893293],[102.663252,32.89328],[102.662943,32.892394],[102.662522,32.89194],[102.662236,32.891849],[102.661711,32.891681],[102.661289,32.891693],[102.660845,32.891706],[102.660163,32.892018],[102.659453,32.892706],[102.659423,32.892734],[102.658214,32.892995],[102.658175,32.893014],[102.657727,32.89323],[102.657708,32.893378],[102.657666,32.893716],[102.657717,32.893906],[102.65772,32.893918],[102.657903,32.8946],[102.65794,32.894737],[102.657951,32.894777],[102.65794,32.894795],[102.657916,32.894839],[102.657896,32.894884],[102.657877,32.894944],[102.657853,32.895028],[102.657844,32.895084],[102.657837,32.895136],[102.657831,32.895167],[102.657807,32.895215],[102.657779,32.895304],[102.657769,32.895364],[102.657763,32.89542],[102.657763,32.89547],[102.657774,32.895521],[102.657781,32.895561],[102.657788,32.895596],[102.657788,32.895639],[102.657799,32.895756],[102.657791,32.89579],[102.657775,32.895842],[102.65776,32.895902],[102.657748,32.895951],[102.657742,32.896022],[102.657734,32.896075],[102.657719,32.896123],[102.657707,32.89615],[102.65768,32.896189],[102.657647,32.896223],[102.657595,32.896269],[102.657554,32.89631],[102.657512,32.896339],[102.657405,32.896396],[102.657375,32.896389],[102.657355,32.896381],[102.657345,32.896369],[102.657314,32.896348],[102.657283,32.896342],[102.657312,32.896324],[102.657266,32.89632],[102.65702,32.896301],[102.656172,32.895635],[102.655809,32.894817],[102.655688,32.894715],[102.655666,32.894697],[102.655436,32.894503],[102.655407,32.894417],[102.655358,32.894329],[102.655286,32.894246],[102.655241,32.89421],[102.655207,32.894169],[102.655163,32.894122],[102.655118,32.894094],[102.655054,32.894067],[102.654965,32.894054],[102.654896,32.894049],[102.654798,32.893966],[102.654774,32.893945],[102.654404,32.893727],[102.653779,32.893359],[102.65373,32.893353],[102.652916,32.893261],[102.651553,32.893885],[102.651363,32.894026],[102.650313,32.894808],[102.650277,32.894835],[102.649741,32.895177],[102.649687,32.895212],[102.649682,32.895287],[102.649552,32.895349],[102.649337,32.895435],[102.649227,32.895473],[102.649158,32.895495],[102.64909,32.895525],[102.649038,32.895568],[102.648795,32.895776],[102.648588,32.895963],[102.648418,32.896141],[102.64829,32.896338],[102.648212,32.89648],[102.648187,32.896508],[102.648151,32.89655],[102.647916,32.896819],[102.647879,32.896904],[102.647714,32.897294],[102.647717,32.897316],[102.647728,32.897394],[102.647752,32.897419],[102.647788,32.897445],[102.647823,32.897475],[102.647846,32.897512],[102.64786,32.897547],[102.64793,32.897624],[102.647969,32.897665],[102.648051,32.897713],[102.648333,32.897805],[102.648415,32.897833],[102.648421,32.897844],[102.648468,32.897922],[102.648575,32.8981],[102.648604,32.89815],[102.64862,32.898176],[102.648662,32.898199],[102.64869,32.898216],[102.648715,32.89824],[102.648726,32.898265],[102.648722,32.898283],[102.648697,32.898305],[102.648705,32.898318],[102.64874,32.898377],[102.648741,32.898383],[102.648955,32.899355],[102.64878,32.900186],[102.648746,32.900349],[102.648734,32.900406],[102.648717,32.900438],[102.648685,32.900502],[102.648589,32.900687],[102.64858,32.900704],[102.648493,32.900872],[102.648278,32.90129],[102.647988,32.90164],[102.647956,32.901679],[102.647949,32.901687],[102.647921,32.901721],[102.647781,32.901889],[102.64764,32.901948],[102.647604,32.901963],[102.64676,32.902316],[102.64648,32.90233],[102.646439,32.902333],[102.646228,32.902343],[102.645604,32.902375],[102.644939,32.902038],[102.644289,32.901174],[102.644176,32.901064],[102.644163,32.901051],[102.644144,32.901032],[102.644057,32.900946],[102.643867,32.90076],[102.643849,32.900753],[102.643616,32.900664],[102.643604,32.900659],[102.643417,32.900587],[102.6432,32.900504],[102.642113,32.900808],[102.642078,32.900818],[102.642057,32.900824],[102.641843,32.900884],[102.641649,32.901007],[102.64163,32.901019],[102.641605,32.901035],[102.640913,32.901475],[102.63978,32.902389],[102.639772,32.902395],[102.639571,32.902558],[102.639537,32.902585],[102.639399,32.90291],[102.639282,32.902909],[102.639166,32.903117],[102.639114,32.903378],[102.638917,32.903767],[102.638813,32.904022],[102.638725,32.904683],[102.638729,32.904799],[102.63872,32.904826],[102.638717,32.904836],[102.638653,32.905044],[102.638736,32.90575],[102.638736,32.905752],[102.638742,32.905803],[102.638776,32.906093],[102.63881,32.906386],[102.638846,32.906641],[102.638847,32.906642],[102.638848,32.906654],[102.638899,32.907013],[102.638906,32.907058],[102.638977,32.90756],[102.638979,32.90757],[102.638991,32.907659],[102.638974,32.907675],[102.638949,32.907703],[102.638926,32.907731],[102.638899,32.907758],[102.638875,32.907784],[102.638857,32.907807],[102.638858,32.907849],[102.638854,32.907902],[102.638816,32.907979],[102.638808,32.908094],[102.638818,32.908252],[102.63883,32.908446],[102.638775,32.908519],[102.638719,32.908595],[102.638712,32.908603],[102.638689,32.908634],[102.638553,32.908816],[102.637774,32.908863],[102.63776,32.908864],[102.637544,32.908877],[102.637562,32.90884],[102.637562,32.908815],[102.637542,32.908784],[102.637512,32.908781],[102.637467,32.908792],[102.637379,32.908827],[102.6372,32.908772],[102.637197,32.90877],[102.637189,32.908768],[102.636573,32.908576],[102.636569,32.908575],[102.636298,32.908491],[102.636157,32.908447],[102.636056,32.908415],[102.636014,32.908402],[102.635631,32.908196],[102.635759,32.908208],[102.635831,32.908216],[102.635777,32.908162],[102.635734,32.908135],[102.635648,32.908099],[102.635548,32.908071],[102.635437,32.90806],[102.635295,32.908014],[102.635186,32.907955],[102.634924,32.907813],[102.634893,32.907818],[102.6348,32.907831],[102.634803,32.907842],[102.634825,32.907857],[102.634845,32.907863],[102.634881,32.90788],[102.634866,32.90789],[102.63481,32.907899],[102.634773,32.907902],[102.634725,32.907908],[102.634669,32.907916],[102.634622,32.90792],[102.634578,32.90792],[102.63451,32.907935],[102.63444,32.907938],[102.634425,32.907924],[102.634408,32.907894],[102.634405,32.907885],[102.634259,32.907906],[102.634151,32.907921],[102.634106,32.907965],[102.633982,32.908013],[102.63376,32.908214],[102.633673,32.90837],[102.633669,32.908378],[102.633706,32.908358],[102.633697,32.908384],[102.633672,32.908455],[102.633446,32.909084],[102.633448,32.909315],[102.633451,32.909577],[102.633459,32.910423],[102.633158,32.911157],[102.633161,32.911223],[102.633099,32.911405],[102.633064,32.911482],[102.63295,32.911488],[102.632554,32.911727],[102.632352,32.911849],[102.632265,32.911902],[102.632122,32.911942],[102.632098,32.911948],[102.631709,32.912057],[102.631528,32.912107],[102.631066,32.912236],[102.63096,32.912265],[102.63089,32.912285],[102.63074,32.912327],[102.630646,32.912353],[102.630222,32.912471],[102.630083,32.91251],[102.629619,32.912738],[102.629352,32.912869],[102.629346,32.912872],[102.629248,32.912921],[102.628729,32.913174],[102.628468,32.913304],[102.628357,32.913358],[102.628346,32.913364],[102.627938,32.913564],[102.627826,32.913638],[102.627857,32.913679],[102.627804,32.913724],[102.627757,32.913764],[102.627717,32.913797],[102.627673,32.913766],[102.627622,32.913737],[102.627566,32.913712],[102.627486,32.913682],[102.627372,32.913652],[102.627293,32.913637],[102.627293,32.913665],[102.627294,32.913681],[102.627296,32.913693],[102.627301,32.913705],[102.627311,32.913725],[102.627312,32.913727],[102.627329,32.913749],[102.627343,32.913764],[102.627359,32.913775],[102.627386,32.913787],[102.627403,32.913797],[102.627407,32.913805],[102.627407,32.913819],[102.627408,32.913845],[102.627409,32.913899],[102.627406,32.913915],[102.62732,32.913971],[102.6273,32.913985],[102.627293,32.913989],[102.627188,32.913927],[102.627174,32.913921],[102.627014,32.914039],[102.626826,32.914228],[102.62657,32.914466],[102.626464,32.914602],[102.626331,32.914751],[102.626316,32.914762],[102.626231,32.91482],[102.62621,32.914864],[102.626131,32.914873],[102.625475,32.915709],[102.625147,32.916259],[102.625056,32.91641],[102.625006,32.916494],[102.624972,32.916551],[102.624471,32.917272],[102.624304,32.91738],[102.623325,32.91801],[102.622727,32.918396],[102.622575,32.918494],[102.622537,32.918518],[102.622456,32.91857],[102.622344,32.918642],[102.622268,32.918691],[102.622264,32.91871],[102.622252,32.918768],[102.622121,32.919364],[102.622022,32.919816],[102.62206,32.91986],[102.622119,32.919923],[102.622167,32.919965],[102.622164,32.92019],[102.622187,32.920224],[102.622252,32.920318],[102.622343,32.92045],[102.622378,32.920501],[102.622472,32.920638],[102.622504,32.920684],[102.622518,32.920701],[102.622552,32.92074],[102.6226,32.920797],[102.622695,32.920909],[102.622876,32.921123],[102.623484,32.921839],[102.62413,32.922457],[102.62423,32.922553],[102.62438,32.922696],[102.624385,32.922701],[102.624406,32.922721],[102.624427,32.922741],[102.62437,32.922788],[102.624522,32.922893],[102.624547,32.922905],[102.624716,32.923072],[102.62479,32.923129],[102.624853,32.923176],[102.624911,32.923211],[102.625064,32.923265],[102.625123,32.923279],[102.625135,32.923302],[102.625125,32.923322],[102.625088,32.923338],[102.625042,32.923351],[102.624992,32.923371],[102.624956,32.923393],[102.624953,32.923416],[102.624965,32.923437],[102.624994,32.923441],[102.625048,32.923421],[102.625101,32.923415],[102.625141,32.923431],[102.625196,32.923452],[102.625238,32.923459],[102.625316,32.923467],[102.625361,32.923485],[102.625368,32.923522],[102.625375,32.923548],[102.625424,32.923582],[102.625475,32.923596],[102.62553,32.923609],[102.625586,32.923629],[102.625633,32.923653],[102.625661,32.923676],[102.625703,32.92369],[102.625732,32.923722],[102.625746,32.923751],[102.625774,32.923775],[102.625802,32.923772],[102.625821,32.923754],[102.625858,32.923709],[102.625869,32.923702],[102.626133,32.923866],[102.626219,32.92392],[102.626306,32.923997],[102.626462,32.924135],[102.626609,32.924265],[102.626683,32.92433],[102.626866,32.924491],[102.627123,32.924718],[102.627159,32.92475],[102.627204,32.924827],[102.62724,32.924891],[102.62737,32.925116],[102.627443,32.925242],[102.627509,32.925355],[102.627544,32.925416],[102.627565,32.925452],[102.627717,32.925716],[102.627822,32.925898],[102.627826,32.925905],[102.627842,32.925932],[102.627941,32.926104],[102.627952,32.926149],[102.628035,32.926495],[102.628072,32.926649],[102.62809,32.926724],[102.628244,32.927368],[102.627833,32.928334],[102.627594,32.928481],[102.626806,32.928964],[102.626676,32.929114],[102.626655,32.929138],[102.626642,32.929153],[102.626012,32.929882],[102.625868,32.930111],[102.625668,32.93043],[102.625621,32.930505],[102.625606,32.930529],[102.625524,32.93066],[102.625345,32.930946],[102.625332,32.930966],[102.625177,32.931215],[102.625169,32.931228],[102.625197,32.931232],[102.625206,32.931252],[102.625206,32.931274],[102.625195,32.931307],[102.625181,32.931332],[102.625159,32.931349],[102.625083,32.931365],[102.625046,32.931365],[102.625017,32.931375],[102.624994,32.931421],[102.624988,32.931461],[102.62497,32.931512],[102.624945,32.931545],[102.624893,32.931572],[102.624853,32.931583],[102.624823,32.931597],[102.624812,32.931628],[102.62483,32.931679],[102.624694,32.931801],[102.624417,32.932049],[102.624352,32.932108],[102.62434,32.932118],[102.624322,32.932275],[102.624296,32.932367],[102.624268,32.932451],[102.62425,32.932496],[102.624212,32.932505],[102.624131,32.932516],[102.624021,32.932543],[102.623915,32.932574],[102.623863,32.932619],[102.623785,32.932719],[102.623691,32.932796],[102.623547,32.932913],[102.62347,32.932992],[102.623394,32.933046],[102.623314,32.933071],[102.623205,32.933127],[102.623085,32.933154],[102.623006,32.933178],[102.622959,32.933214],[102.622869,32.933262],[102.622749,32.933313],[102.622607,32.933378],[102.622452,32.933447],[102.622308,32.933513],[102.622146,32.933591],[102.621992,32.933632],[102.621881,32.933675],[102.621854,32.933686],[102.621769,32.93371],[102.621693,32.933708],[102.621696,32.93369],[102.621698,32.93368],[102.621699,32.933675],[102.621682,32.933559],[102.621677,32.933527],[102.621431,32.933512],[102.620815,32.933476],[102.620127,32.933377],[102.620041,32.933364],[102.619924,32.933347],[102.619521,32.933289],[102.618546,32.933207],[102.618538,32.933206],[102.618315,32.933188],[102.618273,32.933184],[102.617902,32.933142],[102.617769,32.933127],[102.617755,32.933125],[102.617518,32.933099],[102.616977,32.933038],[102.616086,32.933994],[102.616112,32.934807],[102.616183,32.934882],[102.616202,32.934903],[102.617001,32.935757],[102.617902,32.936261],[102.617919,32.936263],[102.618905,32.936357],[102.618958,32.936362],[102.620007,32.936327],[102.620401,32.936314],[102.620468,32.936312],[102.620499,32.936311],[102.621837,32.936446],[102.621987,32.936461],[102.62226,32.936489],[102.622375,32.936501],[102.622872,32.936552],[102.623307,32.936597],[102.623426,32.93661],[102.624729,32.936978],[102.624752,32.937074],[102.624805,32.937105],[102.624854,32.937123],[102.624961,32.937152],[102.62506,32.937158],[102.625103,32.937156],[102.625218,32.937134],[102.626004,32.937389],[102.626862,32.937789],[102.627002,32.937855],[102.627068,32.937934],[102.627091,32.937961],[102.62737,32.938296],[102.627485,32.938434],[102.627572,32.938538],[102.627586,32.938556],[102.627655,32.938638],[102.627788,32.939417],[102.627797,32.939471],[102.627815,32.93958],[102.627841,32.939733],[102.627846,32.939758],[102.627863,32.93986],[102.627857,32.940081],[102.627855,32.940176],[102.627853,32.940184],[102.627841,32.940702],[102.627836,32.940881],[102.627817,32.940889],[102.627786,32.940914],[102.627766,32.94096],[102.627755,32.941008],[102.627748,32.941041],[102.627744,32.94106],[102.627707,32.941113],[102.627706,32.941115],[102.627734,32.941265],[102.627746,32.941325],[102.627763,32.941406],[102.627778,32.941492],[102.627815,32.941644],[102.627811,32.942347],[102.62781,32.942438],[102.62781,32.942466],[102.627809,32.94268],[102.627808,32.94282],[102.627807,32.942856],[102.627806,32.943155],[102.627805,32.943247],[102.6278,32.94398],[102.6278,32.944038],[102.627799,32.944073],[102.627788,32.944485],[102.627781,32.944728],[102.627538,32.944807],[102.627475,32.944827],[102.626956,32.944996],[102.626771,32.944999],[102.626715,32.944999],[102.626547,32.945002],[102.625877,32.945011],[102.625829,32.945011],[102.625704,32.945013],[102.625517,32.945004],[102.625312,32.944994],[102.6252,32.944988],[102.625021,32.944979],[102.624962,32.944976],[102.624921,32.944974],[102.624897,32.944973],[102.624358,32.944947],[102.622627,32.944914],[102.622554,32.944902],[102.62253,32.944946],[102.622461,32.944995],[102.622399,32.94504],[102.622282,32.945131],[102.622188,32.945178],[102.622184,32.94527],[102.6222,32.945615],[102.622203,32.945672],[102.622215,32.94592],[102.622588,32.94636],[102.62325,32.946751],[102.623569,32.946939],[102.623832,32.947094],[102.623865,32.947114],[102.623915,32.947143],[102.62395,32.94717],[102.623969,32.947185],[102.623829,32.94723],[102.623752,32.947253],[102.623661,32.947282],[102.623575,32.947311],[102.623541,32.947333],[102.623654,32.947338],[102.623772,32.947322],[102.6239,32.947298],[102.62409,32.947278],[102.624337,32.947469],[102.624519,32.94761],[102.624661,32.947719],[102.624921,32.94792],[102.625221,32.948308],[102.625351,32.948476],[102.625371,32.948488],[102.625474,32.948537],[102.625545,32.948604],[102.625673,32.948727],[102.625736,32.948794],[102.625731,32.948804],[102.625684,32.948907],[102.625727,32.948963],[102.625803,32.949061],[102.625835,32.949102],[102.625849,32.949119],[102.625857,32.949129],[102.625912,32.949199],[102.62597,32.949274],[102.626241,32.949485],[102.626523,32.949756],[102.626617,32.949834],[102.626711,32.949872],[102.626858,32.949902],[102.627028,32.949901],[102.627195,32.949893],[102.627333,32.949871],[102.627511,32.949803],[102.627607,32.949758],[102.627695,32.949759],[102.627807,32.949785],[102.62867,32.94929],[102.628679,32.949286],[102.628679,32.949261],[102.628718,32.949208],[102.628805,32.949141],[102.628909,32.949071],[102.629036,32.948996],[102.629121,32.948941],[102.62918,32.948888],[102.629242,32.94884],[102.629287,32.948833],[102.62931,32.948845],[102.629284,32.948885],[102.629237,32.948921],[102.629183,32.948969],[102.62915,32.949005],[102.629132,32.94902],[102.629128,32.94903],[102.629128,32.949052],[102.629128,32.949072],[102.629124,32.949091],[102.629149,32.949084],[102.629275,32.949029],[102.629284,32.949026],[102.629305,32.949017],[102.629514,32.948927],[102.62965,32.948949],[102.629671,32.948952],[102.629708,32.948958],[102.629789,32.94897],[102.629896,32.948988],[102.630073,32.949016],[102.630223,32.94904],[102.630559,32.949094],[102.630664,32.949111],[102.630717,32.949168],[102.630797,32.949254],[102.630945,32.949414],[102.631026,32.949501],[102.631147,32.949632],[102.631226,32.949717],[102.631239,32.949864],[102.631253,32.950011],[102.631261,32.950096],[102.631268,32.950179],[102.631281,32.950321],[102.631289,32.950407],[102.631292,32.950435],[102.631305,32.95058],[102.631325,32.950801],[102.631212,32.950989],[102.631193,32.951022],[102.630586,32.952031],[102.630581,32.952036],[102.630072,32.952476],[102.630043,32.952501],[102.630014,32.952525],[102.629867,32.952653],[102.629667,32.952825],[102.629362,32.95283],[102.628126,32.95285],[102.626533,32.952441],[102.626411,32.952439],[102.626055,32.952432],[102.62601,32.952431],[102.626001,32.952431],[102.625966,32.95243],[102.625819,32.952428],[102.625092,32.952414],[102.625048,32.952413],[102.624993,32.952412],[102.624898,32.952443],[102.624784,32.952481],[102.624718,32.952503],[102.624634,32.95253],[102.624575,32.952549],[102.624521,32.952567],[102.624407,32.952583],[102.624102,32.95268],[102.623952,32.952768],[102.623828,32.952861],[102.62369,32.953007],[102.623227,32.953304],[102.623137,32.953362],[102.62291,32.953509],[102.622672,32.953755],[102.621524,32.954943],[102.620567,32.955685],[102.61982,32.956263],[102.617603,32.957574],[102.61714,32.957866],[102.616773,32.957989],[102.616813,32.958071],[102.616683,32.958155],[102.616657,32.958171],[102.616466,32.958292],[102.61641,32.958327],[102.616157,32.958487],[102.615969,32.958606],[102.615775,32.958729],[102.615237,32.959638],[102.615113,32.960767],[102.61506,32.961253],[102.615041,32.961423],[102.615039,32.961439],[102.615024,32.961581],[102.615001,32.961791],[102.615128,32.961831],[102.615264,32.961873],[102.615258,32.961906],[102.615228,32.961926],[102.615167,32.961966],[102.615145,32.961999],[102.615143,32.962032],[102.615148,32.962077],[102.615175,32.962145],[102.61514,32.962163],[102.615074,32.962184],[102.615063,32.962228],[102.61506,32.962364],[102.615068,32.962424],[102.615101,32.96249],[102.615087,32.962527],[102.615045,32.962578],[102.61501,32.962636],[102.615004,32.962685],[102.615013,32.962764],[102.615008,32.96285],[102.615004,32.962926],[102.614996,32.963009],[102.614993,32.963056],[102.614992,32.963075],[102.61495,32.963164],[102.614924,32.963263],[102.614914,32.963326],[102.614901,32.963397],[102.614839,32.963528],[102.614816,32.963624],[102.614801,32.963688],[102.614795,32.96374],[102.614782,32.963811],[102.614731,32.963871],[102.614694,32.963962],[102.614661,32.964044],[102.614633,32.964126],[102.614606,32.964203],[102.614576,32.964278],[102.614576,32.96435],[102.61458,32.964406],[102.614554,32.964459],[102.614498,32.964475],[102.614255,32.964736],[102.614205,32.96479],[102.6142,32.964794],[102.614134,32.964866],[102.613554,32.964913],[102.612526,32.964997],[102.612445,32.964992],[102.612279,32.964982],[102.612068,32.964969],[102.612054,32.964968],[102.61198,32.964988],[102.611934,32.964987],[102.611856,32.964984],[102.611763,32.964986],[102.611579,32.965007],[102.611508,32.964992],[102.611433,32.964949],[102.611411,32.964929],[102.611354,32.964876],[102.611283,32.964827],[102.611226,32.964791],[102.611178,32.964775],[102.611113,32.964775],[102.611042,32.964775],[102.611003,32.96479],[102.611,32.964814],[102.611023,32.964837],[102.611051,32.964849],[102.611173,32.964917],[102.610987,32.964914],[102.610591,32.964906],[102.609961,32.964894],[102.609724,32.965032],[102.609676,32.96506],[102.609643,32.965079],[102.609626,32.965088],[102.609366,32.965239],[102.609357,32.965245],[102.609314,32.96527],[102.608788,32.965575],[102.607592,32.967067],[102.607494,32.967873],[102.607479,32.967994],[102.60747,32.968069],[102.607465,32.968105],[102.607427,32.968416],[102.60784,32.969122],[102.607989,32.969376],[102.608028,32.969443],[102.60807,32.969515],[102.608164,32.969675],[102.608589,32.969944],[102.609021,32.970216],[102.609047,32.970233],[102.609448,32.970391],[102.609539,32.970427],[102.611063,32.971029],[102.611207,32.971086],[102.612087,32.971478],[102.612348,32.971595],[102.612486,32.971878],[102.612603,32.972121],[102.612956,32.972851],[102.612939,32.9735],[102.612817,32.973998],[102.61265,32.974684],[102.611145,32.975738],[102.611094,32.975783],[102.610133,32.976627],[102.610081,32.976673],[102.610059,32.976693],[102.609699,32.977009],[102.609661,32.977056],[102.609001,32.977883],[102.608683,32.978282],[102.608636,32.978341],[102.608634,32.978352],[102.608452,32.979338],[102.60836,32.979838],[102.608326,32.980026],[102.608318,32.980065],[102.608276,32.980093],[102.608255,32.98014],[102.608216,32.980212],[102.608179,32.980261],[102.608148,32.980306],[102.608111,32.980371],[102.608097,32.980417],[102.608067,32.980495],[102.608028,32.980565],[102.607973,32.980628],[102.6079,32.980714],[102.607876,32.980759],[102.607853,32.980823],[102.607853,32.980869],[102.607853,32.980936],[102.607859,32.981006],[102.607863,32.981065],[102.60785,32.981107],[102.607824,32.98115],[102.607782,32.981204],[102.60771,32.981293],[102.607697,32.981342],[102.607691,32.981409],[102.607691,32.981449],[102.607699,32.981491],[102.607714,32.981534],[102.607727,32.981564],[102.607752,32.981596],[102.607784,32.981641],[102.607797,32.981674],[102.607814,32.981721],[102.607814,32.981738],[102.607817,32.981747],[102.607824,32.98175],[102.607811,32.981776],[102.607807,32.981784],[102.607727,32.981937],[102.607575,32.982231],[102.607528,32.982322],[102.6075,32.982377],[102.607396,32.982444],[102.607282,32.982517],[102.606602,32.982955],[102.606012,32.983334],[102.605268,32.983813],[102.605213,32.983848],[102.60496,32.984044],[102.604552,32.984358],[102.604134,32.984681],[102.604093,32.984712],[102.604081,32.984722],[102.603843,32.984905],[102.603682,32.98503],[102.60364,32.985062],[102.602978,32.985807],[102.602852,32.986324],[102.60284,32.986373],[102.602738,32.986789],[102.602545,32.987584],[102.602399,32.987871],[102.602371,32.987928],[102.602137,32.988388],[102.602002,32.988656],[102.601927,32.988769],[102.601541,32.989354],[102.601489,32.989433],[102.60146,32.989478],[102.60139,32.989583],[102.601333,32.989671],[102.600635,32.990232],[102.600506,32.990336],[102.600477,32.990284],[102.600399,32.990296],[102.600339,32.990322],[102.600289,32.990359],[102.600212,32.990406],[102.600144,32.990448],[102.600071,32.990565],[102.599935,32.990717],[102.599868,32.990857],[102.5998,32.991002],[102.599762,32.991106],[102.599715,32.991277],[102.599707,32.991307],[102.59971,32.991318],[102.599161,32.991631],[102.599116,32.991723],[102.598882,32.99221],[102.598643,32.992707],[102.598473,32.99306],[102.598135,32.993447],[102.598165,32.993482],[102.598197,32.993556],[102.598225,32.993622],[102.59824,32.993684],[102.598252,32.993758],[102.598252,32.99382],[102.598241,32.993894],[102.5982,32.99401],[102.598198,32.994014],[102.598145,32.994089],[102.598142,32.994094],[102.598043,32.994268],[102.597985,32.994376],[102.597985,32.994385],[102.59798,32.994457],[102.597978,32.994587],[102.597933,32.994676],[102.597837,32.994828],[102.597751,32.994957],[102.597736,32.995108],[102.597571,32.995504],[102.597539,32.995619],[102.597438,32.99598],[102.597496,32.996102],[102.59753,32.996173],[102.597535,32.996184],[102.597653,32.996432],[102.597802,32.996745],[102.597865,32.996847],[102.598769,32.998313],[102.598888,32.998445],[102.598982,32.998588],[102.599097,32.998698],[102.599032,32.998739],[102.599064,32.998867],[102.599114,32.999063],[102.599261,32.999641],[102.599487,33.000535],[102.599949,33.00133],[102.600198,33.001761],[102.600242,33.001836],[102.600337,33.002],[102.600288,33.002117],[102.600175,33.002382],[102.599868,33.003102],[102.599772,33.003328],[102.599699,33.003498],[102.599514,33.003933],[102.599175,33.004538],[102.598841,33.005135],[102.598568,33.005621],[102.598268,33.006157],[102.597988,33.006453],[102.597774,33.006678],[102.597681,33.006776],[102.597632,33.006829],[102.597291,33.007188],[102.597201,33.007266],[102.596502,33.007872],[102.596374,33.008063],[102.596361,33.008056],[102.596341,33.008054],[102.596302,33.00806],[102.596271,33.008089],[102.596247,33.008125],[102.59621,33.008151],[102.596165,33.008181],[102.596133,33.008224],[102.596058,33.00829],[102.596019,33.008347],[102.595979,33.008387],[102.595873,33.00855],[102.595851,33.008616],[102.595822,33.008722],[102.595803,33.00879],[102.595795,33.008862],[102.595796,33.008998],[102.595808,33.009091],[102.59581,33.00918],[102.595842,33.009421],[102.595964,33.009979],[102.596016,33.010342],[102.59602,33.010378],[102.596038,33.010551],[102.596067,33.010644],[102.596103,33.010737],[102.596111,33.010826],[102.596114,33.010931],[102.596117,33.010984],[102.596128,33.011012],[102.596159,33.011058],[102.596176,33.011106],[102.596194,33.0112],[102.596203,33.01129],[102.596222,33.011359],[102.596241,33.01145],[102.596279,33.011572],[102.596306,33.01165],[102.596329,33.011745],[102.596351,33.011828],[102.596377,33.011896],[102.596409,33.011956],[102.596486,33.012062],[102.596487,33.012067],[102.596501,33.012145],[102.596602,33.012707],[102.596587,33.01271],[102.596582,33.012722],[102.596583,33.012755],[102.5966,33.012861],[102.596619,33.012985],[102.596618,33.013132],[102.596637,33.01322],[102.596676,33.01334],[102.596723,33.013455],[102.596735,33.013516],[102.59678,33.013734],[102.596793,33.01388],[102.5968,33.013921],[102.596855,33.014254],[102.59689,33.014527],[102.596958,33.014857],[102.596998,33.014977],[102.597028,33.015083],[102.597057,33.015335],[102.597101,33.015493],[102.597124,33.015689],[102.597145,33.015832],[102.597169,33.015997],[102.597218,33.016187],[102.597217,33.016297],[102.597221,33.016398],[102.597226,33.016476],[102.597201,33.016546],[102.597178,33.016596],[102.597173,33.016653],[102.597174,33.016722],[102.597157,33.016801],[102.597126,33.01699],[102.597096,33.017099],[102.597084,33.017153],[102.597085,33.017167],[102.59709,33.01717],[102.597047,33.017276],[102.596987,33.017422],[102.596793,33.017892],[102.596761,33.017969],[102.596736,33.018017],[102.596136,33.019157],[102.595949,33.019299],[102.595286,33.019805],[102.594985,33.020034],[102.594183,33.020423],[102.593784,33.020616],[102.5936,33.020705],[102.59303,33.020981],[102.593002,33.020995],[102.592401,33.021225],[102.591902,33.021417],[102.591167,33.021699],[102.591161,33.021702],[102.591144,33.021708],[102.590511,33.021851],[102.590266,33.02204],[102.590142,33.022091],[102.590051,33.02212],[102.589907,33.022161],[102.589786,33.022188],[102.589704,33.022208],[102.589647,33.022218],[102.589576,33.022218],[102.589411,33.022213],[102.589334,33.022195],[102.589212,33.022163],[102.589152,33.022143],[102.58907,33.022159],[102.588579,33.022258],[102.588438,33.022402],[102.588426,33.022415],[102.588379,33.022393],[102.588312,33.022383],[102.588218,33.022382],[102.588144,33.022386],[102.5881,33.022403],[102.588085,33.022421],[102.588079,33.022449],[102.588106,33.022475],[102.588143,33.022492],[102.588183,33.02251],[102.5882,33.02253],[102.5882,33.022549],[102.588169,33.022586],[102.588098,33.022645],[102.587992,33.022703],[102.587944,33.02273],[102.587911,33.02274],[102.587876,33.022744],[102.587852,33.022736],[102.587836,33.022727],[102.587833,33.022713],[102.587857,33.022688],[102.587871,33.022651],[102.587872,33.022622],[102.587852,33.022603],[102.587813,33.022599],[102.587759,33.022624],[102.587663,33.022666],[102.587584,33.022693],[102.587525,33.022743],[102.587484,33.022815],[102.587477,33.022865],[102.587502,33.022953],[102.587534,33.023077],[102.587566,33.023207],[102.587611,33.0233],[102.587651,33.023372],[102.587684,33.023436],[102.587708,33.023479],[102.587717,33.023498],[102.587717,33.023529],[102.587689,33.023667],[102.58767,33.023781],[102.587602,33.023894],[102.587567,33.024012],[102.587533,33.02416],[102.587522,33.02426],[102.587511,33.024436],[102.587518,33.024537],[102.587537,33.024649],[102.587576,33.024778],[102.587601,33.024853],[102.587637,33.024948],[102.58767,33.025072],[102.587682,33.025154],[102.587693,33.025238],[102.587722,33.025307],[102.587752,33.025364],[102.587779,33.025436],[102.587795,33.025484],[102.587808,33.025504],[102.587821,33.025516],[102.587835,33.025516],[102.587867,33.025622],[102.587868,33.025627],[102.588082,33.02635],[102.588099,33.026455],[102.588196,33.027087],[102.588233,33.027326],[102.58808,33.028104],[102.588027,33.028371],[102.587814,33.028606],[102.58766,33.028776],[102.587423,33.028798],[102.587403,33.0288],[102.587086,33.02883],[102.586629,33.028873],[102.586502,33.028885],[102.586367,33.028897],[102.586204,33.028913],[102.586039,33.028928],[102.586011,33.028931],[102.585767,33.028951],[102.585759,33.028951],[102.585345,33.028985],[102.585243,33.028993],[102.585206,33.028996],[102.584898,33.029022],[102.58478,33.029044],[102.58454,33.02909],[102.584225,33.029],[102.584161,33.028982],[102.583938,33.028918],[102.583863,33.028828],[102.583777,33.028794],[102.58373,33.028787],[102.583558,33.028618],[102.583445,33.028507],[102.583413,33.028019],[102.583203,33.027803],[102.583154,33.027752],[102.583051,33.027706],[102.583036,33.0277],[102.582891,33.027635],[102.582875,33.027625],[102.582876,33.027658],[102.582872,33.027719],[102.582867,33.027746],[102.58285,33.027768],[102.582829,33.027774],[102.582816,33.027764],[102.582788,33.027724],[102.582759,33.027683],[102.582714,33.027629],[102.582682,33.027584],[102.582632,33.027511],[102.582562,33.027427],[102.58253,33.027407],[102.582492,33.027366],[102.582294,33.027218],[102.582207,33.027148],[102.582155,33.027137],[102.582137,33.027135],[102.582107,33.027138],[102.58206,33.027141],[102.582007,33.02714],[102.58193,33.027138],[102.581897,33.027129],[102.58188,33.027106],[102.581875,33.027071],[102.581879,33.027013],[102.581881,33.026973],[102.581881,33.026929],[102.581869,33.02692],[102.5818,33.026865],[102.581712,33.026863],[102.581564,33.02686],[102.5814,33.026857],[102.581295,33.027454],[102.58106,33.027936],[102.580833,33.028082],[102.580438,33.027924],[102.580409,33.027857],[102.580407,33.027851],[102.580365,33.027754],[102.580349,33.027715],[102.580229,33.027433],[102.579831,33.027351],[102.579781,33.027391],[102.579776,33.027395],[102.579766,33.027376],[102.579741,33.02735],[102.5797,33.027316],[102.579635,33.027288],[102.579553,33.027281],[102.579474,33.027289],[102.579386,33.027371],[102.579322,33.027438],[102.579209,33.027339],[102.578999,33.026885],[102.578945,33.026754],[102.578958,33.026736],[102.578967,33.026692],[102.578919,33.0266],[102.578865,33.026561],[102.578856,33.026539],[102.578624,33.025979],[102.578422,33.025619],[102.578412,33.025601],[102.578394,33.025597],[102.578459,33.025577],[102.578536,33.025544],[102.578573,33.025518],[102.578603,33.025482],[102.578625,33.025407],[102.578613,33.025312],[102.578554,33.02523],[102.578465,33.025182],[102.578381,33.025173],[102.578271,33.025223],[102.578151,33.0253],[102.578068,33.025354],[102.577993,33.025375],[102.577846,33.025382],[102.577719,33.025382],[102.577597,33.025435],[102.577502,33.025471],[102.577488,33.025476],[102.577466,33.025474],[102.577393,33.025468],[102.57682,33.025308],[102.576877,33.024822],[102.576672,33.024219],[102.576621,33.024138],[102.576576,33.024175],[102.576519,33.024115],[102.576574,33.024062],[102.576459,33.023878],[102.576169,33.023872],[102.57597,33.023868],[102.57565,33.024079],[102.575602,33.02411],[102.575488,33.024185],[102.575472,33.024195],[102.575447,33.024217],[102.574835,33.024745],[102.574522,33.024814],[102.574415,33.024738],[102.574358,33.024698],[102.574304,33.024659],[102.574305,33.024622],[102.574305,33.024612],[102.574313,33.024323],[102.574688,33.023618],[102.574919,33.023286],[102.574928,33.022949],[102.574501,33.022342],[102.574332,33.022001],[102.574404,33.021932],[102.57456,33.021781],[102.574594,33.021766],[102.574606,33.021779],[102.574624,33.021791],[102.574724,33.021856],[102.574812,33.021904],[102.574898,33.021918],[102.574983,33.021913],[102.575045,33.021888],[102.57509,33.021827],[102.575103,33.021787],[102.57511,33.021715],[102.575111,33.021674],[102.575107,33.021604],[102.575101,33.021529],[102.575115,33.021513],[102.575467,33.021125],[102.575479,33.020714],[102.575482,33.020602],[102.575489,33.020564],[102.575533,33.02034],[102.575625,33.020258],[102.57564,33.020246],[102.575708,33.020251],[102.575753,33.020236],[102.575843,33.020201],[102.575907,33.02015],[102.575967,33.020082],[102.57599,33.020037],[102.575993,33.019987],[102.57597,33.019953],[102.575989,33.019937],[102.576066,33.019799],[102.576176,33.019603],[102.576139,33.01934],[102.575929,33.018887],[102.575669,33.018787],[102.575653,33.018748],[102.57562,33.018684],[102.575537,33.018614],[102.57547,33.018581],[102.575384,33.01858],[102.575326,33.01858],[102.575282,33.018579],[102.575247,33.018595],[102.57523,33.018604],[102.575218,33.018598],[102.574703,33.018313],[102.574612,33.018262],[102.574533,33.01821],[102.574453,33.018156],[102.574333,33.018077],[102.573914,33.017799],[102.573531,33.017193],[102.573309,33.017151],[102.572818,33.017254],[102.572601,33.01717],[102.572587,33.017165],[102.57251,33.017135],[102.572514,33.017123],[102.572567,33.01698],[102.572569,33.016975],[102.572606,33.016875],[102.572706,33.016465],[102.572672,33.016248],[102.572758,33.016214],[102.572807,33.016178],[102.572857,33.016122],[102.572882,33.016083],[102.572882,33.016036],[102.572873,33.015994],[102.572855,33.015967],[102.572828,33.015924],[102.572802,33.015895],[102.572703,33.015863],[102.572602,33.015851],[102.57249,33.015853],[102.572479,33.015843],[102.57224,33.015632],[102.572005,33.015578],[102.571998,33.015576],[102.571989,33.015561],[102.571952,33.015495],[102.571897,33.015427],[102.571839,33.015361],[102.571792,33.015319],[102.571753,33.015256],[102.571701,33.015202],[102.571651,33.015183],[102.57163,33.015177],[102.57161,33.015172],[102.571586,33.01517],[102.571572,33.015169],[102.571574,33.015164],[102.571682,33.01491],[102.572006,33.014429],[102.571895,33.014331],[102.571705,33.014382],[102.571686,33.014315],[102.571679,33.014289],[102.571648,33.014213],[102.571586,33.014136],[102.57152,33.014066],[102.57148,33.014024],[102.571378,33.013999],[102.571312,33.013987],[102.571212,33.013973],[102.571149,33.013971],[102.571029,33.014015],[102.570984,33.014032],[102.570748,33.014119],[102.570725,33.014127],[102.57059,33.014177],[102.570199,33.014242],[102.569787,33.014311],[102.569426,33.014529],[102.569146,33.01501],[102.569089,33.015016],[102.569055,33.015019],[102.568917,33.015033],[102.568899,33.015046],[102.56884,33.015082],[102.568801,33.015106],[102.568759,33.015133],[102.568715,33.015156],[102.568662,33.01519],[102.568607,33.015225],[102.56859,33.015241],[102.568536,33.015276],[102.568466,33.015337],[102.568414,33.015368],[102.568408,33.015372],[102.56837,33.015403],[102.568316,33.015398],[102.568283,33.015382],[102.568249,33.015338],[102.568229,33.015291],[102.568267,33.015253],[102.568317,33.015215],[102.568353,33.015191],[102.568398,33.015176],[102.568456,33.015143],[102.568484,33.015122],[102.568512,33.015102],[102.568559,33.015057],[102.568596,33.015006],[102.568605,33.014951],[102.568597,33.014883],[102.568571,33.014829],[102.568425,33.014737],[102.568385,33.014721],[102.568333,33.01469],[102.568272,33.01468],[102.568234,33.01469],[102.568183,33.014718],[102.568178,33.014721],[102.568146,33.014746],[102.568115,33.014775],[102.568082,33.014828],[102.568073,33.01486],[102.56807,33.014907],[102.568057,33.01498],[102.568051,33.015022],[102.568033,33.015064],[102.568009,33.015103],[102.567987,33.015124],[102.567947,33.015145],[102.567889,33.015149],[102.567837,33.01514],[102.567799,33.015115],[102.567748,33.015072],[102.567728,33.015039],[102.567695,33.015012],[102.567668,33.014986],[102.567647,33.014967],[102.567637,33.014943],[102.567639,33.014903],[102.567675,33.014873],[102.567706,33.014862],[102.567713,33.014859],[102.567788,33.014833],[102.567853,33.014792],[102.567908,33.014749],[102.56796,33.014701],[102.567991,33.014652],[102.567994,33.014617],[102.567994,33.014572],[102.567966,33.014504],[102.567944,33.014481],[102.567914,33.014463],[102.56788,33.014448],[102.567845,33.01444],[102.567805,33.01443],[102.567768,33.014426],[102.567725,33.014424],[102.567646,33.014432],[102.567603,33.014452],[102.56754,33.014474],[102.567501,33.014482],[102.567442,33.014478],[102.567387,33.014464],[102.567332,33.014434],[102.567285,33.01437],[102.567256,33.014326],[102.567205,33.014274],[102.567113,33.014192],[102.567072,33.014156],[102.567028,33.014119],[102.566988,33.014081],[102.566961,33.014052],[102.56692,33.014019],[102.566886,33.014005],[102.566837,33.014003],[102.566794,33.014014],[102.566768,33.014035],[102.566746,33.014059],[102.56671,33.014092],[102.566694,33.014109],[102.566687,33.014128],[102.566684,33.014162],[102.566706,33.014202],[102.56672,33.014238],[102.566738,33.014279],[102.566753,33.014335],[102.566762,33.014384],[102.566762,33.014449],[102.566751,33.014475],[102.566742,33.014499],[102.56671,33.014548],[102.566684,33.014584],[102.566657,33.014613],[102.566625,33.014637],[102.566574,33.014662],[102.566533,33.01467],[102.566458,33.014667],[102.566427,33.014654],[102.566413,33.014636],[102.566419,33.014589],[102.566449,33.014539],[102.566472,33.014505],[102.566502,33.014452],[102.566525,33.01441],[102.566541,33.014371],[102.566558,33.014317],[102.566561,33.014264],[102.566559,33.014235],[102.56654,33.0142],[102.566501,33.01421],[102.566455,33.014276],[102.566406,33.014238],[102.566342,33.014224],[102.566269,33.01423],[102.566184,33.014236],[102.5661,33.014221],[102.566033,33.014201],[102.565929,33.014147],[102.565868,33.014113],[102.565832,33.014114],[102.565796,33.014128],[102.565756,33.014174],[102.565718,33.014212],[102.56566,33.01428],[102.565605,33.014317],[102.56553,33.014338],[102.565487,33.014334],[102.565421,33.01431],[102.56535,33.014261],[102.565273,33.014237],[102.56524,33.014238],[102.565187,33.014265],[102.56515,33.014316],[102.565127,33.014387],[102.565139,33.014437],[102.565159,33.014465],[102.565201,33.014488],[102.565257,33.014509],[102.56533,33.014531],[102.56541,33.014546],[102.565446,33.014556],[102.56554,33.014581],[102.565608,33.014616],[102.565623,33.014628],[102.565667,33.014665],[102.56569,33.014713],[102.565705,33.014794],[102.565709,33.014878],[102.56572,33.014955],[102.565722,33.014962],[102.56575,33.015037],[102.565774,33.015075],[102.565803,33.015099],[102.565848,33.015115],[102.565874,33.015116],[102.565927,33.015105],[102.565981,33.015083],[102.566059,33.015055],[102.56612,33.015038],[102.566174,33.015041],[102.566235,33.015069],[102.566316,33.015122],[102.566342,33.015157],[102.56634,33.015218],[102.566274,33.015213],[102.566298,33.01524],[102.566315,33.015268],[102.566314,33.015297],[102.566301,33.015328],[102.566269,33.015359],[102.566192,33.015377],[102.566053,33.015381],[102.566021,33.015384],[102.565952,33.015401],[102.565891,33.015428],[102.565852,33.015458],[102.565802,33.015493],[102.56577,33.01552],[102.565717,33.01555],[102.565684,33.01556],[102.565637,33.015558],[102.565605,33.01553],[102.565607,33.015517],[102.565642,33.015471],[102.565662,33.015432],[102.565667,33.01538],[102.565666,33.015309],[102.565658,33.015278],[102.565636,33.015245],[102.565608,33.015223],[102.565561,33.015211],[102.565508,33.015198],[102.565433,33.015195],[102.565393,33.015285],[102.565244,33.015624],[102.565203,33.015718],[102.565145,33.01585],[102.565032,33.016325],[102.564702,33.017414],[102.564503,33.019769],[102.564832,33.021152],[102.565268,33.022255],[102.565489,33.023014],[102.564996,33.024583],[102.564351,33.026233],[102.564152,33.027113],[102.563754,33.029327],[102.563595,33.030334],[102.563055,33.032418],[102.562602,33.033573],[102.561842,33.034839],[102.5616,33.035978],[102.561623,33.036826],[102.56179,33.037558],[102.561676,33.038325],[102.561634,33.038994],[102.561196,33.039597],[102.560478,33.040155],[102.559556,33.040511],[102.559062,33.04058],[102.557617,33.040375],[102.556985,33.040382],[102.556472,33.040293],[102.555916,33.040105],[102.554891,33.039927],[102.553888,33.039809],[102.553137,33.039853],[102.551708,33.039904],[102.550889,33.039908],[102.550049,33.039812],[102.549396,33.03972],[102.54839,33.039701],[102.54766,33.039864],[102.547299,33.040231],[102.54684,33.040735],[102.546175,33.041096],[102.545443,33.041338],[102.544879,33.041406],[102.544176,33.041431],[102.543737,33.041245],[102.543113,33.040937],[102.542123,33.040346],[102.540789,33.039719],[102.540183,33.039411],[102.539558,33.039192],[102.538575,33.038537],[102.537837,33.037931],[102.536001,33.036638],[102.535533,33.03631],[102.534951,33.035924],[102.534416,33.035636],[102.53399,33.035572],[102.533533,33.035438],[102.533093,33.035277],[102.532688,33.035034],[102.53248,33.034849],[102.532231,33.034928],[102.532038,33.03534],[102.531727,33.035888],[102.530795,33.036826],[102.530071,33.037407],[102.529272,33.037913],[102.528543,33.038227],[102.528049,33.038269],[102.527509,33.038449],[102.526871,33.038454],[102.526239,33.038286],[102.525561,33.038272],[102.524803,33.03817],[102.523696,33.038027],[102.522811,33.038062],[102.519916,33.037396],[102.519404,33.037342],[102.518386,33.036997],[102.517473,33.036568],[102.516349,33.036351],[102.515863,33.036276],[102.514969,33.036085],[102.513953,33.035654],[102.51329,33.035489],[102.512733,33.035197],[102.512043,33.035053],[102.511503,33.035064],[102.510549,33.035218],[102.509431,33.03545],[102.508559,33.035622],[102.507595,33.03563],[102.506864,33.035372],[102.506104,33.035005],[102.505439,33.034667],[102.504169,33.034128],[102.503601,33.033792],[102.503184,33.033756],[102.502766,33.033775],[102.502507,33.033851],[102.501858,33.034108],[102.501299,33.034557],[102.500546,33.035083],[102.500222,33.035185],[102.499675,33.035062],[102.499122,33.035051],[102.498087,33.035154],[102.497306,33.036691],[102.495965,33.038496],[102.495199,33.039536],[102.494835,33.040647],[102.494461,33.04216],[102.493072,33.043033],[102.492318,33.043639],[102.490944,33.043984],[102.490709,33.044015],[102.489316,33.044199],[102.487775,33.04392],[102.486396,33.043147],[102.485531,33.042477],[102.484898,33.041378],[102.484622,33.04072],[102.484244,33.03975],[102.483751,33.038964],[102.482808,33.038417],[102.481976,33.037842],[102.480949,33.037666],[102.480447,33.03719],[102.479841,33.036463],[102.478959,33.036352],[102.478923,33.036351],[102.478298,33.036277],[102.477346,33.03604],[102.476507,33.035744],[102.475637,33.03523],[102.475582,33.035207],[102.475615,33.034992],[102.475657,33.034723],[102.475698,33.034454],[102.47574,33.034185],[102.475781,33.033917],[102.475823,33.033648],[102.475864,33.033379],[102.475906,33.03311],[102.475947,33.032842],[102.475926,33.032605],[102.475905,33.032368],[102.475776,33.031939],[102.475736,33.03187],[102.475733,33.031859],[102.475587,33.031612],[102.475442,33.031366],[102.475314,33.031314],[102.474999,33.031184],[102.474684,33.031054],[102.474302,33.030978],[102.4741,33.03096],[102.47385,33.030906],[102.473606,33.030835],[102.473238,33.030609],[102.472936,33.030362],[102.472634,33.030115],[102.472332,33.029868],[102.47203,33.029621],[102.471843,33.029357],[102.471655,33.029092],[102.4715,33.028928],[102.471345,33.028765],[102.471316,33.028735],[102.471123,33.028536],[102.47093,33.028337],[102.470912,33.028314],[102.47076,33.028123],[102.470608,33.027932],[102.470368,33.027646],[102.470128,33.027361],[102.469889,33.027075],[102.469597,33.026796],[102.469317,33.026475],[102.469005,33.026189],[102.468693,33.025904],[102.468529,33.025713],[102.468366,33.025523],[102.468253,33.02535],[102.468098,33.025041],[102.467937,33.024886],[102.467806,33.024738],[102.467658,33.024541],[102.467533,33.024363],[102.467426,33.024107],[102.467319,33.023851],[102.46714,33.02359],[102.466955,33.023369],[102.466795,33.023179],[102.466572,33.022974],[102.466349,33.022769],[102.466072,33.022605],[102.465796,33.022442],[102.4655,33.022267],[102.465205,33.022093],[102.464909,33.021918],[102.464541,33.021739],[102.464172,33.021561],[102.463803,33.021383],[102.463494,33.021148],[102.463184,33.020913],[102.463059,33.020746],[102.462997,33.020574],[102.462872,33.02029],[102.462817,33.019904],[102.462762,33.019518],[102.462706,33.019132],[102.462638,33.018914],[102.462569,33.018695],[102.4625,33.018477],[102.462431,33.018259],[102.462363,33.018041],[102.462294,33.017822],[102.462189,33.017513],[102.462063,33.017084],[102.461956,33.016869],[102.461849,33.016655],[102.461728,33.016451],[102.461607,33.016247],[102.461416,33.016042],[102.461225,33.015837],[102.461075,33.015669],[102.460926,33.0155],[102.460767,33.015165],[102.460708,33.014786],[102.460648,33.014407],[102.460642,33.01399],[102.460635,33.013574],[102.460629,33.01322],[102.460644,33.01306],[102.460682,33.012626],[102.46072,33.012191],[102.460745,33.011906],[102.460751,33.011867],[102.460799,33.01156],[102.460847,33.011252],[102.4609,33.011068],[102.460974,33.010764],[102.461049,33.010461],[102.461111,33.010104],[102.461174,33.009747],[102.461287,33.009456],[102.461275,33.0092],[102.461215,33.008962],[102.46121,33.008949],[102.461061,33.008617],[102.46096,33.008457],[102.46096,33.008456],[102.46096,33.008456],[102.460876,33.008218],[102.460781,33.007903],[102.460742,33.007677],[102.460702,33.007451],[102.460644,33.007118],[102.460658,33.006945],[102.460662,33.006898],[102.460766,33.006689],[102.46087,33.006481],[102.460936,33.006249],[102.460942,33.006041],[102.460858,33.005904],[102.46071,33.005535],[102.460674,33.005274],[102.460668,33.005095],[102.460638,33.004958],[102.460538,33.004786],[102.460536,33.004552],[102.460534,33.004459],[102.460589,33.0042],[102.460644,33.003941],[102.46068,33.00362],[102.460716,33.003299],[102.460789,33.002962],[102.460862,33.002626],[102.460882,33.002531],[102.460992,33.002133],[102.461102,33.001734],[102.461174,33.001294],[102.461174,33.001294],[102.461174,33.001293],[102.461245,33.000961],[102.461346,33.000681],[102.461418,33.000485],[102.461572,33.000199],[102.461602,33.000009],[102.4617,32.999709],[102.461798,32.999408],[102.461905,32.999146],[102.461959,32.99895],[102.461941,32.998784],[102.461769,32.99851],[102.461614,32.998147],[102.46162,32.99782],[102.461644,32.997624],[102.461691,32.997493],[102.461786,32.997261],[102.461798,32.9971],[102.461721,32.996981],[102.461632,32.996934],[102.461471,32.996827],[102.461388,32.996696],[102.461293,32.996517],[102.461215,32.996166],[102.461138,32.996],[102.461114,32.995791],[102.461111,32.995754],[102.461096,32.995589],[102.460971,32.995405],[102.460751,32.995256],[102.460561,32.995039],[102.460371,32.994822],[102.46024,32.994631],[102.460174,32.994453],[102.460192,32.994298],[102.460281,32.994185],[102.460287,32.994084],[102.460275,32.994019],[102.460192,32.993953],[102.460061,32.993906],[102.459752,32.993721],[102.459609,32.993531],[102.45952,32.993376],[102.459502,32.993144],[102.459455,32.992984],[102.459234,32.992627],[102.459187,32.992496],[102.459187,32.992347],[102.459187,32.992291],[102.459187,32.992157],[102.459204,32.992057],[102.459275,32.991636],[102.45935,32.991397],[102.459425,32.991157],[102.459517,32.990935],[102.45956,32.990829],[102.459555,32.99068],[102.459553,32.990622],[102.45955,32.990342],[102.459548,32.990062],[102.459546,32.989915],[102.459575,32.989773],[102.459646,32.989594],[102.459775,32.989394],[102.459917,32.989194],[102.460017,32.98908],[102.460099,32.988898],[102.460233,32.9886],[102.460367,32.988302],[102.460538,32.987917],[102.460617,32.987638],[102.460645,32.987238],[102.460646,32.987233],[102.460672,32.986868],[102.460698,32.986504],[102.460724,32.986139],[102.460767,32.985725],[102.46081,32.985311],[102.460792,32.985001],[102.460774,32.98469],[102.46077,32.984527],[102.460767,32.984383],[102.460824,32.984026],[102.460896,32.983779],[102.460968,32.983533],[102.461032,32.983316],[102.461095,32.983098],[102.461131,32.982841],[102.461045,32.982684],[102.46096,32.982591],[102.460774,32.982402],[102.460588,32.982213],[102.460409,32.981955],[102.46036,32.981885],[102.460256,32.981649],[102.460153,32.981414],[102.460074,32.981271],[102.459953,32.981192],[102.459746,32.981092],[102.459461,32.981017],[102.459175,32.980942],[102.458743,32.980834],[102.458547,32.980785],[102.458326,32.980693],[102.458054,32.980407],[102.457783,32.980122],[102.45764,32.979772],[102.457599,32.979558],[102.457583,32.979472],[102.457583,32.979222],[102.457649,32.978846],[102.45769,32.978608],[102.457676,32.978365],[102.457683,32.978119],[102.45769,32.977873],[102.457685,32.977689],[102.457683,32.977595],[102.457633,32.97738],[102.457526,32.977202],[102.457405,32.976995],[102.457305,32.976766],[102.457233,32.976417],[102.457176,32.976088],[102.457133,32.975696],[102.457091,32.975303],[102.457073,32.975231],[102.456991,32.974889],[102.456919,32.974619],[102.456819,32.974247],[102.456714,32.973826],[102.456609,32.973406],[102.456569,32.973247],[102.456471,32.972903],[102.456373,32.972558],[102.456275,32.972214],[102.456177,32.97187],[102.456177,32.971498],[102.456234,32.971077],[102.456316,32.970842],[102.456398,32.970606],[102.456602,32.970346],[102.456805,32.970085],[102.456965,32.969889],[102.457091,32.969735],[102.457119,32.969496],[102.457148,32.969257],[102.457134,32.969133],[102.457196,32.968854],[102.457322,32.968539],[102.457403,32.968165],[102.45739,32.967829],[102.457352,32.967511],[102.457348,32.967358],[102.45734,32.967095],[102.457352,32.966699],[102.457387,32.966284],[102.457406,32.966047],[102.457424,32.96581],[102.457435,32.965414],[102.457466,32.965177],[102.457543,32.964941],[102.457556,32.96481],[102.457576,32.964624],[102.457688,32.964315],[102.4578,32.964006],[102.457899,32.963769],[102.457998,32.963533],[102.458097,32.963296],[102.458196,32.963059],[102.458295,32.962823],[102.458393,32.962586],[102.458492,32.96235],[102.458591,32.962113],[102.45869,32.961876],[102.458789,32.96164],[102.458888,32.961403],[102.458987,32.961167],[102.458967,32.960873],[102.458943,32.960652],[102.458862,32.96043],[102.45875,32.96028],[102.458537,32.960093],[102.458325,32.959906],[102.45814,32.959743],[102.457956,32.95958],[102.457701,32.959354],[102.457388,32.959127],[102.457015,32.958948],[102.456642,32.95877],[102.456414,32.958729],[102.456186,32.958689],[102.455958,32.958649],[102.45573,32.958609],[102.455502,32.958569],[102.455275,32.958528],[102.455137,32.958455],[102.454846,32.958299],[102.454603,32.958148],[102.45436,32.957996],[102.454162,32.957821],[102.453881,32.957472],[102.453657,32.957175],[102.453463,32.956852],[102.453325,32.956556],[102.453201,32.956346],[102.453076,32.956135],[102.45294,32.955814],[102.452689,32.955441],[102.452522,32.955218],[102.45224,32.954919],[102.451926,32.954692],[102.451639,32.95454],[102.451324,32.954386],[102.451064,32.954307],[102.450804,32.954229],[102.450546,32.954138],[102.450287,32.954047],[102.449898,32.953941],[102.449509,32.953835],[102.449261,32.953789],[102.449012,32.953742],[102.448763,32.953695],[102.448514,32.953649],[102.448266,32.953602],[102.448017,32.953555],[102.447768,32.953509],[102.447519,32.953462],[102.44727,32.953416],[102.447022,32.953369],[102.446775,32.953358],[102.446528,32.953346],[102.446281,32.953335],[102.446034,32.953324],[102.445657,32.953316],[102.445279,32.953308],[102.444902,32.953301],[102.444622,32.953204],[102.444343,32.953107],[102.444061,32.952832],[102.443892,32.952633],[102.443723,32.952434],[102.443559,32.952088],[102.443451,32.951768],[102.443381,32.951543],[102.443311,32.951318],[102.443242,32.951093],[102.443172,32.950869],[102.443102,32.950644],[102.443032,32.950419],[102.442962,32.950195],[102.442892,32.94997],[102.44286,32.94959],[102.442828,32.94921],[102.442722,32.948842],[102.442586,32.94852],[102.44245,32.948175],[102.442309,32.947955],[102.442168,32.947734],[102.441954,32.947596],[102.44174,32.947457],[102.441526,32.947318],[102.441312,32.947179],[102.441058,32.946929],[102.440804,32.946679],[102.440637,32.946406],[102.44047,32.946134],[102.440305,32.945837],[102.44014,32.94554],[102.440044,32.94533],[102.439948,32.94512],[102.439852,32.94491],[102.439756,32.944701],[102.439634,32.944417],[102.439511,32.944133],[102.439431,32.943862],[102.439352,32.943591],[102.43933,32.943359],[102.439307,32.943126],[102.439314,32.942881],[102.439322,32.942635],[102.439343,32.942245],[102.439363,32.941854],[102.439384,32.941463],[102.439386,32.941039],[102.439389,32.940615],[102.439391,32.940191],[102.439339,32.93997],[102.439287,32.939748],[102.439235,32.939527],[102.439183,32.939306],[102.439162,32.939036],[102.439141,32.938766],[102.43915,32.938449],[102.439216,32.938156],[102.43931,32.937939],[102.439335,32.937888]]]]},"properties":{"cp":[102.63776751384222,32.82512378846329],"code":"513233100","name":"邛溪镇","level":"street","center":[102.63776751384222,32.82512378846329],"fullCode":"513233100000","fullName":"四川省阿坝藏族羌族自治州红原县邛溪镇","acreageMu":1343909.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.515,32.7855]}},{"id":"513233101","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.662814,32.045234],[102.662707,32.045207],[102.662601,32.045181],[102.662557,32.04517],[102.662315,32.045091],[102.662072,32.045013],[102.661779,32.044999],[102.661578,32.045064],[102.661494,32.045091],[102.661194,32.045298],[102.661069,32.04533],[102.660994,32.045348],[102.660687,32.045334],[102.660559,32.04532],[102.660459,32.045341],[102.660418,32.045441],[102.66038,32.045534],[102.660302,32.045862],[102.660259,32.046041],[102.660223,32.046191],[102.660152,32.046355],[102.66004,32.046537],[102.660016,32.046576],[102.659766,32.046748],[102.659631,32.04689],[102.659509,32.047026],[102.659467,32.047269],[102.659467,32.04744],[102.65944,32.047502],[102.659381,32.04764],[102.659368,32.047662],[102.65926,32.047847],[102.659274,32.048011],[102.659317,32.048132],[102.659407,32.048364],[102.659496,32.048595],[102.659616,32.048903],[102.659681,32.049139],[102.659745,32.049374],[102.659798,32.049628],[102.659802,32.049646],[102.659802,32.049953],[102.659831,32.050153],[102.659859,32.050352],[102.659991,32.050747],[102.660122,32.051141],[102.660173,32.051295],[102.660262,32.051569],[102.660351,32.051844],[102.66043,32.052087],[102.660452,32.052216],[102.660455,32.052277],[102.660459,32.05233],[102.660437,32.052423],[102.66035,32.052517],[102.660137,32.052748],[102.659923,32.052979],[102.659862,32.053059],[102.659852,32.053072],[102.659852,32.053158],[102.659909,32.053272],[102.660088,32.053604],[102.660266,32.053936],[102.660462,32.054243],[102.660659,32.05455],[102.660677,32.054574],[102.66071,32.054618],[102.660948,32.054931],[102.660973,32.054964],[102.661058,32.055196],[102.661144,32.055428],[102.661315,32.055793],[102.661358,32.055885],[102.661537,32.056099],[102.661758,32.05637],[102.661779,32.056463],[102.661779,32.056563],[102.661715,32.056881],[102.661651,32.057198],[102.661645,32.057299],[102.661637,32.057466],[102.661622,32.057734],[102.661601,32.057933],[102.661442,32.058194],[102.661422,32.058226],[102.66124,32.058504],[102.661058,32.058783],[102.661032,32.05891],[102.661001,32.059054],[102.660966,32.059497],[102.660969,32.059843],[102.660973,32.060189],[102.66098,32.060218],[102.661008,32.060332],[102.661001,32.060518],[102.660958,32.06061],[102.660823,32.060717],[102.660743,32.060806],[102.66063,32.060932],[102.660473,32.061231],[102.660438,32.061359],[102.660387,32.061545],[102.660373,32.06181],[102.660363,32.061956],[102.660359,32.062017],[102.660302,32.062195],[102.660291,32.062217],[102.660282,32.062235],[102.660186,32.062431],[102.660132,32.062539],[102.66008,32.062645],[102.659879,32.063025],[102.659879,32.063025],[102.659879,32.063025],[102.659694,32.063374],[102.659576,32.063597],[102.659509,32.063723],[102.659395,32.063901],[102.659267,32.064101],[102.659145,32.064272],[102.659031,32.064451],[102.658938,32.064779],[102.658853,32.064993],[102.658681,32.065243],[102.658653,32.065281],[102.658553,32.065414],[102.658189,32.065557],[102.657932,32.065636],[102.657575,32.065736],[102.657218,32.065836],[102.657015,32.065928],[102.656811,32.066021],[102.656586,32.066143],[102.656361,32.066264],[102.656259,32.066373],[102.656147,32.066492],[102.655962,32.066778],[102.655847,32.067078],[102.65573,32.067351],[102.655614,32.067625],[102.655555,32.067763],[102.655511,32.06791],[102.655412,32.068248],[102.655262,32.068627],[102.655023,32.068984],[102.654784,32.069341],[102.654728,32.069441],[102.654655,32.069573],[102.654533,32.069793],[102.654527,32.069805],[102.65442,32.070197],[102.65439,32.070314],[102.654314,32.070611],[102.654287,32.070717],[102.654238,32.070908],[102.654196,32.071071],[102.654191,32.071089],[102.654084,32.071375],[102.653956,32.071603],[102.653784,32.071832],[102.653592,32.072082],[102.653292,32.072274],[102.652946,32.072424],[102.652599,32.072574],[102.652396,32.072671],[102.652193,32.072767],[102.6519,32.072974],[102.651679,32.073217],[102.651561,32.07351],[102.651536,32.073574],[102.651429,32.073752],[102.651265,32.073866],[102.651022,32.073973],[102.650808,32.074009],[102.650544,32.074038],[102.650479,32.074051],[102.650408,32.074066],[102.650369,32.074089],[102.650144,32.074223],[102.649831,32.074507],[102.649523,32.074786],[102.649216,32.075066],[102.648948,32.075351],[102.64868,32.075637],[102.648583,32.075734],[102.648465,32.075852],[102.64825,32.076067],[102.648124,32.076193],[102.647981,32.076372],[102.647838,32.07655],[102.647717,32.076836],[102.647674,32.077047],[102.647645,32.077193],[102.647549,32.07761],[102.647453,32.078028],[102.647447,32.078049],[102.647365,32.07834],[102.647277,32.078651],[102.647188,32.078963],[102.64718,32.078995],[102.647134,32.079157],[102.647095,32.079295],[102.647024,32.079546],[102.646953,32.079798],[102.646867,32.080039],[102.646822,32.080164],[102.646739,32.080398],[102.646677,32.080554],[102.646656,32.080607],[102.646632,32.080669],[102.646446,32.080969],[102.646346,32.08124],[102.646339,32.081483],[102.646341,32.081493],[102.646382,32.081654],[102.646387,32.081658],[102.64653,32.081746],[102.646589,32.081783],[102.646732,32.081876],[102.646782,32.081965],[102.646832,32.082054],[102.646889,32.082275],[102.647009,32.082514],[102.647129,32.082752],[102.64731,32.08311],[102.647381,32.083378],[102.647453,32.083646],[102.647531,32.083889],[102.647595,32.084181],[102.647595,32.084403],[102.647474,32.084688],[102.64731,32.084824],[102.647174,32.085016],[102.647124,32.085209],[102.647081,32.085445],[102.647075,32.085466],[102.646996,32.085745],[102.646874,32.085923],[102.646659,32.086014],[102.646653,32.086016],[102.646526,32.086055],[102.646146,32.086173],[102.64607,32.08622],[102.645882,32.086337],[102.645818,32.08643],[102.645725,32.086565],[102.645589,32.08693],[102.64544,32.087294],[102.645392,32.087478],[102.645347,32.087651],[102.64529,32.087943],[102.645271,32.088172],[102.645252,32.0884],[102.645225,32.088728],[102.645225,32.088729],[102.645224,32.08873],[102.645135,32.088896],[102.645134,32.088898],[102.645133,32.0889],[102.644883,32.089157],[102.64459,32.089378],[102.6445,32.089487],[102.644426,32.089578],[102.644219,32.089885],[102.644064,32.090142],[102.644054,32.090159],[102.64391,32.090399],[102.643755,32.090656],[102.643712,32.090725],[102.643555,32.090977],[102.643469,32.091348],[102.643412,32.091619],[102.643362,32.091746],[102.64336,32.091753],[102.643334,32.091819],[102.64322,32.092026],[102.642991,32.092255],[102.642722,32.092469],[102.642453,32.092683],[102.642184,32.092897],[102.642081,32.093179],[102.641977,32.093461],[102.641856,32.093875],[102.641699,32.094246],[102.64168,32.094334],[102.641649,32.094475],[102.641649,32.094721],[102.641649,32.094753],[102.641692,32.094953],[102.641778,32.095231],[102.641829,32.095399],[102.641863,32.09551],[102.641935,32.095842],[102.642006,32.096174],[102.64203,32.096328],[102.642042,32.096402],[102.642013,32.096731],[102.642012,32.096752],[102.641999,32.097073],[102.642006,32.097409],[102.642135,32.097787],[102.642227,32.097973],[102.642326,32.098093],[102.642377,32.098155],[102.642527,32.098337],[102.642606,32.098465],[102.642623,32.098534],[102.642641,32.098608],[102.642648,32.098736],[102.642645,32.098869],[102.642641,32.098993],[102.642634,32.099243],[102.642656,32.0995],[102.642677,32.099757],[102.642721,32.099967],[102.64277,32.1002],[102.642756,32.100507],[102.642751,32.100593],[102.642747,32.100664],[102.642741,32.100778],[102.642627,32.101056],[102.642599,32.101206],[102.642606,32.101378],[102.642638,32.101451],[102.642684,32.101556],[102.64269,32.101774],[102.642691,32.101806],[102.642657,32.101871],[102.642563,32.102049],[102.642425,32.10232],[102.642287,32.102591],[102.642149,32.102862],[102.64197,32.103119],[102.641792,32.103376],[102.641592,32.103765],[102.641392,32.104154],[102.641278,32.104347],[102.641071,32.104419],[102.640857,32.104447],[102.640671,32.104397],[102.640428,32.10434],[102.640179,32.104326],[102.640107,32.104356],[102.639834,32.104471],[102.639822,32.104476],[102.639479,32.104568],[102.639293,32.104583],[102.639022,32.104661],[102.638822,32.104768],[102.638677,32.104843],[102.638542,32.104913],[102.63838,32.104997],[102.638173,32.105082],[102.638082,32.105093],[102.637866,32.105118],[102.637602,32.105104],[102.637352,32.105111],[102.637232,32.105145],[102.637173,32.105161],[102.637104,32.105256],[102.637038,32.105347],[102.636933,32.105511],[102.636911,32.105537],[102.636702,32.105739],[102.636452,32.105903],[102.636164,32.106136],[102.635938,32.106317],[102.635724,32.106681],[102.635673,32.106835],[102.635662,32.106868],[102.635543,32.107224],[102.635424,32.107581],[102.635314,32.10787],[102.635203,32.108159],[102.635123,32.108305],[102.635046,32.108445],[102.634853,32.108716],[102.634659,32.10891],[102.634646,32.108923],[102.634475,32.109073],[102.634225,32.109144],[102.633954,32.109216],[102.633554,32.109365],[102.633329,32.109448],[102.633104,32.10953],[102.632871,32.10963],[102.632637,32.109731],[102.632426,32.109822],[102.632205,32.109933],[102.631984,32.110044],[102.631812,32.110122],[102.63158,32.110222],[102.631348,32.110322],[102.631077,32.110365],[102.631068,32.110367],[102.630806,32.110436],[102.630542,32.110529],[102.63037,32.110693],[102.630192,32.110964],[102.630128,32.111129],[102.630128,32.111279],[102.630185,32.111486],[102.63032,32.11175],[102.630588,32.112055],[102.63087,32.112378],[102.631006,32.112592],[102.631037,32.11272],[102.631038,32.112724],[102.631109,32.113029],[102.63118,32.113334],[102.631278,32.113759],[102.631291,32.113815],[102.631377,32.114184],[102.631484,32.114523],[102.631591,32.114862],[102.631677,32.115133],[102.631698,32.115319],[102.631691,32.115469],[102.63162,32.115669],[102.631594,32.115712],[102.631464,32.115937],[102.631334,32.116161],[102.63122,32.116368],[102.631248,32.116725],[102.63134,32.117046],[102.631463,32.117475],[102.631591,32.117689],[102.631591,32.117853],[102.631584,32.118103],[102.631516,32.11836],[102.631448,32.118617],[102.631452,32.118842],[102.631456,32.119067],[102.631534,32.119481],[102.631545,32.119511],[102.631605,32.119688],[102.631684,32.120066],[102.631634,32.120237],[102.631527,32.120466],[102.631384,32.120708],[102.63121,32.120884],[102.631036,32.12106],[102.63077,32.121329],[102.630692,32.121453],[102.630635,32.121544],[102.630563,32.121643],[102.630513,32.121686],[102.630446,32.121749],[102.630278,32.121905],[102.630042,32.122124],[102.629807,32.122343],[102.629703,32.122483],[102.629476,32.122788],[102.629293,32.123035],[102.629228,32.12315],[102.62905,32.123228],[102.628907,32.123264],[102.628722,32.123307],[102.6286,32.123292],[102.628599,32.123292],[102.628597,32.123291],[102.628486,32.123242],[102.628351,32.12321],[102.628336,32.123207],[102.628186,32.123193],[102.628136,32.123178],[102.628034,32.123205],[102.627915,32.123235],[102.627634,32.123345],[102.627353,32.123454],[102.627073,32.123564],[102.626773,32.123697],[102.626473,32.12383],[102.626173,32.123963],[102.625937,32.124067],[102.625681,32.124179],[102.625424,32.124292],[102.625032,32.124485],[102.624931,32.124535],[102.624621,32.12467],[102.624312,32.124805],[102.624002,32.12494],[102.623788,32.125113],[102.623574,32.125285],[102.623276,32.125598],[102.622979,32.12591],[102.62283,32.126011],[102.622803,32.126024],[102.622574,32.126136],[102.622271,32.126279],[102.622199,32.126326],[102.622217,32.126421],[102.622295,32.126656],[102.622372,32.126891],[102.622521,32.1271],[102.622601,32.127332],[102.622681,32.127564],[102.62275,32.127748],[102.622847,32.128004],[102.622943,32.12826],[102.623035,32.128622],[102.623127,32.128985],[102.623234,32.129092],[102.623347,32.129211],[102.623383,32.129318],[102.623469,32.129584],[102.623554,32.12985],[102.623597,32.129985],[102.623663,32.130169],[102.623758,32.13055],[102.623844,32.130838],[102.62393,32.131127],[102.623919,32.131412],[102.623898,32.13147],[102.623823,32.131674],[102.623663,32.132085],[102.623591,32.132281],[102.623595,32.132388],[102.623597,32.132441],[102.623645,32.132572],[102.623782,32.132977],[102.623859,32.133209],[102.623863,32.133232],[102.623919,32.133566],[102.623907,32.133893],[102.623895,32.13422],[102.623883,32.1345],[102.623901,32.134601],[102.623948,32.134708],[102.623966,32.134815],[102.623972,32.134928],[102.623936,32.13533],[102.623901,32.135731],[102.623878,32.13585],[102.623811,32.136189],[102.623798,32.136483],[102.623785,32.136778],[102.62377,32.137117],[102.623767,32.137516],[102.623764,32.137914],[102.623749,32.138086],[102.623748,32.138093],[102.623743,32.138155],[102.623722,32.138396],[102.623695,32.138652],[102.623669,32.138908],[102.623591,32.139044],[102.623383,32.139342],[102.623157,32.139503],[102.622818,32.139711],[102.622703,32.139768],[102.622486,32.139877],[102.622485,32.139877],[102.622188,32.139943],[102.62208,32.139943],[102.621846,32.13991],[102.621612,32.139877],[102.621402,32.139848],[102.621111,32.139851],[102.620819,32.139854],[102.620684,32.139877],[102.620546,32.139901],[102.620355,32.139907],[102.620177,32.139895],[102.620016,32.139889],[102.619737,32.140014],[102.619528,32.140121],[102.619421,32.140139],[102.619332,32.140127],[102.618893,32.140084],[102.618547,32.14005],[102.618312,32.14008],[102.618077,32.140109],[102.617977,32.140132],[102.617869,32.140157],[102.617678,32.140181],[102.617518,32.140139],[102.617167,32.139961],[102.616965,32.139901],[102.616536,32.139889],[102.616153,32.139901],[102.615769,32.139913],[102.615501,32.139949],[102.615234,32.139984],[102.614933,32.140006],[102.614823,32.140014],[102.614567,32.140106],[102.614311,32.140199],[102.614062,32.140347],[102.613789,32.140421],[102.613516,32.140494],[102.613419,32.14052],[102.613084,32.140563],[102.612749,32.140607],[102.612414,32.140651],[102.612119,32.140683],[102.611825,32.140716],[102.611605,32.14074],[102.611474,32.140728],[102.611472,32.140727],[102.611331,32.140686],[102.611165,32.140585],[102.610956,32.140585],[102.610948,32.140589],[102.61079,32.140657],[102.610454,32.140799],[102.610118,32.140942],[102.609933,32.140978],[102.609689,32.140996],[102.609529,32.141025],[102.609528,32.141026],[102.609463,32.141061],[102.60944,32.141109],[102.60941,32.141251],[102.609434,32.141614],[102.609469,32.141781],[102.609483,32.141829],[102.609529,32.141995],[102.609612,32.14237],[102.60961,32.142548],[102.609609,32.142605],[102.609606,32.14284],[102.609606,32.143069],[102.609606,32.143298],[102.609535,32.143595],[102.609525,32.143645],[102.609456,32.144013],[102.609386,32.14438],[102.609292,32.144707],[102.609213,32.144981],[102.609187,32.145039],[102.609112,32.145198],[102.609011,32.145415],[102.608952,32.145725],[102.608946,32.146046],[102.608999,32.146269],[102.609053,32.146492],[102.609195,32.146804],[102.609337,32.147115],[102.609362,32.14717],[102.60941,32.14739],[102.609422,32.147563],[102.609356,32.147735],[102.609277,32.147842],[102.609231,32.147902],[102.609128,32.147988],[102.608905,32.148172],[102.608779,32.148277],[102.608529,32.148426],[102.608434,32.148568],[102.608428,32.148753],[102.608434,32.148884],[102.608517,32.149074],[102.608648,32.149377],[102.608735,32.149594],[102.608821,32.149812],[102.608889,32.150032],[102.608958,32.150252],[102.608976,32.150448],[102.609077,32.150615],[102.609243,32.150763],[102.609359,32.150957],[102.609392,32.151013],[102.609499,32.151204],[102.609683,32.151382],[102.609951,32.151572],[102.610219,32.151763],[102.610287,32.151857],[102.610314,32.151894],[102.610385,32.152078],[102.610443,32.152262],[102.610516,32.152494],[102.610582,32.152786],[102.610659,32.152893],[102.610778,32.152964],[102.610836,32.153019],[102.610944,32.15312],[102.610974,32.153149],[102.611016,32.153292],[102.611028,32.153416],[102.611025,32.153735],[102.611022,32.154053],[102.611081,32.154249],[102.611081,32.154451],[102.611081,32.154654],[102.611129,32.154814],[102.611218,32.154999],[102.61129,32.155147],[102.611325,32.155296],[102.611319,32.155534],[102.61129,32.155825],[102.61129,32.155832],[102.611367,32.156242],[102.61142,32.156516],[102.611504,32.15667],[102.611635,32.156837],[102.611712,32.156986],[102.611849,32.157122],[102.61189,32.157194],[102.611926,32.157325],[102.611944,32.157586],[102.611947,32.157718],[102.611953,32.157958],[102.611957,32.158142],[102.611962,32.15833],[102.611974,32.15858],[102.612018,32.158741],[102.612033,32.158794],[102.612033,32.159014],[102.611962,32.159169],[102.61189,32.159306],[102.611837,32.159466],[102.611801,32.159591],[102.61173,32.159758],[102.611569,32.159939],[102.611409,32.160121],[102.611099,32.160269],[102.610968,32.160295],[102.610885,32.160311],[102.610683,32.160394],[102.610466,32.160582],[102.610303,32.160722],[102.610257,32.160762],[102.610249,32.160769],[102.610197,32.160851],[102.61013,32.160959],[102.61007,32.161156],[102.610034,32.161358],[102.610073,32.1617],[102.610112,32.162042],[102.610209,32.162357],[102.610237,32.162446],[102.610311,32.162667],[102.610385,32.162887],[102.610439,32.163101],[102.610439,32.163103],[102.610439,32.163104],[102.610463,32.163315],[102.610463,32.163517],[102.610445,32.163636],[102.610302,32.163803],[102.610211,32.164013],[102.610119,32.164224],[102.610066,32.164345],[102.610023,32.164445],[102.60993,32.164659],[102.609838,32.164874],[102.609761,32.165094],[102.609683,32.165314],[102.60957,32.165451],[102.609416,32.165564],[102.609332,32.165677],[102.609267,32.165831],[102.609202,32.166141],[102.609166,32.166449],[102.609148,32.166605],[102.609095,32.166771],[102.60897,32.166843],[102.608785,32.166878],[102.608625,32.166985],[102.608482,32.167169],[102.608482,32.16717],[102.608375,32.167402],[102.608324,32.167625],[102.608274,32.167848],[102.608265,32.168136],[102.608256,32.168425],[102.608253,32.16869],[102.60825,32.168954],[102.608208,32.169153],[102.60819,32.16924],[102.608119,32.169424],[102.607857,32.169638],[102.607655,32.169674],[102.607393,32.16974],[102.607256,32.169894],[102.607114,32.170156],[102.606894,32.170543],[102.606884,32.170554],[102.6067,32.170789],[102.6067,32.17083],[102.6067,32.170951],[102.606705,32.170968],[102.606766,32.171189],[102.606871,32.171426],[102.606861,32.171588],[102.606766,32.171712],[102.606595,32.171836],[102.606376,32.17195],[102.606157,32.172064],[102.605911,32.172261],[102.605729,32.172407],[102.605402,32.172705],[102.605075,32.173003],[102.604749,32.173301],[102.604574,32.173505],[102.604339,32.173777],[102.604116,32.174053],[102.603892,32.174329],[102.603511,32.174553],[102.60313,32.174777],[102.602812,32.174948],[102.602493,32.175119],[102.602312,32.175367],[102.602302,32.175408],[102.602255,32.175595],[102.602198,32.175824],[102.602192,32.175871],[102.60217,32.176075],[102.602122,32.176506],[102.602074,32.176937],[102.602046,32.177255],[102.602036,32.177375],[102.602164,32.177751],[102.602293,32.178127],[102.60235,32.178327],[102.60236,32.178565],[102.602379,32.178653],[102.602458,32.179011],[102.602537,32.179368],[102.602617,32.179726],[102.602688,32.180063],[102.60276,32.180399],[102.602769,32.180442],[102.60289,32.180806],[102.602962,32.180999],[102.602975,32.181063],[102.60299,32.181135],[102.60299,32.181313],[102.60296,32.181477],[102.602947,32.181549],[102.602962,32.181699],[102.603004,32.181802],[102.603001,32.181902],[102.602969,32.181988],[102.602969,32.182091],[102.602994,32.182138],[102.603151,32.182327],[102.603172,32.182405],[102.603204,32.182516],[102.60324,32.182652],[102.603271,32.18276],[102.603276,32.182777],[102.60334,32.18293],[102.603411,32.183044],[102.603518,32.183191],[102.603536,32.183251],[102.60353,32.183409],[102.603525,32.183537],[102.60355,32.183897],[102.603568,32.184172],[102.603568,32.184436],[102.60354,32.184831],[102.603511,32.185225],[102.603509,32.185533],[102.603508,32.185664],[102.603497,32.185867],[102.603483,32.186107],[102.603461,32.186224],[102.603401,32.186378],[102.60334,32.186528],[102.603323,32.186627],[102.603311,32.186695],[102.603315,32.187038],[102.603326,32.18722],[102.60329,32.187434],[102.603236,32.187656],[102.603183,32.187877],[102.603097,32.187991],[102.602994,32.188145],[102.602919,32.188287],[102.602808,32.188348],[102.602519,32.188434],[102.602148,32.188601],[102.6021,32.188621],[102.601759,32.188758],[102.601459,32.188851],[102.601245,32.188891],[102.601041,32.188919],[102.600956,32.188908],[102.600859,32.188873],[102.600524,32.188684],[102.60027,32.188591],[102.600053,32.18853],[102.600006,32.188523],[102.599646,32.188469],[102.599335,32.188434],[102.599207,32.188387],[102.598918,32.188266],[102.598746,32.188209],[102.598429,32.188195],[102.598182,32.188216],[102.598018,32.188237],[102.597818,32.188241],[102.597601,32.188198],[102.597599,32.188198],[102.597597,32.188197],[102.597483,32.188177],[102.597354,32.188159],[102.597265,32.188177],[102.59694,32.188373],[102.596719,32.188562],[102.596583,32.188758],[102.596412,32.188894],[102.596219,32.188948],[102.59608,32.188983],[102.595827,32.189076],[102.595455,32.189272],[102.595365,32.189319],[102.595234,32.189398],[102.595031,32.189636],[102.594851,32.189831],[102.59467,32.190026],[102.594554,32.1901],[102.59446,32.190161],[102.594278,32.190272],[102.593932,32.190436],[102.593721,32.190543],[102.59351,32.19065],[102.593196,32.190904],[102.592886,32.191125],[102.592745,32.191225],[102.592725,32.191239],[102.592699,32.191277],[102.592657,32.191339],[102.592532,32.191616],[102.592407,32.191892],[102.592311,32.192198],[102.592214,32.192504],[102.592118,32.19281],[102.592039,32.193146],[102.592025,32.193292],[102.592018,32.193367],[102.591946,32.193639],[102.591804,32.193818],[102.591754,32.193881],[102.591532,32.194034],[102.591525,32.194038],[102.59139,32.194238],[102.591268,32.194474],[102.591147,32.194709],[102.591035,32.195111],[102.590923,32.195514],[102.590811,32.195916],[102.590701,32.19619],[102.59059,32.196465],[102.590465,32.196676],[102.59034,32.196886],[102.590205,32.197158],[102.590133,32.197379],[102.590133,32.197508],[102.590183,32.19765],[102.590239,32.197822],[102.590269,32.197917],[102.590305,32.197952],[102.590392,32.198037],[102.590447,32.198091],[102.590736,32.198295],[102.591025,32.198498],[102.591265,32.198659],[102.591505,32.19882],[102.591622,32.198898],[102.591759,32.198962],[102.591918,32.199037],[102.592021,32.199102],[102.592118,32.199223],[102.592153,32.199355],[102.59231,32.199615],[102.592392,32.199708],[102.592428,32.199758],[102.592435,32.199851],[102.592426,32.199914],[102.592401,32.200081],[102.592367,32.200311],[102.592303,32.200736],[102.592306,32.200756],[102.592346,32.201],[102.592396,32.201239],[102.592496,32.201568],[102.592528,32.201732],[102.592564,32.201914],[102.592563,32.201921],[102.592539,32.202114],[102.592553,32.202217],[102.592567,32.202237],[102.592614,32.202303],[102.592714,32.202417],[102.593089,32.20264],[102.593224,32.202721],[102.593399,32.202863],[102.593552,32.20301],[102.593606,32.203085],[102.59366,32.203142],[102.593709,32.20317],[102.594045,32.203263],[102.594216,32.203313],[102.594616,32.203406],[102.594919,32.203474],[102.594939,32.203486],[102.595134,32.203609],[102.595234,32.203663],[102.595344,32.203677],[102.595548,32.203688],[102.595851,32.203706],[102.59599,32.203742],[102.596072,32.203763],[102.596394,32.203966],[102.596588,32.204091],[102.596783,32.204216],[102.596921,32.20433],[102.59704,32.204427],[102.597122,32.204466],[102.597207,32.204509],[102.597236,32.204523],[102.597293,32.204584],[102.59735,32.204698],[102.597375,32.204976],[102.597407,32.205133],[102.597475,32.205298],[102.597543,32.205369],[102.597568,32.205412],[102.597589,32.205444],[102.597614,32.20558],[102.597657,32.205719],[102.597728,32.205887],[102.597796,32.205994],[102.597964,32.206158],[102.598037,32.206254],[102.598114,32.206354],[102.598207,32.20644],[102.598232,32.206511],[102.598239,32.206625],[102.598276,32.206735],[102.598289,32.206772],[102.598298,32.206837],[102.598317,32.206986],[102.598321,32.207125],[102.598315,32.207172],[102.598303,32.207275],[102.598311,32.207525],[102.598317,32.207753],[102.598285,32.207857],[102.59831,32.208021],[102.598349,32.20821],[102.598399,32.208346],[102.59846,32.208517],[102.598503,32.208599],[102.598522,32.20865],[102.598589,32.208831],[102.598628,32.209234],[102.598637,32.209285],[102.59868,32.209508],[102.598702,32.209621],[102.598713,32.209661],[102.598734,32.209707],[102.598742,32.209723],[102.598921,32.210127],[102.599106,32.210534],[102.599216,32.210736],[102.599278,32.21085],[102.599335,32.210955],[102.599395,32.211105],[102.59942,32.211151],[102.599424,32.211215],[102.599388,32.211351],[102.599385,32.21136],[102.599331,32.211544],[102.599336,32.211586],[102.599342,32.211626],[102.599388,32.211708],[102.599536,32.212001],[102.599537,32.212002],[102.599538,32.212004],[102.599638,32.212343],[102.599756,32.212689],[102.599796,32.212844],[102.599856,32.213071],[102.599876,32.213141],[102.599959,32.213425],[102.599975,32.21346],[102.600059,32.21365],[102.600152,32.213832],[102.600205,32.213917],[102.600253,32.213971],[102.60043,32.214171],[102.600605,32.214478],[102.600662,32.214592],[102.600677,32.214685],[102.600677,32.214777],[102.600648,32.214902],[102.600641,32.214916],[102.600559,32.215077],[102.600387,32.215325],[102.600216,32.215573],[102.600045,32.215887],[102.599941,32.215991],[102.599784,32.216109],[102.599727,32.216184],[102.599656,32.216355],[102.599635,32.216448],[102.599552,32.216819],[102.599521,32.217025],[102.59952,32.217027],[102.59952,32.21703],[102.599524,32.217119],[102.599531,32.217204],[102.599531,32.217297],[102.599488,32.217408],[102.599385,32.217668],[102.599306,32.217975],[102.599256,32.218279],[102.59925,32.218305],[102.599237,32.218369],[102.599213,32.218479],[102.599192,32.218739],[102.59921,32.219121],[102.599215,32.219268],[102.599231,32.219692],[102.599256,32.21996],[102.599213,32.220149],[102.599156,32.220327],[102.599106,32.220411],[102.599031,32.220535],[102.598931,32.220659],[102.598651,32.22088],[102.598614,32.220909],[102.598353,32.221173],[102.598264,32.221288],[102.598175,32.221516],[102.598085,32.221627],[102.597939,32.22168],[102.597702,32.221821],[102.597693,32.221827],[102.597536,32.221959],[102.597391,32.222132],[102.597247,32.222305],[102.596965,32.22258],[102.5969,32.222751],[102.59685,32.222872],[102.596846,32.222894],[102.596825,32.223001],[102.596847,32.223111],[102.596897,32.223286],[102.596929,32.223399],[102.596954,32.223483],[102.597011,32.223636],[102.597043,32.223715],[102.597061,32.223779],[102.597063,32.223839],[102.597065,32.223868],[102.59709,32.223997],[102.597175,32.224204],[102.597188,32.224229],[102.597236,32.224321],[102.597293,32.224425],[102.597325,32.224528],[102.597343,32.224664],[102.597311,32.224917],[102.597223,32.225246],[102.597136,32.225574],[102.597047,32.225806],[102.597018,32.225992],[102.597009,32.226021],[102.596982,32.226106],[102.596925,32.226181],[102.59684,32.226267],[102.596679,32.226488],[102.596647,32.226627],[102.596568,32.226813],[102.596508,32.226948],[102.59649,32.227045],[102.596489,32.227115],[102.596483,32.227409],[102.596501,32.227655],[102.596497,32.227741],[102.596436,32.227873],[102.596419,32.227966],[102.596412,32.228018],[102.59641,32.228029],[102.596401,32.228105],[102.596372,32.228297],[102.596369,32.228394],[102.596415,32.228494],[102.596511,32.228672],[102.596536,32.228733],[102.596536,32.228804],[102.596511,32.228951],[102.596583,32.229286],[102.596654,32.229704],[102.596676,32.229833],[102.596693,32.229939],[102.596736,32.230178],[102.596779,32.230503],[102.596829,32.230689],[102.596918,32.230878],[102.597072,32.231046],[102.597225,32.231214],[102.597446,32.231343],[102.597571,32.231417],[102.597696,32.231528],[102.597708,32.231545],[102.597715,32.231657],[102.597732,32.231928],[102.597749,32.232198],[102.597774,32.232493],[102.597791,32.232557],[102.597797,32.232577],[102.597833,32.232713],[102.597839,32.232728],[102.597908,32.232907],[102.598015,32.233117],[102.598123,32.233327],[102.598231,32.233538],[102.598339,32.233748],[102.598446,32.233959],[102.598554,32.234169],[102.598662,32.234379],[102.598769,32.23459],[102.5989,32.234804],[102.59903,32.235018],[102.59917,32.235215],[102.59931,32.235413],[102.59945,32.23561],[102.59959,32.235808],[102.599797,32.236119],[102.600004,32.236431],[102.600211,32.236743],[102.600429,32.237019],[102.600681,32.237244],[102.600973,32.237447],[102.601266,32.23765],[102.601455,32.237781],[102.601645,32.237913],[102.601835,32.238044],[102.602025,32.238175],[102.602113,32.238236],[102.602151,32.238313],[102.60224,32.238438],[102.602311,32.23853],[102.602436,32.23868],[102.60259,32.238788],[102.60265,32.23883],[102.602825,32.238894],[102.602932,32.238923],[102.603089,32.238977],[102.603204,32.239062],[102.603412,32.239237],[102.603621,32.239412],[102.60385,32.239558],[102.604071,32.239715],[102.604214,32.239802],[102.604417,32.239926],[102.60467,32.240103],[102.604924,32.240279],[102.60519,32.240401],[102.605456,32.240522],[102.605652,32.240675],[102.605852,32.240918],[102.606102,32.241211],[102.606152,32.241332],[102.606187,32.241521],[102.606248,32.241739],[102.606316,32.24191],[102.606384,32.242032],[102.606592,32.242219],[102.606683,32.242301],[102.606737,32.242349],[102.606808,32.242453],[102.606894,32.242599],[102.606951,32.242688],[102.60708,32.242753],[102.607331,32.242837],[102.607429,32.242871],[102.607547,32.24291],[102.607604,32.242985],[102.607629,32.243081],[102.60766,32.243344],[102.607694,32.243631],[102.607747,32.243852],[102.607868,32.244186],[102.607947,32.244401],[102.60799,32.244519],[102.608065,32.244741],[102.608143,32.244962],[102.608226,32.2451],[102.608229,32.245105],[102.608318,32.245201],[102.608468,32.245255],[102.608732,32.245317],[102.608757,32.245323],[102.608956,32.245374],[102.608993,32.245383],[102.609111,32.24543],[102.609285,32.245701],[102.609428,32.245797],[102.609546,32.245865],[102.609592,32.245911],[102.609767,32.246276],[102.609894,32.246429],[102.609935,32.246479],[102.610142,32.24669],[102.61042,32.246889],[102.610699,32.247089],[102.611025,32.247286],[102.611352,32.247482],[102.611548,32.247609],[102.611745,32.247735],[102.612052,32.247978],[102.612114,32.248037],[102.612251,32.248167],[102.612387,32.248392],[102.612479,32.248493],[102.612501,32.248517],[102.612633,32.24866],[102.612783,32.248845],[102.612947,32.24912],[102.613037,32.249306],[102.613076,32.249388],[102.613229,32.249573],[102.613404,32.24973],[102.613479,32.249863],[102.613508,32.249927],[102.613536,32.249991],[102.613583,32.250067],[102.613704,32.250266],[102.613882,32.250465],[102.61394,32.25053],[102.613993,32.250637],[102.614003,32.25071],[102.614011,32.250773],[102.614015,32.250908],[102.613833,32.251251],[102.613779,32.251408],[102.613786,32.251536],[102.613811,32.251676],[102.613831,32.251713],[102.613972,32.251968],[102.614222,32.252257],[102.614525,32.252493],[102.614914,32.252696],[102.614996,32.252793],[102.615155,32.253076],[102.615171,32.253105],[102.615346,32.253417],[102.615485,32.253624],[102.615623,32.253752],[102.615678,32.253803],[102.61588,32.253975],[102.615896,32.253989],[102.615931,32.254039],[102.615935,32.254128],[102.615933,32.254143],[102.615892,32.254524],[102.615835,32.254727],[102.615778,32.255006],[102.615728,32.255138],[102.615631,32.255266],[102.615446,32.255388],[102.615178,32.255548],[102.615085,32.255602],[102.614993,32.255741],[102.614893,32.256005],[102.614814,32.256216],[102.614783,32.25642],[102.614775,32.256469],[102.614728,32.256773],[102.614757,32.256951],[102.614757,32.257058],[102.614748,32.257113],[102.614739,32.257172],[102.614664,32.257254],[102.614543,32.257351],[102.614304,32.257583],[102.614132,32.257811],[102.613968,32.258065],[102.613829,32.258273],[102.613696,32.258474],[102.61369,32.258482],[102.613618,32.258596],[102.613618,32.258661],[102.613665,32.258739],[102.613751,32.258853],[102.613979,32.25903],[102.614207,32.259207],[102.614439,32.259317],[102.614518,32.259367],[102.614582,32.259471],[102.614662,32.259587],[102.614907,32.259946],[102.615078,32.260213],[102.615114,32.260274],[102.615167,32.260324],[102.61526,32.26036],[102.615485,32.260381],[102.615592,32.260356],[102.615867,32.260277],[102.61617,32.260249],[102.616388,32.260252],[102.616656,32.260199],[102.616882,32.260124],[102.616916,32.260113],[102.617106,32.260099],[102.617512,32.260085],[102.617852,32.260074],[102.618269,32.26002],[102.61859,32.259988],[102.618883,32.260017],[102.619161,32.260104],[102.61944,32.260192],[102.61975,32.260256],[102.619985,32.260286],[102.620218,32.260317],[102.620486,32.26037],[102.620597,32.260354],[102.620632,32.260349],[102.620718,32.260338],[102.620785,32.260324],[102.620832,32.260317],[102.620885,32.260331],[102.620957,32.260374],[102.621174,32.260663],[102.621213,32.260742],[102.621335,32.260991],[102.621381,32.261063],[102.621489,32.261155],[102.621585,32.261198],[102.621853,32.261316],[102.62212,32.261434],[102.62237,32.26168],[102.622574,32.261832],[102.622777,32.261984],[102.622977,32.262135],[102.623177,32.262287],[102.623405,32.262474],[102.623634,32.262662],[102.623876,32.262847],[102.624101,32.262972],[102.624381,32.263056],[102.624662,32.26314],[102.624894,32.263204],[102.625018,32.263258],[102.625031,32.263263],[102.625031,32.263263],[102.625031,32.263263],[102.625179,32.263329],[102.625315,32.26344],[102.62559,32.263629],[102.625692,32.263728],[102.625693,32.263729],[102.625693,32.263729],[102.625781,32.263817],[102.625891,32.263927],[102.626089,32.264125],[102.626102,32.264141],[102.626103,32.264141],[102.626103,32.264142],[102.626381,32.264485],[102.62666,32.264828],[102.626829,32.264994],[102.626997,32.265161],[102.627196,32.265356],[102.627538,32.265578],[102.627724,32.26567],[102.627877,32.265749],[102.627981,32.265838],[102.628084,32.265949],[102.628249,32.26606],[102.628513,32.266245],[102.628685,32.266318],[102.62878,32.266359],[102.628905,32.266388],[102.629116,32.266342],[102.629234,32.266249],[102.629413,32.26605],[102.629425,32.266037],[102.629593,32.265852],[102.629658,32.265795],[102.629808,32.265667],[102.629965,32.265574],[102.630342,32.265368],[102.63064,32.26523],[102.630804,32.265165],[102.630879,32.265135],[102.6311,32.265092],[102.631393,32.265071],[102.631472,32.265068],[102.631818,32.265053],[102.632057,32.26501],[102.632203,32.264935],[102.63235,32.264846],[102.632514,32.264828],[102.632639,32.26486],[102.63276,32.264842],[102.632917,32.264807],[102.63306,32.264725],[102.633081,32.26469],[102.633149,32.264578],[102.633238,32.264351],[102.633253,32.264314],[102.633406,32.2641],[102.63356,32.264011],[102.633838,32.263943],[102.633981,32.263868],[102.634129,32.263795],[102.634316,32.263704],[102.634402,32.263608],[102.634429,32.263552],[102.634555,32.26329],[102.634641,32.26304],[102.634727,32.26279],[102.634809,32.262647],[102.63503,32.262455],[102.635255,32.262344],[102.635573,32.262255],[102.635733,32.262205],[102.635947,32.262105],[102.636094,32.262033],[102.636277,32.261892],[102.636426,32.261777],[102.636654,32.261655],[102.636786,32.261491],[102.636878,32.261342],[102.636972,32.261191],[102.637129,32.261009],[102.637286,32.260827],[102.637511,32.260635],[102.637775,32.26041],[102.638039,32.260185],[102.638307,32.259929],[102.638576,32.259673],[102.638844,32.259416],[102.639031,32.259267],[102.639217,32.259118],[102.639446,32.258935],[102.639674,32.258753],[102.639918,32.258532],[102.640152,32.258321],[102.640162,32.258312],[102.640394,32.258048],[102.640626,32.257783],[102.640662,32.257714],[102.640751,32.257545],[102.64078,32.257236],[102.640801,32.256822],[102.640822,32.256409],[102.640825,32.256352],[102.640828,32.25629],[102.640871,32.256208],[102.640882,32.256189],[102.641012,32.256094],[102.641334,32.256052],[102.64153,32.256034],[102.641595,32.255986],[102.641697,32.255927],[102.641804,32.255891],[102.64194,32.255903],[102.642214,32.255986],[102.642416,32.25601],[102.642648,32.255927],[102.642904,32.25579],[102.643172,32.255689],[102.643199,32.255687],[102.643326,32.255677],[102.643666,32.255778],[102.643892,32.255832],[102.644118,32.255885],[102.644439,32.256016],[102.644742,32.256129],[102.644903,32.256135],[102.645144,32.256055],[102.645385,32.255975],[102.645792,32.255841],[102.646199,32.255707],[102.646218,32.255701],[102.646517,32.255598],[102.646816,32.255495],[102.647116,32.255392],[102.647347,32.255408],[102.647578,32.255425],[102.647693,32.255433],[102.64799,32.255421],[102.648216,32.255427],[102.648323,32.255487],[102.648505,32.255704],[102.648686,32.255921],[102.648799,32.255992],[102.649085,32.256052],[102.649341,32.256171],[102.649561,32.256456],[102.649748,32.256667],[102.649935,32.256879],[102.649983,32.256932],[102.650141,32.257218],[102.650298,32.257503],[102.650403,32.257696],[102.650517,32.257906],[102.650631,32.258116],[102.650899,32.258437],[102.651081,32.258625],[102.651262,32.258812],[102.6515,32.25908],[102.65169,32.259169],[102.652062,32.259291],[102.652434,32.259413],[102.652815,32.259526],[102.653124,32.259615],[102.653439,32.259811],[102.65363,32.260002],[102.653802,32.260103],[102.653951,32.260139],[102.654343,32.26021],[102.654535,32.260299],[102.654688,32.260371],[102.654772,32.260478],[102.654813,32.260603],[102.654891,32.260722],[102.655045,32.260787],[102.65517,32.260818],[102.655212,32.260829],[102.655384,32.260882],[102.655474,32.260936],[102.655575,32.261037],[102.655706,32.261453],[102.655746,32.261509],[102.655914,32.261745],[102.656033,32.261944],[102.656152,32.262143],[102.656301,32.262447],[102.656408,32.262845],[102.656422,32.263098],[102.656437,32.263351],[102.656527,32.263675],[102.656616,32.263999],[102.656653,32.264159],[102.656729,32.264481],[102.656841,32.264647],[102.656889,32.264719],[102.657032,32.26485],[102.657252,32.264951],[102.657484,32.264981],[102.657895,32.265052],[102.658249,32.265135],[102.658589,32.265292],[102.65863,32.265312],[102.658773,32.26544],[102.658923,32.265638],[102.659073,32.265835],[102.659311,32.266078],[102.659432,32.266225],[102.659534,32.266349],[102.65977,32.266523],[102.660005,32.266696],[102.660239,32.266885],[102.660472,32.267074],[102.660705,32.267263],[102.660792,32.26732],[102.661129,32.267541],[102.661466,32.267762],[102.661814,32.267977],[102.662066,32.268186],[102.662171,32.268314],[102.66228,32.268372],[102.662661,32.268438],[102.662883,32.268478],[102.663061,32.26851],[102.663375,32.268614],[102.663736,32.268824],[102.664005,32.269033],[102.664274,32.269242],[102.664512,32.269442],[102.66475,32.269642],[102.665064,32.26988],[102.665273,32.270035],[102.665483,32.270189],[102.665601,32.27029],[102.66564,32.270323],[102.665749,32.270475],[102.665775,32.270542],[102.665806,32.270623],[102.665821,32.270822],[102.665845,32.27102],[102.665887,32.271365],[102.665897,32.271636],[102.665906,32.271907],[102.665913,32.272032],[102.665925,32.272274],[102.665892,32.272574],[102.665825,32.272912],[102.665816,32.273107],[102.665868,32.273302],[102.665987,32.273625],[102.666059,32.273821],[102.666106,32.273949],[102.666225,32.274273],[102.666332,32.274577],[102.666397,32.274762],[102.666439,32.274882],[102.666545,32.275186],[102.666554,32.27521],[102.666665,32.27555],[102.666708,32.275681],[102.666777,32.275891],[102.666872,32.276164],[102.666968,32.276438],[102.667006,32.276633],[102.667006,32.27679],[102.66693,32.276933],[102.666825,32.277093],[102.666587,32.277456],[102.666474,32.277707],[102.66636,32.277957],[102.666287,32.278118],[102.666176,32.278364],[102.665992,32.278771],[102.665808,32.279178],[102.665731,32.279349],[102.665624,32.279585],[102.66544,32.279991],[102.665295,32.280221],[102.665149,32.280451],[102.665113,32.280507],[102.664942,32.280777],[102.664735,32.281104],[102.66452,32.281444],[102.664305,32.281783],[102.664269,32.281876],[102.664241,32.282062],[102.664262,32.282159],[102.664284,32.282254],[102.664348,32.282376],[102.664512,32.282718],[102.664626,32.283104],[102.66458,32.283421],[102.664533,32.283739],[102.664434,32.283967],[102.664297,32.284174],[102.664241,32.28426],[102.664034,32.28451],[102.66377,32.2847],[102.663506,32.284891],[102.663241,32.285081],[102.663013,32.285267],[102.662906,32.285431],[102.662878,32.285595],[102.662856,32.285724],[102.662844,32.286144],[102.662835,32.286502],[102.662852,32.286917],[102.662863,32.287173],[102.662861,32.287192],[102.662842,32.287422],[102.66282,32.287672],[102.662831,32.287862],[102.662851,32.288206],[102.662856,32.288286],[102.662905,32.288665],[102.662913,32.288729],[102.662913,32.289057],[102.662956,32.289271],[102.663042,32.289528],[102.663127,32.289785],[102.66317,32.289905],[102.663182,32.289938],[102.66327,32.290179],[102.663369,32.290454],[102.663406,32.290556],[102.663543,32.290761],[102.66368,32.290965],[102.663784,32.29112],[102.663984,32.291336],[102.664146,32.291509],[102.664355,32.291734],[102.664442,32.291821],[102.664613,32.291992],[102.664783,32.292162],[102.665051,32.292369],[102.665222,32.292502],[102.665319,32.292576],[102.665536,32.292751],[102.665754,32.292926],[102.665829,32.293013],[102.665961,32.293166],[102.666168,32.293407],[102.666375,32.293647],[102.666532,32.294061],[102.666554,32.294275],[102.666518,32.294454],[102.666393,32.294643],[102.666268,32.294832],[102.666082,32.294998],[102.66579,32.29526],[102.66575,32.295291],[102.665534,32.295458],[102.665319,32.295624],[102.665047,32.295967],[102.664776,32.29631],[102.664569,32.296624],[102.664362,32.296938],[102.664155,32.297252],[102.664104,32.297352],[102.663959,32.297634],[102.663762,32.298016],[102.663725,32.298085],[102.663537,32.298433],[102.663349,32.298781],[102.663162,32.299128],[102.663042,32.299351],[102.662895,32.299666],[102.662748,32.299982],[102.662601,32.300298],[102.662463,32.300593],[102.662345,32.30087],[102.662235,32.301128],[102.662185,32.301399],[102.662178,32.301671],[102.662242,32.301885],[102.662336,32.302175],[102.662429,32.302466],[102.662513,32.302727],[102.662695,32.303014],[102.662877,32.3033],[102.663034,32.303548],[102.663202,32.303876],[102.66337,32.304205],[102.663569,32.30446],[102.663698,32.304626],[102.663827,32.30479],[102.66392,32.304926],[102.663998,32.305097],[102.664027,32.305261],[102.664041,32.305493],[102.664041,32.305495],[102.664041,32.305497],[102.66397,32.305832],[102.663845,32.306064],[102.66372,32.306296],[102.663648,32.306342],[102.663563,32.306396],[102.663327,32.306482],[102.663141,32.30661],[102.663056,32.306767],[102.663027,32.306917],[102.663006,32.307103],[102.663006,32.307331],[102.663134,32.307695],[102.663155,32.307839],[102.663191,32.308083],[102.663227,32.308328],[102.663241,32.308424],[102.663241,32.308659],[102.663206,32.308845],[102.663063,32.309052],[102.662972,32.309124],[102.66292,32.309166],[102.662904,32.309193],[102.662785,32.309402],[102.662742,32.309601],[102.662777,32.309758],[102.662842,32.309944],[102.662876,32.310054],[102.662992,32.310422],[102.66306,32.310708],[102.663128,32.310994],[102.663141,32.311051],[102.663141,32.311279],[102.663127,32.311515],[102.663027,32.311829],[102.662985,32.3119],[102.662835,32.312157],[102.662673,32.312419],[102.662512,32.312682],[102.66235,32.312944],[102.662191,32.313221],[102.662031,32.313498],[102.662004,32.313561],[102.661798,32.313898],[102.661652,32.314154],[102.661434,32.314349],[102.661215,32.314544],[102.661068,32.314599],[102.661035,32.314611],[102.660655,32.314696],[102.660275,32.314782],[102.66004,32.314841],[102.659805,32.314901],[102.659587,32.314974],[102.65948,32.314994],[102.659462,32.314995],[102.659338,32.315004],[102.659288,32.315008],[102.659086,32.314996],[102.658827,32.314907],[102.658568,32.314817],[102.658169,32.314615],[102.657813,32.314573],[102.65745,32.314556],[102.657271,32.314508],[102.65689,32.314319],[102.656508,32.31413],[102.656126,32.313941],[102.655998,32.313877],[102.655748,32.313717],[102.655499,32.313556],[102.655159,32.313396],[102.65488,32.313339],[102.6546,32.313283],[102.6543,32.313259],[102.653999,32.313235],[102.653595,32.313241],[102.653256,32.31333],[102.652889,32.313487],[102.652685,32.313574],[102.652453,32.313678],[102.652221,32.313782],[102.651906,32.313919],[102.65168,32.313931],[102.651346,32.313877],[102.651258,32.313869],[102.650995,32.313845],[102.650644,32.313812],[102.650606,32.31381],[102.650311,32.313794],[102.650038,32.313806],[102.64974,32.313919],[102.649608,32.313942],[102.649538,32.313955],[102.649258,32.313955],[102.648967,32.31383],[102.648675,32.313705],[102.648598,32.313641],[102.648574,32.313622],[102.648485,32.313622],[102.648384,32.313782],[102.648342,32.31405],[102.648348,32.314421],[102.648354,32.314792],[102.64836,32.315162],[102.648319,32.315484],[102.648176,32.315543],[102.648039,32.315638],[102.647914,32.315757],[102.647812,32.315903],[102.647789,32.315936],[102.647736,32.316156],[102.64775,32.316231],[102.647765,32.316305],[102.64784,32.316563],[102.647914,32.316822],[102.647872,32.316983],[102.6477,32.317096],[102.647459,32.317276],[102.647218,32.317456],[102.647135,32.317518],[102.646894,32.317792],[102.646653,32.318065],[102.646631,32.318113],[102.646532,32.318327],[102.646433,32.318541],[102.646427,32.318845],[102.646314,32.319071],[102.646202,32.319266],[102.646195,32.319279],[102.646171,32.319529],[102.646195,32.319719],[102.646367,32.32004],[102.646447,32.320287],[102.646459,32.320323],[102.646472,32.320365],[102.646578,32.320691],[102.646683,32.321016],[102.646745,32.321287],[102.646808,32.321557],[102.646814,32.321672],[102.646829,32.321936],[102.646847,32.322262],[102.646866,32.322587],[102.646823,32.322875],[102.646764,32.323263],[102.646706,32.323651],[102.64665,32.323897],[102.64663,32.323988],[102.646554,32.324325],[102.646478,32.324662],[102.646443,32.324901],[102.646426,32.325019],[102.646413,32.325112],[102.646375,32.325376],[102.646355,32.325753],[102.646335,32.326131],[102.646315,32.326508],[102.646295,32.326886],[102.646275,32.327263],[102.646262,32.327578],[102.646248,32.327892],[102.646234,32.328207],[102.646157,32.328502],[102.646079,32.328797],[102.64603,32.328984],[102.645972,32.329294],[102.645913,32.329604],[102.645879,32.329784],[102.645708,32.330108],[102.64565,32.330212],[102.645551,32.330389],[102.645394,32.330669],[102.645299,32.330812],[102.645289,32.33106],[102.645318,32.331193],[102.645543,32.33145],[102.645768,32.331707],[102.645993,32.331964],[102.646225,32.33218],[102.646457,32.332395],[102.646688,32.332611],[102.646688,32.332611],[102.646945,32.332797],[102.647202,32.332982],[102.647547,32.333161],[102.647683,32.333182],[102.64779,32.333218],[102.647854,32.333261],[102.64786,32.33331],[102.647861,32.333325],[102.647861,32.333368],[102.647776,32.333475],[102.647561,32.333632],[102.64724,32.333825],[102.646919,32.334017],[102.646576,32.33421],[102.646234,32.334403],[102.645891,32.334595],[102.645852,32.334617],[102.64559,32.334758],[102.6452,32.334968],[102.64481,32.335178],[102.644421,32.335388],[102.644039,32.335588],[102.643657,32.335787],[102.643275,32.335987],[102.642896,32.33619],[102.64267,32.336312],[102.642278,32.336485],[102.641886,32.336659],[102.641883,32.33666],[102.641882,32.336661],[102.641493,32.336833],[102.641207,32.33706],[102.640921,32.337287],[102.640761,32.337511],[102.640635,32.337884],[102.64051,32.338257],[102.640385,32.33863],[102.640297,32.339061],[102.640235,32.339366],[102.640172,32.339671],[102.640132,32.339912],[102.640059,32.34035],[102.639986,32.340788],[102.639913,32.341226],[102.639826,32.341643],[102.639739,32.34206],[102.639653,32.342477],[102.639622,32.342624],[102.639566,32.342893],[102.639482,32.343307],[102.639399,32.34372],[102.639315,32.344134],[102.639242,32.34443],[102.63917,32.344727],[102.639097,32.345023],[102.638994,32.345444],[102.638946,32.345838],[102.638898,32.346232],[102.638865,32.346502],[102.638834,32.346635],[102.638785,32.346847],[102.638704,32.347192],[102.638681,32.347294],[102.638624,32.347537],[102.638724,32.34793],[102.638731,32.348166],[102.638692,32.348406],[102.638688,32.34843],[102.638688,32.348708],[102.638738,32.348929],[102.638774,32.349201],[102.638874,32.349379],[102.639017,32.349579],[102.639131,32.349836],[102.639202,32.350221],[102.639268,32.350444],[102.639333,32.350666],[102.639409,32.350928],[102.639513,32.351135],[102.639616,32.351342],[102.639806,32.351645],[102.639986,32.351935],[102.639995,32.351949],[102.640252,32.352156],[102.640502,32.352299],[102.64073,32.352406],[102.64081,32.352447],[102.640941,32.352514],[102.640966,32.352527],[102.641215,32.352656],[102.641336,32.352753],[102.641433,32.35283],[102.641651,32.353005],[102.641795,32.353138],[102.642008,32.353334],[102.642158,32.353434],[102.642379,32.353555],[102.642507,32.353655],[102.642636,32.353769],[102.642736,32.353919],[102.642836,32.35399],[102.643021,32.354033],[102.643193,32.354055],[102.643314,32.35409],[102.643478,32.354176],[102.643628,32.354347],[102.643778,32.354519],[102.644071,32.354683],[102.644306,32.354769],[102.644513,32.354769],[102.644813,32.354754],[102.645177,32.354733],[102.645419,32.354729],[102.645661,32.354726],[102.6457,32.354731],[102.645991,32.354818],[102.646355,32.354961],[102.646583,32.354983],[102.646783,32.35499],[102.647083,32.354918],[102.647161,32.354899],[102.64754,32.354804],[102.647733,32.354761],[102.647918,32.354754],[102.64809,32.354797],[102.648261,32.354876],[102.648534,32.355041],[102.648807,32.355207],[102.649132,32.355404],[102.649465,32.355605],[102.649702,32.355747],[102.649939,32.355889],[102.64994,32.35589],[102.650113,32.356017],[102.650178,32.356065],[102.650417,32.356239],[102.650574,32.356582],[102.650699,32.35678],[102.650795,32.356931],[102.651081,32.357074],[102.651345,32.357146],[102.651752,32.357153],[102.652166,32.357089],[102.652473,32.35706],[102.652698,32.35706],[102.652865,32.35706],[102.653229,32.357131],[102.653593,32.357203],[102.653922,32.357298],[102.65425,32.357393],[102.654578,32.357488],[102.654627,32.357512],[102.654759,32.357547],[102.655141,32.357747],[102.655354,32.357876],[102.655566,32.358005],[102.655738,32.358153],[102.655911,32.358301],[102.656083,32.358448],[102.656255,32.358596],[102.656326,32.358677],[102.656476,32.358851],[102.656581,32.35916],[102.656618,32.359528],[102.656604,32.359785],[102.656592,32.360001],[102.65659,32.360041],[102.656579,32.360229],[102.656684,32.360593],[102.656684,32.3608],[102.656601,32.360956],[102.656533,32.361082],[102.656545,32.361484],[102.656558,32.361899],[102.656563,32.362078],[102.65657,32.362315],[102.656617,32.362653],[102.656664,32.362991],[102.656771,32.363301],[102.656856,32.363524],[102.656941,32.363748],[102.657072,32.363952],[102.657203,32.364157],[102.657407,32.364469],[102.657611,32.364781],[102.657815,32.365093],[102.657935,32.365288],[102.658056,32.365483],[102.658176,32.365678],[102.658296,32.365873],[102.658416,32.366068],[102.658536,32.366263],[102.658644,32.366486],[102.658753,32.366709],[102.658861,32.366932],[102.65897,32.367156],[102.659078,32.367379],[102.659187,32.367602],[102.659221,32.367671],[102.659296,32.367825],[102.659404,32.368048],[102.659508,32.368268],[102.659612,32.368489],[102.659716,32.368709],[102.659821,32.368929],[102.659925,32.36915],[102.660029,32.36937],[102.660144,32.369613],[102.660259,32.369856],[102.660374,32.370099],[102.660489,32.370342],[102.660604,32.370585],[102.660718,32.370828],[102.660879,32.371231],[102.661039,32.371634],[102.661116,32.371827],[102.661199,32.372036],[102.661359,32.372439],[102.661433,32.372674],[102.661507,32.372909],[102.661573,32.37312],[102.661581,32.373143],[102.661654,32.373378],[102.661728,32.373613],[102.661802,32.373848],[102.661881,32.374014],[102.661915,32.374086],[102.662029,32.374324],[102.662142,32.374562],[102.662157,32.374593],[102.662255,32.3748],[102.662304,32.374893],[102.662421,32.375113],[102.662531,32.37532],[102.66264,32.375528],[102.66266,32.375565],[102.66275,32.375735],[102.66286,32.375942],[102.66297,32.37615],[102.66308,32.376357],[102.663206,32.376564],[102.663332,32.37677],[102.663459,32.376977],[102.663508,32.377056],[102.663585,32.377183],[102.663618,32.377236],[102.663712,32.37739],[102.663838,32.377596],[102.663965,32.377803],[102.664091,32.378009],[102.664218,32.378216],[102.664344,32.378423],[102.664496,32.378639],[102.664627,32.378825],[102.664648,32.378855],[102.6648,32.379072],[102.664953,32.379288],[102.665105,32.379504],[102.665257,32.379721],[102.665409,32.379937],[102.665561,32.380153],[102.665713,32.38037],[102.665865,32.380586],[102.666085,32.38086],[102.666306,32.381135],[102.666471,32.38132],[102.666637,32.381506],[102.666916,32.381714],[102.667195,32.381922],[102.667565,32.382101],[102.667936,32.382281],[102.668353,32.382409],[102.66877,32.382537],[102.669188,32.382665],[102.669605,32.382793],[102.669953,32.382935],[102.670302,32.383077],[102.670549,32.383188],[102.670797,32.383298],[102.671108,32.383574],[102.671262,32.383779],[102.671416,32.383984],[102.67162,32.384315],[102.671823,32.384646],[102.672027,32.384978],[102.672229,32.385366],[102.672431,32.385754],[102.672633,32.386143],[102.672835,32.386531],[102.672907,32.386724],[102.672987,32.386938],[102.673067,32.387151],[102.673147,32.387365],[102.673227,32.387578],[102.673307,32.387791],[102.673388,32.388005],[102.673492,32.388206],[102.673597,32.388407],[102.673702,32.388608],[102.673807,32.388809],[102.673912,32.38901],[102.674017,32.389211],[102.674213,32.389523],[102.67441,32.389835],[102.674587,32.390012],[102.674765,32.390188],[102.675022,32.390338],[102.67528,32.390487],[102.675617,32.390647],[102.675954,32.390808],[102.676291,32.390968],[102.676559,32.391028],[102.676827,32.391088],[102.677095,32.391147],[102.677363,32.391207],[102.677713,32.391291],[102.678063,32.391374],[102.678198,32.391436],[102.67831,32.391514],[102.67833,32.39163],[102.678349,32.391765],[102.678321,32.391919],[102.678109,32.392262],[102.677956,32.392632],[102.677802,32.393001],[102.677648,32.393371],[102.677523,32.393605],[102.677397,32.393838],[102.677272,32.394072],[102.677147,32.394306],[102.677019,32.394515],[102.676891,32.394723],[102.676763,32.394932],[102.676635,32.395141],[102.676507,32.395349],[102.676379,32.395558],[102.676251,32.395766],[102.676123,32.395975],[102.675979,32.396187],[102.675836,32.396399],[102.675692,32.396611],[102.675549,32.396823],[102.675405,32.397035],[102.67529,32.397206],[102.675262,32.397247],[102.675118,32.397459],[102.674975,32.397671],[102.674831,32.397883],[102.674688,32.398095],[102.674544,32.398307],[102.674483,32.398399],[102.674401,32.39852],[102.674257,32.398732],[102.674114,32.398944],[102.67397,32.399177],[102.673826,32.39941],[102.673681,32.399642],[102.673537,32.399875],[102.673393,32.400108],[102.673249,32.400341],[102.673104,32.400574],[102.67296,32.400807],[102.672816,32.40104],[102.672672,32.401273],[102.672528,32.401506],[102.672383,32.401739],[102.672239,32.401972],[102.672095,32.402205],[102.671951,32.402438],[102.671806,32.402671],[102.671598,32.403048],[102.67139,32.403425],[102.671182,32.403802],[102.670974,32.404179],[102.670811,32.40454],[102.670649,32.404901],[102.670486,32.405262],[102.670479,32.405332],[102.670458,32.40555],[102.670539,32.40584],[102.67065,32.405997],[102.670851,32.406154],[102.67113,32.406352],[102.671409,32.406551],[102.671604,32.406694],[102.6718,32.406837],[102.671995,32.40698],[102.67219,32.407124],[102.672368,32.40729],[102.672546,32.407457],[102.672691,32.407678],[102.672837,32.407899],[102.672983,32.40812],[102.673129,32.408341],[102.673261,32.408541],[102.673365,32.408677],[102.673421,32.408783],[102.673631,32.40918],[102.673698,32.409306],[102.67382,32.409536],[102.674008,32.409891],[102.674215,32.410182],[102.674364,32.410392],[102.674513,32.410602],[102.674769,32.410807],[102.675025,32.411012],[102.675062,32.411025],[102.675479,32.41117],[102.675895,32.411314],[102.676222,32.411469],[102.676549,32.411623],[102.676876,32.411777],[102.677078,32.411893],[102.67728,32.412008],[102.677561,32.412203],[102.677807,32.41246],[102.677809,32.412461],[102.677812,32.412462],[102.677836,32.412491],[102.677928,32.412587],[102.678049,32.412737],[102.678114,32.412865],[102.678114,32.412866],[102.678114,32.412867],[102.678114,32.412868],[102.678128,32.413001],[102.678128,32.413144],[102.678099,32.413379],[102.678002,32.413628],[102.677968,32.413716],[102.677905,32.413876],[102.677892,32.413908],[102.677769,32.414159],[102.677728,32.414243],[102.677693,32.414457],[102.677711,32.414723],[102.67773,32.414988],[102.67775,32.415283],[102.677771,32.415578],[102.677764,32.415849],[102.677757,32.416121],[102.677785,32.416363],[102.677885,32.416649],[102.677985,32.416863],[102.678266,32.41705],[102.678328,32.417091],[102.678635,32.417245],[102.678942,32.417398],[102.679249,32.417552],[102.679556,32.417705],[102.679913,32.417873],[102.68027,32.418041],[102.680626,32.418209],[102.680983,32.418376],[102.68135,32.418567],[102.681716,32.418757],[102.682083,32.418947],[102.682259,32.419093],[102.682509,32.419298],[102.682758,32.419504],[102.682967,32.419772],[102.683175,32.42004],[102.683238,32.420119],[102.683455,32.42039],[102.683672,32.420661],[102.683774,32.420788],[102.683889,32.420932],[102.684031,32.421086],[102.684044,32.421089],[102.684281,32.421134],[102.684376,32.421134],[102.684797,32.421019],[102.685217,32.420904],[102.685638,32.420789],[102.686011,32.420668],[102.686385,32.420546],[102.686758,32.420425],[102.68685,32.420395],[102.687132,32.420304],[102.687505,32.420182],[102.687749,32.420135],[102.687993,32.420087],[102.68835,32.419992],[102.688493,32.419968],[102.688719,32.419968],[102.688814,32.419956],[102.688945,32.419992],[102.6891,32.420123],[102.689442,32.420346],[102.689784,32.420569],[102.690126,32.420792],[102.690468,32.421015],[102.690801,32.421217],[102.691134,32.42142],[102.691274,32.421497],[102.691484,32.421613],[102.691693,32.421729],[102.692098,32.421833],[102.692503,32.421937],[102.692621,32.421967],[102.692907,32.422106],[102.693192,32.422244],[102.693478,32.422383],[102.693728,32.422502],[102.693978,32.422621],[102.694186,32.422794],[102.694394,32.422966],[102.694602,32.423169],[102.69481,32.423371],[102.695032,32.423625],[102.695255,32.423878],[102.695477,32.424132],[102.695534,32.424226],[102.695687,32.424475],[102.695897,32.424818],[102.696107,32.425161],[102.696317,32.425504],[102.696528,32.425847],[102.696738,32.42619],[102.69691,32.426488],[102.697083,32.426785],[102.697255,32.427083],[102.697428,32.42738],[102.697614,32.427725],[102.69765,32.427791],[102.697801,32.42807],[102.697987,32.428415],[102.69803,32.428514],[102.698165,32.428826],[102.698344,32.429236],[102.698395,32.42936],[102.698451,32.429498],[102.698592,32.4296],[102.698665,32.429653],[102.698903,32.429772],[102.699045,32.429819],[102.699248,32.429888],[102.699333,32.429916],[102.699593,32.430004],[102.699938,32.43012],[102.700283,32.430236],[102.700622,32.430432],[102.700961,32.430628],[102.701239,32.430747],[102.701517,32.430866],[102.701794,32.430985],[102.702205,32.431122],[102.702615,32.431259],[102.70283,32.431348],[102.702972,32.431407],[102.703329,32.431556],[102.703597,32.431723],[102.703864,32.431889],[102.704114,32.432187],[102.704441,32.432395],[102.704768,32.432603],[102.705113,32.432799],[102.705458,32.432996],[102.70583,32.433128],[102.706078,32.433216],[102.706327,32.433305],[102.706583,32.433454],[102.706839,32.433602],[102.707005,32.43365],[102.707219,32.433626],[102.707517,32.433495],[102.707722,32.433447],[102.707921,32.4334],[102.708225,32.433376],[102.708528,32.433353],[102.708814,32.433394],[102.709099,32.433436],[102.709504,32.433567],[102.709849,32.433769],[102.709854,32.433775],[102.710027,32.433971],[102.710164,32.434257],[102.710301,32.434542],[102.710432,32.43478],[102.710562,32.435018],[102.710729,32.43522],[102.710979,32.43528],[102.711324,32.435399],[102.711669,32.435518],[102.711851,32.435626],[102.712131,32.43578],[102.712411,32.435934],[102.712545,32.43601],[102.712649,32.436172],[102.712802,32.436515],[102.712954,32.436858],[102.713055,32.437082],[102.713157,32.437307],[102.713268,32.437552],[102.713411,32.437943],[102.713468,32.438142],[102.713531,32.43825],[102.713601,32.438371],[102.713815,32.438656],[102.714029,32.438942],[102.714291,32.439204],[102.714553,32.439465],[102.71491,32.439689],[102.715031,32.439765],[102.715267,32.439913],[102.715476,32.440022],[102.715685,32.440132],[102.715847,32.440265],[102.715876,32.44037],[102.715919,32.440665],[102.715961,32.44096],[102.715985,32.441279],[102.716009,32.441597],[102.715985,32.441761],[102.715971,32.441854],[102.715941,32.442132],[102.715913,32.442383],[102.715885,32.442635],[102.715886,32.442638],[102.715923,32.442844],[102.715941,32.442876],[102.716038,32.443054],[102.716223,32.443249],[102.716409,32.443444],[102.716605,32.44371],[102.716802,32.443977],[102.716999,32.444243],[102.717132,32.444481],[102.717208,32.444843],[102.71724,32.445259],[102.717272,32.445674],[102.717303,32.44609],[102.717367,32.446509],[102.71743,32.446927],[102.717494,32.447346],[102.717583,32.44766],[102.717671,32.447974],[102.71776,32.448288],[102.717804,32.448405],[102.717855,32.448545],[102.717989,32.448717],[102.718112,32.448888],[102.718465,32.449107],[102.718574,32.449179],[102.718757,32.449301],[102.719048,32.449494],[102.71934,32.449688],[102.719349,32.449691],[102.719621,32.449784],[102.719892,32.449878],[102.720268,32.449987],[102.720644,32.450097],[102.721015,32.450282],[102.721127,32.450338],[102.721387,32.450468],[102.721526,32.450524],[102.721608,32.450567],[102.721796,32.450678],[102.721824,32.450706],[102.721862,32.450868],[102.721834,32.451011],[102.721672,32.451229],[102.721577,32.451448],[102.721558,32.451734],[102.721558,32.451953],[102.721434,32.452324],[102.721305,32.452689],[102.721175,32.453055],[102.72112,32.453209],[102.720992,32.453533],[102.720863,32.453856],[102.720787,32.454113],[102.720673,32.454313],[102.720494,32.454394],[102.720378,32.454447],[102.720159,32.454542],[102.719987,32.454713],[102.719792,32.454999],[102.71979,32.455001],[102.719642,32.455218],[102.719597,32.455284],[102.719437,32.455552],[102.719276,32.455819],[102.719116,32.456087],[102.719026,32.456236],[102.718879,32.456474],[102.718731,32.456712],[102.718598,32.45694],[102.718512,32.457131],[102.718512,32.457245],[102.718655,32.45733],[102.718971,32.457495],[102.718778,32.457557],[102.718069,32.457644],[102.717122,32.45786],[102.715839,32.458306],[102.7153,32.458493],[102.713919,32.458767],[102.712851,32.459081],[102.711503,32.459589],[102.709838,32.460224],[102.708442,32.461098],[102.70796,32.461391],[102.707743,32.461523],[102.707325,32.461777],[102.705837,32.462569],[102.705694,32.462646],[102.70442,32.463321],[102.703025,32.464161],[102.702303,32.464747],[102.701285,32.464629],[102.699758,32.464468],[102.698109,32.464471],[102.696979,32.464118],[102.696354,32.464006],[102.696304,32.464007],[102.694665,32.464042],[102.693445,32.464153],[102.691914,32.464125],[102.691043,32.464409],[102.689386,32.464744],[102.688008,32.464885],[102.686659,32.465427],[102.685268,32.4661],[102.683992,32.466842],[102.682959,32.467322],[102.681996,32.468137],[102.680831,32.469147],[102.680198,32.469335],[102.679673,32.468394],[102.679419,32.467557],[102.678424,32.466573],[102.677165,32.465119],[102.676399,32.464406],[102.675509,32.46389],[102.673834,32.46336],[102.672971,32.463344],[102.671747,32.463587],[102.671317,32.463546],[102.671691,32.462721],[102.671722,32.461523],[102.67209,32.459433],[102.672349,32.458506],[102.672094,32.457769],[102.671048,32.457217],[102.669418,32.456488],[102.667513,32.455754],[102.666433,32.455002],[102.665082,32.454111],[102.66374,32.452888],[102.662891,32.452306],[102.662136,32.452314],[102.661713,32.452318],[102.66137,32.452311],[102.660497,32.452295],[102.659429,32.452575],[102.658992,32.4528],[102.65831,32.453353],[102.657613,32.454505],[102.656853,32.455057],[102.655635,32.455067],[102.654573,32.455181],[102.652817,32.456279],[102.651823,32.45676],[102.648767,32.458034],[102.648555,32.458134],[102.646926,32.45709],[102.645651,32.456373],[102.644645,32.455777],[102.643154,32.455518],[102.642086,32.455336],[102.642062,32.454784],[102.641667,32.453802],[102.64168,32.453283],[102.641417,32.453083],[102.640118,32.452994],[102.639168,32.452684],[102.638217,32.452438],[102.637417,32.452261],[102.636745,32.451631],[102.635926,32.450707],[102.635334,32.449916],[102.634595,32.448896],[102.634037,32.448268],[102.633699,32.448002],[102.633019,32.447665],[102.632531,32.447266],[102.631846,32.447091],[102.630589,32.44684],[102.629403,32.446785],[102.628138,32.446858],[102.627704,32.447337],[102.627062,32.448116],[102.626764,32.448476],[102.626755,32.448488],[102.626744,32.448499],[102.626046,32.449222],[102.625449,32.450087],[102.625067,32.450048],[102.624124,32.44951],[102.623403,32.449237],[102.622301,32.448924],[102.62145,32.448637],[102.620972,32.448476],[102.619525,32.448157],[102.619196,32.448167],[102.618222,32.448197],[102.618083,32.448202],[102.61711,32.448241],[102.61585,32.44812],[102.61501,32.448087],[102.614386,32.448063],[102.614205,32.448056],[102.61394,32.447994],[102.61341,32.447871],[102.612682,32.447702],[102.61112,32.447413],[102.609444,32.447056],[102.607959,32.446736],[102.606124,32.446636],[102.604169,32.446696],[102.603164,32.447034],[102.601913,32.448017],[102.601593,32.44829],[102.601388,32.448466],[102.601208,32.44862],[102.600517,32.448672],[102.599369,32.448618],[102.599103,32.44862],[102.598918,32.448621],[102.598772,32.448623],[102.598182,32.448628],[102.596761,32.448763],[102.596137,32.449205],[102.595746,32.44949],[102.59475,32.449504],[102.59391,32.449423],[102.593035,32.449211],[102.592622,32.448911],[102.592072,32.447959],[102.591138,32.447097],[102.589935,32.446262],[102.588311,32.445386],[102.586495,32.444572],[102.584527,32.44369],[102.583009,32.443174],[102.581255,32.442913],[102.580868,32.44287],[102.579498,32.442717],[102.579065,32.44266],[102.577781,32.442489],[102.576027,32.442228],[102.574966,32.441786],[102.573031,32.441131],[102.571286,32.440513],[102.569919,32.440065],[102.567794,32.439374],[102.566501,32.439025],[102.565743,32.438718],[102.565107,32.438186],[102.564399,32.437458],[102.563736,32.436471],[102.562842,32.435544],[102.562561,32.434597],[102.562118,32.434004],[102.561318,32.433826],[102.560255,32.433513],[102.558222,32.432841],[102.556984,32.432157],[102.556042,32.431289],[102.553949,32.429358],[102.553757,32.429224],[102.55254,32.428367],[102.550491,32.426704],[102.548578,32.425304],[102.548572,32.4253],[102.548567,32.425296],[102.548552,32.425285],[102.548521,32.425262],[102.548496,32.425244],[102.548491,32.425241],[102.54848,32.425234],[102.548362,32.425162],[102.5482,32.425063],[102.546613,32.424091],[102.54649,32.42401],[102.546463,32.423992],[102.544321,32.422575],[102.543751,32.422217],[102.543321,32.421947],[102.540902,32.420733],[102.538959,32.419788],[102.538835,32.419728],[102.538407,32.419519],[102.536887,32.418777],[102.535523,32.418344],[102.534512,32.418121],[102.534201,32.418159],[102.533943,32.418191],[102.533156,32.418286],[102.532712,32.41834],[102.532553,32.418385],[102.531386,32.41872],[102.529342,32.419085],[102.528362,32.419155],[102.527846,32.419192],[102.527664,32.419205],[102.526508,32.419228],[102.52509,32.419256],[102.523884,32.419232],[102.523122,32.419217],[102.521922,32.419193],[102.520065,32.419258],[102.518846,32.419234],[102.518773,32.419233],[102.516419,32.419186],[102.513727,32.419184],[102.512634,32.419771],[102.511778,32.420464],[102.511402,32.421066],[102.511323,32.421215],[102.511263,32.421327],[102.511246,32.421359],[102.511236,32.421379],[102.511223,32.421402],[102.510749,32.422294],[102.510708,32.422371],[102.510669,32.423791],[102.511394,32.425733],[102.512401,32.428239],[102.513938,32.43111],[102.514308,32.432894],[102.514031,32.434258],[102.513027,32.435963],[102.511793,32.437308],[102.510628,32.438351],[102.509176,32.438931],[102.507601,32.43961],[102.506141,32.440494],[102.50465,32.442494],[102.502618,32.444584],[102.501934,32.445535],[102.501265,32.445927],[102.500299,32.446213],[102.499732,32.447445],[102.498921,32.448001],[102.496884,32.448531],[102.495789,32.44825],[102.494777,32.447191],[102.493962,32.445668],[102.493447,32.444359],[102.492802,32.443308],[102.492528,32.44216],[102.492023,32.440487],[102.491511,32.439075],[102.491415,32.438086],[102.491259,32.437096],[102.490313,32.435882],[102.488331,32.43444],[102.487322,32.433277],[102.48649,32.432378],[102.485528,32.431735],[102.484503,32.431143],[102.48343,32.430083],[102.482739,32.428511],[102.482403,32.427362],[102.481591,32.425735],[102.481169,32.423285],[102.480743,32.420991],[102.480725,32.419433],[102.480701,32.418082],[102.480625,32.416418],[102.480722,32.415121],[102.481419,32.412071],[102.481512,32.41093],[102.481502,32.409111],[102.481535,32.407917],[102.481934,32.406782],[102.481957,32.405952],[102.481929,32.404757],[102.482146,32.403566],[102.48292,32.402127],[102.483981,32.401421],[102.485717,32.400625],[102.487793,32.39864],[102.488665,32.398086],[102.48943,32.397011],[102.490508,32.395682],[102.490781,32.394648],[102.490756,32.393349],[102.490554,32.391787],[102.490778,32.390337],[102.491056,32.386914],[102.491462,32.385519],[102.491141,32.383851],[102.491049,32.382758],[102.490598,32.381346],[102.490509,32.38015],[102.490542,32.378956],[102.490394,32.377654],[102.488845,32.376117],[102.488027,32.374698],[102.487249,32.374059],[102.486154,32.37383],[102.486108,32.373257],[102.486269,32.371858],[102.486611,32.370566],[102.48628,32.369261],[102.485027,32.368093],[102.484561,32.367252],[102.483433,32.365983],[102.482675,32.364617],[102.482273,32.363674],[102.482135,32.362009],[102.482039,32.361072],[102.481338,32.359864],[102.480688,32.359019],[102.479785,32.358482],[102.478407,32.357402],[102.476598,32.356457],[102.475767,32.356051],[102.47458,32.354728],[102.473468,32.353472],[102.472326,32.353254],[102.471258,32.353168],[102.470661,32.353029],[102.470346,32.352955],[102.468904,32.352536],[102.467467,32.351923],[102.466106,32.351376],[102.464668,32.350827],[102.462705,32.349879],[102.460597,32.348667],[102.458786,32.347787],[102.458579,32.347678],[102.456977,32.346841],[102.455953,32.34682],[102.455753,32.346816],[102.454523,32.347051],[102.454496,32.347052],[102.454452,32.347055],[102.453604,32.347097],[102.451698,32.346864],[102.450859,32.346782],[102.450575,32.346601],[102.45045,32.346521],[102.450444,32.346518],[102.450239,32.346387],[102.449807,32.346111],[102.449363,32.346021],[102.449228,32.346117],[102.449219,32.346108],[102.449134,32.346058],[102.448742,32.345895],[102.447984,32.345262],[102.447546,32.344897],[102.44698,32.343262],[102.446265,32.341494],[102.445203,32.33947],[102.444765,32.338635],[102.444755,32.338616],[102.444737,32.338582],[102.444719,32.338546],[102.444639,32.338395],[102.444552,32.338229],[102.441805,32.337214],[102.441275,32.337018],[102.441245,32.337007],[102.441061,32.336939],[102.440769,32.336831],[102.43883,32.336226],[102.438076,32.335918],[102.437753,32.335786],[102.437611,32.335728],[102.437505,32.335685],[102.437468,32.33567],[102.437419,32.335626],[102.437413,32.33562],[102.437005,32.335257],[102.436948,32.335206],[102.436784,32.334713],[102.437072,32.333964],[102.437296,32.333477],[102.437515,32.332959],[102.437551,32.331684],[102.437254,32.330243],[102.437252,32.330237],[102.437211,32.330039],[102.437177,32.32987],[102.43713,32.329646],[102.437047,32.329495],[102.436936,32.329295],[102.43685,32.329139],[102.436744,32.328948],[102.436634,32.32875],[102.436548,32.328594],[102.436481,32.328474],[102.436415,32.328355],[102.436403,32.328213],[102.436392,32.328078],[102.436313,32.327135],[102.435728,32.326079],[102.435735,32.325853],[102.435736,32.325798],[102.435756,32.325081],[102.435761,32.324933],[102.435784,32.324108],[102.435787,32.324072],[102.435809,32.32385],[102.43588,32.323124],[102.435498,32.322131],[102.435123,32.320905],[102.434873,32.320088],[102.434672,32.319572],[102.434554,32.31927],[102.434412,32.318963],[102.434182,32.318469],[102.434105,32.318304],[102.433846,32.317747],[102.433206,32.316368],[102.433116,32.315485],[102.432948,32.314634],[102.432878,32.313389],[102.432877,32.313361],[102.432877,32.313359],[102.432875,32.313349],[102.432875,32.313348],[102.432874,32.313331],[102.432871,32.313262],[102.432873,32.31325],[102.432892,32.313138],[102.43301,32.312416],[102.433662,32.311092],[102.434185,32.310287],[102.434708,32.309417],[102.435152,32.308676],[102.435335,32.307636],[102.435919,32.305984],[102.436223,32.30475],[102.436339,32.30335],[102.436629,32.302605],[102.436964,32.301633],[102.436959,32.300459],[102.436929,32.298794],[102.437037,32.297687],[102.437007,32.297452],[102.436785,32.295692],[102.436772,32.295461],[102.436747,32.295033],[102.436708,32.294353],[102.436507,32.293305],[102.436316,32.291898],[102.436036,32.290947],[102.435917,32.289704],[102.436169,32.288678],[102.436182,32.288624],[102.436194,32.288578],[102.436202,32.288543],[102.436235,32.288407],[102.436307,32.288114],[102.436334,32.287824],[102.436342,32.287743],[102.436418,32.286909],[102.436614,32.285412],[102.43739,32.283764],[102.437437,32.283638],[102.437464,32.283566],[102.437639,32.283096],[102.437764,32.28276],[102.438077,32.281961],[102.438138,32.281807],[102.438715,32.280333],[102.4387,32.279674],[102.438698,32.279582],[102.438861,32.278874],[102.438884,32.278774],[102.438982,32.278347],[102.439004,32.278251],[102.439146,32.278018],[102.439512,32.277416],[102.439729,32.277058],[102.440042,32.276506],[102.440265,32.276111],[102.440295,32.276059],[102.441318,32.275166],[102.442267,32.274206],[102.442676,32.273379],[102.442715,32.273302],[102.442814,32.272488],[102.443153,32.271353],[102.443212,32.270637],[102.443232,32.269919],[102.443138,32.269167],[102.443246,32.268412],[102.443258,32.268332],[102.443329,32.267833],[102.44334,32.267658],[102.443397,32.266791],[102.443412,32.266237],[102.443079,32.265806],[102.442676,32.265112],[102.441852,32.264378],[102.441138,32.263809],[102.440476,32.262784],[102.439117,32.261941],[102.438684,32.260953],[102.438684,32.260652],[102.438684,32.260357],[102.438685,32.25955],[102.438666,32.259208],[102.438634,32.258636],[102.438868,32.258063],[102.438964,32.257827],[102.439515,32.257349],[102.439681,32.256895],[102.439581,32.256575],[102.439525,32.256395],[102.439364,32.255878],[102.438638,32.254395],[102.438405,32.253118],[102.438039,32.252164],[102.437815,32.251581],[102.437761,32.251441],[102.43736,32.250654],[102.437106,32.250155],[102.437021,32.249991],[102.43699,32.24993],[102.436342,32.248671],[102.436359,32.248052],[102.4364,32.247982],[102.436461,32.247878],[102.436559,32.247711],[102.436687,32.247494],[102.436843,32.247229],[102.437004,32.246956],[102.437136,32.246815],[102.43739,32.246546],[102.437637,32.246283],[102.437652,32.246254],[102.437776,32.246008],[102.437881,32.245799],[102.437759,32.245448],[102.437653,32.245144],[102.437561,32.244879],[102.437409,32.244509],[102.437305,32.244257],[102.43712,32.243808],[102.436897,32.243267],[102.436716,32.242829],[102.436598,32.242544],[102.436524,32.242362],[102.436425,32.242124],[102.436197,32.24157],[102.436012,32.241121],[102.435746,32.240476],[102.435513,32.239911],[102.43535,32.239616],[102.435111,32.239185],[102.434893,32.238843],[102.43467,32.238491],[102.434286,32.238198],[102.433961,32.237949],[102.433618,32.237687],[102.433231,32.237395],[102.432801,32.237072],[102.432415,32.236781],[102.431821,32.236423],[102.431154,32.23602],[102.430659,32.235721],[102.430175,32.235429],[102.429741,32.235167],[102.429395,32.234958],[102.428998,32.234783],[102.428598,32.234556],[102.428109,32.234279],[102.427614,32.234056],[102.427028,32.233792],[102.426517,32.233562],[102.426057,32.233454],[102.425297,32.233276],[102.424565,32.233198],[102.424149,32.233154],[102.42345,32.23314],[102.422776,32.233126],[102.422269,32.233116],[102.421705,32.233208],[102.421206,32.23329],[102.420495,32.233406],[102.419798,32.23362],[102.419399,32.233719],[102.419766,32.23299],[102.420302,32.231677],[102.420339,32.230355],[102.420318,32.230043],[102.420208,32.228394],[102.419875,32.226958],[102.419912,32.225636],[102.419688,32.224732],[102.419273,32.223626],[102.419167,32.223345],[102.419013,32.222177],[102.418602,32.221322],[102.417815,32.220512],[102.417531,32.219554],[102.417613,32.218867],[102.418141,32.21782],[102.418535,32.217087],[102.419814,32.215896],[102.419914,32.215689],[102.419942,32.215631],[102.420144,32.215214],[102.420069,32.215005],[102.420014,32.214855],[102.419855,32.214414],[102.419601,32.214079],[102.419035,32.213332],[102.418648,32.212336],[102.417692,32.211151],[102.417605,32.211043],[102.417051,32.210043],[102.416984,32.209705],[102.416927,32.209422],[102.416782,32.208527],[102.416637,32.207632],[102.416547,32.20681],[102.416104,32.206066],[102.415356,32.204808],[102.414411,32.204114],[102.413637,32.203423],[102.413632,32.203286],[102.413614,32.202796],[102.413605,32.202554],[102.413513,32.202148],[102.413353,32.20144],[102.41318,32.201208],[102.412911,32.200846],[102.41282,32.200724],[102.412705,32.200569],[102.412587,32.20041],[102.412478,32.200265],[102.412438,32.200171],[102.412379,32.200033],[102.412318,32.199855],[102.412229,32.199627],[102.412156,32.199442],[102.412074,32.199232],[102.412002,32.199049],[102.411959,32.19887],[102.411933,32.198756],[102.411898,32.198606],[102.411863,32.198457],[102.4118,32.198187],[102.411547,32.19711],[102.411356,32.196353],[102.411247,32.19592],[102.410986,32.194881],[102.410968,32.19354],[102.410968,32.19353],[102.410954,32.19333],[102.410847,32.191792],[102.410594,32.190966],[102.410432,32.190433],[102.410091,32.189611],[102.409848,32.189023],[102.40958,32.188638],[102.409432,32.188425],[102.409318,32.188261],[102.409303,32.18824],[102.408992,32.187221],[102.408253,32.185277],[102.407528,32.184828],[102.406406,32.184419],[102.40533,32.184349],[102.404833,32.183904],[102.404709,32.183709],[102.404692,32.183682],[102.404271,32.183019],[102.404182,32.182879],[102.403964,32.182536],[102.403043,32.181022],[102.402338,32.179899],[102.401627,32.178968],[102.40031,32.177446],[102.399263,32.176363],[102.398376,32.17567],[102.396988,32.174629],[102.395433,32.173487],[102.394544,32.172842],[102.393159,32.171705],[102.391037,32.170552],[102.388857,32.169446],[102.387477,32.168163],[102.387211,32.167531],[102.387169,32.167444],[102.387355,32.167478],[102.387528,32.167489],[102.387694,32.167454],[102.387903,32.167376],[102.388093,32.16724],[102.388224,32.167008],[102.388378,32.166609],[102.388468,32.16635],[102.388557,32.166092],[102.388557,32.165741],[102.388483,32.165467],[102.388408,32.165193],[102.388269,32.16492],[102.38813,32.164646],[102.388069,32.164527],[102.387938,32.164343],[102.387807,32.164158],[102.387665,32.163944],[102.387522,32.16373],[102.387385,32.163343],[102.387296,32.163086],[102.387208,32.162829],[102.387141,32.162635],[102.387037,32.16243],[102.386933,32.162225],[102.386927,32.161945],[102.386992,32.161577],[102.387023,32.16152],[102.387153,32.161285],[102.387266,32.161035],[102.387349,32.160782],[102.38745,32.16047],[102.387474,32.160232],[102.387456,32.159982],[102.387385,32.159792],[102.387364,32.159737],[102.387278,32.159506],[102.387278,32.159268],[102.387278,32.159031],[102.387278,32.158644],[102.38729,32.158394],[102.387302,32.158144],[102.38739,32.157894],[102.387478,32.157644],[102.387522,32.15752],[102.387599,32.157151],[102.387641,32.156871],[102.387635,32.156759],[102.387629,32.156657],[102.387605,32.156422],[102.387581,32.156187],[102.387599,32.156032],[102.387676,32.155902],[102.387885,32.155705],[102.388194,32.15539],[102.388372,32.15517],[102.388408,32.155039],[102.388551,32.154753],[102.388735,32.154504],[102.388902,32.154349],[102.388932,32.154312],[102.388958,32.154279],[102.389229,32.153944],[102.389515,32.153724],[102.389735,32.153451],[102.389961,32.153284],[102.390127,32.153058],[102.390252,32.152838],[102.390336,32.152707],[102.390371,32.152546],[102.390371,32.152404],[102.390318,32.152094],[102.390264,32.151785],[102.390264,32.151601],[102.390217,32.151398],[102.390062,32.151214],[102.38983,32.15103],[102.389598,32.150845],[102.389598,32.150845],[102.38936,32.150685],[102.389289,32.150625],[102.389267,32.15048],[102.389235,32.150268],[102.389283,32.149822],[102.389238,32.149557],[102.389193,32.149293],[102.389125,32.149019],[102.389057,32.148745],[102.389068,32.148608],[102.389098,32.148537],[102.38917,32.148489],[102.389515,32.148388],[102.389729,32.148308],[102.389943,32.148228],[102.390108,32.148185],[102.390377,32.148115],[102.390432,32.148112],[102.39074,32.148097],[102.391008,32.148133],[102.39121,32.148139],[102.391472,32.148097],[102.391766,32.148008],[102.392061,32.147918],[102.392459,32.14785],[102.392858,32.147782],[102.39323,32.147683],[102.393601,32.147585],[102.394024,32.147496],[102.394458,32.147383],[102.394862,32.147222],[102.395112,32.147008],[102.395231,32.146788],[102.395321,32.146479],[102.395333,32.146349],[102.395369,32.145991],[102.395404,32.145634],[102.395422,32.145361],[102.395535,32.145013],[102.395648,32.144665],[102.395802,32.144349],[102.395892,32.144117],[102.395892,32.143757],[102.395892,32.143397],[102.395945,32.143035],[102.396022,32.142862],[102.396124,32.142761],[102.396326,32.142654],[102.396458,32.142588],[102.39679,32.142422],[102.396998,32.142345],[102.397171,32.142339],[102.397309,32.142365],[102.397355,32.142374],[102.397522,32.142434],[102.39764,32.142446],[102.397861,32.142428],[102.398096,32.142356],[102.398331,32.142285],[102.398705,32.142166],[102.398961,32.142047],[102.399205,32.141988],[102.399479,32.141898],[102.399776,32.141768],[102.399961,32.141698],[102.400091,32.141649],[102.400401,32.141536],[102.40074,32.141488],[102.400978,32.141428],[102.401293,32.141256],[102.401513,32.141149],[102.401733,32.141042],[102.402138,32.140887],[102.402459,32.140798],[102.402634,32.140637],[102.40281,32.140477],[102.402991,32.140254],[102.403173,32.140031],[102.403446,32.139697],[102.403571,32.13937],[102.403666,32.138966],[102.403747,32.138524],[102.403828,32.138082],[102.403846,32.137999],[102.403903,32.137736],[102.403935,32.137371],[102.404,32.137172],[102.404022,32.137138],[102.404117,32.136993],[102.404264,32.136822],[102.40441,32.13665],[102.404567,32.136408],[102.404724,32.136165],[102.405028,32.135847],[102.405095,32.135756],[102.40516,32.135669],[102.405238,32.135483],[102.405252,32.135351],[102.405299,32.135259],[102.405374,32.135255],[102.405481,32.135269],[102.405566,32.135291],[102.405616,32.135312],[102.405789,32.135348],[102.405938,32.135383],[102.406051,32.135461],[102.406134,32.135496],[102.406223,32.13552],[102.406378,32.135538],[102.406574,32.13555],[102.406818,32.135598],[102.407074,32.135675],[102.407229,32.135705],[102.407417,32.135705],[102.407603,32.13568],[102.407845,32.135648],[102.408088,32.135616],[102.408348,32.135606],[102.408608,32.135595],[102.408869,32.135585],[102.409129,32.135574],[102.409514,32.13553],[102.409884,32.135487],[102.41013,32.13542],[102.410375,32.135354],[102.410488,32.135282],[102.410566,32.13514],[102.410619,32.135021],[102.410738,32.134967],[102.410946,32.134967],[102.411101,32.135021],[102.41122,32.13514],[102.411369,32.135235],[102.411506,32.135282],[102.411874,32.135342],[102.412243,32.135401],[102.412535,32.135434],[102.412666,32.135449],[102.412957,32.135491],[102.413314,32.135693],[102.413558,32.135865],[102.413654,32.136022],[102.413796,32.136252],[102.413927,32.136612],[102.414058,32.136972],[102.414257,32.137262],[102.414456,32.137552],[102.414462,32.137561],[102.414617,32.137715],[102.414736,32.137787],[102.414873,32.137864],[102.415057,32.137894],[102.415417,32.138001],[102.415777,32.138108],[102.416205,32.138173],[102.416336,32.138179],[102.416526,32.138167],[102.416806,32.138096],[102.417234,32.138066],[102.417549,32.138025],[102.417712,32.13802],[102.418136,32.138007],[102.418561,32.137995],[102.418858,32.138007],[102.419072,32.138072],[102.419179,32.13815],[102.41928,32.13834],[102.41934,32.138377],[102.41941,32.138421],[102.419674,32.138564],[102.420003,32.138635],[102.42022,32.138667],[102.420338,32.138685],[102.420406,32.138693],[102.420681,32.138728],[102.420981,32.138756],[102.421209,32.138735],[102.421437,32.138678],[102.421759,32.138728],[102.421923,32.138835],[102.42213,32.13902],[102.422401,32.139177],[102.42263,32.139335],[102.422972,32.139484],[102.423179,32.139542],[102.423415,32.139777],[102.423661,32.139955],[102.423938,32.140155],[102.424214,32.140355],[102.424443,32.140473],[102.424671,32.140591],[102.424892,32.140719],[102.425042,32.140762],[102.425406,32.140841],[102.42577,32.140798],[102.425899,32.140698],[102.42602,32.140441],[102.426183,32.140161],[102.426199,32.140134],[102.426497,32.13987],[102.426796,32.139606],[102.427094,32.139342],[102.427392,32.139078],[102.427691,32.138813],[102.427878,32.138647],[102.428066,32.138482],[102.428312,32.138264],[102.428554,32.137982],[102.428797,32.1377],[102.429,32.137336],[102.429111,32.137136],[102.429354,32.136879],[102.429697,32.136636],[102.430018,32.136472],[102.430308,32.136363],[102.430598,32.136253],[102.430889,32.136144],[102.431205,32.136025],[102.431522,32.135906],[102.431838,32.135787],[102.432107,32.135639],[102.432376,32.135492],[102.432645,32.135344],[102.432852,32.135116],[102.433059,32.134887],[102.433284,32.134627],[102.433508,32.134366],[102.433662,32.134145],[102.433815,32.133924],[102.434046,32.133729],[102.434277,32.133533],[102.434508,32.133338],[102.434851,32.133081],[102.43515,32.133081],[102.435429,32.133096],[102.435821,32.133074],[102.436082,32.133059],[102.436314,32.133046],[102.436571,32.133003],[102.436935,32.132953],[102.437231,32.132899],[102.437527,32.132846],[102.437824,32.132757],[102.43812,32.132667],[102.438434,32.132477],[102.438748,32.132287],[102.439062,32.132096],[102.439419,32.131868],[102.439776,32.131639],[102.439976,32.131486],[102.440176,32.131332],[102.440368,32.13099],[102.440383,32.130633],[102.440383,32.130269],[102.440354,32.129998],[102.440254,32.129783],[102.44039,32.129498],[102.44049,32.129319],[102.440504,32.129227],[102.440461,32.129062],[102.440297,32.128805],[102.44023,32.128738],[102.440097,32.128606],[102.439933,32.128527],[102.439862,32.128434],[102.439776,32.128199],[102.43969,32.12796],[102.439605,32.12772],[102.439565,32.127496],[102.439526,32.127271],[102.4395,32.127214],[102.439401,32.127035],[102.439281,32.126817],[102.438974,32.126494],[102.438667,32.12617],[102.438505,32.125999],[102.438343,32.125828],[102.438181,32.125657],[102.438018,32.125486],[102.437856,32.125315],[102.437694,32.125144],[102.437643,32.125111],[102.437358,32.124932],[102.437073,32.124753],[102.436834,32.124669],[102.436596,32.124585],[102.436377,32.124455],[102.436308,32.124264],[102.436407,32.124045],[102.436506,32.123826],[102.436685,32.123624],[102.436864,32.123422],[102.437043,32.123221],[102.437221,32.123019],[102.4374,32.122817],[102.437579,32.122615],[102.437725,32.122397],[102.43787,32.122179],[102.438035,32.121933],[102.438285,32.1217],[102.438536,32.121467],[102.438639,32.121389],[102.438736,32.121315],[102.438984,32.121086],[102.43906,32.120763],[102.439079,32.120511],[102.439098,32.120258],[102.43912,32.120108],[102.439167,32.119792],[102.439214,32.119476],[102.439203,32.119166],[102.43915,32.118934],[102.439143,32.118904],[102.43906,32.118571],[102.439131,32.118197],[102.439203,32.117822],[102.439274,32.117596],[102.439345,32.11737],[102.439512,32.117156],[102.439726,32.117048],[102.43994,32.116941],[102.440285,32.116822],[102.44046,32.116807],[102.44069,32.116787],[102.441005,32.116822],[102.44132,32.116858],[102.44153,32.116767],[102.441741,32.116676],[102.442095,32.116399],[102.442449,32.116122],[102.442716,32.115989],[102.442984,32.115855],[102.443103,32.115849],[102.443258,32.115885],[102.443371,32.115944],[102.443555,32.115986],[102.443799,32.116039],[102.443948,32.116057],[102.444186,32.116093],[102.444388,32.116099],[102.444389,32.116099],[102.44439,32.1161],[102.444548,32.116176],[102.444691,32.116277],[102.444858,32.116456],[102.444983,32.116634],[102.445274,32.116842],[102.445595,32.117068],[102.445881,32.117202],[102.446166,32.117336],[102.446378,32.117479],[102.446589,32.117622],[102.446922,32.117842],[102.447166,32.117883],[102.447493,32.117836],[102.447707,32.117806],[102.448058,32.117812],[102.448415,32.117859],[102.448576,32.117854],[102.448837,32.117804],[102.448921,32.117788],[102.449147,32.117776],[102.449373,32.117764],[102.449783,32.117782],[102.450194,32.117824],[102.45058,32.117919],[102.450884,32.11802],[102.451005,32.118055],[102.45111,32.118086],[102.451264,32.118086],[102.451455,32.118032],[102.451669,32.117984],[102.451923,32.117786],[102.452177,32.117588],[102.45243,32.11739],[102.452567,32.117265],[102.45257,32.117248],[102.452597,32.117098],[102.452591,32.116872],[102.452591,32.116711],[102.45265,32.116503],[102.452817,32.116283],[102.452984,32.116063],[102.453177,32.11587],[102.45337,32.115676],[102.453715,32.115522],[102.453938,32.115438],[102.454161,32.115355],[102.454322,32.115273],[102.454646,32.115106],[102.45497,32.114939],[102.455318,32.114745],[102.455666,32.114552],[102.45597,32.114362],[102.456136,32.1141],[102.456184,32.11388],[102.456184,32.113851],[102.456184,32.113648],[102.456184,32.113422],[102.456285,32.113148],[102.456422,32.112976],[102.45669,32.112809],[102.457076,32.112583],[102.457317,32.112321],[102.457558,32.11206],[102.45778,32.111802],[102.457927,32.111631],[102.458147,32.111334],[102.458367,32.111036],[102.458617,32.110665],[102.458867,32.110293],[102.459049,32.110132],[102.459232,32.109972],[102.459421,32.109805],[102.45961,32.109638],[102.459848,32.109496],[102.460134,32.109436],[102.460425,32.109436],[102.460654,32.109484],[102.460883,32.109531],[102.460894,32.109532],[102.461199,32.109561],[102.461395,32.109555],[102.461657,32.109525],[102.461924,32.109454],[102.462109,32.109448],[102.462299,32.109448],[102.462466,32.109424],[102.462698,32.109335],[102.462765,32.109305],[102.463138,32.109139],[102.463271,32.109087],[102.463489,32.109002],[102.46384,32.108865],[102.464084,32.108818],[102.46434,32.108823],[102.464578,32.108853],[102.464708,32.108859],[102.464804,32.108859],[102.464917,32.108835],[102.465053,32.108764],[102.465143,32.108764],[102.465262,32.108794],[102.465375,32.108794],[102.465523,32.108758],[102.465624,32.108722],[102.465708,32.108705],[102.465845,32.108746],[102.465922,32.10877],[102.465981,32.10877],[102.466124,32.108764],[102.466285,32.108716],[102.466428,32.108716],[102.466573,32.108793],[102.466642,32.108829],[102.466856,32.108942],[102.466999,32.10902],[102.467141,32.109044],[102.467344,32.10902],[102.467516,32.108966],[102.467748,32.108806],[102.468046,32.108609],[102.468343,32.108413],[102.468605,32.108285],[102.468866,32.108157],[102.469146,32.107973],[102.469426,32.107788],[102.469673,32.10755],[102.469919,32.107313],[102.470065,32.107109],[102.470211,32.106906],[102.470401,32.10664],[102.470657,32.106301],[102.470734,32.106057],[102.470758,32.105843],[102.4708,32.10557],[102.470949,32.105367],[102.471127,32.105183],[102.471157,32.105064],[102.471109,32.104975],[102.470972,32.104862],[102.470889,32.104695],[102.470835,32.104261],[102.470762,32.103861],[102.470711,32.103583],[102.470687,32.10325],[102.470722,32.103053],[102.470865,32.102798],[102.471076,32.102542],[102.471288,32.102286],[102.471298,32.102262],[102.471472,32.101864],[102.471484,32.101709],[102.471389,32.101483],[102.471308,32.101221],[102.471228,32.100959],[102.470978,32.100686],[102.470835,32.100555],[102.470776,32.100329],[102.470865,32.100049],[102.471127,32.099782],[102.471347,32.099544],[102.471407,32.099341],[102.471347,32.099121],[102.47124,32.098919],[102.471189,32.098544],[102.471139,32.098169],[102.471118,32.098068],[102.471032,32.097652],[102.470984,32.097283],[102.470895,32.097134],[102.470788,32.097039],[102.470454,32.096894],[102.470294,32.096825],[102.470104,32.096801],[102.469967,32.096658],[102.469878,32.096462],[102.469717,32.096313],[102.469551,32.09623],[102.469503,32.096177],[102.469557,32.095909],[102.469723,32.095582],[102.469907,32.095255],[102.469949,32.094969],[102.470044,32.094535],[102.470047,32.094237],[102.47005,32.09394],[102.470074,32.093559],[102.470145,32.093321],[102.470306,32.093125],[102.470592,32.092917],[102.470818,32.092679],[102.470978,32.092441],[102.471112,32.092248],[102.471246,32.092054],[102.471418,32.091923],[102.471627,32.091864],[102.471918,32.091804],[102.472275,32.091715],[102.472558,32.091632],[102.47284,32.091549],[102.473251,32.091507],[102.47357,32.091545],[102.473602,32.091549],[102.473923,32.091644],[102.474232,32.091679],[102.47444,32.091632],[102.474666,32.091549],[102.474892,32.091465],[102.475038,32.091423],[102.475297,32.091346],[102.475678,32.091264],[102.476059,32.091181],[102.47627,32.091146],[102.476527,32.091104],[102.476784,32.091062],[102.477042,32.09102],[102.477299,32.090978],[102.477556,32.090935],[102.477813,32.090893],[102.478068,32.090861],[102.478322,32.090829],[102.478576,32.090797],[102.478831,32.090765],[102.478955,32.090749],[102.479217,32.090722],[102.479342,32.0907],[102.479565,32.090666],[102.479787,32.090632],[102.480011,32.090597],[102.480235,32.090562],[102.48028,32.090548],[102.480692,32.09049],[102.480918,32.090377],[102.481079,32.090264],[102.481281,32.090103],[102.481286,32.090095],[102.481466,32.089818],[102.48162,32.08949],[102.481727,32.089086],[102.481727,32.088664],[102.48167,32.088362],[102.481612,32.088061],[102.481555,32.087759],[102.481534,32.087521],[102.481513,32.087283],[102.481427,32.086888],[102.481341,32.086492],[102.481258,32.086195],[102.481228,32.085868],[102.481311,32.08557],[102.481377,32.085291],[102.481347,32.085071],[102.481258,32.084761],[102.481269,32.084422],[102.481335,32.084143],[102.4814,32.083863],[102.48142,32.083796],[102.481466,32.083637],[102.481531,32.08353],[102.481799,32.083334],[102.482004,32.083078],[102.482209,32.082822],[102.482299,32.082513],[102.482275,32.082239],[102.482215,32.082049],[102.482074,32.081797],[102.481936,32.081549],[102.481846,32.081323],[102.481846,32.081198],[102.481874,32.081151],[102.481962,32.081005],[102.482078,32.080811],[102.4822,32.080558],[102.482322,32.080306],[102.482326,32.080293],[102.482375,32.080123],[102.482494,32.079708],[102.482614,32.079294],[102.482706,32.079071],[102.482798,32.078848],[102.482887,32.078598],[102.482852,32.078491],[102.482673,32.078322],[102.482495,32.078152],[102.482435,32.077974],[102.482423,32.077831],[102.482402,32.077813],[102.482334,32.07776],[102.482186,32.0777],[102.48209,32.077545],[102.482078,32.077266],[102.482144,32.07698],[102.482293,32.076719],[102.482385,32.076501],[102.482477,32.076284],[102.482534,32.076061],[102.48259,32.075838],[102.482653,32.075505],[102.482717,32.075172],[102.48278,32.074839],[102.482864,32.074482],[102.482965,32.074381],[102.482995,32.07438],[102.483185,32.074375],[102.48334,32.074375],[102.483589,32.074321],[102.483893,32.074259],[102.484196,32.074196],[102.484473,32.074134],[102.484749,32.074071],[102.485008,32.074083],[102.485267,32.074095],[102.485618,32.074149],[102.485903,32.074149],[102.486141,32.074122],[102.486379,32.074095],[102.486748,32.074006],[102.486992,32.074006],[102.487236,32.074006],[102.487253,32.074005],[102.487462,32.073988],[102.487587,32.073905],[102.487759,32.073804],[102.488063,32.07375],[102.488206,32.073679],[102.488366,32.073542],[102.488527,32.073441],[102.48886,32.07334],[102.48892,32.07332],[102.489163,32.073239],[102.489247,32.073209],[102.489258,32.07309],[102.489223,32.0729],[102.489092,32.072566],[102.488967,32.072364],[102.488759,32.072227],[102.488551,32.072091],[102.488313,32.071948],[102.488152,32.071805],[102.487938,32.071466],[102.48777,32.071215],[102.487602,32.070964],[102.487444,32.070728],[102.487349,32.070496],[102.487284,32.070223],[102.487278,32.069901],[102.487236,32.06964],[102.4872,32.069483],[102.487176,32.069378],[102.487218,32.069125],[102.48726,32.068872],[102.487397,32.068539],[102.487391,32.06839],[102.487343,32.068331],[102.487176,32.068254],[102.487016,32.068075],[102.486861,32.06779],[102.486706,32.067564],[102.486588,32.067355],[102.486528,32.06704],[102.486514,32.066731],[102.4865,32.066421],[102.486486,32.066112],[102.486466,32.065877],[102.486445,32.065642],[102.486428,32.065553],[102.486391,32.065357],[102.48634,32.065302],[102.486147,32.065095],[102.486108,32.065035],[102.485952,32.064794],[102.485796,32.064554],[102.485668,32.064325],[102.485541,32.064096],[102.485416,32.063786],[102.485332,32.063423],[102.485286,32.063325],[102.485231,32.063209],[102.485255,32.062953],[102.485368,32.062775],[102.485606,32.062555],[102.48571,32.062353],[102.485814,32.06215],[102.48584,32.062081],[102.485963,32.061752],[102.486096,32.061472],[102.486229,32.061193],[102.486361,32.060913],[102.486546,32.060702],[102.48673,32.060491],[102.486828,32.06028],[102.486927,32.060068],[102.487006,32.059775],[102.487085,32.059481],[102.487165,32.059188],[102.48722,32.058883],[102.487276,32.058577],[102.487331,32.058272],[102.487329,32.058243],[102.487301,32.057897],[102.48748,32.057582],[102.487692,32.057354],[102.487724,32.05732],[102.487843,32.056969],[102.487843,32.056808],[102.487799,32.056725],[102.487789,32.056707],[102.487694,32.056606],[102.487587,32.056523],[102.487456,32.056422],[102.487414,32.056124],[102.487527,32.055714],[102.487611,32.055303],[102.487543,32.05496],[102.487476,32.054617],[102.487408,32.054274],[102.487285,32.053935],[102.487266,32.053882],[102.487123,32.053507],[102.487004,32.053293],[102.486712,32.053001],[102.486546,32.052757],[102.486414,32.052368],[102.486281,32.05198],[102.486254,32.051901],[102.486131,32.05156],[102.486058,32.05136],[102.485933,32.051116],[102.48579,32.051014],[102.485592,32.050953],[102.485523,32.050931],[102.485112,32.050901],[102.484714,32.050842],[102.484428,32.050782],[102.484083,32.050658],[102.483821,32.050497],[102.483598,32.050274],[102.483375,32.050051],[102.483232,32.049777],[102.483195,32.049647],[102.483143,32.049468],[102.483066,32.04923],[102.482917,32.049123],[102.482483,32.049016],[102.482132,32.048921],[102.481727,32.048808],[102.481341,32.048766],[102.481088,32.048775],[102.480835,32.048784],[102.480556,32.048927],[102.480276,32.049069],[102.479901,32.049218],[102.479526,32.049367],[102.479114,32.049439],[102.478702,32.049511],[102.47861,32.049527],[102.478313,32.049581],[102.478016,32.049634],[102.477718,32.049688],[102.477337,32.049819],[102.476957,32.04995],[102.476788,32.050007],[102.476399,32.050139],[102.476011,32.050271],[102.475776,32.050292],[102.475541,32.050313],[102.475309,32.050271],[102.475184,32.050081],[102.475092,32.04981],[102.475,32.049539],[102.474863,32.049272],[102.474512,32.049031],[102.474161,32.04879],[102.473843,32.048587],[102.473524,32.048385],[102.47326,32.048347],[102.472995,32.048308],[102.472791,32.048354],[102.472578,32.048403],[102.472305,32.048427],[102.472108,32.04832],[102.471954,32.048135],[102.47165,32.048082],[102.471362,32.048028],[102.471073,32.047975],[102.470713,32.047877],[102.470352,32.04778],[102.470351,32.047779],[102.470348,32.047778],[102.470003,32.047731],[102.469741,32.047776],[102.469729,32.047778],[102.469336,32.047874],[102.469051,32.047862],[102.468876,32.04777],[102.468813,32.047737],[102.468521,32.047653],[102.468284,32.047662],[102.468046,32.047671],[102.46763,32.047689],[102.467423,32.047697],[102.467215,32.047706],[102.467046,32.047713],[102.466624,32.047814],[102.466201,32.047915],[102.465955,32.047966],[102.465708,32.048016],[102.465309,32.04801],[102.465095,32.047933],[102.465006,32.047683],[102.46492,32.047433],[102.464833,32.047184],[102.464732,32.046934],[102.464716,32.046821],[102.464696,32.046684],[102.464685,32.046297],[102.464631,32.04603],[102.464512,32.04575],[102.464429,32.045518],[102.464203,32.045357],[102.464084,32.045316],[102.463929,32.045203],[102.463893,32.04509],[102.463905,32.044822],[102.463923,32.044542],[102.463998,32.044218],[102.464072,32.043894],[102.464213,32.04361],[102.464354,32.043325],[102.464548,32.042936],[102.464619,32.04274],[102.464613,32.042555],[102.464566,32.042139],[102.464566,32.041895],[102.464662,32.041631],[102.464759,32.041367],[102.46481,32.041229],[102.464829,32.041092],[102.464866,32.040836],[102.464923,32.040444],[102.464923,32.040164],[102.464869,32.040015],[102.464661,32.039789],[102.464542,32.039581],[102.464471,32.039378],[102.464346,32.039016],[102.464232,32.038784],[102.464119,32.038552],[102.46392,32.038287],[102.463721,32.038023],[102.463435,32.037823],[102.46315,32.037624],[102.462918,32.037517],[102.462698,32.037481],[102.462293,32.03744],[102.462004,32.037359],[102.461714,32.037278],[102.461424,32.037197],[102.461335,32.037172],[102.461252,32.037101],[102.461205,32.036988],[102.461205,32.036756],[102.461222,32.036345],[102.46127,32.035911],[102.461336,32.035666],[102.461401,32.03542],[102.461461,32.035199],[102.46152,32.034977],[102.461588,32.034751],[102.461657,32.034525],[102.461829,32.03415],[102.461972,32.033817],[102.462049,32.033606],[102.462127,32.033395],[102.462174,32.033067],[102.462189,32.032728],[102.462204,32.032389],[102.46224,32.03213],[102.462275,32.031872],[102.462301,32.031707],[102.462341,32.031443],[102.462335,32.031057],[102.462263,32.030747],[102.462148,32.03036],[102.462145,32.030349],[102.462133,32.030269],[102.462109,32.030099],[102.462109,32.029754],[102.462159,32.029507],[102.46221,32.02926],[102.46229,32.028847],[102.462371,32.028433],[102.462375,32.028422],[102.46248,32.028163],[102.462585,32.027904],[102.462668,32.027636],[102.462751,32.027369],[102.462888,32.026958],[102.462906,32.026595],[102.462823,32.026185],[102.462722,32.025956],[102.46262,32.025727],[102.462583,32.025671],[102.462382,32.025376],[102.462281,32.025174],[102.462216,32.02484],[102.462134,32.024578],[102.462133,32.024573],[102.46199,32.024287],[102.46193,32.024085],[102.461883,32.023651],[102.461895,32.023288],[102.461907,32.022925],[102.461918,32.022562],[102.461901,32.022125],[102.461883,32.021688],[102.461901,32.021509],[102.462002,32.021206],[102.462186,32.020929],[102.462371,32.020653],[102.46254,32.020373],[102.46271,32.020093],[102.462775,32.019817],[102.46284,32.01954],[102.46284,32.019261],[102.46284,32.01907],[102.462811,32.01888],[102.462789,32.018757],[102.462757,32.018582],[102.462762,32.018448],[102.462769,32.018249],[102.462835,32.018017],[102.463061,32.017654],[102.463376,32.017351],[102.463554,32.01719],[102.463673,32.016982],[102.463792,32.016774],[102.463956,32.016373],[102.464119,32.015971],[102.46425,32.015549],[102.464346,32.015186],[102.464476,32.014912],[102.464661,32.014731],[102.464845,32.014549],[102.465056,32.014412],[102.465268,32.014276],[102.46556,32.014089],[102.465595,32.014067],[102.465865,32.013874],[102.466136,32.013681],[102.466359,32.013511],[102.466582,32.013342],[102.466787,32.013111],[102.466992,32.01288],[102.467046,32.012818],[102.467281,32.012628],[102.467516,32.012437],[102.467825,32.012295],[102.468075,32.012223],[102.468361,32.012188],[102.468593,32.012176],[102.468872,32.01217],[102.469086,32.012159],[102.469223,32.012152],[102.469551,32.012146],[102.469786,32.01214],[102.470021,32.012134],[102.470383,32.01211],[102.470675,32.012051],[102.470731,32.012023],[102.470894,32.012023],[102.47116,32.012023],[102.471425,32.012023],[102.471691,32.012023],[102.471957,32.012023],[102.472216,32.012044],[102.472475,32.012065],[102.472828,32.012093],[102.4729,32.012194],[102.473191,32.012408],[102.473495,32.01255],[102.473721,32.012616],[102.473911,32.012652],[102.474114,32.012679],[102.474345,32.012711],[102.474601,32.012705],[102.474857,32.012699],[102.475267,32.012738],[102.475678,32.012777],[102.475957,32.01283],[102.476267,32.012913],[102.476484,32.013023],[102.476701,32.013133],[102.477022,32.013336],[102.477343,32.013538],[102.477599,32.013693],[102.477813,32.013728],[102.478027,32.013728],[102.478146,32.013707],[102.47842,32.013657],[102.478652,32.013669],[102.478884,32.013681],[102.479315,32.013731],[102.479747,32.013782],[102.47991,32.013826],[102.480121,32.013883],[102.480389,32.013978],[102.480508,32.014067],[102.480835,32.014311],[102.481017,32.014484],[102.481198,32.014656],[102.481356,32.015031],[102.481513,32.015406],[102.481594,32.01562],[102.481674,32.015834],[102.481799,32.015947],[102.4819,32.015977],[102.482129,32.015992],[102.482358,32.016007],[102.482679,32.016102],[102.482923,32.016292],[102.483081,32.016497],[102.483238,32.016703],[102.483417,32.016887],[102.483631,32.016994],[102.483728,32.017044],[102.484107,32.017238],[102.484367,32.017418],[102.484626,32.017599],[102.484886,32.017779],[102.485005,32.017886],[102.485048,32.018017],[102.485094,32.01816],[102.48512,32.018351],[102.48513,32.018428],[102.485172,32.018612],[102.485332,32.01882],[102.485535,32.018969],[102.485701,32.019124],[102.48588,32.019272],[102.486106,32.019493],[102.486201,32.019733],[102.486296,32.019974],[102.486397,32.020212],[102.486516,32.020278],[102.48673,32.020272],[102.487031,32.020201],[102.487057,32.020195],[102.487474,32.020064],[102.487721,32.020001],[102.487968,32.019939],[102.488125,32.01991],[102.488265,32.019885],[102.488568,32.019873],[102.488997,32.019861],[102.48933,32.019784],[102.489606,32.019725],[102.489883,32.019665],[102.490157,32.019677],[102.490466,32.019713],[102.490769,32.01979],[102.49096,32.019963],[102.491156,32.020189],[102.491329,32.020313],[102.491518,32.020342],[102.491601,32.020309],[102.491864,32.020172],[102.492024,32.02009],[102.492298,32.01983],[102.492572,32.01957],[102.49278,32.019374],[102.492887,32.019207],[102.492935,32.01888],[102.492982,32.018612],[102.493101,32.01844],[102.493279,32.018228],[102.493457,32.018017],[102.493714,32.017798],[102.493952,32.017646],[102.494076,32.017403],[102.494116,32.017132],[102.494157,32.016861],[102.494177,32.016754],[102.494237,32.016439],[102.494297,32.016124],[102.494356,32.015809],[102.494395,32.015495],[102.494433,32.015181],[102.494514,32.014781],[102.494656,32.014546],[102.49468,32.014505],[102.494851,32.01421],[102.494951,32.013994],[102.495051,32.013777],[102.495106,32.013511],[102.495161,32.013244],[102.495227,32.013144],[102.495342,32.013073],[102.495508,32.013054],[102.495756,32.01303],[102.496151,32.013035],[102.49648,32.013058],[102.49681,32.013082],[102.49714,32.013105],[102.49715,32.013106],[102.49755,32.013144],[102.497802,32.013144],[102.498054,32.013144],[102.498368,32.01312],[102.498604,32.013063],[102.498839,32.013006],[102.499015,32.012973],[102.499187,32.012901],[102.499253,32.012873],[102.499501,32.012768],[102.499715,32.012659],[102.499972,32.012535],[102.50017,32.012468],[102.500252,32.012417],[102.500282,32.012416],[102.500405,32.012412],[102.50071,32.012401],[102.500916,32.012393],[102.501128,32.012416],[102.501304,32.012449],[102.501604,32.012459],[102.501833,32.012459],[102.50218,32.012445],[102.502399,32.012445],[102.502811,32.012411],[102.502923,32.012402],[102.502965,32.012397],[102.50321,32.012368],[102.503456,32.01234],[102.503853,32.012371],[102.50425,32.012402],[102.504488,32.012452],[102.504726,32.012502],[102.505031,32.012583],[102.505353,32.012752],[102.505383,32.012768],[102.505599,32.012866],[102.505816,32.012963],[102.50604,32.013049],[102.506411,32.013168],[102.506539,32.013168],[102.506701,32.013163],[102.506982,32.013173],[102.507139,32.013201],[102.507286,32.01322],[102.507439,32.013206],[102.507639,32.013182],[102.507877,32.013135],[102.508057,32.013063],[102.508262,32.012987],[102.508476,32.012954],[102.508733,32.012835],[102.508897,32.012652],[102.509062,32.012468],[102.509204,32.012188],[102.509209,32.012182],[102.509317,32.012058],[102.509364,32.012004],[102.509518,32.011826],[102.509699,32.011636],[102.509999,32.011469],[102.510242,32.011345],[102.510656,32.011226],[102.510965,32.011169],[102.511023,32.011159],[102.511246,32.011122],[102.511484,32.01106],[102.511727,32.01096],[102.511879,32.010798],[102.512045,32.01056],[102.512212,32.010322],[102.512421,32.009932],[102.512476,32.009607],[102.512548,32.009182],[102.512574,32.009032],[102.512672,32.008607],[102.51277,32.008182],[102.512869,32.007757],[102.512954,32.007459],[102.51304,32.00716],[102.513073,32.007043],[102.513133,32.006887],[102.513273,32.00652],[102.513392,32.006334],[102.513559,32.00613],[102.513825,32.005887],[102.514032,32.005765],[102.514239,32.005644],[102.514522,32.005542],[102.514806,32.005439],[102.515116,32.005365],[102.515427,32.00529],[102.515738,32.005216],[102.516143,32.005087],[102.516305,32.004992],[102.516419,32.00483],[102.516471,32.004669],[102.516562,32.004388],[102.51669,32.004126],[102.516776,32.003998],[102.516966,32.003874],[102.517214,32.003783],[102.517461,32.003693],[102.517725,32.003614],[102.517989,32.003536],[102.518372,32.003419],[102.518475,32.003388],[102.518755,32.003346],[102.518823,32.003337],[102.518984,32.003317],[102.519217,32.003288],[102.519531,32.003246],[102.519798,32.003165],[102.520107,32.003027],[102.520416,32.002889],[102.520591,32.002823],[102.520695,32.002825],[102.520852,32.002876],[102.521159,32.003103],[102.52152,32.003322],[102.521735,32.00355],[102.521949,32.003779],[102.522156,32.0041],[102.522363,32.004421],[102.52251,32.004531],[102.522682,32.004573],[102.522829,32.00455],[102.523072,32.004404],[102.523314,32.004259],[102.52369,32.004102],[102.523857,32.004026],[102.524123,32.003905],[102.52439,32.003783],[102.524623,32.003726],[102.524842,32.003726],[102.525042,32.00375],[102.525184,32.00375],[102.525204,32.00375],[102.525446,32.003702],[102.525632,32.003688],[102.525827,32.00365],[102.525999,32.003526],[102.526169,32.003336],[102.526203,32.003298],[102.526355,32.00307],[102.526562,32.002979],[102.526769,32.002889],[102.527105,32.002774],[102.52744,32.00266],[102.527702,32.002525],[102.527964,32.002389],[102.528259,32.002318],[102.528568,32.002327],[102.528835,32.002408],[102.528876,32.002424],[102.529025,32.002479],[102.529173,32.002465],[102.529252,32.002448],[102.52933,32.002432],[102.529744,32.00227],[102.53009,32.0022],[102.530435,32.00213],[102.530781,32.002061],[102.530981,32.00197],[102.531072,32.00191],[102.531134,32.001892],[102.531316,32.001732],[102.531497,32.001572],[102.531648,32.001341],[102.531798,32.001111],[102.531902,32.000852],[102.532006,32.000594],[102.532048,32.000199],[102.532066,32.000145],[102.532078,32.000111],[102.532206,31.999738],[102.5323,31.999466],[102.532468,31.999275],[102.532542,31.999191],[102.53269,31.998958],[102.532837,31.998725],[102.532924,31.998522],[102.533081,31.998203],[102.533237,31.997884],[102.533301,31.997792],[102.533508,31.997496],[102.533703,31.997131],[102.533898,31.996767],[102.533927,31.996712],[102.534115,31.996445],[102.534303,31.996179],[102.534561,31.995885],[102.53482,31.995592],[102.535079,31.995298],[102.535233,31.995103],[102.535388,31.994908],[102.535631,31.994727],[102.535907,31.994556],[102.53613,31.994423],[102.53624,31.994242],[102.536368,31.99408],[102.536613,31.993928],[102.536858,31.993775],[102.537089,31.99364],[102.53732,31.993504],[102.537482,31.993385],[102.537591,31.993242],[102.537739,31.992966],[102.537905,31.992778],[102.538072,31.99259],[102.538286,31.992352],[102.538538,31.992224],[102.538881,31.992134],[102.539205,31.992086],[102.539492,31.992119],[102.53958,31.992129],[102.539757,31.992076],[102.54,31.991885],[102.540236,31.991772],[102.540488,31.991652],[102.54079,31.991358],[102.540822,31.991286],[102.540972,31.991086],[102.541122,31.990887],[102.541259,31.990675],[102.541346,31.990539],[102.541422,31.990289],[102.541498,31.99004],[102.541475,31.989816],[102.541379,31.989488],[102.541275,31.989169],[102.54127,31.98901],[102.541265,31.988817],[102.541265,31.988436],[102.541229,31.9882],[102.541203,31.988036],[102.541084,31.987698],[102.541075,31.987384],[102.541102,31.987018],[102.541113,31.98687],[102.54116,31.986487],[102.541208,31.986104],[102.541346,31.985766],[102.541407,31.985669],[102.541603,31.985356],[102.541798,31.985043],[102.542027,31.984757],[102.542317,31.9845],[102.542612,31.984291],[102.542671,31.984264],[102.54305,31.984091],[102.54334,31.983905],[102.543445,31.983767],[102.543554,31.983496],[102.543641,31.983306],[102.543697,31.983182],[102.543949,31.982887],[102.544172,31.982561],[102.544396,31.982236],[102.544416,31.982206],[102.544525,31.981949],[102.544544,31.981745],[102.544525,31.981671],[102.544416,31.981255],[102.544392,31.981002],[102.544368,31.98075],[102.544344,31.980455],[102.544388,31.980269],[102.544463,31.979951],[102.544554,31.979646],[102.544638,31.979539],[102.544696,31.979465],[102.544925,31.979303],[102.545106,31.978999],[102.545286,31.978694],[102.545467,31.97839],[102.545645,31.978088],[102.545823,31.977787],[102.546,31.977486],[102.546272,31.977157],[102.546483,31.976998],[102.546695,31.976838],[102.546969,31.976608],[102.547242,31.976377],[102.547388,31.976174],[102.547533,31.975972],[102.547656,31.975696],[102.547837,31.975506],[102.54791,31.975445],[102.548004,31.975368],[102.548133,31.975294],[102.548204,31.975254],[102.548537,31.975063],[102.548727,31.97493],[102.548778,31.974838],[102.548924,31.974577],[102.54907,31.974316],[102.549148,31.9741],[102.549227,31.973883],[102.549255,31.973583],[102.54926,31.973379],[102.549312,31.973079],[102.549293,31.972879],[102.549232,31.972746],[102.549241,31.972679],[102.549251,31.97261],[102.54926,31.972551],[102.549379,31.972289],[102.549591,31.972058],[102.549803,31.971827],[102.549824,31.97181],[102.550058,31.97162],[102.550292,31.971431],[102.550526,31.971242],[102.550712,31.97108],[102.550921,31.971013],[102.551161,31.970992],[102.551402,31.970971],[102.551728,31.970928],[102.552054,31.970886],[102.552274,31.970902],[102.552522,31.970957],[102.55277,31.971012],[102.552974,31.971042],[102.553349,31.971067],[102.553473,31.971075],[102.553708,31.97108],[102.553906,31.971042],[102.553944,31.971034],[102.554239,31.97099],[102.55448,31.97077],[102.554647,31.97056],[102.554814,31.97035],[102.554865,31.970094],[102.554916,31.969839],[102.554967,31.969584],[102.555018,31.969329],[102.555087,31.96893],[102.555157,31.968532],[102.555177,31.968414],[102.555152,31.968396],[102.555152,31.968272],[102.55519,31.968063],[102.555342,31.967682],[102.55549,31.96748],[102.55568,31.967221],[102.555801,31.96698],[102.55585,31.966884],[102.555923,31.96674],[102.556094,31.966378],[102.556265,31.966017],[102.556465,31.965679],[102.556665,31.965341],[102.556941,31.965044],[102.557217,31.964748],[102.557493,31.964451],[102.557636,31.964156],[102.557677,31.96402],[102.557717,31.963889],[102.557707,31.963761],[102.557674,31.963666],[102.557674,31.963504],[102.557726,31.963318],[102.557883,31.963204],[102.557976,31.963092],[102.557977,31.963091],[102.557978,31.96309],[102.558088,31.962811],[102.558197,31.962533],[102.558388,31.962167],[102.558526,31.962024],[102.558707,31.961957],[102.558849,31.961924],[102.559173,31.961795],[102.559492,31.961505],[102.559677,31.961391],[102.559834,31.961315],[102.559944,31.961243],[102.560006,31.961058],[102.56022,31.960668],[102.560467,31.96048],[102.560715,31.960292],[102.560973,31.960092],[102.561232,31.959892],[102.561491,31.959692],[102.561769,31.959487],[102.562047,31.959283],[102.562404,31.959149],[102.562695,31.959059],[102.562789,31.959033],[102.56319,31.958921],[102.563494,31.958821],[102.563799,31.958721],[102.564127,31.958588],[102.564351,31.958478],[102.564631,31.958355],[102.564974,31.95824],[102.565191,31.958089],[102.565413,31.957934],[102.565636,31.957779],[102.56584,31.957565],[102.566045,31.957351],[102.566207,31.957279],[102.566478,31.957236],[102.566811,31.957184],[102.567054,31.957113],[102.56733,31.956908],[102.567615,31.95657],[102.567644,31.956513],[102.567801,31.956206],[102.567986,31.955842],[102.568245,31.955499],[102.568504,31.955157],[102.568762,31.954814],[102.568843,31.954586],[102.568924,31.954357],[102.569005,31.954067],[102.569042,31.953958],[102.569043,31.953956],[102.569044,31.953954],[102.569133,31.953691],[102.5694,31.953477],[102.569666,31.953263],[102.570004,31.952977],[102.570095,31.952806],[102.570102,31.952758],[102.570147,31.952482],[102.570143,31.952378],[102.570142,31.952328],[102.570138,31.952211],[102.570118,31.951949],[102.570044,31.951767],[102.569985,31.951626],[102.569961,31.951473],[102.56998,31.951078],[102.569957,31.950907],[102.569933,31.950764],[102.569831,31.950438],[102.569728,31.950112],[102.569676,31.94995],[102.569671,31.949822],[102.569764,31.949426],[102.569771,31.949398],[102.569807,31.949207],[102.569877,31.948836],[102.569947,31.948466],[102.569949,31.948447],[102.569984,31.948152],[102.570019,31.947857],[102.569966,31.947614],[102.569857,31.947364],[102.569747,31.947114],[102.569552,31.946767],[102.569357,31.946419],[102.569176,31.94601],[102.568951,31.945814],[102.568881,31.945753],[102.568641,31.945429],[102.568401,31.945106],[102.568348,31.945015],[102.568353,31.944873],[102.56844,31.94469],[102.568448,31.944673],[102.568619,31.944461],[102.568853,31.944116],[102.568967,31.943921],[102.569019,31.94374],[102.569019,31.943521],[102.569014,31.943326],[102.569008,31.943255],[102.569,31.943169],[102.568953,31.942988],[102.568748,31.94265],[102.56861,31.942469],[102.568472,31.942289],[102.568433,31.942222],[102.568324,31.942036],[102.568248,31.941894],[102.568239,31.941722],[102.568327,31.941491],[102.568415,31.941261],[102.568581,31.941061],[102.568748,31.940861],[102.568881,31.940661],[102.569088,31.940547],[102.569295,31.940433],[102.569533,31.940349],[102.569771,31.940266],[102.570045,31.940111],[102.570318,31.939957],[102.570635,31.939835],[102.570951,31.939714],[102.571364,31.939575],[102.571475,31.939538],[102.57151,31.939521],[102.57166,31.939448],[102.571822,31.939338],[102.572122,31.939219],[102.572408,31.939024],[102.572669,31.938743],[102.572812,31.9386],[102.572991,31.938434],[102.573169,31.938267],[102.573469,31.938063],[102.573564,31.937863],[102.573616,31.93772],[102.573792,31.937539],[102.573968,31.937358],[102.574264,31.937039],[102.574471,31.936923],[102.574678,31.936806],[102.574835,31.936697],[102.575101,31.936378],[102.575258,31.936097],[102.575415,31.935816],[102.575517,31.935571],[102.57562,31.935326],[102.575824,31.935117],[102.576029,31.934907],[102.576086,31.934855],[102.576224,31.934855],[102.576383,31.934901],[102.576438,31.934917],[102.576741,31.935012],[102.577043,31.935107],[102.5774,31.935184],[102.577718,31.935248],[102.578037,31.935312],[102.578375,31.935382],[102.578404,31.935388],[102.578749,31.935541],[102.578832,31.935578],[102.579155,31.935756],[102.579477,31.935934],[102.57987,31.93615],[102.580117,31.936307],[102.580226,31.936326],[102.580273,31.936332],[102.580522,31.936364],[102.580916,31.936554],[102.581083,31.936678],[102.581335,31.936854],[102.581464,31.936921],[102.581539,31.936965],[102.581616,31.937011],[102.581726,31.93712],[102.581992,31.937468],[102.58226,31.937698],[102.582464,31.937873],[102.582668,31.938048],[102.582801,31.938144],[102.582872,31.938191],[102.583006,31.938224],[102.583313,31.938255],[102.58362,31.938286],[102.58386,31.938292],[102.584257,31.938301],[102.584424,31.938305],[102.584866,31.938329],[102.5852,31.938415],[102.585418,31.938522],[102.58549,31.938558],[102.585723,31.93871],[102.585885,31.938891],[102.585978,31.939098],[102.58607,31.939305],[102.586156,31.939462],[102.586204,31.939557],[102.586461,31.939823],[102.58668,31.940066],[102.586898,31.940309],[102.587015,31.94042],[102.587094,31.940494],[102.587289,31.94068],[102.587357,31.940712],[102.587736,31.940889],[102.587836,31.941008],[102.587964,31.941323],[102.587991,31.941376],[102.588074,31.941537],[102.588088,31.941565],[102.588245,31.941922],[102.588383,31.942217],[102.588583,31.942389],[102.58875,31.94246],[102.588767,31.942472],[102.588814,31.942505],[102.588956,31.942604],[102.589145,31.942736],[102.58925,31.942782],[102.589354,31.942826],[102.589506,31.942941],[102.589835,31.943212],[102.5899,31.943249],[102.590268,31.943459],[102.590415,31.943688],[102.590658,31.943983],[102.590798,31.944187],[102.590939,31.944392],[102.591172,31.944613],[102.591405,31.944835],[102.59152,31.945066],[102.59173,31.945392],[102.591912,31.945564],[102.592095,31.945737],[102.592278,31.945909],[102.59246,31.946081],[102.592643,31.946253],[102.592826,31.946426],[102.592914,31.946509],[102.592914,31.946509],[102.593008,31.946598],[102.593191,31.94677],[102.593374,31.946942],[102.593556,31.947114],[102.593726,31.947282],[102.593895,31.94745],[102.594064,31.947618],[102.594234,31.947786],[102.594403,31.947954],[102.594572,31.948122],[102.594742,31.94829],[102.594911,31.948458],[102.59508,31.948626],[102.59525,31.948794],[102.595419,31.948962],[102.595589,31.94913],[102.595781,31.949312],[102.595973,31.949494],[102.596165,31.949676],[102.596357,31.949858],[102.596549,31.95004],[102.596741,31.950222],[102.596933,31.950404],[102.597125,31.950586],[102.597317,31.950768],[102.597509,31.95095],[102.597701,31.951132],[102.597874,31.951296],[102.597893,31.951314],[102.598091,31.95148],[102.598289,31.951646],[102.598487,31.951812],[102.598686,31.951979],[102.598884,31.952145],[102.599082,31.952311],[102.59928,31.952478],[102.599479,31.952644],[102.599677,31.95281],[102.599875,31.952976],[102.600183,31.953191],[102.600491,31.953405],[102.600798,31.953619],[102.601058,31.953732],[102.601161,31.953776],[102.601524,31.953933],[102.601933,31.954028],[102.602342,31.954123],[102.602737,31.954194],[102.603132,31.954264],[102.603468,31.954308],[102.603804,31.954352],[102.604233,31.954427],[102.604662,31.954502],[102.605091,31.954577],[102.605513,31.954727],[102.605935,31.954876],[102.606357,31.955026],[102.606463,31.955064],[102.606779,31.955176],[102.607201,31.955326],[102.607476,31.955369],[102.60775,31.955411],[102.608024,31.955454],[102.608298,31.955497],[102.608572,31.955539],[102.608846,31.955582],[102.60912,31.955624],[102.609394,31.955667],[102.609661,31.955682],[102.609928,31.955697],[102.610195,31.955712],[102.610462,31.955727],[102.610729,31.955742],[102.610996,31.955757],[102.611263,31.955772],[102.61153,31.955787],[102.611797,31.955802],[102.612064,31.955818],[102.612308,31.955817],[102.612551,31.955817],[102.612795,31.955816],[102.613039,31.955816],[102.613283,31.955815],[102.613526,31.955815],[102.61377,31.955814],[102.614014,31.955814],[102.614257,31.955813],[102.614501,31.955813],[102.614874,31.955828],[102.614921,31.95583],[102.615342,31.955846],[102.615762,31.955863],[102.61599,31.955864],[102.616217,31.955865],[102.616445,31.955866],[102.616672,31.955867],[102.6169,31.955868],[102.617128,31.955869],[102.617355,31.95587],[102.617518,31.955871],[102.617583,31.955871],[102.617812,31.955863],[102.618041,31.955855],[102.618271,31.955847],[102.6185,31.955839],[102.618729,31.955831],[102.618959,31.955823],[102.619354,31.955855],[102.61975,31.955888],[102.619976,31.955923],[102.620203,31.955958],[102.620429,31.955994],[102.620655,31.956029],[102.62105,31.9561],[102.621446,31.95617],[102.621815,31.956252],[102.622185,31.956334],[102.622397,31.956381],[102.622555,31.956416],[102.622963,31.956523],[102.623372,31.956631],[102.623733,31.956838],[102.624094,31.957045],[102.624281,31.957199],[102.624468,31.957352],[102.624655,31.957506],[102.624738,31.957574],[102.624843,31.957659],[102.625026,31.95779],[102.625209,31.957921],[102.625393,31.958051],[102.625576,31.958182],[102.625759,31.958313],[102.625943,31.958443],[102.626166,31.958603],[102.626285,31.958687],[102.626516,31.958817],[102.626748,31.958946],[102.626979,31.959075],[102.627211,31.959205],[102.627442,31.959334],[102.627674,31.959463],[102.62792,31.959587],[102.628054,31.959654],[102.628055,31.959654],[102.628167,31.95971],[102.628413,31.959834],[102.62866,31.959957],[102.628973,31.960066],[102.629038,31.960089],[102.629416,31.960221],[102.629826,31.960287],[102.630236,31.960353],[102.630645,31.960419],[102.630878,31.96045],[102.63111,31.960482],[102.631343,31.960514],[102.631575,31.960546],[102.631807,31.960577],[102.63204,31.960609],[102.632272,31.960641],[102.632505,31.960672],[102.632737,31.960704],[102.632969,31.960736],[102.633202,31.960767],[102.633356,31.960788],[102.633434,31.960799],[102.633694,31.960836],[102.633954,31.960873],[102.634214,31.960911],[102.634473,31.960948],[102.634733,31.960985],[102.634993,31.961022],[102.635309,31.961028],[102.635624,31.961034],[102.635773,31.961016],[102.635879,31.961002],[102.636133,31.96097],[102.636366,31.960921],[102.636508,31.960891],[102.636516,31.960889],[102.636549,31.960882],[102.6366,31.960872],[102.636644,31.960851],[102.636898,31.960734],[102.637132,31.960543],[102.637199,31.960489],[102.637373,31.960276],[102.637485,31.960096],[102.637508,31.960059],[102.637563,31.959971],[102.637653,31.959827],[102.637712,31.959732],[102.637753,31.959666],[102.637783,31.959617],[102.637814,31.959566],[102.637971,31.959373],[102.638072,31.95925],[102.638213,31.959079],[102.638293,31.958981],[102.63831,31.958961],[102.638331,31.958935],[102.638404,31.958845],[102.638579,31.958632],[102.63859,31.958619],[102.638606,31.958606],[102.638635,31.958582],[102.638805,31.958443],[102.639015,31.958272],[102.639226,31.9581],[102.639436,31.957928],[102.639647,31.957757],[102.63991,31.957601],[102.63995,31.957577],[102.64,31.957548],[102.640029,31.957531],[102.640172,31.957446],[102.640462,31.95713],[102.640659,31.956794],[102.640856,31.956457],[102.641015,31.956239],[102.641173,31.956022],[102.641189,31.955999],[102.641331,31.955805],[102.641489,31.955588],[102.641815,31.955348],[102.64214,31.955108],[102.642466,31.954868],[102.642623,31.9547],[102.642624,31.954699],[102.642626,31.954697],[102.64278,31.954533],[102.642937,31.954366],[102.643094,31.954199],[102.643323,31.953816],[102.643552,31.953433],[102.643782,31.95305],[102.643863,31.952803],[102.643945,31.952556],[102.644026,31.952309],[102.644108,31.952062],[102.64419,31.951815],[102.644271,31.951568],[102.64434,31.95136],[102.644353,31.951321],[102.644366,31.951281],[102.644435,31.951074],[102.644516,31.950827],[102.644574,31.950651],[102.644596,31.950585],[102.644597,31.950583],[102.644598,31.95058],[102.644656,31.950141],[102.644657,31.950109],[102.644657,31.950085],[102.644659,31.950031],[102.644662,31.949901],[102.644384,31.949696],[102.644109,31.94941],[102.643834,31.949125],[102.64356,31.948839],[102.643355,31.948574],[102.643151,31.94831],[102.643086,31.948078],[102.643021,31.947847],[102.642956,31.947615],[102.642892,31.947383],[102.64284,31.946942],[102.642789,31.9465],[102.642737,31.946058],[102.642709,31.945731],[102.642701,31.945644],[102.642689,31.945509],[102.642674,31.945334],[102.642665,31.945229],[102.642662,31.945195],[102.642662,31.945195],[102.642628,31.944814],[102.642671,31.944564],[102.642715,31.944314],[102.642758,31.944064],[102.642801,31.943813],[102.642844,31.943563],[102.642888,31.943313],[102.642928,31.943077],[102.642931,31.943062],[102.642974,31.942812],[102.643017,31.942562],[102.64306,31.942312],[102.643067,31.942178],[102.643077,31.941998],[102.643077,31.941989],[102.643083,31.941871],[102.643084,31.941869],[102.643084,31.941867],[102.643091,31.941725],[102.643107,31.941431],[102.643107,31.941431],[102.643107,31.941431],[102.643113,31.941304],[102.64313,31.940991],[102.643152,31.940562],[102.643153,31.940551],[102.643198,31.9404],[102.643203,31.940384],[102.643255,31.940212],[102.643282,31.940122],[102.643303,31.940055],[102.643307,31.94004],[102.643352,31.939892],[102.643357,31.939873],[102.643503,31.939696],[102.643649,31.939518],[102.643794,31.93934],[102.64394,31.939163],[102.644085,31.938985],[102.644231,31.938808],[102.644489,31.938505],[102.644748,31.938203],[102.645006,31.937901],[102.645269,31.937766],[102.645532,31.93763],[102.645633,31.937616],[102.645791,31.937595],[102.646051,31.937559],[102.646297,31.937579],[102.64639,31.937586],[102.646422,31.937589],[102.646502,31.937595],[102.646502,31.937595],[102.646502,31.937595],[102.646544,31.937598],[102.64679,31.937618],[102.647035,31.937637],[102.647035,31.937638],[102.647036,31.937638],[102.647202,31.937651],[102.647283,31.937657],[102.6473,31.937659],[102.647529,31.937677],[102.647761,31.937695],[102.647776,31.937696],[102.647876,31.937704],[102.648022,31.937716],[102.6482,31.937747],[102.648251,31.937756],[102.648481,31.937797],[102.648679,31.937831],[102.64871,31.937837],[102.648785,31.93785],[102.648842,31.93786],[102.648939,31.937877],[102.649024,31.937892],[102.649169,31.937918],[102.649398,31.937958],[102.649627,31.937998],[102.649857,31.938038],[102.650086,31.938079],[102.650315,31.938119],[102.65055,31.938163],[102.650784,31.938208],[102.651018,31.938252],[102.651252,31.938296],[102.651333,31.938306],[102.651608,31.938339],[102.65165,31.938344],[102.651663,31.938346],[102.651736,31.938354],[102.651918,31.938376],[102.652049,31.938392],[102.652378,31.938398],[102.652706,31.938404],[102.652789,31.938385],[102.653038,31.938331],[102.653163,31.938228],[102.653177,31.938217],[102.653224,31.938179],[102.65323,31.938174],[102.653257,31.938073],[102.653283,31.937973],[102.653195,31.937731],[102.653059,31.937509],[102.652924,31.937286],[102.652716,31.937132],[102.65257,31.937024],[102.652508,31.936978],[102.6523,31.936824],[102.652092,31.93667],[102.651893,31.93658],[102.65169,31.936489],[102.651288,31.936308],[102.650885,31.936127],[102.650667,31.936027],[102.650448,31.935926],[102.650229,31.935826],[102.650011,31.935726],[102.649792,31.935626],[102.649573,31.935525],[102.649355,31.935425],[102.649136,31.935325],[102.648917,31.935225],[102.648699,31.935124],[102.648325,31.935017],[102.647951,31.93491],[102.647769,31.934707],[102.647766,31.934695],[102.647751,31.934639],[102.647751,31.934637],[102.647727,31.934546],[102.647731,31.93439],[102.647732,31.934346],[102.647903,31.934183],[102.648075,31.93402],[102.648246,31.933857],[102.648418,31.933695],[102.648611,31.933518],[102.648803,31.933341],[102.648996,31.933164],[102.649189,31.932987],[102.64925,31.932888],[102.649256,31.93288],[102.649385,31.932671],[102.649581,31.932354],[102.649682,31.93219],[102.649777,31.932037],[102.649873,31.931882],[102.649948,31.93176],[102.65012,31.931483],[102.650199,31.931144],[102.650229,31.931016],[102.650279,31.930805],[102.650285,31.930534],[102.650292,31.930264],[102.650299,31.929994],[102.650306,31.929723],[102.650271,31.929282],[102.650232,31.928881],[102.650285,31.928661],[102.650338,31.928442],[102.650391,31.928222],[102.650444,31.928003],[102.65048,31.927753],[102.650515,31.927503],[102.650551,31.927254],[102.650587,31.927004],[102.650622,31.926754],[102.650658,31.926504],[102.650693,31.926255],[102.650729,31.926005],[102.650759,31.925605],[102.650788,31.925204],[102.650818,31.924804],[102.650852,31.924528],[102.650936,31.924391],[102.651128,31.924257],[102.651371,31.924239],[102.651642,31.924243],[102.651935,31.92441],[102.652228,31.924576],[102.652399,31.924737],[102.65257,31.924899],[102.652742,31.92506],[102.652913,31.925222],[102.653084,31.925383],[102.653255,31.925545],[102.653427,31.925706],[102.653598,31.925867],[102.653892,31.925989],[102.654042,31.926023],[102.654109,31.926038],[102.654158,31.926045],[102.654295,31.926064],[102.654486,31.926023],[102.654733,31.925842],[102.654874,31.925637],[102.655011,31.925439],[102.655015,31.925433],[102.655051,31.925363],[102.655086,31.925292],[102.655142,31.925182],[102.655269,31.924932],[102.655363,31.924496],[102.655316,31.924197],[102.655247,31.923956],[102.655246,31.923951],[102.655221,31.923862],[102.655179,31.923715],[102.65511,31.923475],[102.655042,31.923234],[102.654807,31.922855],[102.654699,31.92268],[102.654572,31.922475],[102.654464,31.922374],[102.65435,31.922266],[102.654127,31.922057],[102.654079,31.921902],[102.654028,31.921733],[102.654027,31.921726],[102.65401,31.921365],[102.654048,31.921294],[102.654083,31.92123],[102.654139,31.921125],[102.65416,31.921085],[102.654168,31.921071],[102.654181,31.921046],[102.654271,31.92091],[102.654405,31.920705],[102.654572,31.920547],[102.654789,31.920459],[102.655062,31.920395],[102.655318,31.920388],[102.655574,31.920382],[102.655822,31.920386],[102.655872,31.920387],[102.656144,31.920392],[102.656169,31.920392],[102.656505,31.920456],[102.656841,31.92052],[102.657163,31.920572],[102.657486,31.920624],[102.657863,31.920666],[102.65824,31.920707],[102.658523,31.920735],[102.658806,31.920763],[102.659144,31.92077],[102.659448,31.920776],[102.659481,31.920776],[102.659725,31.920734],[102.65981,31.920726],[102.660019,31.920704],[102.660312,31.920674],[102.66055,31.920502],[102.660787,31.92033],[102.66082,31.920282],[102.660829,31.920269],[102.660838,31.920255],[102.660922,31.920134],[102.661045,31.919955],[102.661057,31.919937],[102.661063,31.919903],[102.661082,31.919806],[102.661116,31.91963],[102.660812,31.919358],[102.660427,31.919197],[102.660043,31.919035],[102.659811,31.918942],[102.65958,31.918849],[102.659378,31.918668],[102.659175,31.918488],[102.659064,31.918243],[102.658954,31.917998],[102.658843,31.917753],[102.658732,31.917508],[102.658635,31.917142],[102.658554,31.916837],[102.658538,31.916777],[102.65853,31.916748],[102.65847,31.916521],[102.658402,31.916265],[102.658393,31.916167],[102.658393,31.916166],[102.658388,31.91611],[102.658385,31.916088],[102.658361,31.915823],[102.658063,31.915602],[102.658056,31.915596],[102.657746,31.915524],[102.657436,31.915452],[102.657178,31.915403],[102.656921,31.915354],[102.656663,31.915305],[102.656405,31.915256],[102.656097,31.915118],[102.65579,31.91498],[102.655546,31.914898],[102.655302,31.914817],[102.655058,31.914735],[102.654814,31.914653],[102.654584,31.914516],[102.654354,31.914379],[102.654287,31.914239],[102.654258,31.914177],[102.654248,31.914157],[102.654206,31.914067],[102.654109,31.9138],[102.654171,31.91336],[102.654237,31.913094],[102.654303,31.912827],[102.654487,31.912643],[102.654671,31.912458],[102.654855,31.912274],[102.655016,31.912113],[102.65504,31.912089],[102.655436,31.911926],[102.655832,31.911763],[102.656229,31.9116],[102.656625,31.911437],[102.656964,31.911266],[102.657304,31.911096],[102.657643,31.910925],[102.657871,31.910767],[102.658099,31.910609],[102.658247,31.910346],[102.658249,31.910232],[102.658254,31.909963],[102.658228,31.909668],[102.658113,31.909415],[102.657998,31.909162],[102.657744,31.908936],[102.657491,31.90871],[102.657173,31.908498],[102.656855,31.908286],[102.656538,31.908073],[102.656181,31.907816],[102.655873,31.907594],[102.655824,31.907558],[102.655742,31.907491],[102.655587,31.907363],[102.655349,31.907167],[102.655209,31.906939],[102.655184,31.906898],[102.655184,31.906887],[102.655192,31.906468],[102.655259,31.90624],[102.655325,31.906013],[102.655376,31.905838],[102.655392,31.905785],[102.655458,31.905557],[102.655577,31.905324],[102.655695,31.90509],[102.655813,31.904856],[102.655932,31.904622],[102.656093,31.904389],[102.656113,31.904361],[102.656255,31.904156],[102.656607,31.903928],[102.65686,31.903852],[102.657112,31.903775],[102.657365,31.903698],[102.657618,31.903622],[102.657857,31.903582],[102.658096,31.903542],[102.658335,31.903502],[102.658574,31.903462],[102.658813,31.903422],[102.659052,31.903382],[102.659291,31.903342],[102.659529,31.903302],[102.659946,31.903266],[102.660121,31.903251],[102.660293,31.903236],[102.660363,31.90323],[102.660675,31.903206],[102.66083,31.903195],[102.66087,31.903193],[102.66102,31.903183],[102.66116,31.903127],[102.661228,31.903072],[102.661267,31.90304],[102.661377,31.902806],[102.661383,31.902541],[102.661286,31.902302],[102.661099,31.902122],[102.660913,31.901942],[102.660807,31.90187],[102.660763,31.90184],[102.660699,31.901796],[102.660655,31.901767],[102.660626,31.901747],[102.660503,31.901663],[102.660484,31.901651],[102.66027,31.901505],[102.660056,31.90136],[102.659842,31.901215],[102.659627,31.901069],[102.659413,31.900924],[102.659199,31.900778],[102.658985,31.900633],[102.65877,31.900487],[102.658578,31.900331],[102.658386,31.900176],[102.658194,31.90002],[102.658002,31.899864],[102.65781,31.899708],[102.657618,31.899552],[102.657449,31.899372],[102.65728,31.899192],[102.657254,31.899078],[102.657221,31.89894],[102.657218,31.898925],[102.657156,31.898659],[102.657197,31.898394],[102.657239,31.898129],[102.657417,31.897911],[102.657595,31.897693],[102.657617,31.897685],[102.657784,31.897622],[102.657944,31.897562],[102.658294,31.897431],[102.658643,31.8973],[102.658896,31.897256],[102.659149,31.897213],[102.659403,31.897169],[102.659656,31.897125],[102.659909,31.897081],[102.66004,31.897058],[102.660162,31.897037],[102.660416,31.896993],[102.660669,31.89695],[102.660922,31.896906],[102.661175,31.896862],[102.661429,31.896818],[102.661682,31.896774],[102.661935,31.89673],[102.662164,31.896691],[102.662188,31.896687],[102.662561,31.896647],[102.662705,31.896632],[102.662868,31.896615],[102.662935,31.896608],[102.663308,31.896568],[102.663318,31.896565],[102.663656,31.896456],[102.664005,31.896344],[102.664165,31.896185],[102.664183,31.896166],[102.664238,31.896111],[102.664324,31.896025],[102.664329,31.895993],[102.664331,31.89598],[102.664334,31.895962],[102.664366,31.895761],[102.664358,31.89572],[102.664305,31.895436],[102.664101,31.895284],[102.663897,31.895133],[102.663687,31.895006],[102.663476,31.894879],[102.663266,31.894753],[102.663056,31.894626],[102.662845,31.894499],[102.662635,31.894372],[102.662425,31.894246],[102.662215,31.894119],[102.662004,31.893992],[102.661794,31.893866],[102.661584,31.893739],[102.661373,31.893612],[102.661161,31.893472],[102.660949,31.893332],[102.660737,31.893193],[102.660525,31.893053],[102.66022,31.892735],[102.66007,31.892526],[102.659919,31.892316],[102.659836,31.892166],[102.659821,31.892139],[102.659754,31.892019],[102.659749,31.891965],[102.659742,31.891889],[102.659727,31.891723],[102.659873,31.891431],[102.660242,31.891188],[102.660611,31.890944],[102.660874,31.890816],[102.661137,31.890689],[102.661331,31.890529],[102.661526,31.89037],[102.661774,31.890154],[102.662021,31.889937],[102.662165,31.889718],[102.662293,31.889523],[102.662309,31.889499],[102.66233,31.889458],[102.66234,31.889437],[102.662455,31.889207],[102.662601,31.888915],[102.662643,31.888842],[102.662697,31.888748],[102.662727,31.888696],[102.662813,31.888545],[102.662818,31.888536],[102.663067,31.888274],[102.663379,31.888222],[102.66363,31.888205],[102.663882,31.888187],[102.664133,31.88817],[102.664385,31.888152],[102.664614,31.88816],[102.664843,31.888168],[102.665072,31.888176],[102.665301,31.888184],[102.66553,31.888192],[102.665759,31.8882],[102.665988,31.888208],[102.666217,31.888216],[102.666587,31.888197],[102.666851,31.888184],[102.666958,31.888179],[102.667358,31.888098],[102.667708,31.888027],[102.667758,31.888017],[102.668177,31.887877],[102.668213,31.887848],[102.668495,31.887618],[102.668643,31.887238],[102.668645,31.887174],[102.668646,31.887125],[102.668648,31.887051],[102.668648,31.887043],[102.668653,31.886855],[102.668623,31.886794],[102.668488,31.886527],[102.668251,31.886346],[102.668013,31.886164],[102.667683,31.885991],[102.667352,31.885818],[102.667022,31.885645],[102.666762,31.885515],[102.666737,31.885503],[102.666714,31.885491],[102.666589,31.885358],[102.666546,31.885312],[102.666381,31.885013],[102.66627,31.884745],[102.666229,31.884646],[102.666076,31.88428],[102.665928,31.883922],[102.665924,31.883913],[102.66572,31.88364],[102.665672,31.883575],[102.665516,31.883368],[102.665331,31.883157],[102.665146,31.882947],[102.66501,31.882826],[102.664975,31.882636],[102.664963,31.882575],[102.664953,31.882519],[102.66495,31.882501],[102.664954,31.882344],[102.664958,31.882177],[102.665139,31.881885],[102.665357,31.881801],[102.665575,31.881716],[102.665793,31.881631],[102.666011,31.881547],[102.666197,31.881521],[102.666218,31.881518],[102.666382,31.881495],[102.666752,31.881443],[102.667122,31.881391],[102.667418,31.881323],[102.667471,31.88131],[102.667667,31.881265],[102.667714,31.881254],[102.66793,31.881179],[102.668145,31.881105],[102.66836,31.88103],[102.668575,31.880955],[102.668791,31.880881],[102.669006,31.880806],[102.669413,31.880666],[102.66982,31.880526],[102.670228,31.880387],[102.670526,31.8802],[102.670592,31.880159],[102.67066,31.880116],[102.670825,31.880013],[102.670849,31.879987],[102.671039,31.879782],[102.671277,31.879523],[102.671315,31.879246],[102.671323,31.878913],[102.671139,31.87852],[102.670832,31.878335],[102.670525,31.87815],[102.67014,31.877948],[102.669887,31.877816],[102.669755,31.877746],[102.669623,31.877678],[102.6695,31.877613],[102.66941,31.877566],[102.669369,31.877544],[102.669177,31.877444],[102.669123,31.877415],[102.668984,31.877342],[102.668776,31.877201],[102.668569,31.87706],[102.668375,31.876886],[102.66828,31.876772],[102.668236,31.876685],[102.668217,31.876648],[102.668186,31.876588],[102.668122,31.876462],[102.668157,31.876138],[102.668162,31.876094],[102.668421,31.875904],[102.668679,31.875714],[102.669027,31.875513],[102.669375,31.875311],[102.669723,31.87511],[102.670013,31.874942],[102.670311,31.874756],[102.67061,31.87457],[102.670823,31.874338],[102.671036,31.874106],[102.671163,31.873887],[102.67129,31.873668],[102.671357,31.873482],[102.671439,31.873258],[102.671446,31.872963],[102.671418,31.872698],[102.671346,31.872339],[102.671201,31.872166],[102.671118,31.872067],[102.670912,31.87182],[102.67089,31.871794],[102.670823,31.87176],[102.670751,31.871724],[102.670718,31.871707],[102.670669,31.871682],[102.670449,31.87157],[102.670228,31.871458],[102.670007,31.871345],[102.669786,31.871233],[102.669566,31.871121],[102.669345,31.871009],[102.669124,31.870896],[102.668741,31.870753],[102.668358,31.870611],[102.667974,31.870468],[102.66792,31.870441],[102.667919,31.870441],[102.667852,31.870408],[102.667837,31.870401],[102.667599,31.870284],[102.667395,31.870134],[102.667295,31.869954],[102.6673,31.869748],[102.667386,31.869525],[102.667471,31.869303],[102.667557,31.86908],[102.667642,31.868857],[102.667772,31.868642],[102.667901,31.868428],[102.66803,31.868213],[102.668159,31.867998],[102.668288,31.867784],[102.668417,31.867569],[102.668546,31.867354],[102.668675,31.86714],[102.668804,31.866925],[102.668933,31.86671],[102.669227,31.866384],[102.669521,31.866057],[102.669814,31.865731],[102.670108,31.865405],[102.67023,31.865212],[102.670352,31.86502],[102.670474,31.864827],[102.670596,31.864635],[102.670719,31.864442],[102.670841,31.86425],[102.670954,31.863883],[102.671031,31.863633],[102.671067,31.863517],[102.671125,31.863252],[102.671183,31.862988],[102.671156,31.862737],[102.671128,31.862486],[102.671091,31.862441],[102.670976,31.8623],[102.670914,31.862223],[102.670858,31.862155],[102.670605,31.8619],[102.670572,31.861867],[102.670473,31.861767],[102.670419,31.861713],[102.670418,31.861712],[102.670376,31.86167],[102.670371,31.861664],[102.670352,31.861645],[102.670184,31.861451],[102.670016,31.861256],[102.669935,31.861033],[102.669854,31.860811],[102.669878,31.860546],[102.669902,31.860281],[102.67005,31.85992],[102.670197,31.859559],[102.670345,31.859198],[102.670493,31.858807],[102.670641,31.858417],[102.670789,31.858026],[102.670868,31.857681],[102.670892,31.857421],[102.670904,31.857291],[102.670915,31.857166],[102.670915,31.857161],[102.670939,31.856901],[102.670963,31.856641],[102.670987,31.856381],[102.671011,31.856121],[102.67109,31.855699],[102.67117,31.855278],[102.67125,31.854856],[102.671364,31.854461],[102.671479,31.854065],[102.671577,31.853814],[102.671675,31.853563],[102.67178,31.853315],[102.671885,31.853067],[102.672123,31.852698],[102.672401,31.852482],[102.67249,31.852413],[102.67268,31.852265],[102.67276,31.852329],[102.672798,31.85236],[102.67292,31.852458],[102.67319,31.852728],[102.673436,31.853035],[102.673685,31.853353],[102.673933,31.853672],[102.674138,31.854025],[102.67431,31.854308],[102.674467,31.854632],[102.674623,31.8549],[102.674781,31.85514],[102.674831,31.855257],[102.674825,31.855671],[102.674821,31.855953],[102.674845,31.856319],[102.674869,31.856685],[102.674922,31.856852],[102.675111,31.857037],[102.675327,31.85725],[102.675341,31.857261],[102.675536,31.857404],[102.675731,31.857548],[102.675898,31.857768],[102.675963,31.858071],[102.675945,31.858321],[102.675871,31.858541],[102.675797,31.858761],[102.675797,31.859023],[102.675853,31.859259],[102.675856,31.859273],[102.675981,31.859475],[102.676058,31.859522],[102.676177,31.859594],[102.676505,31.859814],[102.676612,31.859915],[102.676689,31.860046],[102.676737,31.860189],[102.676784,31.86032],[102.676856,31.860433],[102.676939,31.860534],[102.677082,31.860671],[102.677314,31.860808],[102.677557,31.860909],[102.677843,31.861099],[102.678129,31.861289],[102.678295,31.861459],[102.678462,31.861628],[102.678503,31.861825],[102.678501,31.861893],[102.678497,31.862021],[102.678485,31.862289],[102.678474,31.862556],[102.67842,31.862818],[102.67839,31.863009],[102.678319,31.863305],[102.678248,31.863602],[102.678248,31.863603],[102.678248,31.863603],[102.678223,31.863687],[102.678223,31.863689],[102.67817,31.863871],[102.678027,31.864032],[102.677682,31.864222],[102.677593,31.864341],[102.677589,31.864459],[102.677587,31.86452],[102.677623,31.864769],[102.677659,31.864989],[102.677831,31.865299],[102.678004,31.86568],[102.678099,31.865804],[102.678277,31.86587],[102.678401,31.86591],[102.67844,31.865922],[102.678442,31.865923],[102.678444,31.865923],[102.678557,31.866025],[102.678569,31.866155],[102.678557,31.866286],[102.678527,31.866459],[102.678533,31.866631],[102.678652,31.86697],[102.678682,31.867119],[102.678682,31.867202],[102.67861,31.867315],[102.678521,31.867399],[102.678367,31.867494],[102.678057,31.86775],[102.677861,31.867916],[102.677737,31.86802],[102.677635,31.868107],[102.677436,31.868309],[102.677236,31.868511],[102.677088,31.86874],[102.677082,31.868749],[102.677082,31.868948],[102.677082,31.868975],[102.677093,31.869082],[102.677207,31.869433],[102.677409,31.869748],[102.677516,31.870141],[102.677555,31.870444],[102.677593,31.870748],[102.677617,31.870836],[102.677665,31.871014],[102.677742,31.871301],[102.67775,31.871323],[102.677871,31.871669],[102.677992,31.872015],[102.678033,31.87228],[102.678075,31.872544],[102.678111,31.872848],[102.678069,31.873264],[102.678013,31.873526],[102.677957,31.873788],[102.677891,31.874097],[102.677891,31.87421],[102.677891,31.874299],[102.677932,31.874382],[102.678051,31.87446],[102.678105,31.874502],[102.678349,31.874692],[102.678593,31.874882],[102.678771,31.875215],[102.678793,31.87529],[102.67886,31.875513],[102.678908,31.875816],[102.678979,31.876119],[102.679092,31.876328],[102.67919,31.876551],[102.679289,31.876774],[102.679402,31.876968],[102.679473,31.877089],[102.679526,31.877404],[102.679528,31.877433],[102.679544,31.877696],[102.679604,31.877934],[102.679741,31.878178],[102.679988,31.878499],[102.680056,31.878588],[102.680115,31.878721],[102.680199,31.878909],[102.680211,31.879177],[102.680208,31.879425],[102.680205,31.879861],[102.680175,31.880224],[102.680104,31.880593],[102.680032,31.880914],[102.679848,31.881116],[102.679613,31.881396],[102.679378,31.881675],[102.679146,31.882015],[102.678914,31.882354],[102.678696,31.882558],[102.678521,31.882722],[102.678515,31.882853],[102.678525,31.88289],[102.678539,31.882948],[102.678694,31.883056],[102.678725,31.883075],[102.678906,31.883189],[102.679117,31.883323],[102.679401,31.883664],[102.679685,31.884006],[102.679969,31.884348],[102.680253,31.884689],[102.680536,31.885031],[102.680348,31.885416],[102.680159,31.885801],[102.679971,31.886186],[102.679782,31.886571],[102.679594,31.886956],[102.679594,31.886957],[102.679593,31.886957],[102.679405,31.887341],[102.679217,31.887727],[102.679032,31.888008],[102.678847,31.88829],[102.67871,31.888506],[102.678573,31.888721],[102.678437,31.888936],[102.6783,31.889152],[102.678164,31.889367],[102.678027,31.889582],[102.677891,31.889798],[102.677754,31.890013],[102.677617,31.890229],[102.677481,31.890444],[102.677344,31.890659],[102.677208,31.890875],[102.677071,31.89109],[102.676934,31.891305],[102.676813,31.891521],[102.676691,31.891737],[102.67657,31.891953],[102.676448,31.892169],[102.676327,31.892385],[102.676205,31.892601],[102.676084,31.892817],[102.675962,31.893033],[102.67584,31.893249],[102.675719,31.893464],[102.675668,31.89359],[102.675629,31.893688],[102.675591,31.893782],[102.675547,31.893966],[102.675562,31.894151],[102.675596,31.894335],[102.675632,31.894453],[102.675739,31.894703],[102.675847,31.894952],[102.675954,31.895202],[102.676061,31.895451],[102.676273,31.89584],[102.676485,31.896228],[102.676698,31.896617],[102.67691,31.897006],[102.677023,31.897201],[102.677137,31.897396],[102.677251,31.897592],[102.677364,31.897787],[102.677478,31.897982],[102.677592,31.898177],[102.677704,31.898393],[102.677817,31.898609],[102.67793,31.898825],[102.678043,31.899041],[102.678155,31.899258],[102.678268,31.899474],[102.678381,31.89969],[102.678493,31.899906],[102.678605,31.900177],[102.678715,31.900547],[102.678757,31.900801],[102.6788,31.901054],[102.67885,31.901467],[102.678841,31.901787],[102.678796,31.902003],[102.678754,31.902138],[102.678712,31.902237],[102.678538,31.902404],[102.678364,31.902571],[102.67819,31.902738],[102.678016,31.902904],[102.677842,31.903071],[102.677668,31.903238],[102.677494,31.903405],[102.677319,31.903571],[102.677159,31.903751],[102.676998,31.90393],[102.676837,31.904109],[102.676676,31.904289],[102.676516,31.904468],[102.676355,31.904647],[102.676194,31.904826],[102.676034,31.905006],[102.675873,31.905185],[102.675712,31.905364],[102.675551,31.905544],[102.675391,31.905723],[102.67523,31.905902],[102.675069,31.906081],[102.674929,31.906261],[102.674788,31.906441],[102.674647,31.90662],[102.674507,31.9068],[102.674366,31.906979],[102.674225,31.907159],[102.674085,31.907338],[102.673944,31.907518],[102.673922,31.907651],[102.673923,31.907658],[102.673938,31.907769],[102.673947,31.90778],[102.674014,31.907855],[102.674111,31.907923],[102.674312,31.908025],[102.674513,31.908127],[102.674714,31.908229],[102.674915,31.90833],[102.675116,31.908432],[102.675318,31.908534],[102.675693,31.908742],[102.676069,31.908951],[102.676151,31.908996],[102.676445,31.909159],[102.676792,31.9094],[102.677042,31.90969],[102.677193,31.909928],[102.677286,31.910198],[102.677301,31.910383],[102.677297,31.910484],[102.677276,31.9106],[102.677273,31.910668],[102.677136,31.91089],[102.676999,31.911112],[102.676862,31.911334],[102.676725,31.911557],[102.676593,31.91179],[102.676461,31.912024],[102.676329,31.912257],[102.676197,31.912491],[102.676065,31.912724],[102.675933,31.912958],[102.675912,31.912996],[102.675801,31.913192],[102.675669,31.913425],[102.675555,31.9137],[102.67544,31.913974],[102.675345,31.914224],[102.67525,31.914474],[102.675214,31.914759],[102.675177,31.915044],[102.675164,31.915298],[102.675151,31.915553],[102.675138,31.915807],[102.675125,31.916061],[102.675111,31.916316],[102.675098,31.91657],[102.675111,31.916776],[102.675126,31.91704],[102.675163,31.917246],[102.675177,31.917319],[102.675229,31.917571],[102.675273,31.917684],[102.675378,31.91795],[102.675526,31.918329],[102.675608,31.918539],[102.675674,31.918708],[102.675794,31.919046],[102.675914,31.919383],[102.67598,31.9196],[102.676046,31.919818],[102.676112,31.920035],[102.676177,31.920252],[102.676243,31.92047],[102.676309,31.920687],[102.676375,31.920904],[102.676441,31.921122],[102.676484,31.921366],[102.676528,31.92161],[102.676523,31.921795],[102.676479,31.921928],[102.676378,31.922077],[102.676209,31.922267],[102.67604,31.922457],[102.675871,31.922647],[102.675702,31.922837],[102.675533,31.923027],[102.675364,31.923217],[102.675201,31.923417],[102.675038,31.923616],[102.674876,31.923816],[102.674713,31.924016],[102.674551,31.924216],[102.674388,31.924416],[102.674225,31.924615],[102.674063,31.924815],[102.6739,31.925015],[102.673737,31.925215],[102.67353,31.925598],[102.673445,31.925831],[102.673421,31.926049],[102.673416,31.92625],[102.673468,31.926469],[102.673523,31.926621],[102.673599,31.926774],[102.673886,31.927087],[102.674174,31.9274],[102.674462,31.927713],[102.674673,31.927952],[102.674786,31.928172],[102.674859,31.928391],[102.674876,31.928527],[102.67489,31.928729],[102.674876,31.928986],[102.674863,31.929243],[102.674849,31.929501],[102.674835,31.929758],[102.674821,31.930016],[102.674807,31.930273],[102.674793,31.93053],[102.674779,31.930788],[102.674777,31.931065],[102.674775,31.931342],[102.674773,31.931619],[102.674771,31.931896],[102.674703,31.932256],[102.674635,31.932615],[102.674569,31.932891],[102.674502,31.933167],[102.674476,31.933434],[102.674515,31.933616],[102.674565,31.933697],[102.67461,31.933768],[102.674898,31.934084],[102.674916,31.934103],[102.675186,31.934399],[102.675454,31.934701],[102.675721,31.935002],[102.675989,31.935303],[102.676136,31.935494],[102.676283,31.935685],[102.67643,31.935875],[102.676577,31.936066],[102.676724,31.936257],[102.676871,31.936448],[102.677018,31.936638],[102.677165,31.936829],[102.677312,31.93702],[102.677459,31.937211],[102.677647,31.937566],[102.67774,31.937828],[102.677832,31.938091],[102.677885,31.938391],[102.677937,31.938691],[102.677955,31.938955],[102.677973,31.93922],[102.677991,31.939484],[102.678009,31.939749],[102.678033,31.939993],[102.678056,31.940238],[102.67812,31.940457],[102.678183,31.940676],[102.678312,31.941039],[102.67844,31.941402],[102.678534,31.941622],[102.678627,31.941842],[102.678808,31.942114],[102.678988,31.942385],[102.679122,31.942622],[102.679256,31.942859],[102.679391,31.943096],[102.679525,31.943332],[102.679659,31.943569],[102.679793,31.943806],[102.679928,31.944043],[102.680062,31.94428],[102.680196,31.944517],[102.680331,31.944753],[102.680471,31.945077],[102.680508,31.945159],[102.680684,31.945565],[102.680861,31.945971],[102.681038,31.946377],[102.681158,31.946707],[102.681271,31.947015],[102.681278,31.947036],[102.681361,31.947298],[102.681444,31.94756],[102.681493,31.947924],[102.681495,31.948058],[102.681496,31.948167],[102.6815,31.94841],[102.681433,31.948728],[102.681366,31.949047],[102.681271,31.949305],[102.681176,31.949564],[102.681112,31.949747],[102.681108,31.949999],[102.681122,31.9501],[102.681159,31.950235],[102.681472,31.950538],[102.681785,31.950842],[102.682098,31.951145],[102.682411,31.951449],[102.682622,31.951676],[102.682833,31.951903],[102.682987,31.952107],[102.683042,31.952226],[102.683118,31.952361],[102.683126,31.952431],[102.68315,31.952631],[102.683124,31.952899],[102.683027,31.953216],[102.682931,31.953533],[102.682872,31.953884],[102.682814,31.954236],[102.682787,31.954536],[102.682782,31.954779],[102.682812,31.955132],[102.682872,31.95539],[102.682931,31.955649],[102.682991,31.955907],[102.68305,31.956166],[102.683109,31.956424],[102.683159,31.95664],[102.683159,31.95664],[102.683169,31.956683],[102.683223,31.956903],[102.683278,31.957123],[102.683332,31.957343],[102.683387,31.957563],[102.683441,31.957783],[102.683496,31.958003],[102.68355,31.958223],[102.683605,31.958443],[102.683662,31.958672],[102.683718,31.958901],[102.683775,31.959129],[102.683832,31.959358],[102.683911,31.959729],[102.683991,31.9601],[102.684118,31.960505],[102.684306,31.960878],[102.684444,31.961103],[102.684582,31.961328],[102.68472,31.961554],[102.684857,31.961779],[102.684995,31.962004],[102.685034,31.962068],[102.685035,31.96207],[102.685133,31.962229],[102.685304,31.96251],[102.685336,31.962585],[102.685341,31.962599],[102.685456,31.962924],[102.685509,31.963072],[102.685571,31.963248],[102.685631,31.963375],[102.685757,31.963641],[102.68584,31.963749],[102.685993,31.963948],[102.686157,31.964105],[102.686364,31.964248],[102.686635,31.964334],[102.686799,31.964369],[102.686937,31.964424],[102.686978,31.964441],[102.68717,31.964555],[102.687206,31.964612],[102.687272,31.964722],[102.687456,31.965026],[102.687479,31.965076],[102.687644,31.965432],[102.687809,31.965789],[102.688112,31.966075],[102.688148,31.96611],[102.688274,31.966228],[102.688339,31.966288],[102.688422,31.96636],[102.688487,31.966413],[102.688505,31.966455],[102.688517,31.966526],[102.68844,31.966633],[102.688279,31.966901],[102.688119,31.967169],[102.688005,31.967396],[102.687934,31.967537],[102.687774,31.967758],[102.687632,31.967903],[102.687565,31.967972],[102.687357,31.968132],[102.687149,31.968293],[102.686958,31.968461],[102.68686,31.968547],[102.68681,31.96859],[102.686679,31.968608],[102.686572,31.968608],[102.686453,31.968674],[102.686388,31.96881],[102.686411,31.969054],[102.686411,31.969447],[102.68639,31.969673],[102.68637,31.969899],[102.686313,31.970142],[102.686287,31.970248],[102.686255,31.970384],[102.686135,31.970637],[102.686049,31.970818],[102.685969,31.970986],[102.685803,31.971336],[102.685764,31.971396],[102.685709,31.971481],[102.68568,31.971527],[102.685609,31.971637],[102.685556,31.971718],[102.685433,31.971908],[102.68531,31.972099],[102.68515,31.972255],[102.685007,31.972395],[102.684787,31.972542],[102.684508,31.972655],[102.684168,31.972783],[102.684089,31.972805],[102.683913,31.972854],[102.683658,31.972924],[102.683403,31.972994],[102.683148,31.973064],[102.682893,31.973135],[102.682638,31.973205],[102.682383,31.973275],[102.682128,31.973345],[102.681873,31.973416],[102.681618,31.973486],[102.681369,31.973565],[102.68112,31.973645],[102.680872,31.973724],[102.680805,31.973745],[102.680623,31.973803],[102.68052,31.973844],[102.680236,31.973956],[102.680071,31.97402],[102.679859,31.974104],[102.679848,31.974108],[102.679622,31.974232],[102.679538,31.974278],[102.679486,31.974307],[102.679227,31.974449],[102.678946,31.974637],[102.678665,31.974826],[102.678599,31.974884],[102.678349,31.975105],[102.678034,31.975384],[102.677718,31.975664],[102.677564,31.975844],[102.67741,31.976025],[102.677256,31.976205],[102.677102,31.976385],[102.676948,31.976566],[102.676794,31.976746],[102.67664,31.976926],[102.676486,31.977107],[102.676333,31.977285],[102.676181,31.977464],[102.676181,31.977464],[102.676181,31.977464],[102.676025,31.977686],[102.675832,31.977998],[102.675638,31.97831],[102.675513,31.978507],[102.675478,31.978679],[102.675478,31.978894],[102.675478,31.979018],[102.675489,31.979188],[102.67549,31.979197],[102.675608,31.979406],[102.67562,31.979429],[102.675815,31.979757],[102.67601,31.980084],[102.676031,31.980119],[102.676233,31.980428],[102.676435,31.980738],[102.67656,31.981059],[102.676703,31.981338],[102.67675,31.981441],[102.676882,31.981725],[102.677015,31.98204],[102.677149,31.982356],[102.677156,31.982381],[102.677273,31.982806],[102.67739,31.983231],[102.677465,31.983504],[102.677601,31.983789],[102.677619,31.983932],[102.677625,31.984057],[102.677578,31.984158],[102.677384,31.984429],[102.677191,31.984699],[102.677062,31.984898],[102.676793,31.985163],[102.676525,31.985428],[102.676257,31.985693],[102.676061,31.985855],[102.675882,31.986002],[102.67561,31.986348],[102.675597,31.986365],[102.675365,31.986609],[102.67524,31.98674],[102.675139,31.986924],[102.675109,31.98718],[102.675109,31.98762],[102.675091,31.987953],[102.675186,31.988227],[102.675192,31.988393],[102.675079,31.988631],[102.675061,31.98906],[102.675064,31.989145],[102.675073,31.989381],[102.675133,31.989756],[102.675145,31.990119],[102.675145,31.990273],[102.675087,31.990423],[102.675055,31.990505],[102.674966,31.99066],[102.674913,31.99088],[102.674918,31.991005],[102.674948,31.991142],[102.675121,31.991308],[102.675127,31.991362],[102.675097,31.991469],[102.674936,31.991695],[102.674776,31.991921],[102.674615,31.992272],[102.674598,31.992368],[102.674531,31.992744],[102.674526,31.992772],[102.67449,31.99309],[102.674455,31.993408],[102.674397,31.993677],[102.67433,31.993991],[102.674312,31.994235],[102.674307,31.994332],[102.674306,31.994366],[102.674371,31.994467],[102.674532,31.994705],[102.674675,31.994913],[102.674752,31.995145],[102.674827,31.995447],[102.674903,31.995749],[102.674918,31.995811],[102.675061,31.996127],[102.675171,31.996356],[102.675281,31.996585],[102.675378,31.996729],[102.675538,31.996966],[102.675698,31.997203],[102.675927,31.997444],[102.676156,31.997685],[102.676251,31.997828],[102.676322,31.997971],[102.676394,31.998007],[102.676453,31.998036],[102.676483,31.998114],[102.676471,31.998256],[102.676424,31.998387],[102.67637,31.998488],[102.676282,31.998528],[102.676263,31.998536],[102.676049,31.998619],[102.675882,31.998744],[102.675751,31.998881],[102.675742,31.998895],[102.675715,31.998936],[102.675591,31.999125],[102.675466,31.999458],[102.675377,31.999583],[102.675153,31.999816],[102.674942,32.000035],[102.674698,32.000326],[102.674496,32.000487],[102.674228,32.000707],[102.673976,32.000862],[102.673723,32.001016],[102.673604,32.001129],[102.673544,32.001314],[102.673408,32.001736],[102.673312,32.002099],[102.673275,32.002198],[102.673247,32.002272],[102.673158,32.002403],[102.67308,32.00248],[102.672902,32.002557],[102.672718,32.002649],[102.672569,32.002724],[102.672397,32.002808],[102.672265,32.002872],[102.672031,32.002925],[102.671796,32.002977],[102.671784,32.00298],[102.671587,32.003009],[102.671308,32.003104],[102.671022,32.00336],[102.670975,32.003568],[102.670992,32.003729],[102.671053,32.003925],[102.671125,32.004159],[102.671171,32.004306],[102.671284,32.004621],[102.671308,32.004776],[102.671236,32.004907],[102.671141,32.005073],[102.671064,32.00524],[102.671033,32.005277],[102.670844,32.005508],[102.670683,32.005752],[102.670661,32.005808],[102.670591,32.00599],[102.670499,32.006227],[102.670415,32.006567],[102.670338,32.006784],[102.670261,32.007001],[102.670112,32.007254],[102.669963,32.007506],[102.669832,32.007703],[102.669672,32.007798],[102.66941,32.007932],[102.669148,32.008065],[102.669113,32.008083],[102.668976,32.008191],[102.668973,32.008215],[102.668958,32.008327],[102.668982,32.008434],[102.669035,32.008589],[102.669046,32.008637],[102.669071,32.008744],[102.669089,32.008892],[102.669136,32.009053],[102.669214,32.00919],[102.669386,32.009351],[102.669559,32.009511],[102.669752,32.009856],[102.669945,32.010201],[102.670094,32.010412],[102.670243,32.010624],[102.670326,32.010689],[102.670451,32.010743],[102.670473,32.010749],[102.670869,32.010859],[102.671028,32.010903],[102.671168,32.010983],[102.671236,32.011022],[102.671563,32.011302],[102.671754,32.011453],[102.671944,32.011605],[102.672063,32.011685],[102.672164,32.011754],[102.672462,32.011908],[102.672729,32.012164],[102.67278,32.012213],[102.672914,32.012343],[102.673057,32.012515],[102.673092,32.012646],[102.673106,32.012724],[102.673122,32.012813],[102.673211,32.012961],[102.673354,32.013167],[102.673425,32.013415],[102.673491,32.013552],[102.673516,32.013605],[102.67358,32.01369],[102.673673,32.013813],[102.673706,32.013857],[102.673816,32.01399],[102.674011,32.014109],[102.674073,32.014157],[102.674077,32.014228],[102.674073,32.014333],[102.674038,32.014456],[102.674025,32.0145],[102.673973,32.014609],[102.673968,32.014757],[102.673958,32.014918],[102.673916,32.015109],[102.673868,32.015209],[102.673836,32.015301],[102.673811,32.015375],[102.673868,32.015689],[102.673849,32.015861],[102.673839,32.016132],[102.673839,32.016312],[102.673839,32.016384],[102.673915,32.016695],[102.673944,32.016813],[102.673996,32.017046],[102.674009,32.017109],[102.674092,32.017536],[102.674151,32.017895],[102.674211,32.018254],[102.674234,32.018535],[102.674196,32.018764],[102.674125,32.018945],[102.674123,32.018958],[102.674101,32.019159],[102.67412,32.019306],[102.674215,32.019458],[102.674401,32.019749],[102.674501,32.019953],[102.674539,32.020063],[102.674582,32.020187],[102.674636,32.020406],[102.674644,32.020439],[102.674625,32.020696],[102.674587,32.020896],[102.674604,32.021106],[102.674606,32.021129],[102.674632,32.021353],[102.674634,32.021368],[102.674658,32.021576],[102.674701,32.021881],[102.67471,32.022085],[102.674691,32.02229],[102.674644,32.022576],[102.674644,32.02278],[102.674682,32.022999],[102.674698,32.023062],[102.674777,32.023361],[102.674796,32.023508],[102.674789,32.0237],[102.674786,32.023775],[102.674677,32.024108],[102.674644,32.024355],[102.674639,32.024589],[102.674601,32.024755],[102.674544,32.024874],[102.674265,32.02512],[102.673891,32.025317],[102.673792,32.025369],[102.673571,32.025446],[102.673351,32.025522],[102.67334,32.025526],[102.673021,32.025636],[102.672726,32.025816],[102.672359,32.025926],[102.671993,32.026035],[102.671631,32.026173],[102.671296,32.02643],[102.671265,32.026454],[102.671079,32.026545],[102.670851,32.026659],[102.670568,32.026813],[102.670284,32.026968],[102.670047,32.027106],[102.669882,32.02738],[102.669804,32.027511],[102.669667,32.027902],[102.669657,32.027948],[102.669589,32.028259],[102.669639,32.028495],[102.66976,32.028666],[102.669924,32.028841],[102.670088,32.029016],[102.67026,32.029159],[102.670481,32.029337],[102.670602,32.029701],[102.670738,32.029915],[102.670888,32.030115],[102.670995,32.030265],[102.671022,32.030333],[102.671109,32.030551],[102.671159,32.030693],[102.67138,32.030875],[102.671602,32.031057],[102.671877,32.031264],[102.672151,32.031471],[102.672176,32.031499],[102.672395,32.031741],[102.672428,32.031778],[102.67268,32.032057],[102.672837,32.032232],[102.672994,32.032407],[102.673029,32.03242],[102.673379,32.032556],[102.673686,32.032671],[102.673886,32.032799],[102.673906,32.032832],[102.674036,32.033042],[102.67405,32.033137],[102.674072,32.033277],[102.67405,32.03367],[102.673953,32.033997],[102.673907,32.034148],[102.67379,32.034496],[102.673722,32.034698],[102.673658,32.034905],[102.673693,32.035105],[102.673702,32.035114],[102.6738,32.035219],[102.673922,32.035298],[102.674022,32.035462],[102.67405,32.035655],[102.674036,32.035883],[102.67392,32.036165],[102.673805,32.036447],[102.673766,32.036542],[102.67371,32.036679],[102.673615,32.036911],[102.673527,32.037131],[102.673465,32.037289],[102.673212,32.037566],[102.673158,32.037625],[102.672894,32.037967],[102.672772,32.038189],[102.672694,32.038421],[102.672615,32.038653],[102.672423,32.038988],[102.672291,32.039181],[102.672159,32.039374],[102.67215,32.039387],[102.671976,32.039641],[102.671802,32.039895],[102.671752,32.04013],[102.671652,32.040344],[102.67153,32.04043],[102.67142,32.040487],[102.671266,32.040566],[102.671007,32.040717],[102.670924,32.040766],[102.670595,32.041008],[102.670481,32.041094],[102.670438,32.041201],[102.670424,32.041494],[102.67041,32.041786],[102.670353,32.042215],[102.670346,32.04224],[102.67034,32.042263],[102.670243,32.042646],[102.670146,32.043028],[102.670074,32.043207],[102.670003,32.043307],[102.669839,32.043343],[102.669739,32.043347],[102.669532,32.043357],[102.669367,32.043357],[102.669096,32.043303],[102.668825,32.04325],[102.668554,32.043207],[102.668282,32.043164],[102.667933,32.04315],[102.667669,32.043143],[102.667577,32.043164],[102.667483,32.043186],[102.667269,32.043278],[102.667019,32.043321],[102.666669,32.043271],[102.666369,32.04325],[102.666237,32.04325],[102.666091,32.04325],[102.666017,32.043296],[102.665698,32.043492],[102.665394,32.043779],[102.665191,32.043971],[102.664949,32.044106],[102.664763,32.044256],[102.664556,32.044328],[102.664378,32.04442],[102.664256,32.04452],[102.664064,32.04471],[102.663871,32.044899],[102.663849,32.04492],[102.663585,32.045091],[102.663278,32.045199],[102.663064,32.045234],[102.662814,32.045234]]]]},"properties":{"cp":[102.49877817263959,32.16081640345188],"code":"513233101","name":"刷经寺镇","level":"street","center":[102.49877817263959,32.16081640345188],"fullCode":"513233101000","fullName":"四川省阿坝藏族羌族自治州红原县刷经寺镇","acreageMu":1479646.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.661,31.9177]}},{"id":"513233103","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.190465,32.696137],[102.190648,32.695897],[102.1908,32.695656],[102.19099,32.695463],[102.19118,32.69527],[102.19137,32.695077],[102.19156,32.694884],[102.191781,32.694532],[102.191877,32.694281],[102.191973,32.694031],[102.192053,32.693751],[102.192132,32.69347],[102.192144,32.693222],[102.192157,32.692973],[102.192157,32.692964],[102.192169,32.692725],[102.192181,32.692476],[102.192193,32.692228],[102.192206,32.691979],[102.192218,32.691731],[102.19223,32.691482],[102.192191,32.691051],[102.192169,32.690812],[102.192152,32.690619],[102.192166,32.690348],[102.192167,32.690321],[102.192174,32.690188],[102.192196,32.689758],[102.192219,32.689328],[102.192241,32.688898],[102.192293,32.688642],[102.192345,32.688386],[102.192398,32.68813],[102.19245,32.687874],[102.192502,32.687618],[102.192555,32.687361],[102.192607,32.687105],[102.192611,32.687088],[102.192659,32.686849],[102.192712,32.686593],[102.192738,32.686466],[102.192764,32.686337],[102.192816,32.686081],[102.192854,32.685898],[102.192865,32.685841],[102.192869,32.685825],[102.192956,32.685578],[102.193042,32.685331],[102.193129,32.685084],[102.193216,32.684837],[102.193303,32.684591],[102.193325,32.684528],[102.19339,32.684344],[102.193425,32.684243],[102.193477,32.684097],[102.193564,32.68385],[102.193677,32.683607],[102.19379,32.683365],[102.193903,32.683122],[102.194017,32.68288],[102.19413,32.682637],[102.194243,32.682395],[102.194356,32.682152],[102.194379,32.682104],[102.194469,32.68191],[102.194548,32.681812],[102.19475,32.681561],[102.19503,32.681212],[102.195311,32.680863],[102.195591,32.680514],[102.195872,32.680165],[102.196009,32.680089],[102.196105,32.680037],[102.19628,32.67994],[102.196299,32.679929],[102.196337,32.679909],[102.196684,32.679795],[102.196763,32.679769],[102.197011,32.67973],[102.197093,32.679718],[102.197258,32.679692],[102.197259,32.679692],[102.197259,32.679692],[102.197279,32.679689],[102.197452,32.679664],[102.197612,32.679641],[102.197877,32.679609],[102.198142,32.679578],[102.198406,32.679547],[102.198664,32.679516],[102.198671,32.679515],[102.198685,32.679506],[102.198713,32.679487],[102.198745,32.679465],[102.198883,32.67937],[102.198924,32.679343],[102.199142,32.679109],[102.199221,32.678815],[102.199234,32.678399],[102.199224,32.678146],[102.199215,32.677893],[102.199152,32.677639],[102.19909,32.677386],[102.199091,32.677363],[102.199095,32.677215],[102.199098,32.677109],[102.199101,32.677035],[102.199101,32.677032],[102.199101,32.67703],[102.199215,32.676735],[102.199399,32.676502],[102.199687,32.6763],[102.19992,32.676142],[102.200154,32.675984],[102.200387,32.67584],[102.20062,32.675697],[102.200818,32.675553],[102.201016,32.675409],[102.201234,32.675206],[102.201398,32.675016],[102.201562,32.674826],[102.20182,32.674485],[102.202077,32.674145],[102.202335,32.673804],[102.202507,32.673576],[102.202515,32.673565],[102.202592,32.673463],[102.20266,32.673267],[102.202669,32.673238],[102.202747,32.673013],[102.202812,32.672825],[102.202824,32.672788],[102.202902,32.672563],[102.202979,32.672339],[102.203057,32.672114],[102.203134,32.671889],[102.20316,32.671815],[102.203161,32.67181],[102.203212,32.671664],[102.20335,32.67147],[102.203487,32.671277],[102.203625,32.671083],[102.203763,32.670889],[102.203901,32.670696],[102.204039,32.670502],[102.204111,32.6704],[102.204138,32.670363],[102.204177,32.670308],[102.204231,32.670233],[102.204315,32.670115],[102.204444,32.669924],[102.204486,32.669863],[102.204506,32.669832],[102.204573,32.669734],[102.204793,32.669471],[102.205023,32.669409],[102.205253,32.669348],[102.205483,32.669286],[102.205672,32.669235],[102.20569,32.669231],[102.205714,32.669224],[102.205744,32.669228],[102.20576,32.66923],[102.20603,32.669262],[102.206203,32.669354],[102.206408,32.669537],[102.206543,32.669733],[102.206678,32.66993],[102.20683,32.670141],[102.206982,32.670353],[102.207169,32.67055],[102.207357,32.670746],[102.207711,32.670927],[102.208064,32.671107],[102.208343,32.671202],[102.208621,32.671298],[102.208864,32.671407],[102.208992,32.671465],[102.20903,32.671481],[102.209107,32.671516],[102.209135,32.671534],[102.209452,32.671732],[102.209688,32.672064],[102.209853,32.672425],[102.209915,32.672708],[102.209976,32.672992],[102.210126,32.673263],[102.210276,32.673533],[102.210445,32.673745],[102.210615,32.673957],[102.210922,32.674231],[102.211266,32.674476],[102.211474,32.674585],[102.211682,32.674693],[102.212066,32.674791],[102.212451,32.674859],[102.212838,32.674853],[102.213225,32.674847],[102.213507,32.674823],[102.21372,32.674768],[102.213953,32.674677],[102.214006,32.674656],[102.214063,32.674633],[102.214156,32.674596],[102.214284,32.674546],[102.21429,32.674544],[102.214507,32.674371],[102.214653,32.674225],[102.214958,32.673909],[102.215263,32.673592],[102.215488,32.67336],[102.215569,32.673276],[102.215802,32.672945],[102.216035,32.672613],[102.216268,32.672281],[102.216467,32.672093],[102.216667,32.671904],[102.216899,32.67182],[102.216997,32.671784],[102.217086,32.671753],[102.217131,32.671736],[102.217178,32.671737],[102.217235,32.671739],[102.217301,32.671754],[102.217375,32.671771],[102.217514,32.671834],[102.217753,32.672047],[102.217906,32.672214],[102.218059,32.67238],[102.218212,32.672547],[102.218366,32.672714],[102.218536,32.672881],[102.218707,32.673048],[102.219019,32.673204],[102.219298,32.6733],[102.219578,32.673305],[102.219826,32.673266],[102.220074,32.673227],[102.220141,32.673191],[102.22016,32.673182],[102.220181,32.67317],[102.220367,32.673059],[102.220385,32.673048],[102.2204,32.673039],[102.220437,32.673017],[102.220468,32.672998],[102.220519,32.672952],[102.220638,32.672845],[102.220808,32.672691],[102.220978,32.672537],[102.221148,32.672383],[102.221318,32.67223],[102.221488,32.672076],[102.221658,32.671922],[102.22173,32.671857],[102.221811,32.671785],[102.221829,32.671769],[102.221914,32.671691],[102.221999,32.671615],[102.222169,32.671461],[102.222365,32.671276],[102.22256,32.67109],[102.222756,32.670904],[102.222924,32.670745],[102.222927,32.670742],[102.222952,32.670718],[102.223007,32.670666],[102.223012,32.670661],[102.223019,32.670655],[102.223148,32.670533],[102.223344,32.670347],[102.223539,32.670161],[102.223634,32.670072],[102.223638,32.670068],[102.223735,32.669975],[102.223931,32.66979],[102.223967,32.669756],[102.224127,32.669604],[102.224268,32.669406],[102.224409,32.669208],[102.22455,32.66901],[102.2246,32.668939],[102.22469,32.668811],[102.224787,32.668676],[102.224787,32.668676],[102.224831,32.668613],[102.224846,32.668592],[102.224847,32.668592],[102.224937,32.668465],[102.224972,32.668415],[102.225113,32.668217],[102.225254,32.668019],[102.225314,32.667935],[102.225385,32.667834],[102.225395,32.667821],[102.225455,32.667736],[102.225536,32.667623],[102.225677,32.667425],[102.225818,32.667226],[102.225959,32.667028],[102.226067,32.666876],[102.2261,32.66683],[102.226226,32.666786],[102.226476,32.666699],[102.226727,32.666611],[102.226977,32.666524],[102.227017,32.66651],[102.227019,32.666509],[102.227021,32.666508],[102.227131,32.66647],[102.227131,32.66647],[102.227227,32.666437],[102.227275,32.66642],[102.227478,32.666349],[102.227728,32.666262],[102.227959,32.66615],[102.228191,32.666038],[102.228422,32.665926],[102.228474,32.665901],[102.228622,32.665829],[102.228653,32.665814],[102.228885,32.665702],[102.229116,32.66559],[102.229347,32.665478],[102.229482,32.665413],[102.229578,32.665367],[102.22961,32.665345],[102.229931,32.665124],[102.230283,32.664881],[102.230636,32.664639],[102.230988,32.664396],[102.231336,32.664118],[102.231684,32.66384],[102.23187,32.66367],[102.232056,32.663501],[102.232307,32.663241],[102.232557,32.662981],[102.232708,32.662785],[102.232859,32.662589],[102.233011,32.662393],[102.233162,32.662197],[102.23326,32.661956],[102.233358,32.661715],[102.233456,32.661474],[102.233554,32.661233],[102.233652,32.660993],[102.23375,32.660752],[102.233827,32.660589],[102.233978,32.66041],[102.234128,32.660249],[102.234275,32.660191],[102.234689,32.660097],[102.234697,32.660097],[102.235077,32.660086],[102.235319,32.660101],[102.23556,32.660116],[102.235971,32.660146],[102.236211,32.660182],[102.236451,32.660218],[102.236738,32.660326],[102.237123,32.660437],[102.237431,32.660669],[102.237598,32.660795],[102.237738,32.6609],[102.237937,32.66112],[102.237992,32.661181],[102.238135,32.661339],[102.238299,32.661516],[102.238463,32.661693],[102.238518,32.661757],[102.238627,32.661881],[102.239059,32.661973],[102.239196,32.661976],[102.239375,32.661979],[102.239691,32.661935],[102.240007,32.661891],[102.240235,32.661548],[102.240375,32.661337],[102.240514,32.661126],[102.240653,32.660934],[102.240791,32.660743],[102.241041,32.660504],[102.241317,32.660223],[102.241564,32.660005],[102.24186,32.659846],[102.242227,32.659742],[102.242593,32.659638],[102.242907,32.659624],[102.243293,32.659674],[102.243703,32.659714],[102.244113,32.659754],[102.244367,32.659735],[102.244621,32.659716],[102.244875,32.659697],[102.245128,32.659678],[102.245382,32.659659],[102.245636,32.65964],[102.24589,32.659621],[102.246143,32.659603],[102.246397,32.659584],[102.246651,32.659565],[102.24691,32.659526],[102.247169,32.659487],[102.247294,32.659469],[102.247429,32.659449],[102.247688,32.65941],[102.247947,32.659371],[102.248207,32.659333],[102.248448,32.659348],[102.24869,32.659363],[102.248931,32.659389],[102.248993,32.659396],[102.249158,32.659414],[102.249171,32.659415],[102.249244,32.659443],[102.24927,32.659452],[102.249338,32.659478],[102.24944,32.659516],[102.249459,32.659523],[102.249744,32.659714],[102.249932,32.659882],[102.250121,32.660049],[102.250455,32.660219],[102.250887,32.660331],[102.251174,32.660321],[102.251226,32.660319],[102.251493,32.660263],[102.251551,32.660248],[102.251667,32.660218],[102.25175,32.660197],[102.252006,32.660131],[102.252282,32.659791],[102.252283,32.65979],[102.252283,32.65979],[102.252283,32.65979],[102.252303,32.659765],[102.252484,32.659539],[102.252559,32.659444],[102.252684,32.659288],[102.252692,32.659281],[102.252871,32.659129],[102.253058,32.658969],[102.253381,32.65869],[102.253626,32.658573],[102.253872,32.658456],[102.254117,32.658379],[102.254458,32.658345],[102.254771,32.658352],[102.255058,32.65846],[102.255273,32.658567],[102.255487,32.658674],[102.255846,32.658805],[102.256085,32.658892],[102.256317,32.658836],[102.256323,32.658834],[102.256374,32.658822],[102.256425,32.658809],[102.256549,32.658779],[102.256768,32.658723],[102.257032,32.658475],[102.257189,32.658328],[102.257296,32.658228],[102.257424,32.657985],[102.257503,32.657772],[102.257582,32.657559],[102.257618,32.657298],[102.257655,32.657036],[102.257691,32.656775],[102.257727,32.656513],[102.257764,32.656252],[102.2578,32.65599],[102.257849,32.655552],[102.257899,32.655113],[102.257979,32.654859],[102.25806,32.654606],[102.25814,32.654352],[102.258221,32.654099],[102.258374,32.653836],[102.258552,32.653554],[102.258801,32.653284],[102.25905,32.653013],[102.259234,32.652841],[102.259418,32.652669],[102.259601,32.652496],[102.259785,32.652324],[102.259969,32.652152],[102.260152,32.65198],[102.260353,32.651791],[102.260553,32.651601],[102.260739,32.651432],[102.260925,32.651262],[102.261238,32.650941],[102.261454,32.650719],[102.26155,32.65062],[102.261753,32.650319],[102.261801,32.650206],[102.261883,32.650015],[102.26194,32.64973],[102.261944,32.649587],[102.261947,32.649481],[102.261955,32.649232],[102.261962,32.648983],[102.26197,32.648734],[102.261978,32.648485],[102.261985,32.648236],[102.261993,32.647987],[102.262,32.647738],[102.262008,32.647489],[102.262015,32.64724],[102.262055,32.646812],[102.262095,32.646383],[102.262135,32.645954],[102.262174,32.645526],[102.262245,32.645271],[102.262315,32.645017],[102.262385,32.644762],[102.262455,32.644508],[102.262542,32.644276],[102.262629,32.644045],[102.262717,32.643813],[102.262804,32.643582],[102.263076,32.643257],[102.263347,32.642931],[102.263619,32.642606],[102.263926,32.642291],[102.264233,32.641976],[102.26447,32.641733],[102.26454,32.641661],[102.2647,32.641484],[102.264859,32.641307],[102.265019,32.64113],[102.265179,32.640952],[102.265338,32.640775],[102.265498,32.640598],[102.265542,32.640501],[102.265594,32.640386],[102.26569,32.640174],[102.265786,32.639962],[102.265881,32.63975],[102.265977,32.639538],[102.266073,32.639326],[102.266169,32.639114],[102.266265,32.638902],[102.266267,32.638842],[102.266302,32.638571],[102.266336,32.638301],[102.266371,32.638031],[102.266406,32.63776],[102.266485,32.637506],[102.266565,32.637251],[102.266788,32.636956],[102.266974,32.636689],[102.267087,32.63651],[102.267252,32.636348],[102.267417,32.636185],[102.267532,32.635948],[102.267683,32.635649],[102.267797,32.635441],[102.267879,32.635082],[102.267873,32.634841],[102.267867,32.634599],[102.267861,32.634358],[102.267855,32.634117],[102.267849,32.633876],[102.267846,32.633787],[102.267842,32.633635],[102.267836,32.633394],[102.26783,32.633153],[102.267787,32.632919],[102.267743,32.632685],[102.267699,32.632451],[102.267656,32.632217],[102.267612,32.631983],[102.267568,32.63175],[102.267525,32.631516],[102.267481,32.631282],[102.267437,32.631048],[102.267394,32.630814],[102.26735,32.63058],[102.267306,32.630346],[102.267236,32.630082],[102.267166,32.629819],[102.267095,32.629555],[102.267025,32.629292],[102.266955,32.629028],[102.266884,32.628764],[102.266814,32.628501],[102.266744,32.628237],[102.266673,32.627974],[102.266603,32.62771],[102.266504,32.627479],[102.266406,32.627248],[102.266307,32.627017],[102.266208,32.626786],[102.266109,32.626555],[102.266011,32.626324],[102.265912,32.626092],[102.265813,32.625861],[102.265715,32.62563],[102.265616,32.625399],[102.26548,32.625119],[102.26536,32.624869],[102.265239,32.62462],[102.265119,32.624371],[102.264998,32.624122],[102.264878,32.623873],[102.264757,32.623624],[102.264637,32.623375],[102.264516,32.623126],[102.264415,32.622702],[102.264411,32.6225],[102.264407,32.622298],[102.264416,32.622023],[102.264455,32.621787],[102.264495,32.62155],[102.264534,32.621314],[102.264574,32.621078],[102.264613,32.620841],[102.264653,32.620605],[102.264722,32.620354],[102.264792,32.620103],[102.264862,32.619851],[102.264932,32.6196],[102.265002,32.619349],[102.265072,32.619098],[102.265142,32.618847],[102.265212,32.618596],[102.265291,32.618346],[102.26537,32.618097],[102.265449,32.61785],[102.26545,32.617848],[102.265529,32.617599],[102.265599,32.617382],[102.265609,32.61735],[102.265688,32.617101],[102.265768,32.616852],[102.265847,32.616603],[102.265927,32.616353],[102.265969,32.616219],[102.266006,32.616104],[102.266065,32.61592],[102.266086,32.615855],[102.266165,32.615606],[102.266225,32.615369],[102.266285,32.615132],[102.266345,32.614895],[102.266405,32.614658],[102.266413,32.614375],[102.266422,32.614092],[102.266449,32.613882],[102.266515,32.613725],[102.26657,32.613593],[102.26671,32.61341],[102.266851,32.613227],[102.267085,32.612876],[102.267319,32.612525],[102.267553,32.612175],[102.267591,32.61211],[102.267694,32.611935],[102.267817,32.611663],[102.267844,32.611388],[102.267858,32.610968],[102.267849,32.610612],[102.267839,32.610256],[102.267782,32.610022],[102.267725,32.609788],[102.267668,32.609554],[102.267611,32.609321],[102.267554,32.609087],[102.267497,32.608853],[102.26744,32.608619],[102.267383,32.608385],[102.267347,32.608239],[102.267341,32.608213],[102.267326,32.608151],[102.267269,32.607917],[102.26721,32.607683],[102.267176,32.607548],[102.267151,32.607448],[102.267092,32.607214],[102.267078,32.607156],[102.267068,32.607116],[102.267051,32.607047],[102.267034,32.606979],[102.266876,32.60665],[102.266719,32.606321],[102.26651,32.605944],[102.266282,32.605558],[102.266053,32.605171],[102.265759,32.604878],[102.265747,32.604865],[102.26544,32.604559],[102.265134,32.604253],[102.264827,32.603947],[102.264652,32.603784],[102.264478,32.60362],[102.264303,32.603457],[102.264129,32.603294],[102.263954,32.603131],[102.263779,32.602968],[102.263605,32.602805],[102.26343,32.602642],[102.263256,32.602479],[102.263081,32.602316],[102.262907,32.602152],[102.262732,32.601989],[102.262557,32.601826],[102.262383,32.601663],[102.262203,32.601518],[102.262105,32.601439],[102.262024,32.601374],[102.261845,32.601229],[102.261665,32.601084],[102.261486,32.60094],[102.261447,32.600908],[102.261413,32.600881],[102.261306,32.600795],[102.261127,32.60065],[102.260948,32.600505],[102.260768,32.600361],[102.260589,32.600216],[102.260433,32.600037],[102.260277,32.599859],[102.260122,32.59968],[102.259966,32.599501],[102.25981,32.599323],[102.259654,32.599144],[102.259499,32.598965],[102.259343,32.598787],[102.259187,32.598608],[102.259031,32.598429],[102.259009,32.598404],[102.258875,32.598251],[102.258869,32.598243],[102.258838,32.598207],[102.25872,32.598072],[102.258552,32.597914],[102.258385,32.597757],[102.258266,32.597552],[102.258147,32.597347],[102.258065,32.596958],[102.258045,32.59669],[102.258027,32.596454],[102.258025,32.596424],[102.258025,32.596423],[102.258026,32.596418],[102.258047,32.596314],[102.25805,32.596301],[102.258054,32.596284],[102.258077,32.596171],[102.25813,32.595918],[102.258182,32.595666],[102.258235,32.595413],[102.258287,32.595161],[102.25834,32.594908],[102.258461,32.59448],[102.258582,32.594051],[102.258704,32.593623],[102.258808,32.593407],[102.258913,32.593191],[102.259017,32.592974],[102.259046,32.592916],[102.259122,32.592758],[102.259226,32.592542],[102.259331,32.592326],[102.259435,32.59211],[102.25954,32.591894],[102.259644,32.591678],[102.259749,32.591462],[102.259894,32.591109],[102.259904,32.59109],[102.260057,32.590806],[102.260157,32.590662],[102.260317,32.590424],[102.260466,32.590248],[102.260615,32.590073],[102.260775,32.589866],[102.260993,32.589596],[102.261173,32.589373],[102.261314,32.589134],[102.261458,32.588829],[102.261544,32.588507],[102.261591,32.5882],[102.261618,32.587934],[102.261646,32.587667],[102.261674,32.587401],[102.261702,32.587135],[102.261665,32.586895],[102.261629,32.586656],[102.261593,32.586417],[102.261557,32.586177],[102.261478,32.585957],[102.261398,32.585737],[102.261319,32.585517],[102.261239,32.585297],[102.261117,32.584922],[102.261069,32.584613],[102.261078,32.58429],[102.261106,32.583999],[102.261134,32.583773],[102.261137,32.583643],[102.261177,32.583451],[102.261181,32.583434],[102.261225,32.58329],[102.261305,32.58313],[102.261506,32.582827],[102.261648,32.582571],[102.261828,32.582316],[102.261969,32.582076],[102.262076,32.581739],[102.262165,32.581336],[102.262254,32.580934],[102.262343,32.580532],[102.26239,32.580089],[102.262438,32.579647],[102.262486,32.579205],[102.262534,32.578762],[102.262581,32.57832],[102.262596,32.578248],[102.262631,32.578083],[102.26268,32.577847],[102.26273,32.57761],[102.26278,32.577374],[102.262829,32.577137],[102.262879,32.5769],[102.262928,32.576664],[102.262978,32.576427],[102.263027,32.57619],[102.263077,32.575954],[102.263101,32.575825],[102.263176,32.575543],[102.263252,32.575262],[102.263436,32.574876],[102.263637,32.574565],[102.263838,32.574254],[102.264017,32.574016],[102.264361,32.57374],[102.264704,32.573464],[102.264939,32.573316],[102.265173,32.573167],[102.265407,32.573018],[102.265641,32.572869],[102.265875,32.572721],[102.26611,32.572572],[102.266339,32.572427],[102.266568,32.572283],[102.266797,32.572138],[102.267026,32.571993],[102.267255,32.571848],[102.267484,32.571703],[102.267693,32.571619],[102.267901,32.571534],[102.268109,32.57145],[102.268318,32.571365],[102.26865,32.571178],[102.26894,32.571039],[102.269163,32.570939],[102.269387,32.570838],[102.269621,32.57069],[102.269855,32.570541],[102.270089,32.570393],[102.270323,32.570245],[102.270501,32.570083],[102.270678,32.569921],[102.270855,32.569759],[102.271033,32.569597],[102.27121,32.569435],[102.271388,32.569273],[102.271565,32.569111],[102.271743,32.568948],[102.271928,32.568801],[102.272112,32.568653],[102.272297,32.568506],[102.272482,32.568358],[102.272666,32.56821],[102.272851,32.568063],[102.273036,32.567915],[102.273221,32.567768],[102.273431,32.567594],[102.273642,32.567421],[102.273853,32.567247],[102.274064,32.567074],[102.274226,32.566904],[102.274388,32.566735],[102.274551,32.566565],[102.274713,32.566395],[102.274875,32.566226],[102.275037,32.566056],[102.275199,32.565886],[102.275362,32.565716],[102.275524,32.565547],[102.275686,32.565377],[102.275851,32.565215],[102.276016,32.565052],[102.276181,32.56489],[102.276346,32.564728],[102.276511,32.564565],[102.276676,32.564403],[102.276842,32.564241],[102.277007,32.564078],[102.277216,32.563916],[102.277425,32.563753],[102.277634,32.56359],[102.277843,32.563427],[102.278052,32.563264],[102.278261,32.563102],[102.278454,32.562973],[102.278647,32.562845],[102.278839,32.562717],[102.279032,32.562589],[102.279225,32.562461],[102.279417,32.562333],[102.279681,32.562161],[102.279944,32.561989],[102.280204,32.561622],[102.280326,32.561398],[102.280469,32.561125],[102.280572,32.560853],[102.280638,32.560564],[102.280704,32.560306],[102.280732,32.559967],[102.280743,32.559626],[102.280735,32.559354],[102.280734,32.559302],[102.28066,32.559042],[102.280587,32.558782],[102.280513,32.558521],[102.28044,32.558261],[102.280329,32.558042],[102.280317,32.558018],[102.280218,32.557823],[102.280107,32.557604],[102.279996,32.557385],[102.279885,32.557166],[102.279774,32.556947],[102.279663,32.556729],[102.279553,32.55651],[102.279485,32.556233],[102.279419,32.555891],[102.279425,32.555666],[102.279491,32.555408],[102.279593,32.555151],[102.279795,32.554799],[102.279918,32.554559],[102.28004,32.554383],[102.280276,32.554146],[102.280501,32.554005],[102.280726,32.553863],[102.280951,32.553722],[102.281177,32.55358],[102.281402,32.553439],[102.281627,32.553297],[102.281853,32.553156],[102.282078,32.553014],[102.282303,32.552873],[102.282528,32.552731],[102.282754,32.55259],[102.282979,32.552448],[102.283204,32.552307],[102.283348,32.552217],[102.28343,32.552165],[102.283677,32.552057],[102.283839,32.551986],[102.283924,32.551949],[102.283953,32.551937],[102.284171,32.551841],[102.284418,32.551733],[102.284666,32.551625],[102.284913,32.551517],[102.28516,32.55141],[102.285407,32.551302],[102.285756,32.551163],[102.286105,32.551025],[102.286453,32.550887],[102.286742,32.550829],[102.28703,32.55077],[102.287376,32.550753],[102.287721,32.550736],[102.287962,32.550693],[102.288203,32.550649],[102.2884,32.550609],[102.288978,32.55096],[102.289086,32.551026],[102.289096,32.551032],[102.289111,32.551039],[102.289115,32.551044],[102.289186,32.551087],[102.290274,32.551748],[102.292411,32.552783],[102.292504,32.552828],[102.29276,32.552991],[102.293699,32.553591],[102.294988,32.554134],[102.296448,32.554755],[102.298365,32.554649],[102.300189,32.554762],[102.301324,32.554639],[102.302104,32.554729],[102.302954,32.555411],[102.304401,32.556473],[102.306281,32.557619],[102.307993,32.55854],[102.309784,32.559757],[102.310799,32.560737],[102.312079,32.561575],[102.314074,32.561765],[102.31669,32.5616],[102.318094,32.561187],[102.319668,32.560926],[102.321407,32.560963],[102.322418,32.560466],[102.322485,32.560433],[102.322555,32.560398],[102.322969,32.560219],[102.323031,32.560192],[102.323525,32.559977],[102.323552,32.559976],[102.323697,32.559917],[102.323706,32.559915],[102.32385,32.559884],[102.323856,32.559882],[102.324016,32.559867],[102.32406,32.559863],[102.324067,32.559862],[102.324288,32.559863],[102.324574,32.559872],[102.324613,32.559874],[102.324932,32.559491],[102.325323,32.558026],[102.326171,32.555833],[102.326524,32.555242],[102.32676,32.554848],[102.326793,32.554865],[102.326831,32.554874],[102.326996,32.554451],[102.327033,32.554427],[102.327067,32.554405],[102.328045,32.553776],[102.328214,32.553667],[102.32853,32.553583],[102.328755,32.553524],[102.328977,32.553487],[102.329052,32.553474],[102.329113,32.553464],[102.33093,32.553798],[102.331867,32.553762],[102.332677,32.55284],[102.333546,32.55214],[102.334344,32.551659],[102.336023,32.552248],[102.33634,32.552322],[102.336358,32.552326],[102.336378,32.552331],[102.336436,32.552345],[102.33656,32.552374],[102.336584,32.552379],[102.336695,32.552405],[102.336849,32.552441],[102.337578,32.552612],[102.337747,32.552734],[102.338165,32.553037],[102.338258,32.553062],[102.338364,32.553181],[102.338472,32.553259],[102.33851,32.553287],[102.3386,32.553352],[102.33868,32.553364],[102.340021,32.553555],[102.34042,32.553612],[102.340496,32.553624],[102.340656,32.553649],[102.340686,32.553653],[102.340766,32.553666],[102.341371,32.55376],[102.343833,32.554143],[102.344319,32.554218],[102.345357,32.55438],[102.345758,32.554485],[102.345826,32.554502],[102.345829,32.554503],[102.34583,32.554504],[102.345877,32.554516],[102.346591,32.554702],[102.346649,32.554718],[102.346683,32.554727],[102.346714,32.554735],[102.346736,32.55474],[102.346762,32.554785],[102.346801,32.554847],[102.34683,32.554943],[102.346816,32.55505],[102.349894,32.555709],[102.349823,32.555859],[102.349919,32.55586],[102.349923,32.55586],[102.349925,32.555861],[102.349986,32.555876],[102.349987,32.555876],[102.349991,32.555878],[102.349991,32.555878],[102.35,32.555883],[102.349989,32.555919],[102.349878,32.556201],[102.349798,32.556311],[102.349759,32.556404],[102.349703,32.55654],[102.349695,32.556553],[102.349512,32.556771],[102.349418,32.556897],[102.349318,32.557032],[102.349231,32.55715],[102.349142,32.557271],[102.349038,32.557411],[102.348932,32.557554],[102.348847,32.55767],[102.348749,32.557802],[102.348666,32.557914],[102.348583,32.558026],[102.348522,32.558109],[102.348425,32.558238],[102.348367,32.558314],[102.346041,32.561381],[102.346003,32.56141],[102.345821,32.561634],[102.345548,32.561984],[102.345343,32.562247],[102.345385,32.562283],[102.345399,32.562296],[102.345415,32.56231],[102.345486,32.562374],[102.34583,32.56268],[102.345982,32.56263],[102.34695,32.562316],[102.347883,32.561673],[102.348553,32.561079],[102.349333,32.561206],[102.349438,32.561272],[102.349447,32.561278],[102.349503,32.561313],[102.352248,32.563027],[102.354179,32.563897],[102.3566,32.564735],[102.358537,32.565397],[102.360432,32.565851],[102.361909,32.565818],[102.362341,32.565808],[102.363617,32.565669],[102.36504,32.565492],[102.366579,32.564737],[102.367625,32.564096],[102.369078,32.562925],[102.36994,32.561866],[102.370662,32.560597],[102.371375,32.559618],[102.371833,32.559007],[102.372095,32.558432],[102.371835,32.557267],[102.371419,32.55643],[102.37106,32.555345],[102.371336,32.554274],[102.371367,32.553198],[102.371143,32.552489],[102.371114,32.551825],[102.371133,32.551163],[102.370768,32.550244],[102.370621,32.548584],[102.370863,32.547015],[102.371485,32.545785],[102.371856,32.544799],[102.37271,32.54403],[102.373359,32.543588],[102.374689,32.543243],[102.37572,32.542705],[102.374962,32.542285],[102.373745,32.541235],[102.373035,32.540443],[102.372261,32.539308],[102.371856,32.538088],[102.371844,32.537249],[102.372117,32.536696],[102.372542,32.535959],[102.373334,32.535199],[102.37504,32.534551],[102.376016,32.533795],[102.376584,32.533185],[102.377136,32.531861],[102.377549,32.530254],[102.377631,32.528702],[102.377972,32.527063],[102.377871,32.525476],[102.377822,32.524668],[102.378211,32.523868],[102.379417,32.522775],[102.380539,32.522021],[102.381558,32.521017],[102.382207,32.52013],[102.382852,32.519367],[102.383332,32.51801],[102.383771,32.516776],[102.383657,32.515655],[102.383724,32.5146],[102.383698,32.512953],[102.383621,32.511833],[102.383438,32.510556],[102.383064,32.509554],[102.382738,32.508149],[102.382615,32.507307],[102.383365,32.506733],[102.385074,32.50596],[102.38572,32.505197],[102.387068,32.5042],[102.388941,32.502841],[102.390805,32.501761],[102.39145,32.500998],[102.392357,32.500053],[102.39345,32.49902],[102.394946,32.49672],[102.395597,32.495771],[102.396198,32.495255],[102.39755,32.494134],[102.398591,32.493627],[102.39955,32.493429],[102.401838,32.492886],[102.403426,32.492484],[102.404943,32.492018],[102.406641,32.491587],[102.408235,32.490968],[102.409793,32.490316],[102.410346,32.490203],[102.4104,32.490262],[102.411555,32.491533],[102.412076,32.492538],[102.412626,32.493823],[102.413291,32.494893],[102.414039,32.495654],[102.414671,32.49663],[102.415415,32.497547],[102.416129,32.498214],[102.41708,32.498295],[102.417991,32.498501],[102.418382,32.498912],[102.419134,32.499549],[102.419839,32.500527],[102.420953,32.501327],[102.421837,32.502463],[102.422733,32.503165],[102.423334,32.503954],[102.423749,32.504832],[102.424621,32.506404],[102.425108,32.507315],[102.425522,32.508224],[102.425981,32.508855],[102.426506,32.509704],[102.426945,32.509744],[102.427608,32.509634],[102.428243,32.509243],[102.429025,32.508824],[102.429867,32.508841],[102.430677,32.508733],[102.431598,32.508597],[102.432183,32.50864],[102.432931,32.509401],[102.43312,32.509575],[102.433824,32.510227],[102.433868,32.510285],[102.434672,32.511362],[102.435728,32.512906],[102.436284,32.514005],[102.436475,32.515003],[102.43655,32.516247],[102.436476,32.51755],[102.436642,32.518175],[102.437275,32.51912],[102.438334,32.520571],[102.438827,32.521264],[102.439554,32.522802],[102.440397,32.524124],[102.441493,32.525544],[102.44224,32.526367],[102.443353,32.528502],[102.443733,32.529318],[102.444486,32.529924],[102.445242,32.530436],[102.445887,32.530977],[102.446146,32.532194],[102.446018,32.534118],[102.445949,32.535266],[102.445777,32.536164],[102.445894,32.537191],[102.446332,32.538567],[102.446959,32.53973],[102.448003,32.541739],[102.448533,32.542433],[102.448991,32.543126],[102.449447,32.54385],[102.449856,32.544946],[102.450201,32.54573],[102.451184,32.547272],[102.451482,32.547123],[102.452302,32.546642],[102.453052,32.546067],[102.454127,32.545685],[102.455121,32.54555],[102.456446,32.54539],[102.457791,32.545821],[102.458958,32.546062],[102.459078,32.546094],[102.460086,32.546365],[102.463179,32.547266],[102.4643,32.547848],[102.46605,32.548225],[102.467287,32.548592],[102.468744,32.548963],[102.470299,32.54974],[102.471013,32.550438],[102.472159,32.551424],[102.473065,32.551846],[102.47367,32.55248],[102.474416,32.553365],[102.475829,32.553983],[102.476735,32.554374],[102.477734,32.554084],[102.478815,32.553484],[102.479813,32.553193],[102.480878,32.553153],[102.481977,32.553206],[102.483219,32.553417],[102.484481,32.554188],[102.485368,32.555262],[102.486081,32.555991],[102.487423,32.556546],[102.489647,32.557056],[102.491842,32.557256],[102.492686,32.557272],[102.494116,32.557301],[102.495354,32.557636],[102.496292,32.558183],[102.496792,32.55869],[102.497559,32.558799],[102.49861,32.559286],[102.499293,32.559765],[102.500186,32.560653],[102.500606,32.561157],[102.501691,32.561911],[102.502444,32.562496],[102.503587,32.562885],[102.504697,32.562744],[102.506481,32.562576],[102.507486,32.562718],[102.50877,32.563232],[102.510436,32.563876],[102.511419,32.564832],[102.512154,32.566068],[102.512405,32.566541],[102.512657,32.567015],[102.51295,32.567733],[102.513242,32.568451],[102.514165,32.571605],[102.514792,32.573286],[102.515348,32.57403],[102.515912,32.57453],[102.516473,32.574236],[102.517034,32.573942],[102.517669,32.573588],[102.518304,32.573234],[102.519256,32.572703],[102.520208,32.572172],[102.521015,32.571679],[102.521822,32.571186],[102.522416,32.570587],[102.523355,32.569669],[102.5254,32.568732],[102.526094,32.569723],[102.526843,32.570471],[102.527781,32.571344],[102.529045,32.572591],[102.530168,32.573712],[102.530854,32.574988],[102.531133,32.575374],[102.531688,32.576144],[102.532809,32.577347],[102.534077,32.578471],[102.535204,32.579471],[102.536107,32.579855],[102.537194,32.580568],[102.539476,32.581509],[102.540609,32.582305],[102.541491,32.583462],[102.541791,32.583844],[102.54218,32.584338],[102.542467,32.584703],[102.543554,32.585416],[102.544673,32.5867],[102.54536,32.587976],[102.545678,32.588996],[102.545921,32.590114],[102.545948,32.591135],[102.546462,32.592397],[102.54731,32.593434],[102.548332,32.59415],[102.549407,32.594913],[102.549878,32.595711],[102.550069,32.596782],[102.550293,32.598595],[102.550447,32.59897],[102.550905,32.600277],[102.551303,32.60177],[102.551884,32.60257],[102.552908,32.603193],[102.554367,32.603963],[102.555829,32.604595],[102.556955,32.605545],[102.557915,32.606495],[102.557927,32.607061],[102.557933,32.607364],[102.557939,32.607651],[102.559003,32.608832],[102.559016,32.609776],[102.559021,32.610177],[102.559138,32.611041],[102.559204,32.611526],[102.55848,32.612442],[102.558409,32.612531],[102.557392,32.613671],[102.556752,32.615004],[102.556441,32.61639],[102.555649,32.617302],[102.554907,32.618354],[102.554006,32.619265],[102.552711,32.620455],[102.552375,32.620764],[102.550863,32.62194],[102.550262,32.621882],[102.548618,32.62185],[102.546576,32.622367],[102.544679,32.623582],[102.543939,32.624588],[102.542642,32.625908],[102.540786,32.627635],[102.539552,32.628631],[102.537873,32.629897],[102.536416,32.631074],[102.535564,32.632125],[102.534097,32.633673],[102.53276,32.634435],[102.530926,32.635327],[102.529309,32.636316],[102.52798,32.6368],[102.527296,32.63776],[102.526438,32.639042],[102.525754,32.640003],[102.524899,32.641192],[102.523992,32.642241],[102.523307,32.643248],[102.521664,32.645164],[102.520916,32.646448],[102.520448,32.647506],[102.52031,32.648524],[102.520001,32.64977],[102.519915,32.650928],[102.519496,32.652172],[102.519503,32.653935],[102.519855,32.655056],[102.51988,32.65512],[102.520021,32.655484],[102.520043,32.65554],[102.52047,32.656645],[102.520796,32.658739],[102.521132,32.660462],[102.521262,32.661717],[102.521115,32.663059],[102.521091,32.66394],[102.521381,32.665338],[102.521565,32.66664],[102.522027,32.667118],[102.522782,32.668224],[102.523542,32.669141],[102.524245,32.670104],[102.52453,32.670541],[102.524742,32.670868],[102.525214,32.671594],[102.525301,32.672498],[102.525806,32.674549],[102.525959,32.675027],[102.526549,32.676878],[102.526578,32.676968],[102.526736,32.677462],[102.527029,32.678396],[102.5272,32.678942],[102.527282,32.679131],[102.527495,32.679618],[102.527779,32.68027],[102.527947,32.680656],[102.528097,32.681001],[102.52822,32.681302],[102.528275,32.681436],[102.528298,32.681492],[102.528939,32.683058],[102.529464,32.68435],[102.529523,32.684686],[102.529572,32.684969],[102.529755,32.686017],[102.52993,32.687429],[102.529948,32.68758],[102.529975,32.687791],[102.529975,32.687791],[102.529985,32.687872],[102.530726,32.689501],[102.530923,32.689729],[102.531977,32.690949],[102.533055,32.69229],[102.533356,32.692665],[102.533876,32.693312],[102.534739,32.69445],[102.535047,32.694857],[102.535447,32.695384],[102.535735,32.696639],[102.535783,32.696847],[102.535798,32.696909],[102.536601,32.698301],[102.535597,32.698092],[102.534147,32.697731],[102.531396,32.697772],[102.53041,32.697799],[102.529879,32.697813],[102.528949,32.697838],[102.527351,32.697882],[102.526799,32.697831],[102.526433,32.697797],[102.525392,32.697701],[102.523367,32.697851],[102.523164,32.697857],[102.523039,32.697861],[102.519425,32.697971],[102.518648,32.697995],[102.518122,32.698068],[102.517859,32.698104],[102.517796,32.698112],[102.517796,32.698113],[102.517795,32.698113],[102.517768,32.698116],[102.517738,32.698121],[102.517212,32.698193],[102.517204,32.698194],[102.517151,32.698202],[102.517149,32.698202],[102.51627,32.698323],[102.516141,32.698341],[102.515943,32.698368],[102.515786,32.698361],[102.515777,32.69836],[102.515754,32.698359],[102.515608,32.698352],[102.515484,32.698346],[102.515438,32.698344],[102.515414,32.698343],[102.514305,32.69829],[102.514262,32.698288],[102.513131,32.69821],[102.512285,32.698152],[102.511348,32.698088],[102.511166,32.698065],[102.509502,32.697861],[102.509215,32.697769],[102.507934,32.69736],[102.507444,32.697203],[102.506688,32.696966],[102.50583,32.696696],[102.505234,32.696437],[102.503889,32.695851],[102.500492,32.69406],[102.500386,32.693993],[102.500211,32.693882],[102.499525,32.693627],[102.499003,32.69334],[102.497618,32.693278],[102.497331,32.693371],[102.496712,32.693571],[102.496321,32.69363],[102.495114,32.693815],[102.493923,32.694136],[102.492317,32.694655],[102.491319,32.695325],[102.49061,32.695897],[102.490429,32.696549],[102.490532,32.698391],[102.49058,32.698415],[102.490842,32.699282],[102.490906,32.699904],[102.491016,32.701804],[102.491064,32.702137],[102.49109,32.702322],[102.491104,32.702415],[102.491175,32.702907],[102.491183,32.702962],[102.491255,32.703464],[102.491399,32.704139],[102.491543,32.704815],[102.491631,32.705317],[102.491719,32.705819],[102.492025,32.706549],[102.492331,32.707279],[102.492622,32.707803],[102.492914,32.708326],[102.493385,32.708991],[102.493856,32.709655],[102.494348,32.710286],[102.49484,32.710917],[102.495136,32.711285],[102.495432,32.711653],[102.495767,32.712073],[102.496102,32.712494],[102.496531,32.71321],[102.496959,32.713925],[102.49707,32.714359],[102.49718,32.714792],[102.497412,32.715245],[102.497644,32.715698],[102.497995,32.716291],[102.498345,32.716885],[102.498375,32.717282],[102.498405,32.717679],[102.498409,32.718248],[102.498414,32.718818],[102.498422,32.719266],[102.49843,32.719715],[102.498577,32.720269],[102.498725,32.720824],[102.498832,32.721361],[102.49894,32.721898],[102.499112,32.722315],[102.499284,32.722732],[102.499438,32.723063],[102.499592,32.723394],[102.499828,32.723692],[102.500065,32.72399],[102.500346,32.724151],[102.500627,32.724311],[102.50109,32.725033],[102.501553,32.725754],[102.501973,32.72643],[102.502393,32.727106],[102.502505,32.727813],[102.502617,32.728519],[102.502643,32.72915],[102.502669,32.729781],[102.502666,32.729885],[102.502664,32.729988],[102.502662,32.730055],[102.502637,32.730957],[102.502601,32.732227],[102.502609,32.732461],[102.502644,32.733493],[102.502649,32.733637],[102.5027,32.733757],[102.502777,32.733942],[102.503308,32.735207],[102.503789,32.737993],[102.503744,32.739619],[102.503859,32.740319],[102.50403,32.741365],[102.504039,32.741419],[102.504047,32.741937],[102.504051,32.742242],[102.504056,32.742587],[102.504698,32.744352],[102.505915,32.746712],[102.50593,32.746729],[102.507251,32.748257],[102.507493,32.748537],[102.507648,32.748691],[102.507986,32.749029],[102.508823,32.749863],[102.50903,32.750069],[102.510096,32.7508],[102.510977,32.751402],[102.513051,32.752819],[102.515087,32.754152],[102.516244,32.755135],[102.516861,32.756023],[102.517078,32.757112],[102.517079,32.758864],[102.516983,32.76053],[102.517102,32.761576],[102.517273,32.762538],[102.517578,32.764004],[102.516656,32.765196],[102.515981,32.766392],[102.515761,32.76718],[102.515443,32.767967],[102.514966,32.769167],[102.514105,32.771694],[102.513882,32.772608],[102.513609,32.773562],[102.513343,32.774527],[102.51306,32.775553],[102.512259,32.77764],[102.512186,32.777831],[102.512155,32.777913],[102.511574,32.779277],[102.510617,32.78036],[102.510271,32.780752],[102.510266,32.780757],[102.510201,32.78083],[102.510197,32.780835],[102.510189,32.780844],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510178,32.780858],[102.510073,32.780984],[102.510024,32.781043],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.509912,32.781178],[102.50989,32.781205],[102.509817,32.781214],[102.509771,32.78122],[102.509279,32.781286],[102.5088,32.78135],[102.508286,32.781517],[102.508275,32.78152],[102.508199,32.781545],[102.508198,32.781545],[102.508188,32.781549],[102.507953,32.781625],[102.507932,32.781638],[102.507897,32.781662],[102.507803,32.781723],[102.507766,32.781748],[102.5074,32.781989],[102.507134,32.782651],[102.507301,32.783739],[102.508457,32.784805],[102.51011,32.785714],[102.510517,32.786236],[102.510549,32.786278],[102.510969,32.786816],[102.510992,32.787734],[102.510518,32.788809],[102.510266,32.789151],[102.509851,32.789713],[102.50972,32.789768],[102.509469,32.789874],[102.509383,32.789911],[102.509337,32.78993],[102.509164,32.790003],[102.509001,32.790072],[102.508743,32.79008],[102.50869,32.790082],[102.508606,32.790085],[102.508393,32.790092],[102.50821,32.790098],[102.508191,32.79008],[102.507873,32.789799],[102.507965,32.789429],[102.508047,32.789097],[102.508079,32.78897],[102.50812,32.788804],[102.508151,32.788678],[102.508389,32.788239],[102.508444,32.788136],[102.50862,32.787812],[102.508552,32.787428],[102.508526,32.787282],[102.508449,32.786849],[102.507623,32.786374],[102.506392,32.786224],[102.50592,32.786141],[102.505311,32.786035],[102.504282,32.785765],[102.504006,32.78575],[102.503785,32.785738],[102.503049,32.785698],[102.501936,32.786064],[102.501923,32.786069],[102.501884,32.786081],[102.501853,32.786092],[102.501849,32.786096],[102.501844,32.7861],[102.501785,32.786155],[102.501756,32.786183],[102.5015,32.786423],[102.50146,32.786461],[102.501361,32.786554],[102.501244,32.786663],[102.501171,32.786828],[102.500958,32.787305],[102.500876,32.78749],[102.500866,32.78783],[102.50085,32.788408],[102.500847,32.788526],[102.500834,32.788964],[102.500832,32.789058],[102.500825,32.789283],[102.500816,32.789612],[102.500808,32.789908],[102.500871,32.790208],[102.500526,32.790463],[102.499896,32.790929],[102.499671,32.79104],[102.499216,32.791264],[102.499195,32.791265],[102.498545,32.791294],[102.497803,32.791083],[102.497119,32.790656],[102.496484,32.790294],[102.496227,32.790781],[102.496206,32.790821],[102.496141,32.790943],[102.495977,32.791253],[102.495958,32.79129],[102.495957,32.791291],[102.495942,32.79132],[102.495743,32.791696],[102.495741,32.791699],[102.495701,32.791776],[102.495681,32.791814],[102.495664,32.791847],[102.495631,32.791908],[102.495601,32.791966],[102.495368,32.792407],[102.495357,32.79243],[102.495353,32.792439],[102.495339,32.792471],[102.495326,32.792499],[102.495311,32.792533],[102.495295,32.792567],[102.494921,32.793398],[102.494913,32.793415],[102.4949,32.793443],[102.494882,32.793483],[102.494849,32.793556],[102.494832,32.793593],[102.492391,32.799006],[102.492233,32.799358],[102.49192,32.800476],[102.491908,32.80052],[102.491803,32.800895],[102.491777,32.801788],[102.492419,32.802825],[102.493538,32.804306],[102.493553,32.80433],[102.494254,32.805432],[102.495026,32.80679],[102.495057,32.806843],[102.495058,32.806845],[102.495059,32.806847],[102.495091,32.806903],[102.495094,32.806909],[102.495557,32.807723],[102.496219,32.808956],[102.497089,32.810106],[102.497608,32.810922],[102.498223,32.81198],[102.498437,32.812638],[102.498573,32.813294],[102.498883,32.814215],[102.499278,32.814855],[102.49959,32.815689],[102.499831,32.816281],[102.500433,32.816903],[102.500655,32.817166],[102.501321,32.817952],[102.501299,32.818746],[102.501091,32.819456],[102.500798,32.819848],[102.500413,32.820158],[102.500339,32.820256],[102.500151,32.820513],[102.49959,32.821199],[102.498942,32.82221],[102.498588,32.8229],[102.498463,32.82366],[102.498227,32.824722],[102.498076,32.825525],[102.4977,32.82604],[102.497083,32.826899],[102.495954,32.829005],[102.495721,32.829684],[102.495588,32.830294],[102.495507,32.830836],[102.495287,32.832198],[102.495258,32.833215],[102.495307,32.834429],[102.495517,32.835172],[102.495487,32.835659],[102.49553,32.836469],[102.495488,32.836897],[102.495484,32.836942],[102.495393,32.837247],[102.495116,32.837687],[102.494919,32.838241],[102.49473,32.839101],[102.494596,32.839754],[102.494555,32.840302],[102.494771,32.840636],[102.495224,32.841623],[102.495537,32.842264],[102.495721,32.842674],[102.496027,32.843048],[102.496249,32.843674],[102.496327,32.84412],[102.496437,32.84449],[102.496502,32.84486],[102.496385,32.845276],[102.495856,32.8459],[102.494546,32.847029],[102.49356,32.847885],[102.492679,32.848706],[102.491861,32.849463],[102.490759,32.850338],[102.490281,32.850567],[102.489742,32.850826],[102.48862,32.851531],[102.487537,32.852254],[102.486855,32.85272],[102.486127,32.852953],[102.485238,32.853184],[102.484649,32.853194],[102.484003,32.853362],[102.483244,32.85373],[102.481971,32.854314],[102.481052,32.854679],[102.480214,32.854978],[102.479001,32.855337],[102.478111,32.85559],[102.477274,32.855889],[102.476142,32.856205],[102.475173,32.856433],[102.474545,32.856895],[102.474161,32.857282],[102.473931,32.857514],[102.473231,32.858282],[102.47278,32.859116],[102.472702,32.859232],[102.472222,32.859947],[102.471984,32.860785],[102.471528,32.861768],[102.470434,32.863912],[102.469976,32.864956],[102.469819,32.865465],[102.469365,32.866388],[102.469019,32.867284],[102.468038,32.869159],[102.467217,32.870467],[102.466829,32.871572],[102.466809,32.872264],[102.466789,32.872955],[102.466629,32.873584],[102.466434,32.874182],[102.465427,32.875726],[102.464908,32.876407],[102.464274,32.877387],[102.463539,32.878155],[102.463198,32.87887],[102.463072,32.879529],[102.463009,32.880491],[102.463611,32.881887],[102.463871,32.882795],[102.46356,32.883691],[102.463218,32.884437],[102.463022,32.885034],[102.462597,32.886199],[102.462401,32.886827],[102.462111,32.886972],[102.461397,32.887017],[102.460608,32.887152],[102.460165,32.887684],[102.459612,32.888305],[102.459053,32.889166],[102.458239,32.890203],[102.45739,32.891208],[102.45657,32.892425],[102.456305,32.892992],[102.456412,32.894227],[102.456252,32.89609],[102.456064,32.89765],[102.456207,32.898887],[102.456001,32.902145],[102.456122,32.903515],[102.456031,32.904303],[102.455844,32.905262],[102.455799,32.905636],[102.455754,32.906011],[102.45571,32.906751],[102.455666,32.907492],[102.455584,32.907943],[102.455503,32.908393],[102.455421,32.908864],[102.455339,32.909334],[102.45526,32.909717],[102.45518,32.910101],[102.45526,32.910487],[102.455341,32.910874],[102.455408,32.911299],[102.455476,32.911724],[102.455475,32.912157],[102.455474,32.912591],[102.455472,32.913062],[102.45547,32.913534],[102.45562,32.913855],[102.455771,32.914176],[102.455876,32.914515],[102.45598,32.914854],[102.456185,32.915263],[102.45639,32.915671],[102.45673,32.916159],[102.45707,32.916648],[102.457233,32.916949],[102.457395,32.917251],[102.457431,32.917608],[102.457466,32.917965],[102.45745,32.918523],[102.457434,32.919081],[102.457412,32.919221],[102.457389,32.919361],[102.457323,32.919772],[102.45741,32.921526],[102.457363,32.922373],[102.457186,32.922966],[102.456974,32.923193],[102.456693,32.923437],[102.455973,32.923866],[102.455301,32.924218],[102.454694,32.924668],[102.454021,32.925039],[102.453259,32.925351],[102.452633,32.925685],[102.452324,32.926121],[102.451945,32.926576],[102.451478,32.926932],[102.45119,32.927446],[102.450741,32.927976],[102.450068,32.928328],[102.449606,32.928531],[102.449481,32.928894],[102.449331,32.929353],[102.449001,32.929712],[102.448442,32.930105],[102.447794,32.930381],[102.446633,32.931069],[102.445596,32.931414],[102.444741,32.931762],[102.444338,32.932255],[102.444121,32.932655],[102.44351,32.933259],[102.442815,32.934419],[102.44229,32.935178],[102.441734,32.935456],[102.440916,32.935324],[102.440455,32.935375],[102.44039,32.935328],[102.440358,32.935305],[102.440217,32.935204],[102.440052,32.935086],[102.440038,32.935076],[102.439918,32.93499],[102.439561,32.934787],[102.439204,32.934584],[102.438942,32.934421],[102.43868,32.934259],[102.438465,32.934126],[102.438251,32.933994],[102.438037,32.933861],[102.437822,32.933728],[102.437599,32.933479],[102.437429,32.933329],[102.437258,32.933179],[102.437044,32.93304],[102.43683,32.932901],[102.436558,32.93276],[102.436286,32.93262],[102.435943,32.932442],[102.435726,32.932376],[102.43551,32.932311],[102.435077,32.932253],[102.434716,32.93216],[102.434355,32.932067],[102.434053,32.931963],[102.43375,32.931859],[102.433508,32.931707],[102.433265,32.931555],[102.433041,32.931306],[102.43283,32.931057],[102.432619,32.930808],[102.432462,32.930619],[102.432305,32.93043],[102.432149,32.930241],[102.431992,32.930052],[102.431835,32.929863],[102.431678,32.929675],[102.431521,32.929486],[102.431364,32.929297],[102.431207,32.929108],[102.431051,32.928919],[102.430894,32.92873],[102.430737,32.928541],[102.430619,32.928333],[102.430502,32.928124],[102.430384,32.927915],[102.430266,32.927706],[102.430149,32.927498],[102.430031,32.927289],[102.429913,32.92708],[102.429796,32.926872],[102.429678,32.926663],[102.42956,32.926454],[102.429437,32.926209],[102.429313,32.925965],[102.429189,32.92572],[102.429066,32.925475],[102.428942,32.92523],[102.428818,32.924985],[102.428694,32.92474],[102.428571,32.924496],[102.428447,32.924251],[102.428323,32.924006],[102.428071,32.923683],[102.427759,32.923407],[102.427502,32.923255],[102.427299,32.923251],[102.427067,32.923247],[102.426817,32.923339],[102.426567,32.923432],[102.426287,32.923573],[102.426006,32.923715],[102.425754,32.923893],[102.425502,32.924071],[102.425147,32.924284],[102.424792,32.924497],[102.424585,32.924639],[102.424377,32.924782],[102.42417,32.924924],[102.423962,32.925067],[102.42375,32.92518],[102.423537,32.925293],[102.423324,32.925406],[102.423112,32.925519],[102.422899,32.925632],[102.422687,32.925745],[102.422474,32.925858],[102.422262,32.925971],[102.422049,32.926084],[102.421837,32.926197],[102.421411,32.926335],[102.420986,32.926474],[102.420752,32.926505],[102.420519,32.926537],[102.420113,32.926504],[102.419929,32.926366],[102.419744,32.926227],[102.419559,32.926089],[102.419374,32.925951],[102.419204,32.9258],[102.419034,32.92565],[102.41885,32.925462],[102.418666,32.925274],[102.418415,32.924976],[102.418148,32.924653],[102.41788,32.924329],[102.417716,32.92413],[102.417551,32.923931],[102.417386,32.923731],[102.417221,32.923532],[102.417056,32.923333],[102.416891,32.923134],[102.416726,32.922935],[102.416561,32.922736],[102.416353,32.922576],[102.416145,32.922416],[102.415936,32.922256],[102.415728,32.922097],[102.415519,32.921937],[102.415311,32.921777],[102.415103,32.921617],[102.414894,32.921457],[102.414686,32.921298],[102.414478,32.921138],[102.414269,32.920978],[102.414061,32.920818],[102.413853,32.920659],[102.413644,32.920499],[102.413436,32.920339],[102.413228,32.920179],[102.413044,32.920012],[102.41286,32.919844],[102.412676,32.919676],[102.412491,32.919508],[102.412307,32.91934],[102.412123,32.919173],[102.411939,32.919005],[102.411755,32.918837],[102.411571,32.918669],[102.411387,32.918501],[102.411203,32.918333],[102.411019,32.918166],[102.410835,32.917998],[102.410651,32.91783],[102.410381,32.917617],[102.410111,32.917404],[102.409861,32.917031],[102.409778,32.916788],[102.409727,32.916637],[102.409736,32.916343],[102.409743,32.916099],[102.409777,32.915904],[102.409812,32.915734],[102.41001,32.915548],[102.410208,32.915362],[102.410405,32.915177],[102.410603,32.914991],[102.410801,32.914806],[102.410999,32.91462],[102.411197,32.914434],[102.411395,32.914249],[102.41154,32.914049],[102.411685,32.913849],[102.411831,32.913649],[102.411976,32.913449],[102.412121,32.913249],[102.412267,32.913049],[102.412412,32.912849],[102.412557,32.912649],[102.412703,32.912449],[102.412848,32.912249],[102.413033,32.912072],[102.413217,32.911895],[102.413402,32.911718],[102.413587,32.911541],[102.413772,32.911364],[102.413956,32.911187],[102.414141,32.91101],[102.414326,32.910834],[102.414511,32.910657],[102.414695,32.91048],[102.414918,32.910325],[102.41514,32.910171],[102.415363,32.910016],[102.415585,32.909862],[102.415706,32.909693],[102.415712,32.909547],[102.415688,32.909302],[102.415606,32.909128],[102.415489,32.909012],[102.415352,32.908878],[102.41521,32.908802],[102.414948,32.908772],[102.414612,32.908765],[102.4142,32.908673],[102.413788,32.908581],[102.413376,32.908489],[102.413011,32.908409],[102.412646,32.90833],[102.41228,32.908251],[102.411961,32.908164],[102.411641,32.908076],[102.411321,32.907988],[102.411004,32.907824],[102.410686,32.90766],[102.410463,32.907462],[102.41024,32.907265],[102.410041,32.90703],[102.409846,32.906799],[102.409669,32.906487],[102.409491,32.906176],[102.409163,32.905978],[102.408836,32.905781],[102.408508,32.905583],[102.408319,32.905456],[102.407983,32.905228],[102.407647,32.904999],[102.40731,32.904771],[102.407096,32.904621],[102.406882,32.904471],[102.406528,32.904272],[102.406356,32.90415],[102.40602,32.904051],[102.405783,32.903964],[102.405521,32.903895],[102.405259,32.903826],[102.404959,32.903772],[102.40466,32.903717],[102.404497,32.903718],[102.40416,32.90372],[102.403822,32.903722],[102.403405,32.903725],[102.403184,32.903727],[102.402802,32.90369],[102.40242,32.903654],[102.402037,32.903617],[102.401792,32.903555],[102.401547,32.903493],[102.401347,32.903384],[102.401129,32.903198],[102.400915,32.902969],[102.400734,32.902775],[102.400572,32.902527],[102.40041,32.90228],[102.400232,32.901934],[102.400055,32.901588],[102.399877,32.901242],[102.39981,32.900916],[102.399744,32.90059],[102.399601,32.900291],[102.399463,32.900086],[102.399358,32.899834],[102.399296,32.899534],[102.399234,32.899234],[102.399209,32.898915],[102.399184,32.898596],[102.399158,32.898278],[102.399149,32.898025],[102.39912,32.897806],[102.399122,32.89758],[102.399122,32.897514],[102.399124,32.897221],[102.399125,32.897126],[102.399096,32.896955],[102.399044,32.896798],[102.398858,32.896441],[102.39869,32.89611],[102.398521,32.895779],[102.398477,32.895674],[102.398356,32.895381],[102.398235,32.895089],[102.398168,32.894846],[102.398102,32.894604],[102.398035,32.894228],[102.397969,32.893852],[102.397923,32.893557],[102.397904,32.89344],[102.397877,32.893265],[102.39784,32.893028],[102.397808,32.89293],[102.39763,32.892784],[102.397452,32.892637],[102.397283,32.89245],[102.397115,32.892263],[102.396893,32.891941],[102.396848,32.891605],[102.396851,32.891506],[102.396883,32.891385],[102.397003,32.891241],[102.39712,32.891243],[102.397411,32.891249],[102.397583,32.891301],[102.397959,32.891359],[102.398222,32.891314],[102.398456,32.891246],[102.398601,32.891177],[102.398824,32.89107],[102.39909,32.890944],[102.399091,32.890943],[102.399092,32.890943],[102.399193,32.890895],[102.399549,32.890657],[102.39977,32.890527],[102.399991,32.890397],[102.400288,32.890183],[102.400555,32.89003],[102.400821,32.889876],[102.400967,32.889696],[102.401112,32.889515],[102.401257,32.889335],[102.401403,32.889155],[102.401548,32.888974],[102.401694,32.888794],[102.401847,32.888516],[102.401944,32.888342],[102.402061,32.888217],[102.402142,32.888084],[102.402323,32.887846],[102.402428,32.887646],[102.402418,32.887508],[102.402352,32.887422],[102.402285,32.887365],[102.402194,32.887161],[102.402152,32.88705],[102.402071,32.886837],[102.401999,32.886604],[102.402009,32.886466],[102.402061,32.886347],[102.402118,32.886176],[102.402149,32.886117],[102.402218,32.885985],[102.402214,32.885881],[102.402097,32.885754],[102.402004,32.885652],[102.401933,32.885581],[102.401923,32.885495],[102.401985,32.885333],[102.402019,32.885258],[102.402104,32.885067],[102.402099,32.884938],[102.402076,32.884848],[102.401971,32.88461],[102.401967,32.884602],[102.401899,32.884472],[102.401895,32.884329],[102.401933,32.883982],[102.401972,32.883634],[102.402011,32.883286],[102.402049,32.882939],[102.402054,32.882898],[102.40207,32.882577],[102.402104,32.882343],[102.402164,32.882126],[102.402225,32.881909],[102.402395,32.881664],[102.402481,32.881601],[102.402789,32.88137],[102.403097,32.881139],[102.403405,32.880909],[102.403643,32.880717],[102.403942,32.880429],[102.404126,32.880103],[102.40431,32.879777],[102.404413,32.879555],[102.404516,32.879333],[102.404619,32.879112],[102.404722,32.87889],[102.404826,32.878668],[102.404929,32.878447],[102.404968,32.878203],[102.405007,32.877959],[102.405046,32.877715],[102.405085,32.877471],[102.405124,32.877227],[102.405163,32.876983],[102.405202,32.87674],[102.405241,32.876496],[102.40528,32.876252],[102.405291,32.876186],[102.405319,32.876008],[102.405357,32.87574],[102.405394,32.875471],[102.405403,32.875154],[102.405404,32.875121],[102.405409,32.874909],[102.405391,32.874554],[102.405373,32.874199],[102.405321,32.873965],[102.405269,32.873731],[102.405203,32.87352],[102.405178,32.873312],[102.405088,32.873184],[102.405087,32.873183],[102.404783,32.872984],[102.404579,32.872855],[102.404517,32.872713],[102.404455,32.872584],[102.404493,32.872365],[102.404493,32.872284],[102.404393,32.872146],[102.404331,32.87197],[102.404283,32.871903],[102.404198,32.871785],[102.404103,32.871689],[102.403879,32.871452],[102.403772,32.871241],[102.403771,32.871239],[102.40377,32.871237],[102.403736,32.871099],[102.403774,32.871014],[102.403803,32.870895],[102.403741,32.87079],[102.403679,32.87069],[102.403655,32.870595],[102.403708,32.870495],[102.40377,32.870428],[102.403808,32.870324],[102.403805,32.8703],[102.403773,32.870204],[102.403746,32.870171],[102.403475,32.869991],[102.40337,32.869857],[102.403337,32.869743],[102.403327,32.869619],[102.403322,32.869519],[102.403256,32.869434],[102.40308,32.869291],[102.402898,32.868954],[102.402862,32.868794],[102.402856,32.868544],[102.402862,32.868336],[102.40291,32.868062],[102.402969,32.867913],[102.403011,32.86783],[102.40304,32.867771],[102.403034,32.867663],[102.403017,32.867556],[102.402957,32.867372],[102.402924,32.867295],[102.402922,32.867281],[102.402878,32.866916],[102.402939,32.866688],[102.402927,32.866533],[102.402898,32.866426],[102.402868,32.866271],[102.402808,32.866051],[102.402767,32.866001],[102.402624,32.865825],[102.40241,32.865647],[102.402368,32.86554],[102.402351,32.865307],[102.402334,32.865073],[102.402266,32.864738],[102.402198,32.864402],[102.402195,32.86435],[102.402184,32.864124],[102.402189,32.863736],[102.402193,32.863348],[102.402198,32.86296],[102.402219,32.862636],[102.402241,32.862311],[102.40217,32.861961],[102.402105,32.861725],[102.402041,32.86149],[102.402041,32.861247],[102.402062,32.860869],[102.402098,32.860662],[102.402105,32.860419],[102.402048,32.860262],[102.402027,32.860048],[102.40207,32.85982],[102.402048,32.859591],[102.401991,32.859427],[102.40177,32.859284],[102.401698,32.859063],[102.401684,32.858752],[102.401683,32.858751],[102.401682,32.85875],[102.401664,32.858723],[102.401529,32.858515],[102.401452,32.858299],[102.401374,32.858084],[102.401296,32.857868],[102.401218,32.857653],[102.40114,32.857438],[102.401062,32.857222],[102.400984,32.857007],[102.400906,32.856792],[102.400801,32.856422],[102.400663,32.856175],[102.400465,32.855975],[102.400267,32.855824],[102.400088,32.85567],[102.399908,32.855515],[102.399729,32.85536],[102.39955,32.855206],[102.39937,32.855051],[102.399191,32.854896],[102.399,32.854703],[102.39881,32.854509],[102.39862,32.854315],[102.398429,32.854122],[102.398348,32.85404],[102.398343,32.854034],[102.398239,32.853928],[102.398049,32.853735],[102.397858,32.853541],[102.397668,32.853347],[102.397499,32.853179],[102.397329,32.85301],[102.39716,32.852842],[102.396991,32.852673],[102.396821,32.852504],[102.396652,32.852336],[102.396483,32.852167],[102.396314,32.851998],[102.396124,32.85186],[102.395934,32.851722],[102.395744,32.851584],[102.395554,32.851446],[102.395364,32.851308],[102.395174,32.851171],[102.394985,32.851033],[102.394795,32.850895],[102.394605,32.850757],[102.394415,32.850619],[102.394225,32.850481],[102.394035,32.850343],[102.39383,32.850176],[102.393624,32.85001],[102.393418,32.849843],[102.393212,32.849677],[102.393007,32.84951],[102.392801,32.849344],[102.392595,32.849177],[102.39239,32.849011],[102.392261,32.848806],[102.392133,32.848602],[102.392005,32.848397],[102.391876,32.848193],[102.391748,32.847988],[102.39162,32.847784],[102.391492,32.847579],[102.391363,32.847375],[102.391318,32.846934],[102.391328,32.846591],[102.391394,32.846299],[102.391461,32.846006],[102.391586,32.84574],[102.39171,32.845461],[102.391834,32.845182],[102.3919,32.844891],[102.391903,32.844821],[102.391907,32.844686],[102.391908,32.844645],[102.391913,32.84445],[102.391892,32.84424],[102.391891,32.84423],[102.391692,32.843971],[102.391684,32.843961],[102.391642,32.843869],[102.391635,32.843863],[102.391563,32.843805],[102.391305,32.843595],[102.391046,32.843384],[102.390838,32.84323],[102.390631,32.843075],[102.390307,32.842868],[102.389982,32.842661],[102.389628,32.842401],[102.389274,32.84214],[102.38892,32.84188],[102.388873,32.841844],[102.388599,32.841629],[102.388325,32.841414],[102.388051,32.841199],[102.387777,32.840984],[102.38762,32.840885],[102.387218,32.840736],[102.386895,32.840616],[102.386572,32.840496],[102.386329,32.840428],[102.386087,32.84036],[102.38573,32.840303],[102.385409,32.840275],[102.385087,32.840246],[102.384798,32.840235],[102.384509,32.840225],[102.384202,32.8402],[102.383895,32.840175],[102.383598,32.840087],[102.3833,32.839999],[102.383003,32.839911],[102.38267,32.839801],[102.382337,32.839692],[102.382004,32.839582],[102.381797,32.839493],[102.38159,32.839404],[102.38133,32.839236],[102.38107,32.839068],[102.380734,32.83885],[102.380397,32.838633],[102.380041,32.838397],[102.379685,32.83816],[102.379328,32.837924],[102.379024,32.837723],[102.378721,32.837522],[102.378417,32.837321],[102.378113,32.837119],[102.377849,32.836991],[102.377585,32.836862],[102.377235,32.836763],[102.377021,32.836634],[102.37685,32.83652],[102.3766,32.836456],[102.376329,32.836395],[102.376057,32.836334],[102.375715,32.836256],[102.375483,32.836131],[102.375251,32.836006],[102.375008,32.835849],[102.374765,32.835692],[102.374544,32.835442],[102.374394,32.835074],[102.374244,32.834707],[102.374059,32.834475],[102.373873,32.834243],[102.373709,32.834061],[102.373545,32.833879],[102.37328,32.833722],[102.373016,32.833565],[102.372661,32.833422],[102.372307,32.83328],[102.371952,32.833137],[102.371931,32.833129],[102.371524,32.832965],[102.371189,32.832979],[102.371039,32.833022],[102.370825,32.833168],[102.370611,32.833315],[102.37033,32.833448],[102.370049,32.833581],[102.369768,32.833714],[102.369376,32.833839],[102.368983,32.833964],[102.368665,32.834026],[102.368314,32.834095],[102.367964,32.834163],[102.367848,32.834186],[102.367508,32.834202],[102.367168,32.834219],[102.366827,32.834236],[102.366501,32.8342],[102.366175,32.834164],[102.365849,32.834128],[102.365454,32.834083],[102.365059,32.834038],[102.364664,32.833993],[102.364407,32.833918],[102.36415,32.833843],[102.363808,32.833657],[102.363565,32.833424],[102.363322,32.833191],[102.36308,32.832958],[102.362891,32.832712],[102.362701,32.832465],[102.362484,32.832226],[102.362266,32.831987],[102.36206,32.831831],[102.361785,32.831624],[102.361509,32.831416],[102.361259,32.831221],[102.36101,32.831026],[102.36076,32.830831],[102.360446,32.830645],[102.360148,32.830531],[102.359851,32.830417],[102.359553,32.830302],[102.359211,32.830081],[102.358868,32.82986],[102.358791,32.82981],[102.358491,32.829617],[102.35819,32.829424],[102.35789,32.829232],[102.357705,32.829064],[102.357519,32.828896],[102.357383,32.828646],[102.357248,32.828396],[102.357119,32.828275],[102.356934,32.828196],[102.356634,32.828204],[102.356348,32.828214],[102.356063,32.828225],[102.355813,32.828225],[102.355563,32.828225],[102.355254,32.828144],[102.354944,32.828063],[102.354635,32.827982],[102.354325,32.827896],[102.354021,32.827811],[102.35365,32.827668],[102.353563,32.827643],[102.353257,32.827554],[102.3529,32.827511],[102.352472,32.827447],[102.352094,32.827354],[102.351803,32.827157],[102.351513,32.826959],[102.351223,32.826762],[102.351016,32.826448],[102.350809,32.826134],[102.350545,32.825805],[102.350281,32.825477],[102.350066,32.825098],[102.34997,32.824799],[102.349874,32.824499],[102.349817,32.824099],[102.349753,32.823761],[102.349688,32.823422],[102.349638,32.823157],[102.349517,32.822907],[102.34931,32.8226],[102.348959,32.822377],[102.348739,32.822236],[102.348467,32.821893],[102.348343,32.821668],[102.348218,32.821444],[102.348077,32.82117],[102.347937,32.820896],[102.347743,32.820639],[102.347548,32.820381],[102.347354,32.820123],[102.347199,32.819885],[102.347045,32.819647],[102.346955,32.819409],[102.346866,32.819171],[102.346818,32.818731],[102.346652,32.818493],[102.346366,32.818267],[102.345948,32.818227],[102.34553,32.818187],[102.345112,32.818147],[102.344731,32.818111],[102.344412,32.818116],[102.344094,32.81812],[102.34382,32.818125],[102.343547,32.818129],[102.343246,32.818051],[102.342946,32.817974],[102.342786,32.817906],[102.342536,32.8178],[102.342286,32.817694],[102.341911,32.81748],[102.341729,32.81729],[102.341548,32.8171],[102.341364,32.816847],[102.341181,32.816595],[102.341036,32.816398],[102.340894,32.816118],[102.340751,32.815838],[102.340608,32.815559],[102.340397,32.815247],[102.340186,32.814934],[102.340055,32.814696],[102.339924,32.814458],[102.339668,32.814274],[102.339668,32.814274],[102.339319,32.814213],[102.339135,32.814189],[102.33888,32.81422],[102.338625,32.81425],[102.338343,32.814351],[102.33806,32.814453],[102.337735,32.814553],[102.33741,32.814653],[102.337156,32.814648],[102.336902,32.814642],[102.336651,32.814598],[102.336399,32.814553],[102.336338,32.81453],[102.336011,32.81436],[102.335796,32.814215],[102.335581,32.814071],[102.335338,32.813965],[102.335096,32.81386],[102.334854,32.813832],[102.334612,32.813804],[102.334416,32.813755],[102.334069,32.813723],[102.333722,32.813691],[102.333606,32.81368],[102.333574,32.813677],[102.333389,32.81366],[102.333097,32.813632],[102.332869,32.813548],[102.33264,32.813465],[102.332405,32.813334],[102.332291,32.813234],[102.332161,32.81312],[102.332024,32.812924],[102.331905,32.812638],[102.33181,32.812409],[102.331715,32.81218],[102.331554,32.811936],[102.331382,32.811704],[102.331162,32.811609],[102.330852,32.811442],[102.33065,32.811163],[102.330448,32.810883],[102.330308,32.810702],[102.330168,32.81052],[102.329972,32.810348],[102.329776,32.810175],[102.329585,32.809917],[102.329395,32.809658],[102.329193,32.809289],[102.329153,32.809154],[102.329097,32.808962],[102.328907,32.808739],[102.328717,32.808516],[102.328447,32.808243],[102.328187,32.80798],[102.328026,32.807723],[102.327908,32.807534],[102.327833,32.807278],[102.327759,32.807023],[102.327682,32.806743],[102.327485,32.80635],[102.327307,32.805999],[102.327194,32.805803],[102.326962,32.805642],[102.32673,32.805482],[102.326641,32.80541],[102.326581,32.805196],[102.326534,32.80497],[102.326557,32.804607],[102.326665,32.804176],[102.326772,32.803751],[102.326795,32.803483],[102.326748,32.803257],[102.326611,32.803037],[102.32651,32.802912],[102.32645,32.802751],[102.326454,32.802713],[102.326468,32.802537],[102.326486,32.802395],[102.326534,32.802002],[102.326528,32.801701],[102.326522,32.801401],[102.326486,32.801122],[102.326415,32.801003],[102.326337,32.800931],[102.326218,32.800578],[102.326212,32.800562],[102.326141,32.800324],[102.325909,32.800188],[102.325748,32.800069],[102.325582,32.800057],[102.325557,32.800056],[102.325125,32.800038],[102.324693,32.800021],[102.324261,32.800003],[102.324038,32.799959],[102.323815,32.799914],[102.323589,32.799825],[102.323363,32.799735],[102.323012,32.799634],[102.322661,32.799533],[102.322286,32.799355],[102.322013,32.799236],[102.321834,32.799081],[102.321733,32.79891],[102.321626,32.79873],[102.321449,32.798579],[102.321424,32.798558],[102.321245,32.79848],[102.320983,32.79848],[102.320632,32.798714],[102.320486,32.798811],[102.320258,32.798962],[102.319984,32.799004],[102.319841,32.799016],[102.319544,32.798956],[102.319264,32.798932],[102.319116,32.798956],[102.318878,32.79898],[102.318455,32.798904],[102.31834,32.798799],[102.318217,32.798628],[102.318015,32.798408],[102.318007,32.798399],[102.317779,32.798238],[102.317462,32.798109],[102.317146,32.797981],[102.317046,32.797924],[102.316713,32.797714],[102.316565,32.79749],[102.316418,32.797267],[102.316293,32.796923],[102.316169,32.796578],[102.316206,32.796345],[102.316269,32.796027],[102.31632,32.795771],[102.316371,32.795516],[102.316423,32.795261],[102.316474,32.795005],[102.316525,32.79475],[102.316576,32.794494],[102.316539,32.794261],[102.316503,32.794028],[102.316339,32.793682],[102.316148,32.793311],[102.315953,32.793038],[102.315754,32.792874],[102.315555,32.792711],[102.315297,32.792403],[102.315038,32.792095],[102.314779,32.791787],[102.314504,32.791459],[102.314228,32.79113],[102.313952,32.790802],[102.313676,32.790474],[102.313483,32.790244],[102.313328,32.790078],[102.313173,32.789911],[102.313019,32.789744],[102.312864,32.789578],[102.312709,32.789411],[102.312554,32.789245],[102.312399,32.789078],[102.312244,32.788911],[102.31209,32.788745],[102.311935,32.788578],[102.311826,32.788331],[102.311717,32.788084],[102.311638,32.78782],[102.31156,32.787555],[102.311481,32.78729],[102.311402,32.787025],[102.311337,32.786767],[102.311272,32.786509],[102.311194,32.786213],[102.311115,32.785918],[102.311005,32.785494],[102.310894,32.785069],[102.310784,32.784645],[102.310674,32.784221],[102.310593,32.784011],[102.310512,32.783801],[102.310287,32.783552],[102.310059,32.7834],[102.309774,32.783246],[102.309398,32.783214],[102.309122,32.783208],[102.308847,32.783203],[102.308581,32.78321],[102.308315,32.783218],[102.308049,32.783226],[102.307783,32.783234],[102.307494,32.783191],[102.307204,32.783148],[102.30693,32.783105],[102.306656,32.783063],[102.306223,32.78298],[102.30579,32.782922],[102.305412,32.782913],[102.305005,32.782929],[102.304714,32.782984],[102.304422,32.783039],[102.304201,32.783144],[102.303981,32.78325],[102.3039,32.783265],[102.303587,32.783327],[102.303192,32.783404],[102.302959,32.783448],[102.302726,32.783492],[102.302389,32.783595],[102.302052,32.783698],[102.301717,32.783764],[102.301381,32.78383],[102.301175,32.783924],[102.300969,32.784017],[102.30066,32.784169],[102.300351,32.784321],[102.299982,32.784558],[102.299613,32.784795],[102.299427,32.784931],[102.299241,32.785068],[102.299055,32.785205],[102.298869,32.785341],[102.298688,32.785582],[102.298507,32.785823],[102.298328,32.78599],[102.298148,32.786158],[102.297969,32.786325],[102.29779,32.786493],[102.297788,32.786493],[102.297787,32.786494],[102.297481,32.786699],[102.297174,32.786904],[102.29689,32.787011],[102.296523,32.78715],[102.29623,32.787218],[102.295938,32.787285],[102.295692,32.78728],[102.295445,32.787274],[102.295377,32.787276],[102.295068,32.787218],[102.294755,32.787226],[102.294441,32.787233],[102.294157,32.787392],[102.293873,32.78755],[102.29353,32.787657],[102.293364,32.787705],[102.293112,32.787778],[102.29286,32.787852],[102.292625,32.78792],[102.292391,32.787988],[102.292355,32.787999],[102.292115,32.788036],[102.291874,32.788074],[102.291634,32.788112],[102.291394,32.78815],[102.291045,32.788142],[102.290697,32.788134],[102.290335,32.788102],[102.289974,32.78807],[102.289714,32.788015],[102.289455,32.78796],[102.289169,32.78782],[102.288883,32.787679],[102.288584,32.787489],[102.288285,32.787299],[102.288002,32.787073],[102.287719,32.786846],[102.287479,32.786632],[102.287239,32.786419],[102.287028,32.786207],[102.286817,32.785995],[102.28662,32.785783],[102.286422,32.78557],[102.286253,32.78542],[102.286084,32.785269],[102.285801,32.785043],[102.285514,32.784914],[102.285226,32.784883],[102.284907,32.784877],[102.284584,32.785016],[102.284418,32.785221],[102.284252,32.785426],[102.284065,32.785813],[102.283867,32.786115],[102.283669,32.786416],[102.283507,32.786617],[102.283345,32.786819],[102.283183,32.78702],[102.283021,32.787222],[102.282859,32.787423],[102.282697,32.787624],[102.282535,32.787826],[102.282373,32.788027],[102.282165,32.788194],[102.281956,32.788361],[102.281748,32.788527],[102.28154,32.788694],[102.281275,32.788835],[102.281009,32.788976],[102.280673,32.789067],[102.280337,32.789158],[102.280104,32.789189],[102.279871,32.789221],[102.279637,32.789253],[102.279404,32.789284],[102.279039,32.789374],[102.278675,32.789463],[102.278447,32.789551],[102.278218,32.789638],[102.27799,32.789725],[102.277761,32.789812],[102.277532,32.789899],[102.277304,32.789986],[102.277073,32.790091],[102.276843,32.790196],[102.276613,32.790301],[102.276382,32.790406],[102.276152,32.790511],[102.275921,32.790617],[102.275511,32.79073],[102.275101,32.790843],[102.274692,32.790944],[102.274283,32.791046],[102.27386,32.791122],[102.273437,32.791198],[102.273,32.791262],[102.272563,32.791326],[102.272258,32.791332],[102.271952,32.791338],[102.271705,32.791345],[102.271459,32.791352],[102.271212,32.791358],[102.270965,32.791365],[102.270673,32.79142],[102.270381,32.791474],[102.270074,32.791578],[102.269766,32.791681],[102.269675,32.791722],[102.269529,32.791787],[102.269309,32.791886],[102.269089,32.791984],[102.268764,32.792161],[102.268439,32.792337],[102.268087,32.792476],[102.267735,32.792615],[102.267516,32.792672],[102.267297,32.792728],[102.266861,32.792743],[102.266629,32.792726],[102.266398,32.792708],[102.266167,32.792673],[102.265936,32.792637],[102.265705,32.792602],[102.265474,32.792566],[102.265039,32.792532],[102.264808,32.79249],[102.264578,32.792449],[102.26429,32.792394],[102.26396,32.792264],[102.26363,32.792134],[102.2633,32.792005],[102.26297,32.791875],[102.262877,32.791788],[102.26265,32.791573],[102.262422,32.791359],[102.262238,32.79122],[102.262053,32.791081],[102.261893,32.79096],[102.261869,32.790942],[102.261685,32.790804],[102.2615,32.790665],[102.261316,32.790526],[102.261131,32.790387],[102.260947,32.790248],[102.260707,32.790148],[102.260467,32.790048],[102.260227,32.789949],[102.259988,32.789849],[102.259748,32.789749],[102.259508,32.789649],[102.259268,32.789549],[102.259028,32.789449],[102.258745,32.789329],[102.258588,32.789243],[102.258205,32.789027],[102.257822,32.788811],[102.257412,32.788652],[102.257002,32.788493],[102.256689,32.788391],[102.256376,32.788288],[102.256063,32.788186],[102.255717,32.78815],[102.255371,32.788114],[102.255059,32.78814],[102.254748,32.788167],[102.254436,32.788193],[102.254075,32.788265],[102.253713,32.788336],[102.253368,32.788391],[102.253022,32.788446],[102.252677,32.788501],[102.252662,32.788507],[102.25226,32.788685],[102.251858,32.788863],[102.25162,32.789005],[102.251487,32.789034],[102.251325,32.789053],[102.251102,32.789029],[102.250878,32.789005],[102.250764,32.789034],[102.250697,32.789129],[102.250526,32.789396],[102.250283,32.789621],[102.25004,32.789846],[102.249701,32.789965],[102.249609,32.789992],[102.249475,32.790031],[102.249142,32.78993],[102.248916,32.789948],[102.248725,32.790067],[102.248469,32.790102],[102.24845,32.790098],[102.248192,32.790041],[102.247934,32.789983],[102.247669,32.789855],[102.247405,32.789727],[102.247063,32.7896],[102.246721,32.789472],[102.246358,32.789228],[102.245995,32.788984],[102.245632,32.78874],[102.245266,32.788588],[102.2449,32.788437],[102.244872,32.788417],[102.244689,32.788287],[102.244395,32.78808],[102.244174,32.787925],[102.243984,32.787842],[102.243675,32.78786],[102.243383,32.788014],[102.24307,32.788179],[102.242757,32.788344],[102.242693,32.788377],[102.242342,32.788597],[102.241991,32.788817],[102.241852,32.789005],[102.241712,32.789192],[102.241406,32.789412],[102.241101,32.789632],[102.240796,32.789852],[102.240587,32.789954],[102.240379,32.790055],[102.239933,32.790084],[102.239749,32.790072],[102.239523,32.789942],[102.239308,32.789852],[102.238999,32.789775],[102.238681,32.789743],[102.238559,32.789731],[102.238345,32.78971],[102.23797,32.789656],[102.237595,32.789603],[102.237381,32.78962],[102.237102,32.789698],[102.236733,32.789716],[102.236594,32.789697],[102.236262,32.789595],[102.236113,32.789549],[102.236001,32.78946],[102.235787,32.78924],[102.235571,32.78903],[102.235412,32.788877],[102.235186,32.788496],[102.235014,32.788335],[102.234847,32.788228],[102.234651,32.788163],[102.234508,32.788157],[102.234353,32.788169],[102.234175,32.788151],[102.233943,32.788062],[102.233865,32.787985],[102.233723,32.787889],[102.233437,32.787758],[102.233294,32.787628],[102.233179,32.787434],[102.233054,32.787308],[102.232882,32.787089],[102.232711,32.786871],[102.232362,32.786663],[102.232067,32.786613],[102.231772,32.786564],[102.231576,32.786644],[102.231181,32.786804],[102.231103,32.786835],[102.230988,32.786923],[102.230624,32.787158],[102.230431,32.787283],[102.230239,32.787407],[102.229897,32.787693],[102.229554,32.787979],[102.229345,32.78817],[102.229136,32.788361],[102.228854,32.788551],[102.228573,32.78874],[102.228351,32.788863],[102.22813,32.788986],[102.227909,32.78911],[102.227687,32.789233],[102.227361,32.789459],[102.227035,32.789684],[102.226794,32.789973],[102.226553,32.790261],[102.226388,32.790441],[102.226223,32.790621],[102.226016,32.790726],[102.22581,32.790832],[102.22552,32.790827],[102.22526,32.790783],[102.225,32.79074],[102.224756,32.790637],[102.224513,32.790534],[102.2242,32.790343],[102.223887,32.790153],[102.223561,32.789914],[102.223234,32.789674],[102.223075,32.789502],[102.222915,32.78933],[102.222755,32.789157],[102.222595,32.788985],[102.222435,32.788813],[102.222275,32.788641],[102.222115,32.788469],[102.221956,32.788296],[102.221796,32.788124],[102.221636,32.787952],[102.221476,32.78778],[102.221316,32.787608],[102.221199,32.787388],[102.221081,32.787169],[102.220964,32.78695],[102.220846,32.78673],[102.220729,32.786511],[102.220611,32.786292],[102.220494,32.786072],[102.220376,32.785853],[102.220259,32.785634],[102.220141,32.785414],[102.220024,32.785195],[102.219906,32.784975],[102.219789,32.784756],[102.219671,32.784537],[102.219546,32.784289],[102.21942,32.784042],[102.219295,32.783795],[102.21917,32.783548],[102.219044,32.783301],[102.218919,32.783053],[102.218794,32.782806],[102.218668,32.782559],[102.218543,32.782312],[102.218418,32.782064],[102.218292,32.781817],[102.218167,32.78157],[102.218041,32.781323],[102.217916,32.781075],[102.217791,32.780828],[102.217665,32.780581],[102.217513,32.780363],[102.21736,32.780146],[102.217207,32.779928],[102.217054,32.779711],[102.216901,32.779493],[102.216749,32.779276],[102.216596,32.779058],[102.216443,32.778841],[102.216309,32.778495],[102.216176,32.77815],[102.216069,32.777829],[102.215963,32.777509],[102.215883,32.777262],[102.215804,32.777016],[102.215695,32.776793],[102.215585,32.77657],[102.215476,32.776348],[102.215367,32.776125],[102.215114,32.7759],[102.214856,32.775771],[102.21461,32.775742],[102.214365,32.775712],[102.214061,32.775705],[102.213756,32.775698],[102.21333,32.775729],[102.212903,32.775761],[102.212477,32.775792],[102.212112,32.775882],[102.211746,32.775971],[102.211424,32.776062],[102.211102,32.776153],[102.210677,32.776278],[102.210253,32.776403],[102.210029,32.776447],[102.209805,32.776491],[102.209582,32.776535],[102.209358,32.776579],[102.209134,32.776623],[102.208911,32.776667],[102.208511,32.776764],[102.208111,32.776861],[102.207712,32.776958],[102.207331,32.777072],[102.20695,32.777186],[102.206756,32.777312],[102.206563,32.777438],[102.206369,32.777564],[102.206176,32.77769],[102.205982,32.777816],[102.205789,32.777942],[102.205595,32.778068],[102.205401,32.778194],[102.205192,32.778434],[102.205055,32.778615],[102.204919,32.778796],[102.204795,32.77905],[102.204671,32.779303],[102.204617,32.779607],[102.204564,32.779911],[102.204526,32.780217],[102.204488,32.780523],[102.204333,32.780825],[102.204178,32.781127],[102.204006,32.781307],[102.203833,32.781486],[102.203661,32.781666],[102.203488,32.781845],[102.203301,32.782035],[102.203113,32.782225],[102.202926,32.782414],[102.202739,32.782604],[102.202551,32.782794],[102.202364,32.782983],[102.202039,32.783172],[102.201715,32.78336],[102.201419,32.783525],[102.201124,32.78369],[102.200755,32.783889],[102.200386,32.784089],[102.200263,32.784162],[102.200046,32.78429],[102.199706,32.78449],[102.199478,32.784803],[102.19925,32.785115],[102.199066,32.785454],[102.198882,32.785792],[102.198743,32.786035],[102.198605,32.786277],[102.198483,32.786469],[102.198361,32.786662],[102.198095,32.786827],[102.197748,32.786795],[102.197519,32.786704],[102.19729,32.786614],[102.197004,32.78646],[102.196718,32.786307],[102.196421,32.786068],[102.196124,32.785829],[102.195942,32.785629],[102.195759,32.785429],[102.195565,32.785156],[102.195547,32.78513],[102.195371,32.784883],[102.195135,32.784547],[102.194898,32.784211],[102.194706,32.783864],[102.194514,32.783517],[102.194322,32.783158],[102.19413,32.782799],[102.194073,32.782529],[102.194016,32.782258],[102.193958,32.781988],[102.193901,32.781718],[102.193916,32.78148],[102.193931,32.781242],[102.193945,32.781003],[102.19396,32.780765],[102.193975,32.780527],[102.193989,32.780289],[102.194004,32.780051],[102.194019,32.779812],[102.194015,32.77947],[102.194012,32.779127],[102.193946,32.778893],[102.193881,32.778659],[102.193714,32.778435],[102.193373,32.778208],[102.193173,32.778093],[102.192974,32.777978],[102.192688,32.77785],[102.192402,32.777721],[102.192136,32.777664],[102.19187,32.777607],[102.191604,32.777549],[102.191337,32.777492],[102.191071,32.777435],[102.190805,32.777378],[102.190538,32.77732],[102.190272,32.777263],[102.190006,32.777206],[102.189739,32.777149],[102.189473,32.777091],[102.189207,32.777034],[102.188941,32.776977],[102.188674,32.77692],[102.188265,32.776832],[102.187855,32.776744],[102.187445,32.776656],[102.187015,32.776548],[102.186786,32.776396],[102.186763,32.776225],[102.186801,32.775932],[102.186891,32.775714],[102.18698,32.775497],[102.187069,32.77528],[102.187159,32.775063],[102.187248,32.774846],[102.187337,32.774629],[102.187366,32.774562],[102.187433,32.774407],[102.187528,32.774185],[102.187624,32.773963],[102.187719,32.773741],[102.187815,32.773519],[102.18791,32.773297],[102.188006,32.773076],[102.188101,32.772854],[102.188197,32.772632],[102.188292,32.77241],[102.188388,32.772188],[102.188483,32.771966],[102.188579,32.771744],[102.188674,32.771523],[102.188714,32.77143],[102.188818,32.771173],[102.188922,32.770917],[102.189026,32.77066],[102.18913,32.770404],[102.189234,32.770147],[102.189338,32.769891],[102.189442,32.769634],[102.189546,32.769378],[102.18965,32.769121],[102.189754,32.768865],[102.189864,32.768623],[102.189973,32.768381],[102.190082,32.768138],[102.190191,32.767896],[102.190301,32.767654],[102.19041,32.767412],[102.190424,32.767345],[102.190467,32.767145],[102.190524,32.766878],[102.190581,32.766611],[102.190638,32.766344],[102.190696,32.766077],[102.190753,32.76581],[102.19081,32.765543],[102.190867,32.765275],[102.190924,32.765008],[102.190981,32.764741],[102.191038,32.764474],[102.191075,32.764301],[102.191096,32.764207],[102.191225,32.763794],[102.191319,32.763551],[102.191414,32.763309],[102.191599,32.762946],[102.191694,32.762704],[102.191875,32.762463],[102.192041,32.762271],[102.192206,32.762079],[102.192515,32.761793],[102.192824,32.761506],[102.193133,32.761219],[102.193327,32.761056],[102.19352,32.760894],[102.193714,32.760731],[102.193908,32.760568],[102.194101,32.760405],[102.194295,32.760242],[102.194595,32.75993],[102.194895,32.759619],[102.195148,32.759392],[102.195402,32.759165],[102.1956,32.759011],[102.195798,32.758856],[102.195996,32.758702],[102.196194,32.758547],[102.196392,32.758393],[102.196591,32.758238],[102.196919,32.757952],[102.197131,32.757663],[102.197255,32.757428],[102.197379,32.757193],[102.197503,32.756957],[102.197627,32.756722],[102.197709,32.756508],[102.197791,32.756295],[102.197873,32.756082],[102.197955,32.755868],[102.198037,32.755655],[102.198119,32.755442],[102.198202,32.755228],[102.198284,32.755015],[102.198366,32.754801],[102.198367,32.754799],[102.198367,32.754797],[102.198448,32.754588],[102.198604,32.754249],[102.198667,32.754055],[102.198675,32.753798],[102.198684,32.753541],[102.198694,32.753248],[102.198643,32.753002],[102.198568,32.752766],[102.198493,32.75253],[102.198418,32.752295],[102.198342,32.752059],[102.198267,32.751823],[102.198192,32.751587],[102.198117,32.751352],[102.198042,32.751116],[102.197967,32.75088],[102.197892,32.750645],[102.197817,32.750409],[102.197741,32.750173],[102.197718,32.750121],[102.197608,32.749874],[102.197497,32.749627],[102.197387,32.74938],[102.197277,32.749133],[102.197166,32.748886],[102.197056,32.748639],[102.196946,32.748392],[102.196835,32.748145],[102.196725,32.747898],[102.196615,32.747651],[102.196504,32.747405],[102.196394,32.747158],[102.196284,32.746911],[102.196173,32.746664],[102.196063,32.746417],[102.195953,32.74617],[102.195822,32.745943],[102.195692,32.745716],[102.195561,32.745489],[102.19543,32.745262],[102.1953,32.745035],[102.195169,32.744808],[102.195038,32.744581],[102.194908,32.744354],[102.194777,32.744127],[102.194646,32.7439],[102.194516,32.743673],[102.194385,32.743446],[102.19432,32.7432],[102.194255,32.742954],[102.19419,32.742708],[102.194126,32.742462],[102.194104,32.742217],[102.194083,32.741972],[102.194091,32.741703],[102.1941,32.741434],[102.194109,32.74114],[102.194178,32.740824],[102.194274,32.740508],[102.194397,32.740266],[102.194491,32.740073],[102.194644,32.739807],[102.194795,32.739608],[102.194946,32.73941],[102.195098,32.739212],[102.195249,32.739013],[102.1954,32.738815],[102.195551,32.738616],[102.195702,32.738418],[102.195854,32.73822],[102.196001,32.738015],[102.196148,32.737811],[102.196295,32.737606],[102.196442,32.737402],[102.196589,32.737198],[102.196736,32.736993],[102.196884,32.736789],[102.197031,32.736584],[102.197178,32.73638],[102.197325,32.736176],[102.197472,32.735971],[102.197619,32.735767],[102.197798,32.735599],[102.198124,32.735386],[102.198333,32.735195],[102.198484,32.735003],[102.198651,32.734774],[102.198818,32.734546],[102.198993,32.734207],[102.199168,32.733868],[102.199343,32.73353],[102.199438,32.733275],[102.199533,32.73302],[102.199628,32.732765],[102.199723,32.732511],[102.199817,32.732256],[102.199818,32.732255],[102.199818,32.732254],[102.199912,32.732001],[102.200017,32.731777],[102.200122,32.731553],[102.200171,32.731448],[102.200227,32.731329],[102.200332,32.731105],[102.200437,32.730881],[102.200542,32.730657],[102.200646,32.730433],[102.200751,32.730209],[102.200898,32.730023],[102.201044,32.729837],[102.201191,32.729651],[102.201337,32.729465],[102.201484,32.729279],[102.20163,32.729093],[102.201777,32.728907],[102.201924,32.728721],[102.20207,32.728534],[102.202217,32.728348],[102.202363,32.728162],[102.20251,32.727976],[102.202649,32.727763],[102.202788,32.727549],[102.202927,32.727335],[102.203066,32.727122],[102.203206,32.726908],[102.203345,32.726695],[102.203484,32.726481],[102.203623,32.726267],[102.203762,32.726054],[102.203902,32.72584],[102.204041,32.725627],[102.20418,32.725413],[102.204319,32.725199],[102.204458,32.724986],[102.204573,32.724759],[102.204688,32.724532],[102.204802,32.724305],[102.204917,32.724078],[102.205032,32.723851],[102.205147,32.723624],[102.205261,32.723397],[102.205376,32.72317],[102.205491,32.722943],[102.205566,32.722793],[102.205605,32.722716],[102.205613,32.722448],[102.205682,32.722132],[102.205805,32.72189],[102.206015,32.721674],[102.206194,32.721507],[102.206461,32.721317],[102.206699,32.721102],[102.20694,32.720838],[102.20712,32.720573],[102.207229,32.720363],[102.207337,32.720153],[102.207445,32.719944],[102.207553,32.719734],[102.207661,32.719524],[102.207769,32.719315],[102.207985,32.718928],[102.208108,32.718711],[102.20823,32.718493],[102.208427,32.718229],[102.208624,32.717964],[102.208791,32.717699],[102.208959,32.717433],[102.209244,32.717134],[102.209529,32.716834],[102.209798,32.716571],[102.210067,32.716308],[102.210311,32.715946],[102.210453,32.715734],[102.210595,32.715521],[102.210737,32.715309],[102.210879,32.715096],[102.211021,32.714884],[102.211163,32.714671],[102.211186,32.714427],[102.211208,32.714183],[102.211217,32.713865],[102.211229,32.713498],[102.211125,32.713129],[102.21102,32.71276],[102.210932,32.712521],[102.210844,32.712281],[102.210755,32.712042],[102.210667,32.711803],[102.210579,32.711563],[102.210491,32.711324],[102.210403,32.711085],[102.210314,32.710845],[102.210226,32.710606],[102.210138,32.710366],[102.210016,32.710095],[102.209893,32.709823],[102.20973,32.709526],[102.209564,32.709295],[102.209549,32.709275],[102.209479,32.709178],[102.209437,32.709135],[102.209392,32.709088],[102.209304,32.708997],[102.209129,32.708816],[102.208954,32.708635],[102.208779,32.708454],[102.2086,32.708269],[102.208422,32.708084],[102.208209,32.707933],[102.207996,32.707781],[102.207784,32.70763],[102.207571,32.707478],[102.207358,32.707326],[102.207146,32.707175],[102.206933,32.707023],[102.20672,32.706872],[102.206508,32.70672],[102.206295,32.706568],[102.206082,32.706417],[102.20587,32.706265],[102.205657,32.706114],[102.205444,32.705962],[102.205302,32.705906],[102.205264,32.705892],[102.205205,32.705868],[102.204983,32.705781],[102.204965,32.705774],[102.204725,32.70568],[102.20465,32.705651],[102.204485,32.705586],[102.204246,32.705492],[102.204006,32.705398],[102.203766,32.705304],[102.203526,32.705211],[102.203287,32.70512],[102.203049,32.705029],[102.20281,32.704938],[102.202571,32.704847],[102.202332,32.704756],[102.202094,32.704665],[102.201846,32.704576],[102.201599,32.704488],[102.201352,32.7044],[102.201104,32.704312],[102.200857,32.704224],[102.20061,32.704136],[102.200362,32.704048],[102.200115,32.70396],[102.199887,32.703844],[102.19966,32.703729],[102.199475,32.703591],[102.19929,32.703453],[102.199096,32.703202],[102.198873,32.702904],[102.198784,32.702658],[102.198695,32.702413],[102.198606,32.702167],[102.198517,32.701921],[102.198369,32.701563],[102.19822,32.701205],[102.198087,32.700834],[102.197921,32.700562],[102.197725,32.700337],[102.197613,32.700213],[102.197329,32.700035],[102.196985,32.699904],[102.196741,32.69985],[102.196496,32.699796],[102.196397,32.699773],[102.196151,32.699715],[102.195805,32.699634],[102.195518,32.699566],[102.19523,32.699499],[102.194913,32.69943],[102.194596,32.699362],[102.194266,32.699281],[102.193936,32.6992],[102.193633,32.69912],[102.193468,32.699076],[102.193331,32.69904],[102.193073,32.698948],[102.192815,32.698857],[102.192544,32.698729],[102.192273,32.698601],[102.191943,32.69834],[102.191613,32.69808],[102.191283,32.697819],[102.191071,32.697631],[102.19086,32.697443],[102.190677,32.697255],[102.190494,32.697068],[102.190388,32.696772],[102.190396,32.696528],[102.190432,32.696308],[102.190465,32.696137]]]]},"properties":{"cp":[102.35372199561037,32.712944518303445],"code":"513233103","name":"安曲镇","level":"street","center":[102.35372199561037,32.712944518303445],"fullCode":"513233103000","fullName":"四川省阿坝藏族羌族自治州红原县安曲镇","acreageMu":1327057.45,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.222,32.6709]}},{"id":"513233105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.277244,32.524826],[102.277274,32.524758],[102.277761,32.523683],[102.278447,32.522401],[102.278934,32.521489],[102.279246,32.520805],[102.279632,32.520638],[102.280189,32.520398],[102.280201,32.520393],[102.280417,32.5203],[102.280661,32.520194],[102.281662,32.519821],[102.282892,32.519601],[102.283165,32.519536],[102.284592,32.519194],[102.286228,32.519032],[102.287337,32.518908],[102.287869,32.518673],[102.288122,32.517988],[102.288597,32.517196],[102.289346,32.515511],[102.29019,32.513605],[102.290391,32.512721],[102.29064,32.511691],[102.290603,32.510025],[102.290392,32.508318],[102.290556,32.507212],[102.290941,32.506036],[102.291382,32.504418],[102.29147,32.503999],[102.291505,32.503833],[102.291597,32.503393],[102.291601,32.503375],[102.291637,32.503202],[102.291887,32.502135],[102.291976,32.50062],[102.29189,32.499101],[102.291871,32.498286],[102.292101,32.497884],[102.292726,32.497454],[102.293911,32.49722],[102.295037,32.497541],[102.296037,32.497673],[102.297387,32.497776],[102.298297,32.498018],[102.299338,32.498225],[102.300303,32.498583],[102.300373,32.498609],[102.300504,32.498657],[102.301595,32.49868],[102.303308,32.49831],[102.304271,32.498257],[102.30559,32.497915],[102.307147,32.49745],[102.30744,32.497363],[102.308144,32.49723],[102.308319,32.497197],[102.308369,32.49715],[102.308633,32.496907],[102.308664,32.495872],[102.308679,32.495343],[102.30869,32.494985],[102.308318,32.494274],[102.308133,32.49316],[102.307815,32.492117],[102.307839,32.491304],[102.307999,32.490345],[102.308286,32.4895],[102.308793,32.488586],[102.309694,32.487643],[102.31063,32.486997],[102.31153,32.486092],[102.311816,32.485284],[102.311739,32.4847],[102.311673,32.484208],[102.311089,32.483307],[102.310916,32.481787],[102.311219,32.480334],[102.311323,32.479834],[102.312199,32.478262],[102.313131,32.476667],[102.313395,32.476216],[102.313725,32.475775],[102.314213,32.475123],[102.314795,32.474618],[102.316193,32.474574],[102.317894,32.47461],[102.318993,32.474375],[102.320272,32.473921],[102.321372,32.473611],[102.322209,32.47337],[102.323588,32.472475],[102.324006,32.471633],[102.324606,32.470535],[102.32456,32.469129],[102.324727,32.467911],[102.324895,32.466657],[102.325061,32.465477],[102.325074,32.463553],[102.325561,32.461861],[102.325773,32.460608],[102.32624,32.459545],[102.326497,32.458256],[102.326407,32.456885],[102.325506,32.454868],[102.323044,32.449599],[102.322678,32.448703],[102.321883,32.447539],[102.321341,32.446714],[102.32067,32.445774],[102.320434,32.444918],[102.320409,32.442809],[102.32037,32.44118],[102.320417,32.43959],[102.32067,32.438412],[102.32075,32.437193],[102.320707,32.435712],[102.320407,32.434041],[102.320451,32.432562],[102.320371,32.430858],[102.319935,32.429369],[102.319737,32.428699],[102.319588,32.427807],[102.319457,32.426362],[102.319034,32.422949],[102.318856,32.421613],[102.318847,32.420988],[102.318842,32.420614],[102.31871,32.419168],[102.319057,32.41777],[102.319248,32.417219],[102.320608,32.416952],[102.321596,32.417454],[102.322646,32.417365],[102.323692,32.417387],[102.324757,32.416781],[102.326135,32.415885],[102.327275,32.415687],[102.329636,32.416958],[102.330141,32.417065],[102.331197,32.417287],[102.332497,32.417574],[102.334328,32.417613],[102.334971,32.417589],[102.335594,32.417565],[102.336382,32.417471],[102.336462,32.417397],[102.336616,32.417255],[102.336623,32.417249],[102.336666,32.417209],[102.336699,32.417179],[102.336709,32.417169],[102.33675,32.417132],[102.337247,32.416674],[102.338886,32.415163],[102.342031,32.412263],[102.343993,32.410485],[102.344227,32.410274],[102.345215,32.409296],[102.345283,32.409199],[102.345289,32.40919],[102.3453,32.409175],[102.345373,32.409072],[102.345772,32.408509],[102.345785,32.408491],[102.34617,32.407947],[102.349568,32.402136],[102.351006,32.400686],[102.352698,32.399464],[102.35438,32.397131],[102.355089,32.395259],[102.355108,32.394594],[102.354352,32.393616],[102.354038,32.392425],[102.353635,32.39127],[102.353459,32.38986],[102.353236,32.389172],[102.352677,32.387444],[102.352579,32.387141],[102.352564,32.386142],[102.352552,32.385068],[102.351995,32.383244],[102.351449,32.381049],[102.350881,32.379595],[102.351855,32.37906],[102.352253,32.378883],[102.353004,32.378529],[102.353545,32.377949],[102.353752,32.376806],[102.354044,32.375776],[102.354239,32.375077],[102.354258,32.374412],[102.355159,32.373432],[102.356533,32.372647],[102.357558,32.371891],[102.358235,32.371091],[102.35931,32.370115],[102.35968,32.369383],[102.359798,32.368312],[102.359888,32.366723],[102.360052,32.36558],[102.360385,32.364625],[102.36063,32.363705],[102.361068,32.360643],[102.361199,32.359129],[102.36127,32.358168],[102.361379,32.357431],[102.361414,32.35621],[102.361683,32.354477],[102.362164,32.353634],[102.362371,32.353271],[102.362957,32.352617],[102.363549,32.351741],[102.364567,32.351208],[102.366066,32.35061],[102.367472,32.350232],[102.367972,32.34954],[102.368694,32.348667],[102.369292,32.347606],[102.369589,32.346355],[102.370191,32.345146],[102.371335,32.343283],[102.372027,32.341928],[102.372799,32.340872],[102.373813,32.338969],[102.375079,32.337367],[102.376028,32.336203],[102.376615,32.335512],[102.376631,32.334957],[102.376298,32.334395],[102.375032,32.33349],[102.375252,32.332881],[102.37576,32.332763],[102.376519,32.332736],[102.377477,32.332756],[102.378605,32.332179],[102.37984,32.33139],[102.380272,32.330413],[102.381055,32.329529],[102.381861,32.328876],[102.381887,32.328856],[102.382089,32.328693],[102.382162,32.328655],[102.382502,32.328481],[102.382698,32.328381],[102.382758,32.32835],[102.383216,32.328116],[102.384245,32.327451],[102.38475,32.32725],[102.384819,32.327222],[102.385082,32.327118],[102.385102,32.32711],[102.385369,32.327003],[102.386012,32.326709],[102.386085,32.326675],[102.386572,32.326499],[102.387208,32.326269],[102.387618,32.326291],[102.387649,32.326293],[102.387743,32.326298],[102.388139,32.326319],[102.388387,32.326332],[102.388519,32.326339],[102.389165,32.326696],[102.389704,32.327264],[102.389636,32.328009],[102.38963,32.328077],[102.389561,32.328778],[102.389525,32.329151],[102.389487,32.329532],[102.389464,32.330346],[102.389392,32.331457],[102.389373,32.331759],[102.389149,32.332155],[102.388894,32.332607],[102.388925,32.333294],[102.389072,32.333468],[102.389526,32.333597],[102.390993,32.334108],[102.391188,32.334133],[102.392014,32.33424],[102.393033,32.334372],[102.394551,32.334625],[102.395766,32.334799],[102.396598,32.334668],[102.397563,32.334466],[102.399008,32.335154],[102.399234,32.333035],[102.399466,32.33021],[102.399947,32.327518],[102.400234,32.326324],[102.400363,32.32534],[102.400456,32.324518],[102.400633,32.322953],[102.400807,32.322453],[102.401235,32.321224],[102.401741,32.320095],[102.401858,32.318758],[102.402707,32.316632],[102.403697,32.315111],[102.405008,32.313397],[102.405829,32.312275],[102.406189,32.310741],[102.406383,32.309472],[102.406479,32.308814],[102.406578,32.308137],[102.406573,32.306147],[102.406573,32.30611],[102.406573,32.306104],[102.406573,32.305983],[102.406572,32.305719],[102.406572,32.305591],[102.406571,32.305404],[102.406571,32.305289],[102.40657,32.305096],[102.406569,32.304863],[102.406569,32.304796],[102.406568,32.304556],[102.406567,32.304287],[102.406566,32.304193],[102.406566,32.304154],[102.406566,32.304044],[102.406565,32.303804],[102.406564,32.303568],[102.406563,32.303463],[102.406563,32.303396],[102.406562,32.303179],[102.406534,32.302981],[102.406507,32.302783],[102.406478,32.302577],[102.406446,32.302345],[102.40643,32.302229],[102.406403,32.30204],[102.406373,32.301825],[102.406345,32.301622],[102.406323,32.301464],[102.4063,32.301298],[102.406304,32.301146],[102.406309,32.300995],[102.406314,32.300817],[102.406319,32.300652],[102.406325,32.300416],[102.40633,32.300231],[102.406333,32.300126],[102.406337,32.299987],[102.406341,32.299853],[102.406342,32.299808],[102.406432,32.298755],[102.406286,32.297647],[102.406307,32.296894],[102.407203,32.296611],[102.408561,32.296689],[102.40948,32.296754],[102.409512,32.296756],[102.410499,32.296826],[102.410568,32.29683],[102.412026,32.29686],[102.412283,32.296866],[102.413298,32.296535],[102.413604,32.296585],[102.414055,32.29669],[102.414842,32.296875],[102.41684,32.296757],[102.418769,32.296758],[102.419457,32.296758],[102.419915,32.296739],[102.421203,32.296688],[102.422145,32.29657],[102.423392,32.296415],[102.424268,32.296274],[102.425403,32.295821],[102.425946,32.295245],[102.426431,32.29473],[102.427089,32.293474],[102.427678,32.29248],[102.428025,32.291217],[102.428394,32.289825],[102.428442,32.289646],[102.428583,32.289111],[102.429164,32.288382],[102.429922,32.287892],[102.430116,32.287767],[102.430546,32.28719],[102.43056,32.287172],[102.430585,32.287138],[102.430613,32.2871],[102.430642,32.287061],[102.430652,32.287048],[102.430739,32.286932],[102.430826,32.286815],[102.430842,32.286793],[102.430894,32.286724],[102.431242,32.285408],[102.431586,32.284251],[102.431994,32.28392],[102.43216,32.283786],[102.432327,32.283519],[102.432813,32.282741],[102.432974,32.281421],[102.432511,32.280194],[102.432303,32.278708],[102.432357,32.278597],[102.432394,32.27852],[102.432833,32.277608],[102.433249,32.276081],[102.433659,32.274819],[102.433592,32.272754],[102.433464,32.270687],[102.433526,32.268466],[102.433452,32.268119],[102.433317,32.267488],[102.433196,32.266924],[102.433139,32.266782],[102.433073,32.266629],[102.433007,32.266472],[102.432961,32.26634],[102.432896,32.266178],[102.432849,32.266061],[102.432788,32.26591],[102.432709,32.265757],[102.43262,32.265584],[102.432531,32.265416],[102.432429,32.265219],[102.432316,32.265001],[102.432211,32.264868],[102.432121,32.264754],[102.431988,32.264584],[102.431843,32.2644],[102.431713,32.264233],[102.431545,32.264019],[102.431401,32.263838],[102.431296,32.263705],[102.431173,32.263549],[102.431113,32.26361],[102.430917,32.263808],[102.430749,32.263871],[102.43055,32.263945],[102.430244,32.264061],[102.430032,32.26414],[102.429846,32.26421],[102.429622,32.264307],[102.429491,32.264364],[102.429196,32.264492],[102.428911,32.264616],[102.42863,32.26474],[102.428333,32.264867],[102.428111,32.264902],[102.427928,32.264931],[102.42776,32.264957],[102.427519,32.264995],[102.427291,32.265031],[102.427144,32.265054],[102.426934,32.265119],[102.426658,32.265204],[102.42637,32.265294],[102.426128,32.265369],[102.425892,32.265442],[102.425699,32.265501],[102.425453,32.265654],[102.425256,32.265777],[102.425064,32.265896],[102.424874,32.266014],[102.424673,32.26614],[102.424513,32.266241],[102.424304,32.266372],[102.424033,32.266405],[102.423829,32.26643],[102.423554,32.266463],[102.423305,32.26658],[102.423073,32.266688],[102.422796,32.266818],[102.422632,32.266984],[102.422484,32.267134],[102.422254,32.267366],[102.422059,32.267564],[102.421921,32.267703],[102.42177,32.267856],[102.420893,32.268049],[102.420724,32.267411],[102.420628,32.266403],[102.420277,32.265602],[102.420045,32.265385],[102.419549,32.264922],[102.419002,32.264412],[102.418229,32.263126],[102.417456,32.26206],[102.417453,32.262056],[102.41745,32.262051],[102.416786,32.261297],[102.416699,32.261108],[102.416492,32.260656],[102.416143,32.259802],[102.416096,32.259672],[102.416011,32.259436],[102.415904,32.259139],[102.415796,32.258842],[102.415811,32.258313],[102.415819,32.258033],[102.415832,32.257572],[102.415802,32.257217],[102.415758,32.256703],[102.415692,32.255929],[102.415631,32.255493],[102.415592,32.255207],[102.415537,32.254814],[102.415461,32.254511],[102.415391,32.254232],[102.415257,32.253697],[102.415242,32.253404],[102.415223,32.253017],[102.415206,32.252674],[102.415178,32.252108],[102.415166,32.251793],[102.415155,32.251458],[102.415141,32.251063],[102.415139,32.251002],[102.415135,32.2509],[102.415131,32.250786],[102.415126,32.250681],[102.415122,32.250547],[102.415117,32.250437],[102.415114,32.250319],[102.415112,32.250244],[102.415108,32.250148],[102.415105,32.250051],[102.415101,32.24994],[102.415097,32.249807],[102.415093,32.249679],[102.415087,32.249517],[102.415083,32.249368],[102.415078,32.249232],[102.415075,32.249142],[102.415024,32.249023],[102.414938,32.248818],[102.414838,32.248624],[102.414781,32.248501],[102.41477,32.2484],[102.414747,32.248199],[102.414739,32.248127],[102.414724,32.248002],[102.414703,32.247831],[102.414679,32.247592],[102.414652,32.247353],[102.414632,32.247174],[102.414657,32.246967],[102.414686,32.246721],[102.414722,32.246418],[102.414757,32.246127],[102.414796,32.245802],[102.414839,32.245634],[102.414889,32.245437],[102.414936,32.245253],[102.414985,32.24506],[102.415006,32.244978],[102.415018,32.244933],[102.415031,32.24488],[102.41505,32.244809],[102.415068,32.244738],[102.415088,32.244659],[102.415101,32.244609],[102.415114,32.244559],[102.415129,32.244497],[102.415142,32.244446],[102.415146,32.244433],[102.415148,32.244403],[102.415152,32.244359],[102.415158,32.24429],[102.415166,32.2442],[102.415175,32.244101],[102.415181,32.244025],[102.415187,32.243961],[102.415192,32.243905],[102.415198,32.243836],[102.415202,32.24379],[102.415209,32.243711],[102.415221,32.243576],[102.415229,32.243481],[102.415238,32.243376],[102.415243,32.243317],[102.41525,32.24324],[102.415259,32.243138],[102.415269,32.243022],[102.41528,32.242898],[102.415292,32.242763],[102.415303,32.242639],[102.415315,32.242508],[102.415325,32.242392],[102.415337,32.242266],[102.415347,32.242148],[102.415355,32.242057],[102.415364,32.241956],[102.415371,32.241877],[102.415376,32.241816],[102.415384,32.241737],[102.41539,32.241667],[102.415421,32.241316],[102.415506,32.240951],[102.415533,32.240835],[102.415551,32.240761],[102.415572,32.240669],[102.415577,32.240649],[102.415604,32.240533],[102.415608,32.240515],[102.41565,32.240335],[102.415676,32.240225],[102.415704,32.240104],[102.415726,32.240027],[102.415764,32.239893],[102.415806,32.239744],[102.415843,32.239614],[102.415883,32.239472],[102.41593,32.239304],[102.415968,32.239168],[102.416023,32.238974],[102.416052,32.238872],[102.416079,32.238774],[102.41612,32.238631],[102.416143,32.23856],[102.416174,32.238463],[102.416218,32.238329],[102.416279,32.238147],[102.416352,32.237915],[102.41642,32.237706],[102.41649,32.23749],[102.416555,32.237289],[102.416619,32.237092],[102.416665,32.236948],[102.416716,32.236876],[102.416804,32.236747],[102.416916,32.236586],[102.417037,32.236412],[102.417174,32.236213],[102.417309,32.236018],[102.417414,32.235866],[102.417541,32.235682],[102.417639,32.235539],[102.41775,32.235438],[102.417853,32.235344],[102.418007,32.235202],[102.418158,32.235063],[102.418325,32.23491],[102.418473,32.234774],[102.418598,32.234659],[102.418705,32.234556],[102.418831,32.234433],[102.418983,32.234286],[102.419122,32.234151],[102.419239,32.234037],[102.419323,32.23387],[102.419399,32.233719],[102.419798,32.23362],[102.420495,32.233406],[102.421206,32.23329],[102.421705,32.233208],[102.422269,32.233116],[102.422776,32.233126],[102.42345,32.23314],[102.424149,32.233154],[102.424565,32.233198],[102.425297,32.233276],[102.426057,32.233454],[102.426517,32.233562],[102.427028,32.233792],[102.427614,32.234056],[102.428109,32.234279],[102.428598,32.234556],[102.428998,32.234783],[102.429395,32.234958],[102.429741,32.235167],[102.430175,32.235429],[102.430659,32.235721],[102.431154,32.23602],[102.431821,32.236423],[102.432415,32.236781],[102.432801,32.237072],[102.433231,32.237395],[102.433618,32.237687],[102.433961,32.237949],[102.434286,32.238198],[102.43467,32.238491],[102.434893,32.238843],[102.435111,32.239185],[102.43535,32.239616],[102.435513,32.239911],[102.435746,32.240476],[102.436012,32.241121],[102.436197,32.24157],[102.436425,32.242124],[102.436524,32.242362],[102.436598,32.242544],[102.436716,32.242829],[102.436897,32.243267],[102.43712,32.243808],[102.437305,32.244257],[102.437409,32.244509],[102.437561,32.244879],[102.437653,32.245144],[102.437759,32.245448],[102.437881,32.245799],[102.437776,32.246008],[102.437652,32.246254],[102.437637,32.246283],[102.43739,32.246546],[102.437136,32.246815],[102.437004,32.246956],[102.436843,32.247229],[102.436687,32.247494],[102.436559,32.247711],[102.436461,32.247878],[102.4364,32.247982],[102.436359,32.248052],[102.436342,32.248671],[102.43699,32.24993],[102.437021,32.249991],[102.437106,32.250155],[102.43736,32.250654],[102.437761,32.251441],[102.437815,32.251581],[102.438039,32.252164],[102.438405,32.253118],[102.438638,32.254395],[102.439364,32.255878],[102.439525,32.256395],[102.439581,32.256575],[102.439681,32.256895],[102.439515,32.257349],[102.438964,32.257827],[102.438868,32.258063],[102.438634,32.258636],[102.438666,32.259208],[102.438685,32.25955],[102.438684,32.260357],[102.438684,32.260652],[102.438684,32.260953],[102.439117,32.261941],[102.440476,32.262784],[102.441138,32.263809],[102.441852,32.264378],[102.442676,32.265112],[102.443079,32.265806],[102.443412,32.266237],[102.443397,32.266791],[102.44334,32.267658],[102.443329,32.267833],[102.443258,32.268332],[102.443246,32.268412],[102.443138,32.269167],[102.443232,32.269919],[102.443212,32.270637],[102.443153,32.271353],[102.442814,32.272488],[102.442715,32.273302],[102.442676,32.273379],[102.442267,32.274206],[102.441318,32.275166],[102.440295,32.276059],[102.440265,32.276111],[102.440042,32.276506],[102.439729,32.277058],[102.439512,32.277416],[102.439146,32.278018],[102.439004,32.278251],[102.438982,32.278347],[102.438884,32.278774],[102.438861,32.278874],[102.438698,32.279582],[102.4387,32.279674],[102.438715,32.280333],[102.438138,32.281807],[102.438077,32.281961],[102.437764,32.28276],[102.437639,32.283096],[102.437464,32.283566],[102.437437,32.283638],[102.43739,32.283764],[102.436614,32.285412],[102.436418,32.286909],[102.436342,32.287743],[102.436334,32.287824],[102.436307,32.288114],[102.436235,32.288407],[102.436202,32.288543],[102.436194,32.288578],[102.436182,32.288624],[102.436169,32.288678],[102.435917,32.289704],[102.436036,32.290947],[102.436316,32.291898],[102.436507,32.293305],[102.436708,32.294353],[102.436747,32.295033],[102.436772,32.295461],[102.436785,32.295692],[102.437007,32.297452],[102.437037,32.297687],[102.436929,32.298794],[102.436959,32.300459],[102.436964,32.301633],[102.436629,32.302605],[102.436339,32.30335],[102.436223,32.30475],[102.435919,32.305984],[102.435335,32.307636],[102.435152,32.308676],[102.434708,32.309417],[102.434185,32.310287],[102.433662,32.311092],[102.43301,32.312416],[102.432892,32.313138],[102.432873,32.31325],[102.432871,32.313262],[102.432874,32.313331],[102.432875,32.313348],[102.432875,32.313349],[102.432877,32.313359],[102.432877,32.313361],[102.432878,32.313389],[102.432948,32.314634],[102.433116,32.315485],[102.433206,32.316368],[102.433846,32.317747],[102.434105,32.318304],[102.434182,32.318469],[102.434412,32.318963],[102.434554,32.31927],[102.434672,32.319572],[102.434873,32.320088],[102.435123,32.320905],[102.435498,32.322131],[102.43588,32.323124],[102.435809,32.32385],[102.435787,32.324072],[102.435784,32.324108],[102.435761,32.324933],[102.435756,32.325081],[102.435736,32.325798],[102.435735,32.325853],[102.435728,32.326079],[102.436313,32.327135],[102.436392,32.328078],[102.436403,32.328213],[102.436415,32.328355],[102.436481,32.328474],[102.436548,32.328594],[102.436634,32.32875],[102.436744,32.328948],[102.43685,32.329139],[102.436936,32.329295],[102.437047,32.329495],[102.43713,32.329646],[102.437177,32.32987],[102.437211,32.330039],[102.437252,32.330237],[102.437254,32.330243],[102.437551,32.331684],[102.437515,32.332959],[102.437296,32.333477],[102.437072,32.333964],[102.436784,32.334713],[102.436948,32.335206],[102.437005,32.335257],[102.437413,32.33562],[102.437419,32.335626],[102.437468,32.33567],[102.437505,32.335685],[102.437611,32.335728],[102.437753,32.335786],[102.438076,32.335918],[102.43883,32.336226],[102.440769,32.336831],[102.441061,32.336939],[102.441245,32.337007],[102.441275,32.337018],[102.441805,32.337214],[102.444552,32.338229],[102.444639,32.338395],[102.444719,32.338546],[102.444737,32.338582],[102.444755,32.338616],[102.444765,32.338635],[102.445203,32.33947],[102.446265,32.341494],[102.44698,32.343262],[102.447546,32.344897],[102.447984,32.345262],[102.448742,32.345895],[102.449134,32.346058],[102.449219,32.346108],[102.449228,32.346117],[102.449363,32.346021],[102.449807,32.346111],[102.450239,32.346387],[102.450444,32.346518],[102.45045,32.346521],[102.450575,32.346601],[102.450859,32.346782],[102.451698,32.346864],[102.453604,32.347097],[102.454452,32.347055],[102.454496,32.347052],[102.454523,32.347051],[102.455753,32.346816],[102.455953,32.34682],[102.456977,32.346841],[102.458579,32.347678],[102.458786,32.347787],[102.460597,32.348667],[102.462705,32.349879],[102.464668,32.350827],[102.466106,32.351376],[102.467467,32.351923],[102.468904,32.352536],[102.470346,32.352955],[102.470661,32.353029],[102.471258,32.353168],[102.472326,32.353254],[102.473468,32.353472],[102.47458,32.354728],[102.475767,32.356051],[102.476598,32.356457],[102.478407,32.357402],[102.479785,32.358482],[102.480688,32.359019],[102.481338,32.359864],[102.482039,32.361072],[102.482135,32.362009],[102.482273,32.363674],[102.482675,32.364617],[102.483433,32.365983],[102.484561,32.367252],[102.485027,32.368093],[102.48628,32.369261],[102.486611,32.370566],[102.486269,32.371858],[102.486108,32.373257],[102.486154,32.37383],[102.487249,32.374059],[102.488027,32.374698],[102.488845,32.376117],[102.490394,32.377654],[102.490542,32.378956],[102.490509,32.38015],[102.490598,32.381346],[102.491049,32.382758],[102.491141,32.383851],[102.491462,32.385519],[102.491056,32.386914],[102.490778,32.390337],[102.490554,32.391787],[102.490756,32.393349],[102.490781,32.394648],[102.490508,32.395682],[102.48943,32.397011],[102.488665,32.398086],[102.487793,32.39864],[102.485717,32.400625],[102.483981,32.401421],[102.48292,32.402127],[102.482146,32.403566],[102.481929,32.404757],[102.481957,32.405952],[102.481934,32.406782],[102.481535,32.407917],[102.481502,32.409111],[102.481512,32.41093],[102.481419,32.412071],[102.480722,32.415121],[102.480625,32.416418],[102.480701,32.418082],[102.480725,32.419433],[102.480743,32.420991],[102.481169,32.423285],[102.481591,32.425735],[102.482403,32.427362],[102.482739,32.428511],[102.48343,32.430083],[102.484503,32.431143],[102.485528,32.431735],[102.48649,32.432378],[102.487322,32.433277],[102.488331,32.43444],[102.490313,32.435882],[102.491259,32.437096],[102.491415,32.438086],[102.491511,32.439075],[102.492023,32.440487],[102.492528,32.44216],[102.492802,32.443308],[102.493447,32.444359],[102.493962,32.445668],[102.494777,32.447191],[102.495789,32.44825],[102.496884,32.448531],[102.498921,32.448001],[102.499732,32.447445],[102.500299,32.446213],[102.501265,32.445927],[102.501934,32.445535],[102.502618,32.444584],[102.50465,32.442494],[102.506141,32.440494],[102.507601,32.43961],[102.509176,32.438931],[102.510628,32.438351],[102.511793,32.437308],[102.513027,32.435963],[102.514031,32.434258],[102.514308,32.432894],[102.513938,32.43111],[102.512401,32.428239],[102.511394,32.425733],[102.510669,32.423791],[102.510708,32.422371],[102.510749,32.422294],[102.511223,32.421402],[102.511236,32.421379],[102.511246,32.421359],[102.511263,32.421327],[102.511323,32.421215],[102.511402,32.421066],[102.511778,32.420464],[102.512634,32.419771],[102.513727,32.419184],[102.516419,32.419186],[102.518773,32.419233],[102.518846,32.419234],[102.520065,32.419258],[102.521922,32.419193],[102.523122,32.419217],[102.523884,32.419232],[102.52509,32.419256],[102.526508,32.419228],[102.527664,32.419205],[102.527846,32.419192],[102.528362,32.419155],[102.529342,32.419085],[102.531386,32.41872],[102.532553,32.418385],[102.532712,32.41834],[102.533156,32.418286],[102.533943,32.418191],[102.534201,32.418159],[102.534512,32.418121],[102.535523,32.418344],[102.536887,32.418777],[102.538407,32.419519],[102.538835,32.419728],[102.538959,32.419788],[102.540902,32.420733],[102.543321,32.421947],[102.543751,32.422217],[102.544321,32.422575],[102.546463,32.423992],[102.54649,32.42401],[102.546613,32.424091],[102.5482,32.425063],[102.548362,32.425162],[102.54848,32.425234],[102.548491,32.425241],[102.548496,32.425244],[102.548521,32.425262],[102.548552,32.425285],[102.548567,32.425296],[102.548572,32.4253],[102.548578,32.425304],[102.550491,32.426704],[102.55254,32.428367],[102.553757,32.429224],[102.553949,32.429358],[102.556042,32.431289],[102.556984,32.432157],[102.558222,32.432841],[102.560255,32.433513],[102.561318,32.433826],[102.562118,32.434004],[102.562561,32.434597],[102.562842,32.435544],[102.563736,32.436471],[102.564399,32.437458],[102.565107,32.438186],[102.565743,32.438718],[102.566501,32.439025],[102.567794,32.439374],[102.569919,32.440065],[102.571286,32.440513],[102.573031,32.441131],[102.574966,32.441786],[102.576027,32.442228],[102.577781,32.442489],[102.579065,32.44266],[102.579498,32.442717],[102.580868,32.44287],[102.581255,32.442913],[102.583009,32.443174],[102.584527,32.44369],[102.586495,32.444572],[102.588311,32.445386],[102.589935,32.446262],[102.591138,32.447097],[102.592072,32.447959],[102.592622,32.448911],[102.593035,32.449211],[102.59391,32.449423],[102.59475,32.449504],[102.595746,32.44949],[102.596137,32.449205],[102.596761,32.448763],[102.598182,32.448628],[102.598772,32.448623],[102.598918,32.448621],[102.599103,32.44862],[102.599369,32.448618],[102.600517,32.448672],[102.601208,32.44862],[102.601388,32.448466],[102.601593,32.44829],[102.601913,32.448017],[102.603164,32.447034],[102.604169,32.446696],[102.606124,32.446636],[102.607959,32.446736],[102.609444,32.447056],[102.61112,32.447413],[102.612682,32.447702],[102.61341,32.447871],[102.61394,32.447994],[102.614205,32.448056],[102.614386,32.448063],[102.61501,32.448087],[102.61585,32.44812],[102.61711,32.448241],[102.618083,32.448202],[102.618222,32.448197],[102.619196,32.448167],[102.619525,32.448157],[102.620972,32.448476],[102.62145,32.448637],[102.622301,32.448924],[102.623403,32.449237],[102.624124,32.44951],[102.625067,32.450048],[102.625449,32.450087],[102.626046,32.449222],[102.626744,32.448499],[102.626755,32.448488],[102.626764,32.448476],[102.627062,32.448116],[102.627704,32.447337],[102.628138,32.446858],[102.629403,32.446785],[102.630589,32.44684],[102.631846,32.447091],[102.632531,32.447266],[102.633019,32.447665],[102.633699,32.448002],[102.634037,32.448268],[102.634595,32.448896],[102.635334,32.449916],[102.635926,32.450707],[102.636745,32.451631],[102.637417,32.452261],[102.638217,32.452438],[102.639168,32.452684],[102.640118,32.452994],[102.641417,32.453083],[102.64168,32.453283],[102.641667,32.453802],[102.642062,32.454784],[102.642086,32.455336],[102.643154,32.455518],[102.644645,32.455777],[102.645651,32.456373],[102.646926,32.45709],[102.648555,32.458134],[102.648767,32.458034],[102.651823,32.45676],[102.652817,32.456279],[102.654573,32.455181],[102.655635,32.455067],[102.656853,32.455057],[102.657613,32.454505],[102.65831,32.453353],[102.658992,32.4528],[102.659429,32.452575],[102.660497,32.452295],[102.66137,32.452311],[102.661713,32.452318],[102.662136,32.452314],[102.662891,32.452306],[102.66374,32.452888],[102.665082,32.454111],[102.666433,32.455002],[102.667513,32.455754],[102.669418,32.456488],[102.671048,32.457217],[102.672094,32.457769],[102.672349,32.458506],[102.67209,32.459433],[102.671722,32.461523],[102.671691,32.462721],[102.671317,32.463546],[102.671747,32.463587],[102.672971,32.463344],[102.673834,32.46336],[102.675509,32.46389],[102.676399,32.464406],[102.677165,32.465119],[102.678424,32.466573],[102.679419,32.467557],[102.679673,32.468394],[102.680198,32.469335],[102.680831,32.469147],[102.681996,32.468137],[102.682959,32.467322],[102.683992,32.466842],[102.685268,32.4661],[102.686659,32.465427],[102.688008,32.464885],[102.689386,32.464744],[102.691043,32.464409],[102.691914,32.464125],[102.693445,32.464153],[102.694665,32.464042],[102.696304,32.464007],[102.696354,32.464006],[102.696979,32.464118],[102.698109,32.464471],[102.699758,32.464468],[102.701285,32.464629],[102.702303,32.464747],[102.703025,32.464161],[102.70442,32.463321],[102.705694,32.462646],[102.705837,32.462569],[102.707325,32.461777],[102.707743,32.461523],[102.70796,32.461391],[102.708442,32.461098],[102.709838,32.460224],[102.711503,32.459589],[102.712851,32.459081],[102.713919,32.458767],[102.7153,32.458493],[102.715839,32.458306],[102.717122,32.45786],[102.718069,32.457644],[102.718778,32.457557],[102.718971,32.457495],[102.719038,32.45753],[102.719421,32.45773],[102.719804,32.45793],[102.720187,32.45813],[102.720484,32.458292],[102.72078,32.458455],[102.721076,32.458617],[102.721076,32.458617],[102.721076,32.458618],[102.72121,32.458703],[102.721395,32.458822],[102.721395,32.458822],[102.721396,32.458822],[102.721596,32.458976],[102.721796,32.459129],[102.722062,32.459472],[102.722308,32.459787],[102.722556,32.460105],[102.722805,32.460424],[102.723109,32.460712],[102.723414,32.461001],[102.723718,32.46129],[102.723912,32.46144],[102.724215,32.461674],[102.724518,32.461909],[102.724837,32.462175],[102.725156,32.462442],[102.725403,32.46257],[102.725651,32.462699],[102.726048,32.462863],[102.726445,32.463027],[102.726843,32.463191],[102.72724,32.463355],[102.727607,32.463443],[102.727975,32.46353],[102.728342,32.463618],[102.72871,32.463705],[102.729077,32.463793],[102.729464,32.463963],[102.729851,32.464133],[102.730127,32.464255],[102.730403,32.464376],[102.730657,32.464488],[102.731,32.464685],[102.731342,32.464883],[102.731685,32.46508],[102.732028,32.465278],[102.732315,32.465468],[102.732603,32.465659],[102.732891,32.465849],[102.733179,32.466039],[102.733517,32.466256],[102.733855,32.466472],[102.734193,32.466689],[102.734531,32.466905],[102.734654,32.466915],[102.734988,32.466867],[102.73518,32.466712],[102.735235,32.466667],[102.735514,32.466379],[102.735793,32.46609],[102.736073,32.465801],[102.736321,32.465624],[102.73657,32.465447],[102.736818,32.465269],[102.736837,32.465252],[102.737156,32.464969],[102.737474,32.464685],[102.737786,32.464479],[102.737832,32.464449],[102.737995,32.464297],[102.738357,32.46415],[102.738719,32.464002],[102.739147,32.463917],[102.739518,32.464002],[102.739651,32.464013],[102.739675,32.464012],[102.739993,32.464036],[102.740311,32.464061],[102.740352,32.464071],[102.740441,32.464079],[102.740548,32.464119],[102.740923,32.464261],[102.741298,32.464402],[102.741655,32.464535],[102.742012,32.464669],[102.742212,32.464726],[102.742335,32.464726],[102.742497,32.46464],[102.74265,32.464528],[102.742897,32.464346],[102.743145,32.464165],[102.743392,32.463983],[102.743763,32.463788],[102.744134,32.463593],[102.744553,32.463441],[102.744801,32.463384],[102.745134,32.463374],[102.745464,32.463412],[102.745794,32.46345],[102.746123,32.463488],[102.746287,32.463552],[102.746522,32.463644],[102.746823,32.463761],[102.747123,32.463879],[102.747432,32.463979],[102.747742,32.464079],[102.747973,32.464103],[102.748275,32.464136],[102.748627,32.464207],[102.748979,32.464278],[102.749179,32.464221],[102.749341,32.464155],[102.749565,32.463957],[102.749578,32.463945],[102.749807,32.463726],[102.750031,32.463655],[102.750254,32.463584],[102.750511,32.463536],[102.750768,32.463488],[102.75113,32.463469],[102.75135,32.463488],[102.751473,32.463498],[102.751787,32.463498],[102.752148,32.463403],[102.752407,32.463352],[102.752681,32.463298],[102.752986,32.463284],[102.75329,32.46327],[102.753592,32.4632],[102.753893,32.46313],[102.754272,32.463043],[102.754651,32.462955],[102.754694,32.462948],[102.755034,32.46289],[102.755375,32.462832],[102.755689,32.462784],[102.755993,32.462813],[102.756118,32.462857],[102.756498,32.462994],[102.756679,32.463003],[102.756907,32.462955],[102.757288,32.462917],[102.757592,32.462984],[102.757897,32.463051],[102.758259,32.463212],[102.758582,32.463251],[102.758968,32.46327],[102.759353,32.463289],[102.759715,32.463327],[102.760048,32.463554],[102.760077,32.463574],[102.760372,32.463815],[102.760667,32.464056],[102.760962,32.464297],[102.761238,32.464483],[102.761514,32.464669],[102.761536,32.464681],[102.761856,32.46485],[102.762132,32.464973],[102.762504,32.465059],[102.76278,32.465126],[102.763056,32.465192],[102.763408,32.465211],[102.76376,32.46523],[102.764112,32.465325],[102.764464,32.465449],[102.764693,32.465497],[102.764988,32.465516],[102.765205,32.46558],[102.765422,32.465645],[102.765422,32.465645],[102.765422,32.465645],[102.765547,32.465686],[102.765721,32.465744],[102.765721,32.465745],[102.765721,32.465745],[102.766039,32.465868],[102.766358,32.465992],[102.766625,32.466249],[102.766798,32.466407],[102.766971,32.466565],[102.767291,32.466858],[102.766968,32.467029],[102.764686,32.468174],[102.763549,32.468578],[102.762228,32.468925],[102.761659,32.469075],[102.760208,32.469527],[102.757623,32.470277],[102.755668,32.470826],[102.754269,32.471703],[102.752602,32.473318],[102.750992,32.475094],[102.750684,32.475398],[102.750094,32.47598],[102.748555,32.477438],[102.746753,32.479422],[102.745918,32.480256],[102.743611,32.482391],[102.742389,32.483696],[102.740655,32.485416],[102.740527,32.485544],[102.738793,32.487293],[102.736673,32.48943],[102.734052,32.491559],[102.733208,32.492503],[102.732184,32.493648],[102.731148,32.495009],[102.730612,32.495811],[102.729782,32.497054],[102.728646,32.498293],[102.728629,32.498311],[102.72856,32.498386],[102.728511,32.49844],[102.728492,32.49846],[102.728485,32.498468],[102.728471,32.498483],[102.728395,32.498566],[102.728367,32.498597],[102.728166,32.498816],[102.727914,32.49909],[102.726435,32.500656],[102.724504,32.502743],[102.724398,32.502835],[102.72393,32.50324],[102.723844,32.503314],[102.723843,32.503314],[102.723842,32.503315],[102.723817,32.503337],[102.723805,32.503348],[102.723691,32.503446],[102.723365,32.503728],[102.722519,32.504459],[102.722037,32.504752],[102.721877,32.504849],[102.721875,32.50485],[102.721873,32.504851],[102.721542,32.505053],[102.721438,32.505116],[102.721414,32.50513],[102.721334,32.505179],[102.72121,32.505255],[102.721208,32.505255],[102.721208,32.505256],[102.721117,32.505311],[102.721051,32.505351],[102.720993,32.505386],[102.720291,32.505904],[102.720151,32.505862],[102.720048,32.505831],[102.720017,32.505821],[102.720007,32.505818],[102.720007,32.505818],[102.720006,32.505818],[102.719977,32.505809],[102.719934,32.505796],[102.719359,32.505622],[102.71921,32.505691],[102.719204,32.505693],[102.71919,32.5057],[102.719185,32.505702],[102.718915,32.505826],[102.718782,32.506142],[102.718745,32.50632],[102.718639,32.50683],[102.718252,32.5073],[102.717491,32.507658],[102.716892,32.507487],[102.716857,32.507477],[102.7166,32.507404],[102.716496,32.507374],[102.71638,32.507319],[102.71622,32.507243],[102.716046,32.50716],[102.715942,32.507111],[102.715862,32.507073],[102.71583,32.507058],[102.715692,32.506992],[102.715631,32.506963],[102.715568,32.506933],[102.714991,32.507453],[102.714349,32.508078],[102.713785,32.508121],[102.713287,32.508006],[102.713075,32.507869],[102.713074,32.507869],[102.713073,32.507868],[102.713047,32.507852],[102.713025,32.507837],[102.712937,32.507781],[102.712847,32.507723],[102.712821,32.507706],[102.712609,32.507569],[102.712168,32.507667],[102.712118,32.507679],[102.711979,32.507714],[102.711945,32.507722],[102.711917,32.507729],[102.711916,32.507729],[102.711915,32.507729],[102.71116,32.507914],[102.710723,32.508037],[102.71031,32.508154],[102.710292,32.508174],[102.710504,32.50832],[102.71083,32.508545],[102.710882,32.50897],[102.710806,32.5095],[102.710493,32.509494],[102.710127,32.509116],[102.710063,32.509093],[102.710039,32.509084],[102.709979,32.509063],[102.709954,32.509053],[102.709887,32.509029],[102.709817,32.509004],[102.709529,32.509284],[102.709496,32.509317],[102.709494,32.50933],[102.70949,32.509363],[102.709487,32.509387],[102.709475,32.50948],[102.709417,32.509952],[102.709095,32.510318],[102.708462,32.510571],[102.708224,32.510567],[102.708024,32.510563],[102.70764,32.510325],[102.707622,32.510314],[102.707532,32.510258],[102.707499,32.510238],[102.707407,32.510181],[102.7071,32.509963],[102.70694,32.510034],[102.706669,32.510155],[102.706659,32.51016],[102.70656,32.510204],[102.706534,32.510216],[102.706532,32.510217],[102.706529,32.510218],[102.706572,32.511015],[102.706493,32.51165],[102.706044,32.512066],[102.705732,32.512007],[102.705623,32.511782],[102.705623,32.511782],[102.705622,32.511781],[102.705622,32.511781],[102.705612,32.51176],[102.70556,32.511652],[102.705536,32.511604],[102.705316,32.511151],[102.704959,32.510401],[102.704482,32.510437],[102.704444,32.51044],[102.704394,32.510444],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704323,32.510627],[102.704126,32.511129],[102.703558,32.511331],[102.70256,32.511154],[102.702492,32.511159],[102.702484,32.51116],[102.702421,32.511165],[102.702386,32.511168],[102.702384,32.511168],[102.702383,32.511168],[102.701667,32.511226],[102.701654,32.511227],[102.70162,32.51123],[102.70153,32.511237],[102.701513,32.511239],[102.701493,32.51124],[102.70036,32.511485],[102.699908,32.512007],[102.700016,32.512699],[102.700255,32.513128],[102.700242,32.513658],[102.699918,32.514077],[102.698342,32.514473],[102.697181,32.514664],[102.697136,32.514672],[102.697061,32.514684],[102.696895,32.514711],[102.696545,32.514754],[102.696356,32.514778],[102.695765,32.51485],[102.695268,32.514682],[102.695342,32.514081],[102.695344,32.514065],[102.695347,32.514047],[102.695347,32.514047],[102.695347,32.514046],[102.695447,32.513931],[102.695492,32.513878],[102.695798,32.513524],[102.695699,32.513401],[102.695663,32.513356],[102.695617,32.513298],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695495,32.513147],[102.694769,32.513134],[102.694744,32.513133],[102.69471,32.513123],[102.694688,32.513116],[102.694515,32.513064],[102.694498,32.513059],[102.694386,32.513025],[102.694049,32.512923],[102.694022,32.512914],[102.693998,32.512907],[102.693927,32.512948],[102.693926,32.512948],[102.693926,32.512948],[102.693915,32.512954],[102.693903,32.512961],[102.693362,32.513267],[102.692987,32.51326],[102.692613,32.5132],[102.692448,32.513257],[102.691931,32.513438],[102.691602,32.513553],[102.69077,32.514228],[102.690441,32.514858],[102.690046,32.514998],[102.689303,32.515262],[102.688716,32.51535],[102.688046,32.515451],[102.687724,32.515764],[102.687266,32.516551],[102.686701,32.516594],[102.686671,32.516504],[102.686655,32.516456],[102.686651,32.516445],[102.686625,32.516366],[102.686613,32.516331],[102.686606,32.51631],[102.686468,32.5159],[102.686179,32.515759],[102.686095,32.515718],[102.686083,32.515712],[102.68597,32.515657],[102.685954,32.515649],[102.685788,32.515569],[102.684905,32.515818],[102.684625,32.515951],[102.68351,32.516482],[102.68311,32.517089],[102.682923,32.517373],[102.682352,32.517681],[102.681919,32.517461],[102.681926,32.51717],[102.681929,32.517076],[102.681933,32.516899],[102.681933,32.516894],[102.681934,32.516877],[102.681434,32.516815],[102.681022,32.51715],[102.681017,32.517154],[102.680962,32.517198],[102.680957,32.517203],[102.680882,32.517263],[102.680855,32.517285],[102.680667,32.517438],[102.680585,32.518179],[102.680821,32.518767],[102.680557,32.519293],[102.680065,32.518912],[102.679507,32.51869],[102.679367,32.518942],[102.679245,32.519163],[102.679067,32.519549],[102.679013,32.519669],[102.678979,32.519741],[102.678266,32.520027],[102.678163,32.520069],[102.677981,32.520142],[102.677587,32.520299],[102.677006,32.520979],[102.676171,32.521759],[102.675023,32.522587],[102.67383,32.522671],[102.673602,32.522737],[102.67358,32.522743],[102.673464,32.522776],[102.673439,32.522784],[102.673136,32.52287],[102.673223,32.522998],[102.673237,32.523004],[102.673251,32.52301],[102.673382,32.523068],[102.673403,32.523078],[102.673758,32.523236],[102.673671,32.523595],[102.672697,32.523936],[102.67211,32.524252],[102.671554,32.524486],[102.671291,32.524597],[102.670986,32.524491],[102.670793,32.524424],[102.670553,32.524212],[102.670528,32.524189],[102.670513,32.524176],[102.670492,32.524157],[102.670432,32.524104],[102.670432,32.524104],[102.670431,32.524103],[102.670378,32.524057],[102.669892,32.523459],[102.669558,32.52293],[102.669515,32.522935],[102.669513,32.522936],[102.66951,32.522936],[102.669403,32.522951],[102.6694,32.522951],[102.669399,32.522951],[102.669367,32.522955],[102.669294,32.522965],[102.669132,32.522987],[102.668774,32.523406],[102.669075,32.523706],[102.66941,32.524202],[102.66932,32.524691],[102.669042,32.52498],[102.668617,32.525005],[102.668159,32.5248],[102.668065,32.524686],[102.668035,32.52465],[102.668012,32.524621],[102.667961,32.524559],[102.667961,32.524559],[102.667961,32.524558],[102.667951,32.524547],[102.66786,32.524435],[102.667492,32.524569],[102.667477,32.524574],[102.667431,32.524591],[102.6674,32.524619],[102.667395,32.524624],[102.66728,32.524732],[102.666917,32.525072],[102.666295,32.525224],[102.666055,32.525546],[102.665926,32.526067],[102.665566,32.526551],[102.664905,32.526735],[102.664518,32.52676],[102.664161,32.527146],[102.66307,32.527518],[102.661943,32.527824],[102.661704,32.528114],[102.66135,32.528369],[102.660922,32.528492],[102.660698,32.528418],[102.66068,32.528412],[102.660672,32.52841],[102.660566,32.528375],[102.660548,32.528369],[102.660501,32.528353],[102.66008,32.528215],[102.660071,32.528223],[102.660043,32.528249],[102.66003,32.528261],[102.659953,32.528333],[102.659942,32.528343],[102.659902,32.528379],[102.659803,32.528471],[102.659987,32.528834],[102.659938,32.529226],[102.659581,32.529579],[102.658259,32.529947],[102.657409,32.529996],[102.657263,32.52996],[102.657244,32.529955],[102.657237,32.529953],[102.65713,32.529926],[102.657123,32.529925],[102.656565,32.529784],[102.65641,32.529815],[102.656314,32.529834],[102.655669,32.529963],[102.655662,32.529965],[102.655534,32.52999],[102.655517,32.529994],[102.654879,32.53081],[102.654094,32.531286],[102.653944,32.531337],[102.653643,32.53144],[102.653072,32.531635],[102.651862,32.531816],[102.651536,32.531764],[102.650709,32.531631],[102.650693,32.531584],[102.65053,32.531097],[102.650534,32.531043],[102.650535,32.531031],[102.650536,32.531019],[102.650545,32.530898],[102.650546,32.530877],[102.650605,32.530077],[102.650322,32.529826],[102.650269,32.52985],[102.650259,32.529855],[102.650175,32.529894],[102.650146,32.529907],[102.649875,32.530032],[102.649638,32.53014],[102.649002,32.530496],[102.647929,32.530966],[102.646955,32.531316],[102.646118,32.531954],[102.645453,32.532333],[102.645388,32.532371],[102.645358,32.532387],[102.645329,32.532404],[102.645286,32.532429],[102.645275,32.532438],[102.645266,32.532445],[102.64499,32.532668],[102.645046,32.532714],[102.645294,32.532915],[102.645509,32.533089],[102.645557,32.533128],[102.64564,32.533307],[102.645627,32.533787],[102.645269,32.533806],[102.644856,32.533577],[102.644796,32.533544],[102.644769,32.533529],[102.644706,32.533494],[102.644682,32.533481],[102.644681,32.53348],[102.644681,32.53348],[102.64468,32.53348],[102.644393,32.533265],[102.644197,32.533295],[102.644196,32.533295],[102.644196,32.533295],[102.644091,32.533311],[102.64409,32.533311],[102.64408,32.533313],[102.643938,32.533334],[102.643625,32.533382],[102.643052,32.533827],[102.643167,32.534021],[102.643403,32.534187],[102.643595,32.534421],[102.643747,32.534606],[102.643747,32.534607],[102.643747,32.534607],[102.643783,32.534908],[102.643805,32.535024],[102.643814,32.535071],[102.643861,32.535323],[102.643453,32.535653],[102.643005,32.535605],[102.643002,32.535605],[102.643001,32.535604],[102.642943,32.535598],[102.642909,32.535594],[102.642891,32.535593],[102.642613,32.535562],[102.642035,32.535411],[102.641925,32.535382],[102.641818,32.535354],[102.641818,32.535354],[102.641735,32.535332],[102.641687,32.535319],[102.641299,32.535284],[102.641281,32.535282],[102.641211,32.535275],[102.641096,32.535265],[102.640967,32.535253],[102.640669,32.535225],[102.640672,32.535242],[102.640675,32.535254],[102.640694,32.535356],[102.640747,32.53564],[102.640563,32.5359],[102.640427,32.535948],[102.640397,32.535959],[102.640236,32.536015],[102.640215,32.536023],[102.64016,32.536042],[102.64012,32.536042],[102.639752,32.536035],[102.639724,32.536034],[102.63956,32.536031],[102.639527,32.536031],[102.639376,32.536028],[102.639317,32.536027],[102.638913,32.536207],[102.638812,32.536694],[102.638761,32.536728],[102.638676,32.536787],[102.638603,32.536836],[102.638587,32.536847],[102.638587,32.536848],[102.638586,32.536848],[102.638572,32.536858],[102.638505,32.536904],[102.638494,32.536911],[102.638493,32.536912],[102.638376,32.536992],[102.638376,32.536992],[102.638375,32.536993],[102.638283,32.537056],[102.638224,32.537096],[102.637999,32.537479],[102.637977,32.537517],[102.637927,32.537602],[102.637863,32.537711],[102.637853,32.537728],[102.637723,32.537886],[102.637682,32.537935],[102.637676,32.537942],[102.637616,32.538015],[102.637606,32.538026],[102.637599,32.538036],[102.637578,32.538061],[102.637513,32.538057],[102.637285,32.538045],[102.637269,32.538044],[102.637093,32.538035],[102.637073,32.538034],[102.636613,32.538009],[102.636583,32.538007],[102.636515,32.538003],[102.636483,32.538003],[102.636457,32.538002],[102.636312,32.538],[102.635849,32.537991],[102.635572,32.538437],[102.635523,32.538508],[102.635512,32.538524],[102.635443,32.538626],[102.635439,32.538632],[102.63535,32.538763],[102.635295,32.538845],[102.634716,32.538909],[102.634383,32.539042],[102.634369,32.539048],[102.63427,32.539088],[102.634269,32.539088],[102.634268,32.539088],[102.634267,32.539116],[102.634263,32.539258],[102.634261,32.539351],[102.63426,32.539366],[102.63426,32.539389],[102.634332,32.539479],[102.634336,32.539484],[102.634465,32.539644],[102.634475,32.539656],[102.634502,32.539652],[102.634853,32.539595],[102.635012,32.539569],[102.635099,32.539555],[102.635224,32.539591],[102.635234,32.539594],[102.635296,32.539612],[102.635763,32.539745],[102.635773,32.539748],[102.635803,32.539756],[102.635805,32.539763],[102.635849,32.539881],[102.635864,32.539923],[102.635927,32.540097],[102.635744,32.540319],[102.635162,32.540337],[102.635121,32.540338],[102.634989,32.540342],[102.634727,32.540324],[102.634704,32.540323],[102.634236,32.540291],[102.634144,32.540353],[102.633965,32.540473],[102.633956,32.5405],[102.633821,32.540884],[102.633902,32.541164],[102.633902,32.541164],[102.633902,32.541166],[102.633928,32.541255],[102.633928,32.541256],[102.633933,32.541275],[102.633966,32.541389],[102.633984,32.541451],[102.634002,32.541525],[102.634022,32.541607],[102.634025,32.541618],[102.634028,32.54163],[102.634043,32.541692],[102.634043,32.541694],[102.634044,32.541696],[102.634104,32.541942],[102.633512,32.542532],[102.632525,32.542927],[102.632235,32.542876],[102.632217,32.542873],[102.632135,32.542859],[102.632132,32.542858],[102.63213,32.542858],[102.632039,32.542842],[102.631989,32.54277],[102.631935,32.542694],[102.631934,32.542692],[102.631933,32.54269],[102.631826,32.542538],[102.631837,32.542473],[102.63184,32.542455],[102.631842,32.542444],[102.631869,32.542291],[102.631889,32.542171],[102.631892,32.542158],[102.63193,32.541938],[102.631845,32.541759],[102.631836,32.54174],[102.63176,32.541581],[102.631678,32.541408],[102.631678,32.541408],[102.631678,32.541407],[102.631635,32.541408],[102.630901,32.541419],[102.630886,32.541419],[102.630884,32.541419],[102.630883,32.541419],[102.630881,32.541419],[102.630813,32.54142],[102.630765,32.541421],[102.630765,32.541421],[102.630756,32.541421],[102.630568,32.541424],[102.629999,32.541316],[102.629969,32.541311],[102.62988,32.541294],[102.629861,32.54129],[102.629685,32.541257],[102.629664,32.541304],[102.629571,32.54151],[102.629563,32.541528],[102.629517,32.541628],[102.629508,32.54165],[102.62945,32.541779],[102.629441,32.541815],[102.629349,32.542228],[102.629265,32.542271],[102.62922,32.542295],[102.629207,32.542302],[102.629114,32.54235],[102.629104,32.542355],[102.629047,32.542384],[102.628719,32.542554],[102.628708,32.54261],[102.628705,32.542621],[102.628685,32.542719],[102.628655,32.54286],[102.628621,32.543023],[102.628618,32.543041],[102.628567,32.543054],[102.628128,32.543169],[102.627813,32.543251],[102.626966,32.542985],[102.626669,32.542891],[102.62662,32.542915],[102.626593,32.542927],[102.626426,32.543006],[102.626403,32.543016],[102.626329,32.543051],[102.62613,32.543144],[102.625855,32.543477],[102.62537,32.543724],[102.625351,32.543734],[102.62531,32.543755],[102.62528,32.54377],[102.625001,32.543912],[102.624776,32.544049],[102.624695,32.544097],[102.624693,32.544098],[102.624692,32.544099],[102.624691,32.5441],[102.624451,32.544246],[102.624279,32.54435],[102.622941,32.544625],[102.62239,32.545329],[102.621734,32.545806],[102.6217,32.545832],[102.621648,32.545869],[102.621587,32.545914],[102.621511,32.545969],[102.621485,32.545988],[102.62146,32.546013],[102.621385,32.546088],[102.621333,32.546139],[102.621213,32.546259],[102.621212,32.54626],[102.621211,32.546261],[102.621171,32.546301],[102.620892,32.546578],[102.620664,32.54663],[102.620648,32.546634],[102.620533,32.546661],[102.620532,32.546661],[102.62053,32.546661],[102.620412,32.546688],[102.620133,32.546752],[102.619927,32.546707],[102.619825,32.546684],[102.619653,32.546646],[102.619616,32.546638],[102.619578,32.54663],[102.619383,32.546587],[102.618569,32.547173],[102.61838,32.547621],[102.618233,32.548144],[102.618076,32.549043],[102.617824,32.550203],[102.617631,32.550764],[102.617712,32.551066],[102.618283,32.551302],[102.618628,32.551647],[102.61853,32.552021],[102.618168,32.552277],[102.617194,32.552183],[102.617168,32.552177],[102.616737,32.552072],[102.616357,32.55198],[102.616033,32.552462],[102.616057,32.553252],[102.615821,32.553774],[102.614949,32.554847],[102.614437,32.555777],[102.614384,32.55592],[102.614365,32.555971],[102.614348,32.556017],[102.614332,32.556062],[102.614149,32.556561],[102.614135,32.557124],[102.61425,32.557803],[102.614545,32.558372],[102.614831,32.559317],[102.615034,32.560035],[102.615287,32.560529],[102.615703,32.560952],[102.615734,32.560985],[102.615762,32.561012],[102.616151,32.561409],[102.616296,32.56148],[102.616302,32.561483],[102.616353,32.561508],[102.616994,32.561823],[102.617028,32.561839],[102.617147,32.56201],[102.617148,32.56201],[102.617228,32.562125],[102.617354,32.562305],[102.617369,32.562326],[102.61737,32.562328],[102.617371,32.562329],[102.617405,32.562378],[102.617435,32.562421],[102.617455,32.562449],[102.617449,32.562674],[102.617223,32.562857],[102.617187,32.562887],[102.617086,32.562968],[102.616705,32.563109],[102.616523,32.563175],[102.616504,32.563183],[102.616316,32.563555],[102.616205,32.564417],[102.616144,32.565017],[102.616011,32.565504],[102.615988,32.565587],[102.615899,32.565915],[102.6159,32.565956],[102.615901,32.566006],[102.61592,32.56678],[102.615962,32.566833],[102.616059,32.56696],[102.616069,32.566972],[102.616119,32.567038],[102.616138,32.567062],[102.616478,32.567504],[102.617125,32.568231],[102.617211,32.56852],[102.617235,32.568598],[102.617237,32.568605],[102.617303,32.568825],[102.617329,32.568911],[102.617329,32.568932],[102.61733,32.569001],[102.617331,32.56903],[102.617347,32.569889],[102.617188,32.570863],[102.617127,32.571108],[102.617046,32.571433],[102.617039,32.571461],[102.616982,32.571949],[102.617373,32.572257],[102.618068,32.572834],[102.618411,32.573291],[102.618447,32.573593],[102.618232,32.573802],[102.61822,32.573814],[102.618214,32.573818],[102.618213,32.573818],[102.618213,32.573818],[102.618204,32.573824],[102.618086,32.573899],[102.618041,32.573927],[102.617779,32.574093],[102.617618,32.574196],[102.617617,32.574197],[102.617617,32.574197],[102.617588,32.574215],[102.617564,32.574246],[102.617547,32.574268],[102.617547,32.574268],[102.617546,32.574269],[102.617128,32.574808],[102.617024,32.57537],[102.616962,32.576045],[102.616933,32.577135],[102.617007,32.57732],[102.617135,32.577638],[102.617158,32.577697],[102.617264,32.577963],[102.617266,32.577968],[102.617266,32.577979],[102.617244,32.578794],[102.617495,32.5794],[102.617835,32.579564],[102.6179,32.579595],[102.617943,32.579616],[102.618065,32.579674],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618089,32.579725],[102.618191,32.57994],[102.618139,32.580202],[102.61809,32.580389],[102.617912,32.580468],[102.617675,32.580574],[102.617655,32.580583],[102.617559,32.580625],[102.617559,32.580625],[102.617559,32.580626],[102.617533,32.580637],[102.617281,32.580749],[102.617094,32.581122],[102.617205,32.581575],[102.61721,32.581597],[102.617214,32.581612],[102.617246,32.581645],[102.61735,32.581753],[102.617388,32.581793],[102.617473,32.581881],[102.617738,32.581961],[102.617747,32.582039],[102.61777,32.582225],[102.617774,32.582262],[102.61777,32.582433],[102.617768,32.582485],[102.617767,32.582521],[102.617765,32.5826],[102.617679,32.582635],[102.617522,32.582697],[102.617414,32.582741],[102.617406,32.582744],[102.617249,32.582799],[102.617226,32.582808],[102.6166,32.583029],[102.616367,32.583438],[102.616362,32.583475],[102.616362,32.583477],[102.616361,32.583478],[102.61636,32.583488],[102.616351,32.583557],[102.616346,32.583592],[102.616342,32.583623],[102.616311,32.58385],[102.616365,32.584163],[102.616381,32.584261],[102.616384,32.584277],[102.616389,32.584305],[102.616401,32.584379],[102.616404,32.584397],[102.616407,32.584412],[102.616427,32.584529],[102.616227,32.585352],[102.616278,32.585615],[102.61628,32.585623],[102.616338,32.585925],[102.616344,32.585956],[102.616352,32.585974],[102.616478,32.586297],[102.616519,32.586401],[102.616552,32.586486],[102.616534,32.586583],[102.616514,32.586694],[102.616449,32.587048],[102.616342,32.587288],[102.616305,32.58737],[102.616298,32.587384],[102.616253,32.587485],[102.616247,32.587499],[102.616242,32.587511],[102.616241,32.587512],[102.616241,32.587512],[102.616166,32.587681],[102.616333,32.58806],[102.616396,32.588181],[102.616442,32.58827],[102.616519,32.588418],[102.616522,32.588425],[102.616564,32.588505],[102.616629,32.58863],[102.616997,32.588719],[102.616998,32.588719],[102.616999,32.58872],[102.617029,32.588727],[102.617206,32.58877],[102.617207,32.58877],[102.617208,32.588771],[102.617467,32.588833],[102.617815,32.589103],[102.617765,32.589328],[102.617676,32.589356],[102.617661,32.589361],[102.617608,32.589378],[102.617561,32.589394],[102.617546,32.589399],[102.617158,32.589524],[102.617122,32.589536],[102.617074,32.589552],[102.616999,32.589576],[102.616972,32.589585],[102.616779,32.589647],[102.616592,32.59002],[102.6166,32.5901],[102.616607,32.59016],[102.616616,32.590252],[102.61662,32.590286],[102.616627,32.590359],[102.617152,32.590885],[102.617265,32.590998],[102.617276,32.59101],[102.617339,32.591066],[102.617358,32.591082],[102.617441,32.591156],[102.617462,32.591174],[102.61797,32.591624],[102.618629,32.5919],[102.618865,32.592067],[102.619065,32.592209],[102.619144,32.592549],[102.618648,32.592833],[102.61849,32.592893],[102.618389,32.592931],[102.618246,32.592986],[102.618143,32.593025],[102.617866,32.59313],[102.617563,32.593467],[102.617771,32.593939],[102.618056,32.594319],[102.618823,32.594552],[102.619408,32.59475],[102.619447,32.594821],[102.619482,32.594884],[102.619536,32.59498],[102.619583,32.595065],[102.619583,32.595065],[102.619583,32.595066],[102.619571,32.595143],[102.619564,32.595186],[102.619539,32.595345],[102.619523,32.595354],[102.619127,32.595587],[102.619023,32.595659],[102.618996,32.595678],[102.618947,32.595711],[102.618912,32.595736],[102.61891,32.595738],[102.618908,32.595739],[102.618602,32.595951],[102.618557,32.596287],[102.618556,32.596293],[102.618919,32.596421],[102.618953,32.596433],[102.619213,32.596524],[102.619244,32.596551],[102.619282,32.596584],[102.61935,32.596645],[102.619548,32.59682],[102.619609,32.596874],[102.619648,32.596927],[102.620002,32.597411],[102.620046,32.59747],[102.62011,32.597558],[102.620125,32.597578],[102.620143,32.597602],[102.620386,32.598168],[102.620451,32.598311],[102.620462,32.598333],[102.62052,32.598459],[102.620521,32.598461],[102.620521,32.598461],[102.620541,32.598504],[102.620541,32.598505],[102.620541,32.598506],[102.62056,32.598545],[102.620145,32.598912],[102.62012,32.598941],[102.620093,32.598973],[102.619988,32.599097],[102.619979,32.599108],[102.619941,32.599153],[102.619624,32.599528],[102.619614,32.59954],[102.619574,32.599587],[102.619776,32.599746],[102.619899,32.599843],[102.619891,32.599908],[102.619889,32.599925],[102.619879,32.600015],[102.619878,32.600022],[102.619875,32.600045],[102.619852,32.600247],[102.619406,32.600395],[102.619385,32.600493],[102.619374,32.600544],[102.619357,32.600628],[102.619352,32.60065],[102.61934,32.60071],[102.619337,32.600725],[102.61933,32.600758],[102.619321,32.600799],[102.619576,32.601376],[102.619599,32.601428],[102.619655,32.601528],[102.619753,32.601704],[102.619784,32.601759],[102.619805,32.601797],[102.61981,32.601806],[102.620164,32.602357],[102.620595,32.602738],[102.620996,32.603038],[102.620927,32.603277],[102.620717,32.603433],[102.620715,32.603434],[102.620713,32.603436],[102.620627,32.6035],[102.620613,32.60351],[102.620611,32.603512],[102.620609,32.603513],[102.620366,32.603694],[102.620353,32.603704],[102.620236,32.603791],[102.620229,32.603796],[102.620124,32.603874],[102.620124,32.603875],[102.620124,32.603876],[102.620081,32.604039],[102.620076,32.604059],[102.620063,32.604105],[102.620037,32.604206],[102.620019,32.604272],[102.619949,32.604537],[102.619936,32.604566],[102.619885,32.604681],[102.619715,32.605065],[102.619722,32.605083],[102.619725,32.605092],[102.619734,32.605116],[102.619765,32.605202],[102.619773,32.605222],[102.619777,32.605235],[102.619869,32.605487],[102.619891,32.605547],[102.619896,32.605554],[102.620058,32.605784],[102.620064,32.605791],[102.620064,32.605792],[102.620065,32.605793],[102.620241,32.606042],[102.620407,32.606276],[102.620674,32.606738],[102.620675,32.606739],[102.620675,32.606739],[102.620718,32.606814],[102.620722,32.60682],[102.620723,32.606821],[102.620723,32.606822],[102.620828,32.607003],[102.621488,32.607016],[102.621904,32.607142],[102.621934,32.607151],[102.622028,32.607179],[102.62203,32.60718],[102.622031,32.60718],[102.62205,32.607186],[102.62205,32.607187],[102.62205,32.607188],[102.622056,32.607288],[102.622056,32.607289],[102.622056,32.60729],[102.622058,32.60732],[102.622072,32.607559],[102.621903,32.607706],[102.621892,32.607716],[102.621809,32.607789],[102.621802,32.607795],[102.621774,32.607819],[102.621653,32.607924],[102.621549,32.608132],[102.62152,32.608188],[102.621798,32.608406],[102.622085,32.60853],[102.622103,32.608538],[102.62212,32.608545],[102.622575,32.608741],[102.623239,32.608937],[102.623824,32.609111],[102.624476,32.609443],[102.625058,32.609693],[102.625316,32.609805],[102.6257,32.610144],[102.626085,32.610485],[102.626103,32.610498],[102.626128,32.610517],[102.62614,32.610526],[102.626181,32.610556],[102.626207,32.610575],[102.626208,32.610576],[102.626208,32.610576],[102.626225,32.610588],[102.626455,32.610758],[102.626729,32.610703],[102.626824,32.610684],[102.62685,32.610678],[102.627056,32.610636],[102.627375,32.610483],[102.627402,32.61047],[102.627463,32.61044],[102.627524,32.610411],[102.627534,32.610406],[102.628151,32.610442],[102.628191,32.610445],[102.628193,32.610445],[102.628194,32.610445],[102.628207,32.610464],[102.628234,32.610503],[102.628258,32.610537],[102.628436,32.610796],[102.628396,32.611017],[102.628373,32.61114],[102.628373,32.611142],[102.628372,32.611145],[102.628363,32.611194],[102.628333,32.611245],[102.628327,32.611257],[102.628317,32.611274],[102.628165,32.611536],[102.627812,32.611823],[102.627149,32.611975],[102.627071,32.611993],[102.627054,32.611997],[102.627017,32.612006],[102.626968,32.612017],[102.626966,32.612017],[102.626965,32.612018],[102.626957,32.612019],[102.626769,32.612071],[102.626761,32.612073],[102.626749,32.612076],[102.626707,32.612088],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.62666,32.612101],[102.626415,32.612168],[102.626406,32.612171],[102.626355,32.612185],[102.626338,32.61219],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626309,32.612255],[102.626302,32.612287],[102.626252,32.612512],[102.626312,32.612569],[102.625465,32.612859],[102.624053,32.613234],[102.623637,32.613392],[102.623002,32.613632],[102.621617,32.614163],[102.620392,32.614882],[102.619166,32.615647],[102.61789,32.616226],[102.617115,32.616743],[102.616607,32.617083],[102.615944,32.617552],[102.615944,32.617552],[102.615932,32.61756],[102.615859,32.617612],[102.615854,32.617616],[102.615852,32.617617],[102.615849,32.617619],[102.615713,32.617715],[102.614268,32.618476],[102.613601,32.618651],[102.61344,32.618693],[102.613437,32.618693],[102.613434,32.618693],[102.613217,32.618688],[102.613205,32.618688],[102.613203,32.618688],[102.613201,32.618688],[102.613188,32.618688],[102.612932,32.618683],[102.611947,32.618664],[102.611765,32.618661],[102.61174,32.61866],[102.611682,32.618659],[102.61147,32.618655],[102.611469,32.618655],[102.611467,32.618655],[102.61119,32.618646],[102.611136,32.618644],[102.611033,32.618641],[102.608017,32.618543],[102.606769,32.618055],[102.606245,32.617966],[102.606222,32.617962],[102.606214,32.617961],[102.606199,32.617958],[102.606198,32.617958],[102.605241,32.617794],[102.603269,32.617757],[102.602074,32.617363],[102.602038,32.617348],[102.601474,32.617115],[102.60143,32.617097],[102.601357,32.617067],[102.601329,32.617056],[102.600466,32.6167],[102.600068,32.616536],[102.597516,32.615606],[102.595497,32.615288],[102.595396,32.615221],[102.595355,32.615193],[102.582898,32.606836],[102.582228,32.607287],[102.581482,32.608525],[102.58152,32.609175],[102.581008,32.609861],[102.57961,32.610901],[102.578108,32.611707],[102.576709,32.612793],[102.575478,32.613697],[102.573846,32.615289],[102.573049,32.616387],[102.571868,32.617478],[102.571581,32.617982],[102.571601,32.618039],[102.57126,32.617698],[102.569487,32.616365],[102.568248,32.615552],[102.566533,32.614127],[102.564395,32.612091],[102.563974,32.611707],[102.563718,32.611475],[102.562416,32.61029],[102.562163,32.610092],[102.561452,32.609536],[102.561153,32.609302],[102.560591,32.608863],[102.558981,32.607625],[102.557963,32.606542],[102.557915,32.606495],[102.556955,32.605545],[102.555829,32.604595],[102.554367,32.603963],[102.552908,32.603193],[102.551884,32.60257],[102.551303,32.60177],[102.550905,32.600277],[102.550447,32.59897],[102.550293,32.598595],[102.550069,32.596782],[102.549878,32.595711],[102.549407,32.594913],[102.548332,32.59415],[102.54731,32.593434],[102.546462,32.592397],[102.545948,32.591135],[102.545921,32.590114],[102.545678,32.588996],[102.54536,32.587976],[102.544673,32.5867],[102.543554,32.585416],[102.542467,32.584703],[102.54218,32.584338],[102.541791,32.583844],[102.541491,32.583462],[102.540609,32.582305],[102.539476,32.581509],[102.537194,32.580568],[102.536107,32.579855],[102.535204,32.579471],[102.534077,32.578471],[102.532809,32.577347],[102.531688,32.576144],[102.531133,32.575374],[102.530854,32.574988],[102.530168,32.573712],[102.529045,32.572591],[102.527781,32.571344],[102.526843,32.570471],[102.526094,32.569723],[102.5254,32.568732],[102.523355,32.569669],[102.522416,32.570587],[102.521822,32.571186],[102.521015,32.571679],[102.520208,32.572172],[102.519256,32.572703],[102.518304,32.573234],[102.517669,32.573588],[102.517034,32.573942],[102.516473,32.574236],[102.515912,32.57453],[102.515348,32.57403],[102.514792,32.573286],[102.514165,32.571605],[102.513242,32.568451],[102.51295,32.567733],[102.512657,32.567015],[102.512405,32.566541],[102.512154,32.566068],[102.511419,32.564832],[102.510436,32.563876],[102.50877,32.563232],[102.507486,32.562718],[102.506481,32.562576],[102.504697,32.562744],[102.503587,32.562885],[102.502444,32.562496],[102.501691,32.561911],[102.500606,32.561157],[102.500186,32.560653],[102.499293,32.559765],[102.49861,32.559286],[102.497559,32.558799],[102.496792,32.55869],[102.496292,32.558183],[102.495354,32.557636],[102.494116,32.557301],[102.492686,32.557272],[102.491842,32.557256],[102.489647,32.557056],[102.487423,32.556546],[102.486081,32.555991],[102.485368,32.555262],[102.484481,32.554188],[102.483219,32.553417],[102.481977,32.553206],[102.480878,32.553153],[102.479813,32.553193],[102.478815,32.553484],[102.477734,32.554084],[102.476735,32.554374],[102.475829,32.553983],[102.474416,32.553365],[102.47367,32.55248],[102.473065,32.551846],[102.472159,32.551424],[102.471013,32.550438],[102.470299,32.54974],[102.468744,32.548963],[102.467287,32.548592],[102.46605,32.548225],[102.4643,32.547848],[102.463179,32.547266],[102.460086,32.546365],[102.459078,32.546094],[102.458958,32.546062],[102.457791,32.545821],[102.456446,32.54539],[102.455121,32.54555],[102.454127,32.545685],[102.453052,32.546067],[102.452302,32.546642],[102.451482,32.547123],[102.451184,32.547272],[102.450201,32.54573],[102.449856,32.544946],[102.449447,32.54385],[102.448991,32.543126],[102.448533,32.542433],[102.448003,32.541739],[102.446959,32.53973],[102.446332,32.538567],[102.445894,32.537191],[102.445777,32.536164],[102.445949,32.535266],[102.446018,32.534118],[102.446146,32.532194],[102.445887,32.530977],[102.445242,32.530436],[102.444486,32.529924],[102.443733,32.529318],[102.443353,32.528502],[102.44224,32.526367],[102.441493,32.525544],[102.440397,32.524124],[102.439554,32.522802],[102.438827,32.521264],[102.438334,32.520571],[102.437275,32.51912],[102.436642,32.518175],[102.436476,32.51755],[102.43655,32.516247],[102.436475,32.515003],[102.436284,32.514005],[102.435728,32.512906],[102.434672,32.511362],[102.433868,32.510285],[102.433824,32.510227],[102.43312,32.509575],[102.432931,32.509401],[102.432183,32.50864],[102.431598,32.508597],[102.430677,32.508733],[102.429867,32.508841],[102.429025,32.508824],[102.428243,32.509243],[102.427608,32.509634],[102.426945,32.509744],[102.426506,32.509704],[102.425981,32.508855],[102.425522,32.508224],[102.425108,32.507315],[102.424621,32.506404],[102.423749,32.504832],[102.423334,32.503954],[102.422733,32.503165],[102.421837,32.502463],[102.420953,32.501327],[102.419839,32.500527],[102.419134,32.499549],[102.418382,32.498912],[102.417991,32.498501],[102.41708,32.498295],[102.416129,32.498214],[102.415415,32.497547],[102.414671,32.49663],[102.414039,32.495654],[102.413291,32.494893],[102.412626,32.493823],[102.412076,32.492538],[102.411555,32.491533],[102.4104,32.490262],[102.410346,32.490203],[102.409793,32.490316],[102.408235,32.490968],[102.406641,32.491587],[102.404943,32.492018],[102.403426,32.492484],[102.401838,32.492886],[102.39955,32.493429],[102.398591,32.493627],[102.39755,32.494134],[102.396198,32.495255],[102.395597,32.495771],[102.394946,32.49672],[102.39345,32.49902],[102.392357,32.500053],[102.39145,32.500998],[102.390805,32.501761],[102.388941,32.502841],[102.387068,32.5042],[102.38572,32.505197],[102.385074,32.50596],[102.383365,32.506733],[102.382615,32.507307],[102.382738,32.508149],[102.383064,32.509554],[102.383438,32.510556],[102.383621,32.511833],[102.383698,32.512953],[102.383724,32.5146],[102.383657,32.515655],[102.383771,32.516776],[102.383332,32.51801],[102.382852,32.519367],[102.382207,32.52013],[102.381558,32.521017],[102.380539,32.522021],[102.379417,32.522775],[102.378211,32.523868],[102.377822,32.524668],[102.377871,32.525476],[102.377972,32.527063],[102.377631,32.528702],[102.377549,32.530254],[102.377136,32.531861],[102.376584,32.533185],[102.376016,32.533795],[102.37504,32.534551],[102.373334,32.535199],[102.372542,32.535959],[102.372117,32.536696],[102.371844,32.537249],[102.371856,32.538088],[102.372261,32.539308],[102.373035,32.540443],[102.373745,32.541235],[102.374962,32.542285],[102.37572,32.542705],[102.374689,32.543243],[102.373359,32.543588],[102.37271,32.54403],[102.371856,32.544799],[102.371485,32.545785],[102.370863,32.547015],[102.370621,32.548584],[102.370768,32.550244],[102.371133,32.551163],[102.371114,32.551825],[102.371143,32.552489],[102.371367,32.553198],[102.371336,32.554274],[102.37106,32.555345],[102.371419,32.55643],[102.371835,32.557267],[102.372095,32.558432],[102.371833,32.559007],[102.371375,32.559618],[102.370662,32.560597],[102.36994,32.561866],[102.369078,32.562925],[102.367625,32.564096],[102.366579,32.564737],[102.36504,32.565492],[102.363617,32.565669],[102.362341,32.565808],[102.361909,32.565818],[102.360432,32.565851],[102.358537,32.565397],[102.3566,32.564735],[102.354179,32.563897],[102.352248,32.563027],[102.349503,32.561313],[102.349447,32.561278],[102.349438,32.561272],[102.349333,32.561206],[102.348553,32.561079],[102.347883,32.561673],[102.34695,32.562316],[102.345982,32.56263],[102.34583,32.56268],[102.345486,32.562374],[102.345415,32.56231],[102.345399,32.562296],[102.345385,32.562283],[102.345343,32.562247],[102.345548,32.561984],[102.345821,32.561634],[102.346003,32.56141],[102.346041,32.561381],[102.348367,32.558314],[102.348425,32.558238],[102.348522,32.558109],[102.348583,32.558026],[102.348666,32.557914],[102.348749,32.557802],[102.348847,32.55767],[102.348932,32.557554],[102.349038,32.557411],[102.349142,32.557271],[102.349231,32.55715],[102.349318,32.557032],[102.349418,32.556897],[102.349512,32.556771],[102.349695,32.556553],[102.349703,32.55654],[102.349759,32.556404],[102.349798,32.556311],[102.349878,32.556201],[102.349989,32.555919],[102.35,32.555883],[102.349991,32.555878],[102.349991,32.555878],[102.349987,32.555876],[102.349986,32.555876],[102.349925,32.555861],[102.349923,32.55586],[102.349919,32.55586],[102.349823,32.555859],[102.349894,32.555709],[102.346816,32.55505],[102.34683,32.554943],[102.346801,32.554847],[102.346762,32.554785],[102.346736,32.55474],[102.346714,32.554735],[102.346683,32.554727],[102.346649,32.554718],[102.346591,32.554702],[102.345877,32.554516],[102.34583,32.554504],[102.345829,32.554503],[102.345826,32.554502],[102.345758,32.554485],[102.345357,32.55438],[102.344319,32.554218],[102.343833,32.554143],[102.341371,32.55376],[102.340766,32.553666],[102.340686,32.553653],[102.340656,32.553649],[102.340496,32.553624],[102.34042,32.553612],[102.340021,32.553555],[102.33868,32.553364],[102.3386,32.553352],[102.33851,32.553287],[102.338472,32.553259],[102.338364,32.553181],[102.338258,32.553062],[102.338165,32.553037],[102.337747,32.552734],[102.337578,32.552612],[102.336849,32.552441],[102.336695,32.552405],[102.336584,32.552379],[102.33656,32.552374],[102.336436,32.552345],[102.336378,32.552331],[102.336358,32.552326],[102.33634,32.552322],[102.336023,32.552248],[102.334344,32.551659],[102.333546,32.55214],[102.332677,32.55284],[102.331867,32.553762],[102.33093,32.553798],[102.329113,32.553464],[102.329052,32.553474],[102.328977,32.553487],[102.328755,32.553524],[102.32853,32.553583],[102.328214,32.553667],[102.328045,32.553776],[102.327067,32.554405],[102.327033,32.554427],[102.326996,32.554451],[102.326831,32.554874],[102.326793,32.554865],[102.32676,32.554848],[102.326524,32.555242],[102.326171,32.555833],[102.325323,32.558026],[102.324932,32.559491],[102.324613,32.559874],[102.324574,32.559872],[102.324288,32.559863],[102.324067,32.559862],[102.32406,32.559863],[102.324016,32.559867],[102.323856,32.559882],[102.32385,32.559884],[102.323706,32.559915],[102.323697,32.559917],[102.323552,32.559976],[102.323525,32.559977],[102.323031,32.560192],[102.322969,32.560219],[102.322555,32.560398],[102.322485,32.560433],[102.322418,32.560466],[102.321407,32.560963],[102.319668,32.560926],[102.318094,32.561187],[102.31669,32.5616],[102.314074,32.561765],[102.312079,32.561575],[102.310799,32.560737],[102.309784,32.559757],[102.307993,32.55854],[102.306281,32.557619],[102.304401,32.556473],[102.302954,32.555411],[102.302104,32.554729],[102.301324,32.554639],[102.300189,32.554762],[102.298365,32.554649],[102.296448,32.554755],[102.294988,32.554134],[102.293699,32.553591],[102.29276,32.552991],[102.292504,32.552828],[102.292411,32.552783],[102.290274,32.551748],[102.289186,32.551087],[102.289115,32.551044],[102.289111,32.551039],[102.289096,32.551032],[102.289086,32.551026],[102.288978,32.55096],[102.2884,32.550609],[102.288414,32.550606],[102.288469,32.550587],[102.28855,32.55056],[102.288645,32.550496],[102.288745,32.550402],[102.288845,32.550276],[102.288937,32.550067],[102.28903,32.549859],[102.289039,32.549804],[102.289077,32.549568],[102.289077,32.549557],[102.28908,32.54948],[102.289081,32.549434],[102.289085,32.54931],[102.289093,32.549052],[102.289101,32.548794],[102.289109,32.548536],[102.289133,32.54839],[102.28915,32.548296],[102.28916,32.548245],[102.289175,32.548166],[102.289178,32.548149],[102.289221,32.547987],[102.28928,32.54785],[102.289303,32.547796],[102.289345,32.547706],[102.289386,32.547619],[102.289411,32.547564],[102.289487,32.547397],[102.28953,32.54725],[102.289573,32.547074],[102.289619,32.546864],[102.289623,32.546706],[102.289624,32.546653],[102.289617,32.546281],[102.289617,32.546281],[102.289617,32.546281],[102.289607,32.545957],[102.289607,32.545957],[102.2896,32.545586],[102.2896,32.545586],[102.2896,32.545586],[102.289626,32.545359],[102.289635,32.545332],[102.289667,32.545241],[102.28971,32.545118],[102.289751,32.544979],[102.289758,32.544954],[102.289779,32.544881],[102.289848,32.544644],[102.289918,32.544406],[102.289987,32.544169],[102.290056,32.543938],[102.290058,32.543929],[102.290092,32.543816],[102.290124,32.543711],[102.290191,32.543486],[102.290198,32.543463],[102.290193,32.543306],[102.290188,32.543155],[102.290166,32.542956],[102.290157,32.542879],[102.290115,32.542721],[102.290088,32.54262],[102.29002,32.542495],[102.289962,32.54239],[102.289864,32.54229],[102.28972,32.542143],[102.289495,32.541959],[102.28935,32.541812],[102.289348,32.541811],[102.289333,32.541784],[102.289308,32.541738],[102.289275,32.541679],[102.28928,32.54155],[102.28928,32.541534],[102.289411,32.541302],[102.289542,32.54107],[102.289565,32.541044],[102.28976,32.540832],[102.289841,32.540751],[102.289997,32.540595],[102.29006,32.540515],[102.290166,32.54038],[102.290335,32.540165],[102.290613,32.539815],[102.290782,32.539617],[102.29087,32.539513],[102.291002,32.539234],[102.291014,32.539208],[102.291158,32.538904],[102.291228,32.538686],[102.291285,32.538512],[102.291411,32.53812],[102.291443,32.537688],[102.291444,32.537673],[102.291473,32.537281],[102.291475,32.537256],[102.291482,32.537162],[102.291498,32.536943],[102.291507,32.536823],[102.291539,32.536391],[102.291543,32.53619],[102.291544,32.536135],[102.291545,32.536106],[102.29155,32.53588],[102.291551,32.535845],[102.291552,32.535791],[102.291556,32.535646],[102.291556,32.535635],[102.291556,32.535624],[102.291557,32.535586],[102.291558,32.535548],[102.29156,32.535457],[102.291561,32.535431],[102.291561,32.535421],[102.291562,32.535369],[102.291568,32.535128],[102.291568,32.535113],[102.291571,32.534988],[102.291574,32.534858],[102.291576,32.534775],[102.291577,32.534741],[102.29158,32.534602],[102.291585,32.534369],[102.291586,32.534347],[102.291587,32.534278],[102.291591,32.534095],[102.291591,32.534091],[102.291593,32.534041],[102.291597,32.533836],[102.2916,32.533667],[102.291601,32.533607],[102.291603,32.533474],[102.291604,32.533377],[102.291607,32.533202],[102.291608,32.533148],[102.291608,32.533143],[102.291611,32.532919],[102.291615,32.53269],[102.291618,32.532461],[102.291606,32.532234],[102.291594,32.532007],[102.2916,32.5318],[102.291606,32.531603],[102.291693,32.531281],[102.291856,32.530929],[102.291958,32.530728],[102.29206,32.530528],[102.292179,32.530385],[102.292181,32.530384],[102.292182,32.530383],[102.292266,32.530315],[102.292316,32.530275],[102.292329,32.530268],[102.292334,32.530266],[102.292363,32.53025],[102.292381,32.530241],[102.292429,32.530215],[102.29255,32.530151],[102.292693,32.530093],[102.292867,32.530023],[102.292988,32.529974],[102.293019,32.529961],[102.293185,32.529894],[102.293198,32.529882],[102.293227,32.529854],[102.293283,32.529803],[102.293323,32.529766],[102.293335,32.529728],[102.29336,32.529658],[102.293427,32.529462],[102.293358,32.529217],[102.293284,32.528984],[102.29327,32.528941],[102.293276,32.528885],[102.293287,32.528783],[102.293297,32.528699],[102.293526,32.52838],[102.293617,32.528253],[102.293646,32.528213],[102.293756,32.52806],[102.293755,32.528047],[102.293754,32.528022],[102.293746,32.52777],[102.2936,32.527508],[102.293413,32.527382],[102.293225,32.527256],[102.292904,32.527136],[102.292579,32.527113],[102.292176,32.527136],[102.291888,32.527196],[102.291654,32.52732],[102.291325,32.527442],[102.291077,32.527428],[102.290834,32.527415],[102.290829,32.527414],[102.290694,32.527395],[102.29058,32.527378],[102.290573,32.527377],[102.290447,32.527359],[102.29019,32.527312],[102.289934,32.527266],[102.289834,32.527264],[102.289666,32.527261],[102.289398,32.527255],[102.289158,32.527298],[102.288918,32.527341],[102.288762,32.527395],[102.288754,32.527398],[102.288674,32.527425],[102.288608,32.527448],[102.288592,32.527453],[102.28853,32.527475],[102.28833,32.527544],[102.288299,32.527555],[102.288066,32.527687],[102.288017,32.527715],[102.287832,32.52782],[102.287531,32.527943],[102.287231,32.528066],[102.286942,32.528141],[102.28688,32.528137],[102.286713,32.528128],[102.286645,32.528124],[102.286485,32.528114],[102.286484,32.528114],[102.286484,32.528114],[102.286415,32.528068],[102.286346,32.528022],[102.286183,32.527914],[102.286152,32.527884],[102.285979,32.527715],[102.285893,32.527406],[102.285882,32.527132],[102.285884,32.527047],[102.285889,32.526855],[102.285856,32.526676],[102.285856,32.526675],[102.285855,32.526673],[102.285855,32.526673],[102.285847,32.526658],[102.285766,32.526496],[102.285504,32.52633],[102.285296,32.526214],[102.285087,32.526098],[102.284958,32.525966],[102.284809,32.525784],[102.284718,32.525619],[102.284717,32.525617],[102.28468,32.52555],[102.284665,32.525522],[102.284656,32.525453],[102.284639,32.525333],[102.284635,32.525304],[102.284633,32.525287],[102.284602,32.525053],[102.284611,32.524729],[102.284548,32.524322],[102.284436,32.524207],[102.284286,32.524139],[102.284056,32.524134],[102.283644,32.524115],[102.28349,32.524142],[102.283199,32.52425],[102.283117,32.524298],[102.282927,32.524406],[102.2829,32.52443],[102.282726,32.52458],[102.282672,32.524628],[102.282626,32.524697],[102.282432,32.524994],[102.28231,32.525243],[102.282187,32.525491],[102.281985,32.525843],[102.281807,32.526001],[102.281711,32.526047],[102.281622,32.526062],[102.281542,32.526075],[102.281268,32.526119],[102.281229,32.526115],[102.281124,32.526105],[102.28104,32.526098],[102.280778,32.526024],[102.280517,32.52595],[102.280255,32.525876],[102.279993,32.525803],[102.279731,32.525729],[102.279469,32.525655],[102.279207,32.525582],[102.278945,32.525508],[102.278684,32.525434],[102.278422,32.52536],[102.278187,32.525303],[102.278015,32.525261],[102.277989,32.525255],[102.277952,32.525246],[102.277718,32.525189],[102.277483,32.525132],[102.277248,32.525075],[102.277143,32.525049],[102.277244,32.524826]]]]},"properties":{"cp":[102.40058259505227,32.42604846213644],"code":"513233105","name":"龙日镇","level":"street","center":[102.40058259505227,32.42604846213644],"fullCode":"513233105000","fullName":"四川省阿坝藏族羌族自治州红原县龙日镇","acreageMu":967058.51,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.484,32.3605]}},{"id":"513233202","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.164139,32.32538],[102.164223,32.325168],[102.164246,32.325109],[102.164401,32.324716],[102.164763,32.323798],[102.165261,32.322312],[102.16556,32.321436],[102.165852,32.320752],[102.165879,32.319908],[102.165875,32.318564],[102.166,32.317454],[102.16583,32.315684],[102.165822,32.315506],[102.165819,32.31544],[102.165725,32.313225],[102.165894,32.312154],[102.166521,32.310901],[102.167013,32.309607],[102.167377,32.308079],[102.167576,32.307548],[102.168019,32.306366],[102.168943,32.304276],[102.169317,32.303862],[102.169594,32.303676],[102.169845,32.303446],[102.16988,32.303412],[102.169881,32.303412],[102.170149,32.303418],[102.170447,32.303456],[102.170666,32.303588],[102.170876,32.303971],[102.171014,32.304353],[102.171151,32.304735],[102.171234,32.304987],[102.171316,32.30524],[102.171399,32.305492],[102.171482,32.305744],[102.171565,32.305997],[102.171647,32.306249],[102.17173,32.306501],[102.171761,32.306596],[102.171761,32.306597],[102.171813,32.306754],[102.171896,32.307006],[102.171978,32.307258],[102.172061,32.307511],[102.172144,32.307763],[102.172227,32.308015],[102.17231,32.308268],[102.172392,32.30852],[102.172475,32.308772],[102.172542,32.309035],[102.172609,32.309297],[102.172676,32.309559],[102.172743,32.309821],[102.172809,32.310084],[102.172876,32.310346],[102.172943,32.310608],[102.17301,32.31087],[102.173077,32.311132],[102.173144,32.311395],[102.173147,32.31153],[102.173149,32.311626],[102.173154,32.311858],[102.173159,32.31209],[102.173162,32.312223],[102.173164,32.312322],[102.173169,32.312553],[102.173174,32.312785],[102.173174,32.312789],[102.173149,32.313195],[102.173135,32.313427],[102.173124,32.313604],[102.173099,32.314014],[102.173089,32.314313],[102.17308,32.314613],[102.173092,32.314845],[102.173103,32.315054],[102.173243,32.315374],[102.173448,32.315537],[102.173654,32.315699],[102.17386,32.315862],[102.174066,32.316024],[102.174272,32.316187],[102.174442,32.316321],[102.174477,32.316349],[102.174659,32.316489],[102.174841,32.316629],[102.175022,32.316768],[102.175204,32.316908],[102.175386,32.317048],[102.175567,32.317188],[102.175749,32.317328],[102.175931,32.317467],[102.176112,32.317607],[102.176294,32.317747],[102.176508,32.317907],[102.176722,32.318068],[102.176937,32.318228],[102.177151,32.318388],[102.177365,32.318549],[102.17758,32.318709],[102.177807,32.318848],[102.178035,32.318988],[102.178263,32.319127],[102.178491,32.319266],[102.178762,32.319381],[102.178804,32.319399],[102.179102,32.319526],[102.179117,32.319532],[102.179485,32.319666],[102.179852,32.319801],[102.18013,32.319854],[102.180408,32.319908],[102.180502,32.319915],[102.180705,32.319931],[102.180802,32.319938],[102.181002,32.319953],[102.181411,32.319931],[102.181646,32.319857],[102.181881,32.319783],[102.182116,32.319709],[102.182314,32.319647],[102.182351,32.319636],[102.18258,32.31957],[102.182766,32.319517],[102.18281,32.319504],[102.18304,32.319438],[102.18327,32.319373],[102.1835,32.319307],[102.183729,32.319241],[102.183959,32.319176],[102.184189,32.31911],[102.18446,32.31906],[102.184732,32.319011],[102.185003,32.318961],[102.185223,32.318921],[102.185275,32.318912],[102.18561,32.318888],[102.185791,32.318875],[102.185946,32.318864],[102.186261,32.318887],[102.186577,32.31891],[102.186809,32.318957],[102.186836,32.318963],[102.187094,32.319015],[102.187309,32.31913],[102.187388,32.319173],[102.187524,32.319246],[102.187739,32.319361],[102.187954,32.319476],[102.188311,32.319699],[102.188668,32.319923],[102.188859,32.320043],[102.189051,32.320163],[102.189272,32.320247],[102.189493,32.32033],[102.189806,32.320432],[102.190119,32.320534],[102.190509,32.320542],[102.190899,32.320551],[102.191218,32.320479],[102.191536,32.320407],[102.191744,32.320291],[102.191953,32.320174],[102.192161,32.320058],[102.192369,32.319941],[102.192577,32.319825],[102.192786,32.319708],[102.192987,32.319574],[102.193188,32.319439],[102.193335,32.319342],[102.19339,32.319305],[102.193591,32.319171],[102.193793,32.319036],[102.193994,32.318902],[102.194001,32.318897],[102.194195,32.318767],[102.194397,32.318633],[102.194598,32.318499],[102.194799,32.318364],[102.194991,32.318175],[102.195183,32.317986],[102.195375,32.317797],[102.195567,32.317608],[102.195759,32.317419],[102.195951,32.31723],[102.196143,32.317041],[102.196335,32.316852],[102.196538,32.316678],[102.196742,32.316504],[102.196945,32.31633],[102.197149,32.316155],[102.197352,32.315981],[102.197556,32.315807],[102.197925,32.315602],[102.198295,32.315397],[102.198664,32.315192],[102.199033,32.314987],[102.199385,32.314847],[102.199736,32.314707],[102.200087,32.314567],[102.200306,32.314499],[102.200526,32.31443],[102.200745,32.314361],[102.200964,32.314293],[102.201183,32.314224],[102.201403,32.314155],[102.201644,32.314107],[102.201884,32.314059],[102.202125,32.31401],[102.202366,32.313962],[102.202607,32.313914],[102.202848,32.313866],[102.203088,32.313818],[102.203329,32.31377],[102.203579,32.313723],[102.203828,32.313676],[102.204078,32.313629],[102.204327,32.313582],[102.204576,32.313535],[102.204826,32.313488],[102.205237,32.313444],[102.205648,32.3134],[102.20602,32.313361],[102.206058,32.313357],[102.206288,32.31333],[102.206518,32.313304],[102.206748,32.313277],[102.206978,32.313251],[102.207208,32.313225],[102.207438,32.313198],[102.207863,32.313113],[102.208288,32.313027],[102.208712,32.312942],[102.209126,32.312793],[102.20954,32.312644],[102.209953,32.312495],[102.210367,32.312347],[102.210758,32.312145],[102.211149,32.311944],[102.211539,32.311742],[102.21193,32.31153],[102.212321,32.311318],[102.212712,32.311105],[102.213038,32.310797],[102.213365,32.310489],[102.213616,32.310155],[102.213756,32.309971],[102.213868,32.309821],[102.21412,32.309487],[102.214371,32.309153],[102.214513,32.308931],[102.214654,32.308708],[102.214795,32.308485],[102.214936,32.308263],[102.215037,32.308036],[102.215137,32.307809],[102.215237,32.307583],[102.215337,32.307356],[102.215384,32.307025],[102.215432,32.306695],[102.215329,32.306393],[102.215227,32.306091],[102.215127,32.305694],[102.215027,32.305298],[102.215004,32.304887],[102.215051,32.304541],[102.215224,32.304356],[102.215397,32.30417],[102.215602,32.304009],[102.215807,32.303847],[102.216012,32.303686],[102.216217,32.303525],[102.216422,32.303363],[102.216627,32.303202],[102.216832,32.303041],[102.217037,32.302879],[102.21723,32.302764],[102.217423,32.302648],[102.217616,32.302532],[102.217809,32.302417],[102.218003,32.302301],[102.218196,32.302185],[102.218389,32.30207],[102.218582,32.301954],[102.218637,32.301921],[102.218775,32.301838],[102.218969,32.301723],[102.21927,32.301635],[102.219604,32.301642],[102.219939,32.30165],[102.220196,32.30175],[102.220235,32.301766],[102.220453,32.301851],[102.220471,32.301866],[102.220635,32.301997],[102.220763,32.3021],[102.220817,32.302143],[102.220973,32.302364],[102.221129,32.302584],[102.221285,32.302804],[102.221441,32.303025],[102.221597,32.303245],[102.221753,32.303465],[102.221797,32.303528],[102.221799,32.303531],[102.221909,32.303686],[102.222065,32.303906],[102.222204,32.304209],[102.222343,32.304511],[102.22248,32.304925],[102.222492,32.304998],[102.222543,32.305305],[102.222456,32.305682],[102.222299,32.305995],[102.222177,32.306307],[102.222073,32.306598],[102.222054,32.306652],[102.222007,32.306998],[102.222069,32.30741],[102.222191,32.307665],[102.222313,32.30792],[102.222602,32.308211],[102.222891,32.308502],[102.22318,32.308792],[102.223365,32.30897],[102.223371,32.308976],[102.223507,32.309106],[102.22355,32.309147],[102.223707,32.309298],[102.223736,32.309325],[102.223921,32.309503],[102.224106,32.30968],[102.224167,32.309738],[102.224292,32.309858],[102.224477,32.310035],[102.224662,32.310213],[102.224901,32.310561],[102.22514,32.310909],[102.225379,32.311257],[102.225455,32.311511],[102.225531,32.311765],[102.225608,32.31202],[102.225684,32.312274],[102.225709,32.312546],[102.225721,32.312675],[102.22575,32.312987],[102.225758,32.313075],[102.225761,32.313099],[102.225796,32.313476],[102.225813,32.31374],[102.225819,32.313846],[102.225829,32.314003],[102.225833,32.314065],[102.225846,32.314266],[102.225861,32.3145],[102.225863,32.31453],[102.225872,32.314667],[102.22588,32.314793],[102.225896,32.315057],[102.225911,32.315172],[102.225931,32.315331],[102.225966,32.315605],[102.226001,32.31588],[102.226036,32.316154],[102.226072,32.316429],[102.226096,32.316619],[102.226107,32.316703],[102.226141,32.316878],[102.226155,32.316946],[102.226203,32.317189],[102.226252,32.317432],[102.2263,32.317675],[102.226348,32.317918],[102.226375,32.318049],[102.226397,32.318162],[102.226432,32.318253],[102.226518,32.318474],[102.226539,32.318529],[102.226627,32.318667],[102.226682,32.318754],[102.226926,32.318907],[102.226977,32.31894],[102.22717,32.319061],[102.227247,32.319081],[102.227346,32.319105],[102.227707,32.319167],[102.227909,32.319201],[102.228069,32.319229],[102.22832,32.319253],[102.22857,32.319276],[102.228571,32.319276],[102.228573,32.319277],[102.228881,32.319343],[102.229189,32.31941],[102.229497,32.319476],[102.229725,32.319529],[102.229954,32.319581],[102.230315,32.319572],[102.230734,32.319505],[102.231077,32.319434],[102.231419,32.319362],[102.231848,32.319391],[102.2322,32.31941],[102.23259,32.319524],[102.232904,32.31961],[102.233247,32.319708],[102.233589,32.319806],[102.233932,32.319905],[102.234266,32.319999],[102.234599,32.320093],[102.23485,32.320164],[102.235101,32.320235],[102.235245,32.320276],[102.235655,32.320333],[102.235861,32.320326],[102.23595,32.320323],[102.236197,32.320285],[102.236483,32.320047],[102.236721,32.319695],[102.236935,32.319567],[102.237149,32.319438],[102.237544,32.319267],[102.237939,32.319096],[102.238269,32.31895],[102.238599,32.318804],[102.238929,32.318658],[102.238996,32.318618],[102.239298,32.318442],[102.2396,32.318265],[102.239966,32.318051],[102.240333,32.317836],[102.240699,32.317621],[102.241066,32.317407],[102.241432,32.317192],[102.241825,32.317054],[102.242217,32.316916],[102.24261,32.316778],[102.243002,32.31664],[102.243343,32.316533],[102.243683,32.316426],[102.244023,32.316319],[102.244364,32.316212],[102.244792,32.316131],[102.245207,32.316052],[102.24522,32.31605],[102.24542,32.315917],[102.245439,32.315869],[102.245553,32.315584],[102.245653,32.315327],[102.245753,32.31507],[102.245841,32.314868],[102.24587,32.314813],[102.24594,32.31466],[102.246035,32.314455],[102.2462,32.314096],[102.246365,32.313737],[102.246617,32.313396],[102.24687,32.313055],[102.246953,32.312756],[102.247037,32.312457],[102.247063,32.312205],[102.24709,32.311953],[102.247022,32.311715],[102.246955,32.311477],[102.24687,32.311215],[102.246784,32.310953],[102.246699,32.310691],[102.246614,32.310429],[102.246582,32.31032],[102.246528,32.31014],[102.246496,32.310032],[102.246419,32.309773],[102.246378,32.309634],[102.24633,32.309365],[102.246307,32.309234],[102.246282,32.309095],[102.246292,32.308796],[102.246301,32.308496],[102.246422,32.308214],[102.24654,32.308001],[102.246658,32.307788],[102.246776,32.307575],[102.246894,32.307362],[102.247012,32.307149],[102.24713,32.306937],[102.247284,32.306756],[102.247439,32.306575],[102.247593,32.306394],[102.247747,32.306213],[102.247901,32.306032],[102.248055,32.305851],[102.248209,32.30567],[102.248363,32.30549],[102.248491,32.305279],[102.248618,32.305069],[102.248746,32.304858],[102.248873,32.304648],[102.249016,32.304225],[102.249158,32.303803],[102.249226,32.303394],[102.249294,32.302985],[102.24933,32.302734],[102.249366,32.302482],[102.249401,32.30223],[102.249437,32.301979],[102.249417,32.301706],[102.249403,32.301508],[102.249397,32.301434],[102.249377,32.301162],[102.249358,32.300889],[102.24932,32.300489],[102.249283,32.300088],[102.249245,32.299688],[102.249252,32.299451],[102.24926,32.299215],[102.249267,32.298978],[102.249269,32.298897],[102.249274,32.298742],[102.24932,32.298471],[102.249365,32.298201],[102.249411,32.29793],[102.249456,32.29766],[102.249502,32.297389],[102.249547,32.297118],[102.249592,32.296848],[102.249638,32.296577],[102.249683,32.296307],[102.249729,32.296036],[102.249787,32.295813],[102.249844,32.295589],[102.249902,32.295365],[102.24996,32.295142],[102.250018,32.294918],[102.250076,32.294695],[102.250133,32.294471],[102.250191,32.294247],[102.250296,32.293871],[102.2504,32.293494],[102.25041,32.293162],[102.25042,32.292831],[102.250437,32.292571],[102.250454,32.292311],[102.25046,32.292224],[102.250471,32.292051],[102.250488,32.291791],[102.250489,32.29178],[102.250493,32.291689],[102.250511,32.291335],[102.250518,32.291193],[102.250534,32.290891],[102.250556,32.290446],[102.250579,32.290002],[102.250677,32.289636],[102.250775,32.28927],[102.250873,32.288904],[102.251021,32.288592],[102.251168,32.28828],[102.251279,32.288045],[102.25139,32.28781],[102.251518,32.287584],[102.251645,32.287358],[102.251773,32.287132],[102.251901,32.286906],[102.252068,32.286699],[102.252236,32.286493],[102.252403,32.286286],[102.252571,32.286079],[102.252738,32.285873],[102.252906,32.285666],[102.252966,32.285581],[102.253061,32.285448],[102.253216,32.285231],[102.253371,32.285013],[102.253526,32.284795],[102.253656,32.28461],[102.253663,32.284601],[102.253799,32.284407],[102.253935,32.284212],[102.254071,32.284018],[102.254092,32.283969],[102.254094,32.283964],[102.254171,32.283783],[102.254271,32.283548],[102.254292,32.283364],[102.254321,32.283108],[102.254239,32.282743],[102.254158,32.282378],[102.25409,32.282157],[102.254022,32.281936],[102.253955,32.281715],[102.253887,32.281493],[102.253819,32.281272],[102.253752,32.281051],[102.253764,32.28063],[102.253777,32.28021],[102.25379,32.279789],[102.253948,32.279509],[102.254228,32.279263],[102.254508,32.279016],[102.254788,32.278769],[102.254877,32.278676],[102.254967,32.278584],[102.255029,32.27852],[102.255032,32.278516],[102.255146,32.278398],[102.255325,32.278213],[102.255504,32.278027],[102.255669,32.277856],[102.255862,32.277656],[102.256071,32.277324],[102.256279,32.276992],[102.256488,32.27666],[102.256714,32.276318],[102.256759,32.276171],[102.25687,32.275881],[102.256981,32.275591],[102.257092,32.2753],[102.257194,32.275101],[102.257236,32.27502],[102.257381,32.274739],[102.257488,32.274477],[102.257595,32.274215],[102.257623,32.274142],[102.257745,32.273822],[102.257895,32.273429],[102.257957,32.273152],[102.25802,32.272876],[102.258052,32.272647],[102.258085,32.272418],[102.258115,32.271972],[102.258117,32.271752],[102.258121,32.271317],[102.258101,32.270958],[102.258081,32.270599],[102.258061,32.270241],[102.258017,32.269881],[102.257972,32.269521],[102.257929,32.269168],[102.257907,32.268985],[102.257835,32.268646],[102.257621,32.26842],[102.257389,32.268111],[102.257297,32.267769],[102.257205,32.267427],[102.256985,32.267103],[102.256765,32.266778],[102.256437,32.266517],[102.256176,32.266267],[102.256009,32.266172],[102.255979,32.266047],[102.256039,32.265898],[102.256164,32.265708],[102.256191,32.265684],[102.256384,32.265517],[102.256604,32.265327],[102.256931,32.265079],[102.257258,32.264831],[102.257585,32.264583],[102.257895,32.26431],[102.258204,32.264036],[102.258513,32.263762],[102.258537,32.263749],[102.258784,32.263613],[102.259031,32.263477],[102.259221,32.263328],[102.259282,32.263234],[102.25934,32.263144],[102.259376,32.26284],[102.259376,32.262487],[102.259376,32.262486],[102.259376,32.262484],[102.259346,32.262222],[102.259272,32.261909],[102.259197,32.261597],[102.259111,32.261285],[102.259025,32.260973],[102.258894,32.260681],[102.258704,32.260324],[102.258484,32.260021],[102.258264,32.259717],[102.258139,32.259533],[102.258103,32.259408],[102.258168,32.259212],[102.258264,32.259063],[102.258359,32.258891],[102.258302,32.258546],[102.258246,32.2582],[102.258252,32.257873],[102.258296,32.257621],[102.258341,32.257368],[102.258389,32.257127],[102.258437,32.256886],[102.25846,32.256773],[102.258418,32.256345],[102.258377,32.255916],[102.258264,32.255637],[102.258118,32.255428],[102.257972,32.25522],[102.257868,32.254991],[102.257764,32.254762],[102.257609,32.254423],[102.257556,32.254188],[102.257502,32.253953],[102.257466,32.253575],[102.257431,32.253198],[102.257389,32.252936],[102.257336,32.252728],[102.257246,32.252567],[102.257133,32.252442],[102.257104,32.252293],[102.257115,32.252079],[102.257234,32.251758],[102.257336,32.251502],[102.257337,32.251474],[102.257357,32.25106],[102.257377,32.250646],[102.257336,32.250378],[102.25727,32.250182],[102.257128,32.250035],[102.257092,32.249997],[102.256936,32.249788],[102.256919,32.249765],[102.256753,32.249355],[102.256634,32.249153],[102.256485,32.249028],[102.256408,32.248766],[102.25639,32.248516],[102.256402,32.248254],[102.256443,32.247923],[102.256485,32.247592],[102.256527,32.247261],[102.256515,32.246862],[102.256517,32.246441],[102.25652,32.246019],[102.256521,32.245976],[102.256592,32.245661],[102.256628,32.24542],[102.256663,32.245179],[102.25686,32.244822],[102.256989,32.244548],[102.257117,32.244275],[102.257246,32.244001],[102.257353,32.243739],[102.257496,32.243537],[102.257663,32.243478],[102.257919,32.243472],[102.258204,32.243478],[102.25843,32.243495],[102.258656,32.243513],[102.258914,32.2436],[102.259172,32.243686],[102.25936,32.243775],[102.259539,32.243859],[102.259749,32.243958],[102.25996,32.244057],[102.260175,32.244125],[102.26039,32.244193],[102.260604,32.24426],[102.260819,32.244328],[102.261034,32.244396],[102.261223,32.244456],[102.261249,32.244464],[102.261629,32.244609],[102.261892,32.244709],[102.262247,32.244895],[102.262602,32.245081],[102.262779,32.245185],[102.263064,32.245329],[102.263109,32.245351],[102.263439,32.245518],[102.263689,32.245589],[102.264081,32.245723],[102.264474,32.245857],[102.264516,32.245864],[102.264737,32.245959],[102.265141,32.246134],[102.265495,32.246382],[102.265848,32.24663],[102.266223,32.246842],[102.266598,32.247053],[102.266901,32.247326],[102.267026,32.247523],[102.267097,32.247707],[102.267197,32.247788],[102.267258,32.247838],[102.267523,32.24804],[102.267787,32.248242],[102.26794,32.248354],[102.268055,32.248439],[102.268364,32.248663],[102.268674,32.248887],[102.268983,32.249111],[102.269304,32.249283],[102.269544,32.249486],[102.269679,32.2496],[102.269843,32.249804],[102.270091,32.250113],[102.270242,32.250301],[102.270393,32.250489],[102.270544,32.250677],[102.270695,32.250865],[102.270846,32.251054],[102.270997,32.251242],[102.271173,32.251419],[102.271349,32.251597],[102.271525,32.251775],[102.271701,32.251952],[102.271876,32.25213],[102.272052,32.252308],[102.272228,32.252485],[102.272404,32.252663],[102.272629,32.25282],[102.272853,32.252977],[102.273078,32.253135],[102.273302,32.253292],[102.273527,32.253449],[102.273752,32.253607],[102.273971,32.253722],[102.274191,32.253837],[102.274411,32.253952],[102.27463,32.254067],[102.27485,32.254182],[102.27507,32.254297],[102.275439,32.2544],[102.275808,32.254503],[102.276102,32.254588],[102.276397,32.254673],[102.276749,32.254713],[102.277101,32.254752],[102.277548,32.25473],[102.27797,32.25471],[102.277996,32.254708],[102.278294,32.254667],[102.278476,32.254642],[102.278593,32.254626],[102.278628,32.254615],[102.278839,32.254549],[102.278874,32.254538],[102.279156,32.25445],[102.279421,32.25425],[102.279687,32.25405],[102.279842,32.253856],[102.279996,32.253662],[102.280151,32.253468],[102.280306,32.253274],[102.280484,32.252884],[102.280663,32.252493],[102.28071,32.252194],[102.280757,32.251895],[102.280875,32.251676],[102.281065,32.251538],[102.281255,32.251401],[102.2815,32.25128],[102.281744,32.251159],[102.28212,32.25102],[102.282496,32.250881],[102.282871,32.250741],[102.283094,32.250677],[102.283318,32.250613],[102.283541,32.250548],[102.283764,32.250484],[102.283987,32.25042],[102.28421,32.250355],[102.284418,32.25025],[102.284626,32.250144],[102.284662,32.250113],[102.284949,32.249866],[102.285211,32.24964],[102.285235,32.24962],[102.285354,32.249378],[102.285473,32.249136],[102.285592,32.248894],[102.285711,32.248652],[102.285797,32.248409],[102.285883,32.248166],[102.285969,32.247924],[102.286056,32.247681],[102.286142,32.247438],[102.286228,32.247195],[102.286314,32.246952],[102.286401,32.24671],[102.286512,32.246504],[102.286624,32.246299],[102.286735,32.246093],[102.286847,32.245888],[102.286958,32.245683],[102.287069,32.245477],[102.287181,32.245272],[102.287292,32.245066],[102.28738,32.244905],[102.28738,32.244905],[102.287404,32.244861],[102.287515,32.244656],[102.287627,32.24445],[102.287738,32.244245],[102.287954,32.243924],[102.288169,32.243603],[102.288436,32.24342],[102.288651,32.243277],[102.288866,32.243134],[102.28908,32.242992],[102.289295,32.242849],[102.28951,32.242706],[102.289725,32.242564],[102.289897,32.24241],[102.290069,32.242255],[102.29024,32.242101],[102.290412,32.241947],[102.290584,32.241793],[102.29071,32.24168],[102.290756,32.241639],[102.290931,32.241406],[102.291105,32.241173],[102.291226,32.240828],[102.291348,32.240484],[102.291383,32.240248],[102.291418,32.240012],[102.291453,32.239776],[102.291488,32.23954],[102.291497,32.23924],[102.291505,32.23894],[102.291426,32.238691],[102.291347,32.238442],[102.291267,32.238193],[102.291188,32.237944],[102.291109,32.237696],[102.291029,32.237447],[102.290958,32.237234],[102.290886,32.23702],[102.290814,32.236807],[102.290742,32.236594],[102.29067,32.236381],[102.290599,32.236168],[102.290527,32.235955],[102.290455,32.235742],[102.290383,32.235529],[102.290312,32.235316],[102.29025,32.234904],[102.290295,32.234653],[102.290431,32.234435],[102.290568,32.234217],[102.29083,32.233852],[102.290958,32.233672],[102.291091,32.233486],[102.291353,32.233121],[102.291615,32.232755],[102.291785,32.232554],[102.291955,32.232353],[102.292124,32.232153],[102.292294,32.231952],[102.292464,32.231751],[102.292634,32.23155],[102.292804,32.231349],[102.292974,32.231149],[102.293003,32.231101],[102.293106,32.230934],[102.293237,32.23072],[102.293369,32.230506],[102.293501,32.230292],[102.293632,32.230078],[102.293764,32.229864],[102.293896,32.22965],[102.294027,32.229435],[102.294121,32.229187],[102.29414,32.229135],[102.294214,32.228938],[102.294308,32.22869],[102.294401,32.228441],[102.294471,32.228254],[102.294472,32.228254],[102.294495,32.228193],[102.294588,32.227944],[102.294682,32.227696],[102.294775,32.227447],[102.294869,32.227198],[102.294962,32.22695],[102.295055,32.226701],[102.295149,32.226453],[102.295226,32.226248],[102.295226,32.226248],[102.295226,32.226248],[102.295395,32.225923],[102.295575,32.225674],[102.295811,32.225519],[102.296154,32.225385],[102.296496,32.225251],[102.296668,32.225251],[102.296924,32.225394],[102.297043,32.225602],[102.297105,32.225843],[102.297168,32.226084],[102.297418,32.226435],[102.297644,32.226607],[102.297935,32.226905],[102.298227,32.227202],[102.298476,32.227434],[102.29875,32.227618],[102.299022,32.227847],[102.299293,32.228075],[102.299565,32.228303],[102.299849,32.228545],[102.300133,32.228788],[102.300402,32.229018],[102.300672,32.229248],[102.300925,32.229498],[102.301179,32.229748],[102.301433,32.229998],[102.30165,32.230188],[102.301867,32.230379],[102.302111,32.230569],[102.302355,32.230759],[102.302599,32.23095],[102.302878,32.231137],[102.303158,32.231324],[102.303313,32.231503],[102.303377,32.231638],[102.30342,32.231729],[102.303485,32.231973],[102.303568,32.232092],[102.303872,32.232258],[102.304253,32.232389],[102.304485,32.23249],[102.304657,32.232657],[102.30483,32.232847],[102.305002,32.232999],[102.305175,32.233151],[102.305398,32.233258],[102.305621,32.233365],[102.305832,32.23352],[102.306043,32.233674],[102.306218,32.233868],[102.306329,32.233989],[102.306531,32.234239],[102.306662,32.234483],[102.306793,32.234727],[102.306828,32.234793],[102.307054,32.235149],[102.307164,32.235465],[102.307275,32.23578],[102.307435,32.236179],[102.307596,32.236577],[102.307611,32.236937],[102.307625,32.237297],[102.307679,32.237606],[102.307744,32.237767],[102.307991,32.237942],[102.308238,32.238118],[102.3085,32.238252],[102.308762,32.238386],[102.309196,32.238493],[102.309398,32.238558],[102.309559,32.238671],[102.309803,32.238826],[102.309969,32.239052],[102.310154,32.239314],[102.31035,32.239444],[102.310618,32.239504],[102.311037,32.239644],[102.311181,32.239692],[102.311456,32.239783],[102.311772,32.239849],[102.31198,32.239837],[102.312283,32.239789],[102.312432,32.239744],[102.312634,32.239682],[102.312908,32.239608],[102.313182,32.239534],[102.313455,32.23954],[102.313836,32.239605],[102.314183,32.239728],[102.314185,32.239729],[102.314187,32.23973],[102.314463,32.239798],[102.31474,32.239867],[102.31496,32.239926],[102.31518,32.239986],[102.315424,32.239989],[102.315668,32.239992],[102.315909,32.239992],[102.31615,32.239992],[102.316406,32.239965],[102.316661,32.239938],[102.317084,32.239861],[102.317456,32.239792],[102.317626,32.239761],[102.317827,32.239724],[102.318256,32.239659],[102.318684,32.239593],[102.318958,32.23954],[102.319362,32.239403],[102.3196,32.239391],[102.319838,32.239379],[102.320177,32.239409],[102.320516,32.239438],[102.320903,32.239482],[102.32129,32.239526],[102.321676,32.239569],[102.321811,32.239579],[102.322127,32.239602],[102.322443,32.239624],[102.322759,32.239647],[102.322946,32.239643],[102.323044,32.239641],[102.323425,32.239563],[102.323642,32.239465],[102.323859,32.239367],[102.3241,32.239254],[102.324341,32.239141],[102.324698,32.239016],[102.325055,32.238891],[102.325373,32.238817],[102.325692,32.238742],[102.325954,32.238667],[102.326177,32.238604],[102.326399,32.23854],[102.326774,32.238368],[102.327149,32.238195],[102.327506,32.238073],[102.327863,32.237951],[102.328142,32.237842],[102.328422,32.237733],[102.328484,32.237709],[102.328702,32.237624],[102.329017,32.237535],[102.329332,32.237446],[102.329346,32.237443],[102.329613,32.237394],[102.329879,32.237345],[102.330127,32.237337],[102.330419,32.237329],[102.330712,32.237321],[102.331087,32.237291],[102.331462,32.237261],[102.331575,32.237261],[102.331854,32.237309],[102.332074,32.237333],[102.332425,32.237327],[102.332705,32.237321],[102.332985,32.237309],[102.33301,32.237302],[102.333098,32.237279],[102.333407,32.237065],[102.333681,32.236809],[102.333898,32.236654],[102.334055,32.236541],[102.334305,32.236422],[102.334579,32.236405],[102.334633,32.236396],[102.334633,32.236396],[102.334633,32.236396],[102.334894,32.236356],[102.335156,32.236315],[102.335578,32.236202],[102.335888,32.236048],[102.336286,32.235869],[102.336471,32.235787],[102.336664,32.235701],[102.336768,32.235655],[102.337012,32.235578],[102.337256,32.2355],[102.337497,32.235453],[102.337738,32.235405],[102.337992,32.235362],[102.338247,32.235318],[102.338326,32.235304],[102.338675,32.235189],[102.339024,32.235074],[102.339373,32.234959],[102.339635,32.234849],[102.339897,32.234739],[102.340144,32.234626],[102.340391,32.234513],[102.340715,32.234332],[102.341039,32.23415],[102.341322,32.234022],[102.341604,32.233894],[102.341967,32.233644],[102.34233,32.233395],[102.342693,32.233145],[102.342976,32.232946],[102.34326,32.232748],[102.343543,32.23255],[102.343829,32.232241],[102.344091,32.23189],[102.344358,32.23161],[102.344648,32.231398],[102.344937,32.231186],[102.345227,32.230974],[102.345465,32.230843],[102.345703,32.230712],[102.345893,32.230556],[102.346083,32.230401],[102.346095,32.230391],[102.346434,32.230141],[102.346613,32.229977],[102.346791,32.229814],[102.347,32.229715],[102.347208,32.229617],[102.347567,32.229427],[102.347926,32.229237],[102.348285,32.229046],[102.348692,32.228871],[102.349099,32.228695],[102.349415,32.22857],[102.349748,32.228433],[102.350085,32.228287],[102.350422,32.22814],[102.350759,32.227993],[102.351125,32.227862],[102.351491,32.227731],[102.351817,32.227606],[102.35183,32.227601],[102.352228,32.227571],[102.352615,32.227601],[102.352953,32.227658],[102.353002,32.227666],[102.353269,32.22772],[102.353424,32.227726],[102.353609,32.227708],[102.3539,32.227648],[102.354156,32.227565],[102.354382,32.227497],[102.354608,32.227428],[102.354635,32.22742],[102.355037,32.227355],[102.355145,32.227337],[102.355233,32.227333],[102.355414,32.227293],[102.355474,32.22728],[102.355506,32.227273],[102.35572,32.227208],[102.355725,32.227198],[102.35581,32.227024],[102.35582,32.226992],[102.355899,32.226744],[102.355982,32.226533],[102.356065,32.226322],[102.356089,32.226096],[102.356113,32.22587],[102.356172,32.22556],[102.356214,32.225435],[102.356428,32.225281],[102.356684,32.225037],[102.356821,32.224936],[102.356892,32.224823],[102.356976,32.224626],[102.357118,32.224489],[102.357119,32.224489],[102.35712,32.224489],[102.357326,32.224365],[102.357493,32.22424],[102.357695,32.223901],[102.357862,32.223698],[102.358153,32.223478],[102.35835,32.223371],[102.358463,32.223288],[102.358522,32.223169],[102.358599,32.22302],[102.358891,32.222717],[102.359101,32.222425],[102.359153,32.222354],[102.359211,32.222263],[102.359301,32.222122],[102.359426,32.222021],[102.359569,32.221961],[102.359719,32.221781],[102.359868,32.2216],[102.360077,32.221348],[102.360218,32.221164],[102.360345,32.220965],[102.360473,32.220766],[102.36064,32.220403],[102.360821,32.220046],[102.361003,32.219689],[102.361107,32.219335],[102.361211,32.218981],[102.361407,32.218636],[102.361621,32.218345],[102.361717,32.218113],[102.361812,32.217881],[102.361919,32.217581],[102.362026,32.217282],[102.362133,32.216982],[102.362156,32.216877],[102.362237,32.216504],[102.362317,32.216132],[102.362414,32.215829],[102.362419,32.215816],[102.362573,32.215406],[102.362674,32.215067],[102.362722,32.214734],[102.362784,32.214392],[102.362847,32.21405],[102.362972,32.213627],[102.363007,32.213455],[102.363168,32.213264],[102.363345,32.213066],[102.363522,32.212868],[102.363561,32.212824],[102.36365,32.212592],[102.363715,32.212378],[102.363769,32.21214],[102.363787,32.211839],[102.363805,32.211537],[102.363822,32.211236],[102.363786,32.210824],[102.363749,32.210413],[102.363739,32.210296],[102.363717,32.21005],[102.363715,32.210028],[102.363793,32.209689],[102.3639,32.209314],[102.36405,32.209049],[102.364064,32.209024],[102.364102,32.208958],[102.364393,32.208642],[102.364646,32.208425],[102.364899,32.208208],[102.365185,32.208044],[102.36547,32.207881],[102.365613,32.207809],[102.365672,32.207746],[102.365684,32.207732],[102.365684,32.207643],[102.365625,32.207458],[102.365595,32.2072],[102.365565,32.206941],[102.365502,32.206706],[102.365452,32.206522],[102.365339,32.206102],[102.365316,32.205829],[102.365339,32.205507],[102.365423,32.205252],[102.365537,32.204975],[102.365652,32.204699],[102.365666,32.204663],[102.36572,32.204413],[102.365747,32.204151],[102.365774,32.203889],[102.365683,32.20361],[102.365637,32.203467],[102.365559,32.203294],[102.365464,32.203062],[102.365369,32.202926],[102.365185,32.202747],[102.365101,32.20264],[102.365113,32.202343],[102.365119,32.202075],[102.365125,32.201807],[102.365131,32.201563],[102.365238,32.20123],[102.365298,32.201111],[102.365452,32.200986],[102.365637,32.200873],[102.36575,32.200719],[102.365876,32.200404],[102.36594,32.200243],[102.366012,32.200011],[102.36616,32.199749],[102.366374,32.199452],[102.366398,32.199412],[102.366402,32.199402],[102.366478,32.199242],[102.366582,32.198942],[102.366598,32.198896],[102.366572,32.198549],[102.366545,32.198478],[102.36644,32.198417],[102.366142,32.19825],[102.365893,32.198024],[102.365637,32.197816],[102.365557,32.197774],[102.3655,32.197744],[102.365434,32.197709],[102.365357,32.197619],[102.365262,32.197364],[102.365119,32.196965],[102.365039,32.196694],[102.364959,32.196424],[102.364881,32.196067],[102.36478,32.19593],[102.364593,32.195671],[102.364405,32.195412],[102.364395,32.195397],[102.364162,32.195066],[102.363929,32.194734],[102.363834,32.194556],[102.363781,32.194383],[102.363739,32.194074],[102.363674,32.193896],[102.363543,32.193723],[102.363332,32.193423],[102.36312,32.193122],[102.362948,32.192908],[102.362938,32.19271],[102.362936,32.192682],[102.362859,32.192498],[102.362639,32.192117],[102.362439,32.191879],[102.36224,32.191641],[102.362044,32.191397],[102.361943,32.191225],[102.361904,32.19115],[102.361859,32.191064],[102.361782,32.190939],[102.361681,32.19088],[102.361496,32.190874],[102.361357,32.19087],[102.360997,32.190862],[102.360824,32.190838],[102.36067,32.190737],[102.360529,32.190663],[102.360455,32.190624],[102.360271,32.190594],[102.360104,32.190523],[102.359962,32.190392],[102.359831,32.190291],[102.359724,32.190243],[102.359456,32.190225],[102.359022,32.190237],[102.358977,32.190237],[102.358843,32.190237],[102.358707,32.190166],[102.35854,32.190059],[102.358415,32.190029],[102.358201,32.190011],[102.357892,32.190035],[102.357731,32.190017],[102.357614,32.189973],[102.357558,32.189952],[102.35738,32.189767],[102.357178,32.189488],[102.357023,32.189262],[102.356934,32.18894],[102.356868,32.188661],[102.356857,32.188523],[102.356857,32.18852],[102.356857,32.188518],[102.356773,32.188411],[102.356607,32.188215],[102.356494,32.187977],[102.356529,32.187768],[102.356636,32.187584],[102.35672,32.187394],[102.356708,32.187301],[102.356702,32.187251],[102.356517,32.186906],[102.356419,32.18676],[102.356369,32.186686],[102.356268,32.186585],[102.356024,32.186424],[102.355804,32.18624],[102.355628,32.186094],[102.355453,32.185948],[102.355298,32.18571],[102.355149,32.185383],[102.355131,32.185181],[102.355042,32.18502],[102.354882,32.184866],[102.354617,32.18472],[102.354352,32.184574],[102.353954,32.184407],[102.353626,32.184158],[102.35343,32.18392],[102.353258,32.183741],[102.353097,32.183581],[102.352924,32.183515],[102.352703,32.183441],[102.352481,32.183367],[102.352193,32.183271],[102.351958,32.183182],[102.351723,32.183093],[102.35139,32.183045],[102.351223,32.183015],[102.351134,32.182873],[102.351074,32.182676],[102.351059,32.182498],[102.351039,32.182272],[102.350973,32.181887],[102.350908,32.181503],[102.350842,32.181118],[102.350765,32.180927],[102.35061,32.180761],[102.350429,32.180588],[102.350248,32.180416],[102.350019,32.180279],[102.34979,32.180142],[102.349447,32.179997],[102.349105,32.179851],[102.348963,32.179791],[102.348927,32.17972],[102.348927,32.179607],[102.349004,32.179452],[102.349123,32.179292],[102.349399,32.179026],[102.349675,32.17876],[102.349896,32.178609],[102.350117,32.178458],[102.35052,32.17832],[102.350924,32.178182],[102.351328,32.178044],[102.351731,32.177905],[102.352105,32.177791],[102.352479,32.177676],[102.352853,32.177562],[102.353226,32.177447],[102.353576,32.177364],[102.353925,32.177281],[102.354275,32.177198],[102.354703,32.177097],[102.355078,32.177055],[102.35531,32.177046],[102.355542,32.177037],[102.355851,32.176942],[102.355869,32.176936],[102.355893,32.176928],[102.356014,32.176886],[102.356243,32.176809],[102.356472,32.176732],[102.356696,32.176633],[102.356919,32.176534],[102.357171,32.176423],[102.357367,32.176336],[102.35759,32.176237],[102.357814,32.176138],[102.358013,32.17605],[102.35829,32.175865],[102.358593,32.175692],[102.358895,32.175519],[102.359198,32.175347],[102.359331,32.17527],[102.35962,32.175128],[102.359908,32.174985],[102.360021,32.174878],[102.360099,32.174753],[102.36011,32.17461],[102.360116,32.174383],[102.360122,32.174146],[102.360146,32.173944],[102.360206,32.173837],[102.360348,32.173753],[102.360551,32.173623],[102.360676,32.173426],[102.360729,32.1732],[102.360705,32.172962],[102.360661,32.172605],[102.360616,32.172248],[102.360616,32.172022],[102.360646,32.171921],[102.360967,32.171659],[102.361211,32.171576],[102.361532,32.171499],[102.361764,32.17138],[102.361931,32.171291],[102.362145,32.171148],[102.362401,32.170987],[102.362656,32.170827],[102.36293,32.170708],[102.363261,32.170513],[102.363591,32.170318],[102.363656,32.170279],[102.3639,32.170154],[102.364072,32.170006],[102.364251,32.16975],[102.36434,32.169405],[102.36434,32.169149],[102.364304,32.168953],[102.364292,32.168925],[102.364191,32.168689],[102.36409,32.168453],[102.36398,32.168185],[102.36387,32.167918],[102.363779,32.167605],[102.363727,32.167424],[102.363668,32.16702],[102.363573,32.166799],[102.363424,32.16663],[102.363275,32.16646],[102.363014,32.166281],[102.362754,32.166103],[102.362493,32.165924],[102.36246,32.165901],[102.362335,32.165776],[102.36227,32.165628],[102.362234,32.16536],[102.362198,32.165092],[102.362198,32.164848],[102.362198,32.164604],[102.362202,32.164547],[102.362213,32.164366],[102.362235,32.163995],[102.362258,32.163623],[102.362258,32.163454],[102.362258,32.163325],[102.362234,32.163129],[102.362127,32.162796],[102.362103,32.162671],[102.362109,32.162534],[102.362192,32.162427],[102.362532,32.162201],[102.362766,32.161937],[102.363,32.161674],[102.363233,32.16141],[102.363495,32.161243],[102.363727,32.161124],[102.364025,32.161047],[102.364289,32.160991],[102.364554,32.160934],[102.364881,32.160934],[102.365155,32.160952],[102.365321,32.160964],[102.365546,32.160933],[102.365583,32.160928],[102.365653,32.1609],[102.365851,32.160821],[102.366184,32.16072],[102.366449,32.160663],[102.366713,32.160607],[102.366945,32.160577],[102.367183,32.160583],[102.367198,32.160583],[102.367264,32.16057],[102.367663,32.160494],[102.368061,32.160418],[102.368253,32.160397],[102.368468,32.160339],[102.368778,32.160155],[102.369045,32.160083],[102.369273,32.160032],[102.369501,32.159981],[102.369599,32.159958],[102.370018,32.159828],[102.370437,32.159697],[102.370622,32.159661],[102.370764,32.159673],[102.370943,32.159715],[102.370988,32.159727],[102.371098,32.159756],[102.37127,32.159804],[102.371496,32.159828],[102.371764,32.159881],[102.372032,32.159935],[102.372252,32.160033],[102.372472,32.160131],[102.372692,32.160214],[102.372882,32.160286],[102.373236,32.160342],[102.37359,32.160399],[102.373745,32.160494],[102.37381,32.160619],[102.37381,32.160768],[102.37378,32.160922],[102.373774,32.160952],[102.373774,32.161148],[102.373828,32.161368],[102.373965,32.161553],[102.37406,32.161618],[102.374328,32.161713],[102.374548,32.161826],[102.374839,32.16191],[102.375048,32.161975],[102.37528,32.162017],[102.375399,32.162037],[102.375601,32.16207],[102.375672,32.162171],[102.375697,32.162262],[102.375761,32.162493],[102.37588,32.162695],[102.376071,32.162933],[102.376243,32.163218],[102.376368,32.163427],[102.3766,32.163581],[102.376975,32.16376],[102.377266,32.163891],[102.377427,32.163938],[102.377724,32.164158],[102.377897,32.164301],[102.377939,32.164372],[102.37801,32.164557],[102.378069,32.164783],[102.378135,32.164884],[102.378266,32.164949],[102.378593,32.165039],[102.378884,32.165086],[102.379122,32.165086],[102.37936,32.165074],[102.379509,32.165134],[102.379586,32.165175],[102.379795,32.165288],[102.379884,32.165336],[102.380181,32.165348],[102.38036,32.165413],[102.380538,32.165491],[102.380693,32.165544],[102.38097,32.165549],[102.381062,32.16555],[102.381466,32.165651],[102.381752,32.165782],[102.382055,32.165943],[102.382192,32.166084],[102.382233,32.166127],[102.382394,32.166401],[102.382442,32.166457],[102.382662,32.166716],[102.382799,32.166829],[102.382947,32.166871],[102.38312,32.166901],[102.383304,32.166907],[102.383602,32.166889],[102.383754,32.166892],[102.383923,32.166895],[102.384185,32.166942],[102.384369,32.166972],[102.384708,32.16696],[102.38491,32.166936],[102.385255,32.16702],[102.385427,32.167057],[102.385666,32.167109],[102.385904,32.16718],[102.386186,32.167245],[102.386468,32.167309],[102.386606,32.167341],[102.386981,32.167409],[102.387169,32.167444],[102.387211,32.167531],[102.387477,32.168163],[102.388857,32.169446],[102.391037,32.170552],[102.393159,32.171705],[102.394544,32.172842],[102.395433,32.173487],[102.396988,32.174629],[102.398376,32.17567],[102.399263,32.176363],[102.40031,32.177446],[102.401627,32.178968],[102.402338,32.179899],[102.403043,32.181022],[102.403964,32.182536],[102.404182,32.182879],[102.404271,32.183019],[102.404692,32.183682],[102.404709,32.183709],[102.404833,32.183904],[102.40533,32.184349],[102.406406,32.184419],[102.407528,32.184828],[102.408253,32.185277],[102.408992,32.187221],[102.409303,32.18824],[102.409318,32.188261],[102.409432,32.188425],[102.40958,32.188638],[102.409848,32.189023],[102.410091,32.189611],[102.410432,32.190433],[102.410594,32.190966],[102.410847,32.191792],[102.410954,32.19333],[102.410968,32.19353],[102.410968,32.19354],[102.410986,32.194881],[102.411247,32.19592],[102.411356,32.196353],[102.411547,32.19711],[102.4118,32.198187],[102.411863,32.198457],[102.411898,32.198606],[102.411933,32.198756],[102.411959,32.19887],[102.412002,32.199049],[102.412074,32.199232],[102.412156,32.199442],[102.412229,32.199627],[102.412318,32.199855],[102.412379,32.200033],[102.412438,32.200171],[102.412478,32.200265],[102.412587,32.20041],[102.412705,32.200569],[102.41282,32.200724],[102.412911,32.200846],[102.41318,32.201208],[102.413353,32.20144],[102.413513,32.202148],[102.413605,32.202554],[102.413614,32.202796],[102.413632,32.203286],[102.413637,32.203423],[102.414411,32.204114],[102.415356,32.204808],[102.416104,32.206066],[102.416547,32.20681],[102.416637,32.207632],[102.416782,32.208527],[102.416927,32.209422],[102.416984,32.209705],[102.417051,32.210043],[102.417605,32.211043],[102.417692,32.211151],[102.418648,32.212336],[102.419035,32.213332],[102.419601,32.214079],[102.419855,32.214414],[102.420014,32.214855],[102.420069,32.215005],[102.420144,32.215214],[102.419942,32.215631],[102.419914,32.215689],[102.419814,32.215896],[102.418535,32.217087],[102.418141,32.21782],[102.417613,32.218867],[102.417531,32.219554],[102.417815,32.220512],[102.418602,32.221322],[102.419013,32.222177],[102.419167,32.223345],[102.419273,32.223626],[102.419688,32.224732],[102.419912,32.225636],[102.419875,32.226958],[102.420208,32.228394],[102.420318,32.230043],[102.420339,32.230355],[102.420302,32.231677],[102.419766,32.23299],[102.419399,32.233719],[102.419323,32.23387],[102.419239,32.234037],[102.419122,32.234151],[102.418983,32.234286],[102.418831,32.234433],[102.418705,32.234556],[102.418598,32.234659],[102.418473,32.234774],[102.418325,32.23491],[102.418158,32.235063],[102.418007,32.235202],[102.417853,32.235344],[102.41775,32.235438],[102.417639,32.235539],[102.417541,32.235682],[102.417414,32.235866],[102.417309,32.236018],[102.417174,32.236213],[102.417037,32.236412],[102.416916,32.236586],[102.416804,32.236747],[102.416716,32.236876],[102.416665,32.236948],[102.416619,32.237092],[102.416555,32.237289],[102.41649,32.23749],[102.41642,32.237706],[102.416352,32.237915],[102.416279,32.238147],[102.416218,32.238329],[102.416174,32.238463],[102.416143,32.23856],[102.41612,32.238631],[102.416079,32.238774],[102.416052,32.238872],[102.416023,32.238974],[102.415968,32.239168],[102.41593,32.239304],[102.415883,32.239472],[102.415843,32.239614],[102.415806,32.239744],[102.415764,32.239893],[102.415726,32.240027],[102.415704,32.240104],[102.415676,32.240225],[102.41565,32.240335],[102.415608,32.240515],[102.415604,32.240533],[102.415577,32.240649],[102.415572,32.240669],[102.415551,32.240761],[102.415533,32.240835],[102.415506,32.240951],[102.415421,32.241316],[102.41539,32.241667],[102.415384,32.241737],[102.415376,32.241816],[102.415371,32.241877],[102.415364,32.241956],[102.415355,32.242057],[102.415347,32.242148],[102.415337,32.242266],[102.415325,32.242392],[102.415315,32.242508],[102.415303,32.242639],[102.415292,32.242763],[102.41528,32.242898],[102.415269,32.243022],[102.415259,32.243138],[102.41525,32.24324],[102.415243,32.243317],[102.415238,32.243376],[102.415229,32.243481],[102.415221,32.243576],[102.415209,32.243711],[102.415202,32.24379],[102.415198,32.243836],[102.415192,32.243905],[102.415187,32.243961],[102.415181,32.244025],[102.415175,32.244101],[102.415166,32.2442],[102.415158,32.24429],[102.415152,32.244359],[102.415148,32.244403],[102.415146,32.244433],[102.415142,32.244446],[102.415129,32.244497],[102.415114,32.244559],[102.415101,32.244609],[102.415088,32.244659],[102.415068,32.244738],[102.41505,32.244809],[102.415031,32.24488],[102.415018,32.244933],[102.415006,32.244978],[102.414985,32.24506],[102.414936,32.245253],[102.414889,32.245437],[102.414839,32.245634],[102.414796,32.245802],[102.414757,32.246127],[102.414722,32.246418],[102.414686,32.246721],[102.414657,32.246967],[102.414632,32.247174],[102.414652,32.247353],[102.414679,32.247592],[102.414703,32.247831],[102.414724,32.248002],[102.414739,32.248127],[102.414747,32.248199],[102.41477,32.2484],[102.414781,32.248501],[102.414838,32.248624],[102.414938,32.248818],[102.415024,32.249023],[102.415075,32.249142],[102.415078,32.249232],[102.415083,32.249368],[102.415087,32.249517],[102.415093,32.249679],[102.415097,32.249807],[102.415101,32.24994],[102.415105,32.250051],[102.415108,32.250148],[102.415112,32.250244],[102.415114,32.250319],[102.415117,32.250437],[102.415122,32.250547],[102.415126,32.250681],[102.415131,32.250786],[102.415135,32.2509],[102.415139,32.251002],[102.415141,32.251063],[102.415155,32.251458],[102.415166,32.251793],[102.415178,32.252108],[102.415206,32.252674],[102.415223,32.253017],[102.415242,32.253404],[102.415257,32.253697],[102.415391,32.254232],[102.415461,32.254511],[102.415537,32.254814],[102.415592,32.255207],[102.415631,32.255493],[102.415692,32.255929],[102.415758,32.256703],[102.415802,32.257217],[102.415832,32.257572],[102.415819,32.258033],[102.415811,32.258313],[102.415796,32.258842],[102.415904,32.259139],[102.416011,32.259436],[102.416096,32.259672],[102.416143,32.259802],[102.416492,32.260656],[102.416699,32.261108],[102.416786,32.261297],[102.41745,32.262051],[102.417453,32.262056],[102.417456,32.26206],[102.418229,32.263126],[102.419002,32.264412],[102.419549,32.264922],[102.420045,32.265385],[102.420277,32.265602],[102.420628,32.266403],[102.420724,32.267411],[102.420893,32.268049],[102.42177,32.267856],[102.421921,32.267703],[102.422059,32.267564],[102.422254,32.267366],[102.422484,32.267134],[102.422632,32.266984],[102.422796,32.266818],[102.423073,32.266688],[102.423305,32.26658],[102.423554,32.266463],[102.423829,32.26643],[102.424033,32.266405],[102.424304,32.266372],[102.424513,32.266241],[102.424673,32.26614],[102.424874,32.266014],[102.425064,32.265896],[102.425256,32.265777],[102.425453,32.265654],[102.425699,32.265501],[102.425892,32.265442],[102.426128,32.265369],[102.42637,32.265294],[102.426658,32.265204],[102.426934,32.265119],[102.427144,32.265054],[102.427291,32.265031],[102.427519,32.264995],[102.42776,32.264957],[102.427928,32.264931],[102.428111,32.264902],[102.428333,32.264867],[102.42863,32.26474],[102.428911,32.264616],[102.429196,32.264492],[102.429491,32.264364],[102.429622,32.264307],[102.429846,32.26421],[102.430032,32.26414],[102.430244,32.264061],[102.43055,32.263945],[102.430749,32.263871],[102.430917,32.263808],[102.431113,32.26361],[102.431173,32.263549],[102.431296,32.263705],[102.431401,32.263838],[102.431545,32.264019],[102.431713,32.264233],[102.431843,32.2644],[102.431988,32.264584],[102.432121,32.264754],[102.432211,32.264868],[102.432316,32.265001],[102.432429,32.265219],[102.432531,32.265416],[102.43262,32.265584],[102.432709,32.265757],[102.432788,32.26591],[102.432849,32.266061],[102.432896,32.266178],[102.432961,32.26634],[102.433007,32.266472],[102.433073,32.266629],[102.433139,32.266782],[102.433196,32.266924],[102.433317,32.267488],[102.433452,32.268119],[102.433526,32.268466],[102.433464,32.270687],[102.433592,32.272754],[102.433659,32.274819],[102.433249,32.276081],[102.432833,32.277608],[102.432394,32.27852],[102.432357,32.278597],[102.432303,32.278708],[102.432511,32.280194],[102.432974,32.281421],[102.432813,32.282741],[102.432327,32.283519],[102.43216,32.283786],[102.431994,32.28392],[102.431586,32.284251],[102.431242,32.285408],[102.430894,32.286724],[102.430842,32.286793],[102.430826,32.286815],[102.430739,32.286932],[102.430652,32.287048],[102.430642,32.287061],[102.430613,32.2871],[102.430585,32.287138],[102.43056,32.287172],[102.430546,32.28719],[102.430116,32.287767],[102.429922,32.287892],[102.429164,32.288382],[102.428583,32.289111],[102.428442,32.289646],[102.428394,32.289825],[102.428025,32.291217],[102.427678,32.29248],[102.427089,32.293474],[102.426431,32.29473],[102.425946,32.295245],[102.425403,32.295821],[102.424268,32.296274],[102.423392,32.296415],[102.422145,32.29657],[102.421203,32.296688],[102.419915,32.296739],[102.419457,32.296758],[102.418769,32.296758],[102.41684,32.296757],[102.414842,32.296875],[102.414055,32.29669],[102.413604,32.296585],[102.413298,32.296535],[102.412283,32.296866],[102.412026,32.29686],[102.410568,32.29683],[102.410499,32.296826],[102.409512,32.296756],[102.40948,32.296754],[102.408561,32.296689],[102.407203,32.296611],[102.406307,32.296894],[102.406286,32.297647],[102.406432,32.298755],[102.406342,32.299808],[102.406341,32.299853],[102.406337,32.299987],[102.406333,32.300126],[102.40633,32.300231],[102.406325,32.300416],[102.406319,32.300652],[102.406314,32.300817],[102.406309,32.300995],[102.406304,32.301146],[102.4063,32.301298],[102.406323,32.301464],[102.406345,32.301622],[102.406373,32.301825],[102.406403,32.30204],[102.40643,32.302229],[102.406446,32.302345],[102.406478,32.302577],[102.406507,32.302783],[102.406534,32.302981],[102.406562,32.303179],[102.406563,32.303396],[102.406563,32.303463],[102.406564,32.303568],[102.406565,32.303804],[102.406566,32.304044],[102.406566,32.304154],[102.406566,32.304193],[102.406567,32.304287],[102.406568,32.304556],[102.406569,32.304796],[102.406569,32.304863],[102.40657,32.305096],[102.406571,32.305289],[102.406571,32.305404],[102.406572,32.305591],[102.406572,32.305719],[102.406573,32.305983],[102.406573,32.306104],[102.406573,32.30611],[102.406573,32.306147],[102.406578,32.308137],[102.406479,32.308814],[102.406383,32.309472],[102.406189,32.310741],[102.405829,32.312275],[102.405008,32.313397],[102.403697,32.315111],[102.402707,32.316632],[102.401858,32.318758],[102.401741,32.320095],[102.401235,32.321224],[102.400807,32.322453],[102.400633,32.322953],[102.400456,32.324518],[102.400363,32.32534],[102.400234,32.326324],[102.399947,32.327518],[102.399466,32.33021],[102.399234,32.333035],[102.399008,32.335154],[102.397563,32.334466],[102.396598,32.334668],[102.395766,32.334799],[102.394551,32.334625],[102.393033,32.334372],[102.392014,32.33424],[102.391188,32.334133],[102.390993,32.334108],[102.389526,32.333597],[102.389072,32.333468],[102.388925,32.333294],[102.388894,32.332607],[102.389149,32.332155],[102.389373,32.331759],[102.389392,32.331457],[102.389464,32.330346],[102.389487,32.329532],[102.389525,32.329151],[102.389561,32.328778],[102.38963,32.328077],[102.389636,32.328009],[102.389704,32.327264],[102.389165,32.326696],[102.388519,32.326339],[102.388387,32.326332],[102.388139,32.326319],[102.387743,32.326298],[102.387649,32.326293],[102.387618,32.326291],[102.387208,32.326269],[102.386572,32.326499],[102.386085,32.326675],[102.386012,32.326709],[102.385369,32.327003],[102.385102,32.32711],[102.385082,32.327118],[102.384819,32.327222],[102.38475,32.32725],[102.384245,32.327451],[102.383216,32.328116],[102.382758,32.32835],[102.382698,32.328381],[102.382502,32.328481],[102.382162,32.328655],[102.382089,32.328693],[102.381887,32.328856],[102.381861,32.328876],[102.381055,32.329529],[102.380272,32.330413],[102.37984,32.33139],[102.378605,32.332179],[102.377477,32.332756],[102.376519,32.332736],[102.37576,32.332763],[102.375252,32.332881],[102.375032,32.33349],[102.376298,32.334395],[102.376631,32.334957],[102.376615,32.335512],[102.376028,32.336203],[102.375079,32.337367],[102.373813,32.338969],[102.372799,32.340872],[102.372027,32.341928],[102.371335,32.343283],[102.370191,32.345146],[102.369589,32.346355],[102.369292,32.347606],[102.368694,32.348667],[102.367972,32.34954],[102.367472,32.350232],[102.366066,32.35061],[102.364567,32.351208],[102.363549,32.351741],[102.362957,32.352617],[102.362371,32.353271],[102.362164,32.353634],[102.361683,32.354477],[102.361414,32.35621],[102.361379,32.357431],[102.36127,32.358168],[102.361199,32.359129],[102.361068,32.360643],[102.36063,32.363705],[102.360385,32.364625],[102.360052,32.36558],[102.359888,32.366723],[102.359798,32.368312],[102.35968,32.369383],[102.35931,32.370115],[102.358235,32.371091],[102.357558,32.371891],[102.356533,32.372647],[102.355159,32.373432],[102.354258,32.374412],[102.354239,32.375077],[102.354044,32.375776],[102.353752,32.376806],[102.353545,32.377949],[102.353004,32.378529],[102.352253,32.378883],[102.351855,32.37906],[102.350881,32.379595],[102.351449,32.381049],[102.351995,32.383244],[102.352552,32.385068],[102.352564,32.386142],[102.352579,32.387141],[102.352677,32.387444],[102.353236,32.389172],[102.353459,32.38986],[102.353635,32.39127],[102.354038,32.392425],[102.354352,32.393616],[102.355108,32.394594],[102.355089,32.395259],[102.35438,32.397131],[102.352698,32.399464],[102.351006,32.400686],[102.349568,32.402136],[102.34617,32.407947],[102.345785,32.408491],[102.345772,32.408509],[102.345373,32.409072],[102.3453,32.409175],[102.345289,32.40919],[102.345283,32.409199],[102.345215,32.409296],[102.344227,32.410274],[102.343993,32.410485],[102.342031,32.412263],[102.338886,32.415163],[102.337247,32.416674],[102.33675,32.417132],[102.336709,32.417169],[102.336699,32.417179],[102.336666,32.417209],[102.336623,32.417249],[102.336616,32.417255],[102.336462,32.417397],[102.336382,32.417471],[102.335594,32.417565],[102.334971,32.417589],[102.334328,32.417613],[102.332497,32.417574],[102.331197,32.417287],[102.330141,32.417065],[102.329636,32.416958],[102.327275,32.415687],[102.326135,32.415885],[102.324757,32.416781],[102.323692,32.417387],[102.322646,32.417365],[102.321596,32.417454],[102.320608,32.416952],[102.319248,32.417219],[102.319057,32.41777],[102.31871,32.419168],[102.318842,32.420614],[102.318847,32.420988],[102.318856,32.421613],[102.319034,32.422949],[102.319457,32.426362],[102.319588,32.427807],[102.319737,32.428699],[102.319935,32.429369],[102.320371,32.430858],[102.320451,32.432562],[102.320407,32.434041],[102.320707,32.435712],[102.32075,32.437193],[102.32067,32.438412],[102.320417,32.43959],[102.32037,32.44118],[102.320409,32.442809],[102.320434,32.444918],[102.32067,32.445774],[102.321341,32.446714],[102.321883,32.447539],[102.322678,32.448703],[102.323044,32.449599],[102.325506,32.454868],[102.326407,32.456885],[102.326497,32.458256],[102.32624,32.459545],[102.325773,32.460608],[102.325561,32.461861],[102.325074,32.463553],[102.325061,32.465477],[102.324895,32.466657],[102.324727,32.467911],[102.32456,32.469129],[102.324606,32.470535],[102.324006,32.471633],[102.323588,32.472475],[102.322209,32.47337],[102.321372,32.473611],[102.320272,32.473921],[102.318993,32.474375],[102.317894,32.47461],[102.316193,32.474574],[102.314795,32.474618],[102.314213,32.475123],[102.313725,32.475775],[102.313395,32.476216],[102.313131,32.476667],[102.312199,32.478262],[102.311323,32.479834],[102.311219,32.480334],[102.310916,32.481787],[102.311089,32.483307],[102.311673,32.484208],[102.311739,32.4847],[102.311816,32.485284],[102.31153,32.486092],[102.31063,32.486997],[102.309694,32.487643],[102.308793,32.488586],[102.308286,32.4895],[102.307999,32.490345],[102.307839,32.491304],[102.307815,32.492117],[102.308133,32.49316],[102.308318,32.494274],[102.30869,32.494985],[102.308679,32.495343],[102.308664,32.495872],[102.308633,32.496907],[102.308369,32.49715],[102.308319,32.497197],[102.308144,32.49723],[102.30744,32.497363],[102.307147,32.49745],[102.30559,32.497915],[102.304271,32.498257],[102.303308,32.49831],[102.301595,32.49868],[102.300504,32.498657],[102.300373,32.498609],[102.300303,32.498583],[102.299338,32.498225],[102.298297,32.498018],[102.297387,32.497776],[102.296037,32.497673],[102.295037,32.497541],[102.293911,32.49722],[102.292726,32.497454],[102.292101,32.497884],[102.291871,32.498286],[102.29189,32.499101],[102.291976,32.50062],[102.291887,32.502135],[102.291637,32.503202],[102.291601,32.503375],[102.291597,32.503393],[102.291505,32.503833],[102.29147,32.503999],[102.291382,32.504418],[102.290941,32.506036],[102.290556,32.507212],[102.290392,32.508318],[102.290603,32.510025],[102.29064,32.511691],[102.290391,32.512721],[102.29019,32.513605],[102.289346,32.515511],[102.288597,32.517196],[102.288122,32.517988],[102.287869,32.518673],[102.287337,32.518908],[102.286228,32.519032],[102.284592,32.519194],[102.283165,32.519536],[102.282892,32.519601],[102.281662,32.519821],[102.280661,32.520194],[102.280417,32.5203],[102.280201,32.520393],[102.280189,32.520398],[102.279632,32.520638],[102.279246,32.520805],[102.278934,32.521489],[102.278447,32.522401],[102.277761,32.523683],[102.277274,32.524758],[102.277244,32.524826],[102.277143,32.525049],[102.277014,32.525018],[102.276779,32.524961],[102.276544,32.524904],[102.27631,32.524846],[102.276075,32.524789],[102.275857,32.52472],[102.275639,32.524651],[102.275299,32.52453],[102.275037,32.524347],[102.274816,32.524082],[102.274802,32.52406],[102.274785,32.524033],[102.27465,32.523819],[102.274563,32.523527],[102.274535,32.523284],[102.274531,32.523251],[102.274517,32.523138],[102.274515,32.523108],[102.274514,32.523097],[102.274505,32.522976],[102.274553,32.522872],[102.274604,32.522763],[102.274627,32.522713],[102.274749,32.522451],[102.27489,32.522227],[102.274992,32.522052],[102.274988,32.522033],[102.274974,32.52197],[102.27492,32.521911],[102.274887,32.521875],[102.274809,32.521789],[102.274619,32.521705],[102.274498,32.52168],[102.274354,32.52165],[102.274185,32.521646],[102.274086,32.521644],[102.273972,32.521641],[102.273945,32.52164],[102.273685,32.521627],[102.273398,32.521613],[102.273015,32.521516],[102.27298,32.521506],[102.272871,32.521439],[102.272714,32.521341],[102.272665,32.52131],[102.272604,32.521273],[102.272433,32.521087],[102.272345,32.520991],[102.272162,32.520727],[102.271881,32.520495],[102.2716,32.520327],[102.271536,32.5203],[102.271419,32.52025],[102.271333,32.520214],[102.271306,32.520202],[102.271279,32.520191],[102.271266,32.520188],[102.27088,32.520102],[102.270641,32.520104],[102.270403,32.520107],[102.270124,32.520142],[102.269985,32.520159],[102.269845,32.520177],[102.269719,32.520168],[102.26968,32.520165],[102.2695,32.520152],[102.269215,32.520099],[102.268971,32.519948],[102.268958,32.519931],[102.268931,32.519895],[102.268903,32.519857],[102.268713,32.519601],[102.268591,32.519445],[102.268569,32.519417],[102.268556,32.5194],[102.268475,32.519297],[102.268456,32.519273],[102.268363,32.519104],[102.268242,32.518884],[102.268083,32.518596],[102.268068,32.518568],[102.268027,32.518495],[102.267986,32.51842],[102.267813,32.518106],[102.267707,32.517914],[102.267599,32.517717],[102.267445,32.517468],[102.267417,32.517423],[102.267269,32.517226],[102.267177,32.517127],[102.267019,32.517056],[102.266987,32.517041],[102.26689,32.517035],[102.266644,32.517018],[102.266565,32.517012],[102.266367,32.516998],[102.266319,32.516995],[102.26613,32.51691],[102.265982,32.51676],[102.265873,32.516548],[102.265846,32.516223],[102.265853,32.515964],[102.26592,32.515658],[102.265986,32.515353],[102.266042,32.515195],[102.266049,32.515177],[102.266072,32.515048],[102.266122,32.514677],[102.266013,32.514495],[102.265967,32.514459],[102.265938,32.514437],[102.265863,32.514378],[102.265843,32.514363],[102.265829,32.514356],[102.265524,32.514209],[102.265145,32.514023],[102.264943,32.513842],[102.264759,32.513594],[102.26463,32.513381],[102.264601,32.513044],[102.264572,32.512706],[102.264564,32.512342],[102.264564,32.512341],[102.264562,32.512254],[102.264561,32.512191],[102.264558,32.512084],[102.264557,32.51201],[102.264556,32.511978],[102.264542,32.511781],[102.264535,32.511685],[102.264529,32.511604],[102.264423,32.511328],[102.264391,32.511291],[102.26438,32.511278],[102.264308,32.511196],[102.264219,32.511096],[102.264206,32.511081],[102.2642,32.511073],[102.264173,32.511041],[102.264145,32.511008],[102.264035,32.510876],[102.263985,32.510817],[102.263944,32.510767],[102.263917,32.510743],[102.263897,32.510726],[102.263744,32.51059],[102.263644,32.510502],[102.263581,32.510464],[102.263525,32.510431],[102.263363,32.510333],[102.263221,32.510303],[102.263191,32.510297],[102.263105,32.510295],[102.263045,32.510294],[102.26302,32.510294],[102.262713,32.510303],[102.262465,32.510395],[102.262424,32.51041],[102.262381,32.510443],[102.262272,32.510524],[102.262227,32.510558],[102.262141,32.510622],[102.26211,32.510645],[102.262074,32.510672],[102.261757,32.510913],[102.261519,32.511073],[102.26149,32.511092],[102.261406,32.511148],[102.261268,32.511221],[102.26123,32.511242],[102.261069,32.511285],[102.261006,32.511302],[102.260951,32.511316],[102.260909,32.511328],[102.26085,32.511343],[102.260794,32.511358],[102.260671,32.511391],[102.260385,32.511445],[102.26027,32.511466],[102.260128,32.511493],[102.259869,32.511541],[102.259798,32.511556],[102.259764,32.511563],[102.259715,32.511573],[102.259562,32.511606],[102.259429,32.511666],[102.25942,32.511671],[102.259378,32.51169],[102.259329,32.511712],[102.259096,32.511819],[102.258952,32.511885],[102.258914,32.511902],[102.258876,32.51192],[102.258863,32.511926],[102.258699,32.512001],[102.258629,32.512032],[102.258391,32.512086],[102.258301,32.512106],[102.258153,32.51214],[102.258097,32.512144],[102.257916,32.512158],[102.257678,32.512177],[102.257343,32.512216],[102.257006,32.512303],[102.256693,32.512556],[102.256596,32.512904],[102.256523,32.513161],[102.256498,32.513251],[102.256349,32.513602],[102.256259,32.513811],[102.256169,32.514021],[102.255982,32.514205],[102.255796,32.514389],[102.255623,32.514562],[102.255451,32.514735],[102.255306,32.514932],[102.255161,32.51513],[102.254807,32.51531],[102.254454,32.515491],[102.254177,32.515462],[102.25393,32.515339],[102.253742,32.515123],[102.25361,32.514861],[102.253524,32.514484],[102.253438,32.514108],[102.253385,32.513706],[102.253332,32.513305],[102.25328,32.512903],[102.25327,32.512677],[102.25326,32.512451],[102.25325,32.512225],[102.25324,32.511999],[102.25323,32.511772],[102.25322,32.511546],[102.253211,32.51132],[102.253201,32.511094],[102.253191,32.510867],[102.253181,32.510641],[102.25318,32.510373],[102.25318,32.510106],[102.253179,32.509838],[102.253178,32.50957],[102.253178,32.509303],[102.253177,32.509035],[102.253176,32.508767],[102.253175,32.5085],[102.253175,32.508232],[102.253174,32.507964],[102.253173,32.507696],[102.253173,32.507429],[102.253172,32.507161],[102.253171,32.506893],[102.253171,32.506626],[102.25317,32.506358],[102.253154,32.50612],[102.253138,32.505882],[102.253122,32.505645],[102.253106,32.505407],[102.25309,32.505169],[102.253074,32.504931],[102.253058,32.504694],[102.253042,32.504456],[102.253026,32.504218],[102.25301,32.503981],[102.252994,32.503743],[102.252978,32.503505],[102.25293,32.503249],[102.252882,32.502993],[102.252834,32.502737],[102.252786,32.50248],[102.252738,32.502224],[102.252691,32.501968],[102.252605,32.501755],[102.25252,32.501542],[102.252435,32.501328],[102.25235,32.501115],[102.252265,32.500902],[102.252179,32.500688],[102.252094,32.500475],[102.252009,32.500262],[102.25194,32.500117],[102.251924,32.500082],[102.251843,32.499911],[102.251745,32.499705],[102.251647,32.499499],[102.25155,32.499293],[102.251452,32.499088],[102.251355,32.498882],[102.251263,32.498536],[102.251172,32.49819],[102.25111,32.497955],[102.251048,32.49772],[102.250987,32.497485],[102.250925,32.497251],[102.250863,32.497016],[102.250801,32.496781],[102.250739,32.496547],[102.250677,32.496312],[102.250615,32.496077],[102.250554,32.495842],[102.250492,32.495608],[102.25043,32.495373],[102.250368,32.495138],[102.250306,32.494904],[102.250179,32.494548],[102.250121,32.494388],[102.250051,32.494192],[102.249838,32.493833],[102.249649,32.493642],[102.249348,32.493493],[102.24896,32.493415],[102.248703,32.493409],[102.248446,32.493403],[102.248189,32.493397],[102.247931,32.493392],[102.247666,32.493421],[102.247402,32.49345],[102.247136,32.49348],[102.246871,32.493509],[102.246501,32.49376],[102.246132,32.494011],[102.245762,32.494262],[102.245711,32.494302],[102.245563,32.494415],[102.245363,32.494568],[102.245164,32.49472],[102.244965,32.494873],[102.244765,32.495025],[102.244566,32.495178],[102.244366,32.49533],[102.244167,32.495483],[102.243968,32.495635],[102.243768,32.495788],[102.243569,32.495941],[102.24337,32.496093],[102.243205,32.496252],[102.24304,32.49641],[102.242875,32.496568],[102.24271,32.496727],[102.242545,32.496885],[102.24238,32.497043],[102.242215,32.497202],[102.24205,32.49736],[102.241891,32.497565],[102.241731,32.497771],[102.241572,32.497976],[102.241413,32.498182],[102.241253,32.498387],[102.241176,32.498487],[102.241094,32.498593],[102.240934,32.498798],[102.240775,32.499004],[102.24077,32.499014],[102.240604,32.499375],[102.240433,32.499746],[102.240262,32.500117],[102.240142,32.500378],[102.24003,32.500582],[102.239918,32.500787],[102.239806,32.500992],[102.239694,32.501197],[102.239582,32.501401],[102.23947,32.501606],[102.239358,32.501811],[102.239246,32.502016],[102.239134,32.50222],[102.239022,32.502425],[102.238908,32.502678],[102.238793,32.50293],[102.238679,32.503183],[102.238565,32.503435],[102.238451,32.503688],[102.238393,32.503815],[102.238336,32.50394],[102.238282,32.50419],[102.238228,32.50444],[102.238174,32.50469],[102.23812,32.504941],[102.238066,32.505191],[102.238011,32.505441],[102.237976,32.505699],[102.23794,32.505957],[102.237934,32.506192],[102.237927,32.506427],[102.237959,32.506687],[102.237992,32.506947],[102.238086,32.507165],[102.23818,32.507384],[102.238273,32.507603],[102.238367,32.507822],[102.238461,32.508041],[102.238555,32.50826],[102.238649,32.508479],[102.238742,32.508697],[102.238836,32.508916],[102.23893,32.509135],[102.238986,32.509354],[102.239042,32.509574],[102.239099,32.509793],[102.239155,32.510012],[102.239199,32.510366],[102.239162,32.510672],[102.239042,32.510975],[102.238808,32.5113],[102.238636,32.511473],[102.238464,32.511646],[102.238175,32.511968],[102.237945,32.512246],[102.237826,32.512491],[102.237707,32.512736],[102.237615,32.513016],[102.237608,32.513257],[102.237605,32.513345],[102.237595,32.513674],[102.237694,32.514077],[102.237727,32.514337],[102.237761,32.514597],[102.237753,32.514867],[102.237744,32.515138],[102.237706,32.515514],[102.237615,32.515723],[102.237493,32.516074],[102.237432,32.516293],[102.23737,32.516512],[102.237383,32.516655],[102.237401,32.516853],[102.237433,32.517195],[102.237437,32.517501],[102.237442,32.517807],[102.237442,32.51792],[102.237443,32.518059],[102.237445,32.51831],[102.237446,32.518561],[102.237448,32.518813],[102.237449,32.519064],[102.237451,32.519315],[102.237508,32.519717],[102.237566,32.520118],[102.237527,32.520447],[102.237489,32.520776],[102.237394,32.521174],[102.237246,32.521453],[102.237099,32.521733],[102.236927,32.522082],[102.236755,32.522431],[102.236583,32.52278],[102.236322,32.523136],[102.23606,32.523491],[102.235799,32.523847],[102.235644,32.52402],[102.23549,32.524193],[102.235335,32.524366],[102.23518,32.524539],[102.235025,32.524712],[102.23487,32.524885],[102.234715,32.525059],[102.234561,32.525232],[102.234394,32.525446],[102.234227,32.52566],[102.23406,32.525874],[102.233893,32.526089],[102.233761,32.526333],[102.233629,32.526577],[102.233452,32.526903],[102.2334,32.527196],[102.233349,32.52749],[102.233335,32.527741],[102.23332,32.527992],[102.233306,32.528244],[102.233292,32.528495],[102.233336,32.528861],[102.23338,32.529227],[102.233342,32.529544],[102.233305,32.529861],[102.233239,32.530201],[102.233174,32.530541],[102.233139,32.530776],[102.233104,32.53101],[102.233047,32.531244],[102.232991,32.531479],[102.23295,32.53165],[102.232935,32.531713],[102.232879,32.531947],[102.232781,32.532192],[102.232683,32.532437],[102.232585,32.532682],[102.232487,32.532927],[102.232425,32.533144],[102.232362,32.533361],[102.2323,32.533578],[102.232238,32.533794],[102.232239,32.534027],[102.23224,32.53426],[102.23224,32.534492],[102.232241,32.534725],[102.232242,32.534958],[102.232242,32.535108],[102.232243,32.53519],[102.232244,32.535423],[102.232244,32.535656],[102.232245,32.535888],[102.232246,32.536121],[102.232205,32.536387],[102.232165,32.536653],[102.232124,32.536919],[102.232083,32.537185],[102.232043,32.537451],[102.232002,32.537717],[102.231908,32.538068],[102.231814,32.538419],[102.231733,32.538601],[102.231679,32.538722],[102.231545,32.539025],[102.231382,32.539328],[102.231219,32.539631],[102.23107,32.539933],[102.23099,32.540097],[102.230922,32.540235],[102.230841,32.540611],[102.23076,32.540986],[102.230695,32.541279],[102.230631,32.541571],[102.230618,32.541704],[102.230609,32.541784],[102.23058,32.542065],[102.230551,32.542346],[102.230566,32.542731],[102.230582,32.543115],[102.230597,32.543499],[102.230716,32.543726],[102.230834,32.543954],[102.23088,32.544262],[102.230842,32.54459],[102.230691,32.544963],[102.230652,32.545011],[102.230431,32.545287],[102.230233,32.545424],[102.230035,32.545561],[102.229751,32.545696],[102.229468,32.545831],[102.229215,32.545919],[102.228962,32.546008],[102.228623,32.546095],[102.228373,32.546112],[102.228234,32.54611],[102.227848,32.545983],[102.227462,32.545857],[102.227227,32.545731],[102.226992,32.545606],[102.226757,32.54548],[102.226523,32.545355],[102.226288,32.545229],[102.226182,32.545173],[102.226053,32.545104],[102.225859,32.54497],[102.225666,32.544836],[102.225472,32.544702],[102.225279,32.544568],[102.225086,32.544435],[102.224892,32.544301],[102.224699,32.544167],[102.224505,32.544033],[102.224312,32.543899],[102.224118,32.543765],[102.223886,32.543629],[102.223653,32.543492],[102.223421,32.543356],[102.223189,32.543219],[102.222956,32.543083],[102.222724,32.542946],[102.222491,32.542809],[102.222259,32.542673],[102.222026,32.542536],[102.221794,32.5424],[102.221562,32.542263],[102.221329,32.542126],[102.221082,32.541955],[102.220835,32.541784],[102.220508,32.541558],[102.220182,32.541332],[102.219855,32.541106],[102.219655,32.540853],[102.219504,32.540664],[102.219489,32.540645],[102.219471,32.540623],[102.219454,32.540601],[102.219242,32.540244],[102.219058,32.539886],[102.218985,32.539579],[102.218913,32.53916],[102.218841,32.538742],[102.21877,32.538323],[102.218698,32.537904],[102.21866,32.537661],[102.218622,32.537419],[102.218585,32.537177],[102.218547,32.536934],[102.218509,32.536692],[102.218471,32.53645],[102.218434,32.536208],[102.218396,32.535965],[102.218379,32.535588],[102.218249,32.535326],[102.218005,32.535062],[102.217814,32.53494],[102.217623,32.534817],[102.217266,32.534717],[102.216987,32.53471],[102.216743,32.53471],[102.2165,32.534711],[102.21634,32.534711],[102.216256,32.534712],[102.216013,32.534712],[102.215614,32.534703],[102.215215,32.534694],[102.214816,32.534686],[102.214383,32.534711],[102.213951,32.534737],[102.213688,32.5348],[102.213425,32.534862],[102.213287,32.534895],[102.213239,32.534906],[102.213172,32.534922],[102.213163,32.534925],[102.213151,32.534927],[102.213123,32.534934],[102.2129,32.534987],[102.212727,32.535028],[102.212638,32.535049],[102.212375,32.535112],[102.212113,32.535174],[102.21185,32.535237],[102.211587,32.535299],[102.211325,32.535361],[102.211063,32.535416],[102.210802,32.535472],[102.21054,32.535527],[102.210279,32.535582],[102.210017,32.535637],[102.209755,32.535692],[102.209494,32.535747],[102.209232,32.535802],[102.209173,32.535814],[102.208971,32.535857],[102.208709,32.535912],[102.208448,32.535967],[102.208291,32.536],[102.208275,32.536004],[102.208186,32.536022],[102.207774,32.53613],[102.20765,32.536163],[102.207552,32.536189],[102.207363,32.536239],[102.206951,32.536347],[102.206559,32.536393],[102.206168,32.53644],[102.205777,32.536486],[102.205771,32.536486],[102.205443,32.536491],[102.205108,32.536495],[102.204873,32.536466],[102.204637,32.536437],[102.204276,32.536406],[102.203859,32.536326],[102.203532,32.536177],[102.203313,32.536054],[102.203126,32.535791],[102.203044,32.535537],[102.202962,32.535283],[102.202879,32.535029],[102.202797,32.534774],[102.202715,32.53452],[102.202633,32.534266],[102.202551,32.534011],[102.202469,32.533757],[102.202387,32.533503],[102.202305,32.533248],[102.202223,32.532994],[102.202141,32.53274],[102.202059,32.532486],[102.201977,32.532231],[102.201895,32.531977],[102.201813,32.531723],[102.201731,32.531468],[102.201648,32.531214],[102.201566,32.53096],[102.201484,32.530706],[102.201402,32.530451],[102.20132,32.530197],[102.201247,32.529978],[102.201173,32.529758],[102.2011,32.529539],[102.201027,32.529319],[102.200953,32.5291],[102.20088,32.52888],[102.200806,32.528661],[102.200733,32.528441],[102.200675,32.528178],[102.200617,32.527915],[102.200559,32.527652],[102.200502,32.527388],[102.200444,32.527125],[102.200386,32.526862],[102.200328,32.526599],[102.20027,32.526335],[102.200253,32.525984],[102.200264,32.525605],[102.200298,32.525419],[102.200359,32.525254],[102.20053,32.525105],[102.200681,32.524974],[102.200689,32.524968],[102.200701,32.524957],[102.200874,32.524808],[102.201046,32.524659],[102.201218,32.524511],[102.20139,32.524362],[102.201563,32.524213],[102.201643,32.524144],[102.201645,32.524143],[102.201735,32.524065],[102.201907,32.523916],[102.201961,32.52387],[102.202079,32.523767],[102.202245,32.523571],[102.202412,32.523374],[102.202578,32.523178],[102.202744,32.522982],[102.202949,32.52268],[102.203069,32.522425],[102.203174,32.522191],[102.203278,32.521957],[102.203345,32.521712],[102.203411,32.521466],[102.203478,32.52122],[102.203545,32.520975],[102.203612,32.520729],[102.203679,32.520483],[102.203745,32.520238],[102.203812,32.519992],[102.203867,32.519552],[102.203922,32.519112],[102.203977,32.518671],[102.204001,32.518481],[102.204001,32.518479],[102.204002,32.518477],[102.204033,32.518231],[102.204031,32.518193],[102.204011,32.517808],[102.203989,32.517385],[102.203967,32.516961],[102.203946,32.516538],[102.203898,32.516278],[102.20385,32.516018],[102.203803,32.515758],[102.203755,32.515498],[102.203666,32.515237],[102.203577,32.514976],[102.20342,32.514643],[102.203318,32.514359],[102.203191,32.513955],[102.203108,32.513694],[102.203025,32.513433],[102.202943,32.513172],[102.20286,32.512911],[102.202851,32.512676],[102.202842,32.512441],[102.202833,32.512206],[102.202824,32.511971],[102.202815,32.511735],[102.202806,32.5115],[102.202797,32.511265],[102.202788,32.51103],[102.202779,32.510795],[102.20277,32.510559],[102.202761,32.510324],[102.202757,32.510228],[102.202752,32.510089],[102.202713,32.509853],[102.202674,32.509616],[102.202634,32.50938],[102.202595,32.509144],[102.202556,32.508907],[102.202517,32.508671],[102.202478,32.508435],[102.202439,32.508198],[102.2024,32.507962],[102.202361,32.507726],[102.202322,32.507489],[102.202282,32.507253],[102.202255,32.506992],[102.202228,32.506731],[102.202201,32.50647],[102.202174,32.506209],[102.202147,32.505948],[102.20212,32.505686],[102.202093,32.505425],[102.202066,32.505164],[102.202039,32.504903],[102.202012,32.504642],[102.201985,32.504381],[102.201958,32.50412],[102.201931,32.503859],[102.201904,32.503598],[102.201877,32.503337],[102.20185,32.503076],[102.201797,32.502674],[102.201744,32.502272],[102.201692,32.50187],[102.201537,32.501514],[102.201376,32.501276],[102.201215,32.501084],[102.201,32.500867],[102.200702,32.500578],[102.200461,32.500219],[102.200418,32.500117],[102.200281,32.499791],[102.200176,32.499577],[102.200072,32.499362],[102.19997,32.499031],[102.199923,32.498765],[102.199876,32.498499],[102.199828,32.498233],[102.199781,32.497968],[102.199731,32.497724],[102.199682,32.49748],[102.199632,32.497237],[102.199582,32.496993],[102.199532,32.496749],[102.199482,32.496506],[102.199387,32.496284],[102.199292,32.496062],[102.199274,32.496021],[102.199197,32.49584],[102.199102,32.495618],[102.199006,32.495396],[102.198989,32.495356],[102.198911,32.495175],[102.198699,32.494863],[102.198535,32.494765],[102.198314,32.49469],[102.198009,32.494685],[102.197618,32.494699],[102.197395,32.494728],[102.197172,32.494758],[102.196907,32.494776],[102.196642,32.494794],[102.196196,32.494807],[102.195751,32.494798],[102.195306,32.494788],[102.195023,32.494782],[102.194862,32.494779],[102.19464,32.494738],[102.194419,32.494697],[102.194032,32.494606],[102.193645,32.494515],[102.193386,32.494419],[102.193127,32.494323],[102.192868,32.494227],[102.192609,32.494131],[102.19235,32.494035],[102.192091,32.493939],[102.191832,32.493843],[102.191572,32.493747],[102.191313,32.493651],[102.191054,32.493555],[102.190795,32.493458],[102.190536,32.493362],[102.190422,32.493317],[102.190407,32.493101],[102.190308,32.49166],[102.190146,32.489163],[102.190196,32.48754],[102.190116,32.484999],[102.190245,32.484007],[102.190247,32.483987],[102.190347,32.483219],[102.190356,32.483147],[102.190431,32.482569],[102.190829,32.48004],[102.191084,32.478285],[102.191362,32.477039],[102.191566,32.475622],[102.191625,32.475014],[102.190869,32.473643],[102.190209,32.473019],[102.190121,32.472689],[102.189816,32.471555],[102.189845,32.470611],[102.189847,32.470541],[102.189853,32.470371],[102.189859,32.468887],[102.189859,32.468882],[102.189841,32.468837],[102.189451,32.467891],[102.189325,32.466805],[102.189001,32.465647],[102.188354,32.464651],[102.187653,32.46406],[102.186502,32.463865],[102.185543,32.463877],[102.184357,32.463512],[102.182871,32.462497],[102.182061,32.461599],[102.181184,32.460259],[102.180516,32.458653],[102.179957,32.457355],[102.178293,32.455659],[102.177609,32.45456],[102.177051,32.453262],[102.177122,32.452248],[102.17725,32.450899],[102.177301,32.450356],[102.177262,32.449069],[102.176963,32.447133],[102.176604,32.445839],[102.176494,32.444245],[102.176729,32.4431],[102.178165,32.440593],[102.178953,32.439629],[102.179582,32.438662],[102.179974,32.437621],[102.180074,32.43698],[102.179828,32.435892],[102.179334,32.435102],[102.179353,32.434493],[102.17904,32.432997],[102.178558,32.431835],[102.177884,32.430398],[102.177654,32.428802],[102.177956,32.428098],[102.17782,32.427317],[102.178134,32.426207],[102.178769,32.42507],[102.179495,32.423529],[102.180289,32.422689],[102.180403,32.422568],[102.181511,32.421577],[102.182488,32.420956],[102.183544,32.420371],[102.184198,32.419877],[102.184373,32.419374],[102.184315,32.418695],[102.183905,32.417738],[102.183051,32.416975],[102.182793,32.416292],[102.182047,32.415903],[102.181391,32.415177],[102.180948,32.414017],[102.180106,32.412881],[102.178906,32.411703],[102.178143,32.41047],[102.177899,32.409269],[102.177831,32.407833],[102.177736,32.403623],[102.177688,32.401566],[102.177022,32.3994],[102.176786,32.397915],[102.176776,32.397853],[102.176769,32.397807],[102.176743,32.397648],[102.17674,32.397624],[102.176606,32.396474],[102.177087,32.395528],[102.177899,32.394769],[102.178099,32.394304],[102.178118,32.394259],[102.178127,32.394237],[102.178067,32.394221],[102.178007,32.394204],[102.177247,32.394002],[102.1769,32.39387],[102.176874,32.39386],[102.176767,32.393819],[102.176719,32.393801],[102.176618,32.393763],[102.176551,32.393737],[102.176434,32.393693],[102.176244,32.393621],[102.176065,32.393549],[102.176002,32.393524],[102.175933,32.393496],[102.175651,32.393383],[102.175632,32.393375],[102.175611,32.393369],[102.175201,32.393203],[102.174777,32.393229],[102.174767,32.393573],[102.174765,32.393624],[102.174763,32.393681],[102.174762,32.393731],[102.174325,32.394187],[102.173881,32.394177],[102.173814,32.394176],[102.173734,32.394174],[102.173727,32.394165],[102.173699,32.394124],[102.173289,32.393519],[102.173214,32.392941],[102.173208,32.39289],[102.173205,32.392866],[102.1732,32.392827],[102.173187,32.392727],[102.173166,32.392559],[102.17316,32.392508],[102.173113,32.392123],[102.173109,32.392091],[102.173102,32.392034],[102.173086,32.3919],[102.172956,32.391882],[102.172826,32.391863],[102.17277,32.391855],[102.172758,32.391853],[102.172497,32.391815],[102.17169,32.391941],[102.170849,32.391778],[102.170823,32.391733],[102.170806,32.391705],[102.170568,32.391306],[102.170609,32.391013],[102.170614,32.390974],[102.170637,32.390813],[102.170642,32.390776],[102.170666,32.3906],[102.170655,32.390583],[102.170641,32.390528],[102.170661,32.390492],[102.170679,32.390479],[102.170687,32.390204],[102.170688,32.390169],[102.1707,32.389803],[102.170631,32.389302],[102.170641,32.389284],[102.170649,32.389249],[102.170643,32.38922],[102.170616,32.389186],[102.170597,32.389047],[102.170133,32.388674],[102.17012,32.388663],[102.170104,32.38866],[102.170087,32.388637],[102.169996,32.388564],[102.169967,32.388471],[102.169955,32.388416],[102.169912,32.388356],[102.169845,32.388303],[102.169816,32.38829],[102.169784,32.388289],[102.169707,32.388312],[102.169688,32.388329],[102.169652,32.388339],[102.16964,32.38834],[102.169601,32.388324],[102.169541,32.388284],[102.169454,32.38823],[102.169358,32.38817],[102.169323,32.388123],[102.169322,32.388089],[102.169369,32.388026],[102.169373,32.388022],[102.169378,32.388018],[102.169383,32.388014],[102.169389,32.388012],[102.169422,32.388],[102.169427,32.387998],[102.169433,32.387997],[102.16944,32.387997],[102.169446,32.387997],[102.169491,32.388002],[102.169525,32.387997],[102.169538,32.387984],[102.169543,32.387957],[102.169489,32.38785],[102.169447,32.387798],[102.169418,32.387779],[102.169411,32.387776],[102.169376,32.387748],[102.169325,32.387735],[102.169262,32.387734],[102.169219,32.387728],[102.169185,32.387711],[102.169162,32.38768],[102.169194,32.387663],[102.169185,32.38761],[102.169195,32.38756],[102.169239,32.387476],[102.169242,32.387471],[102.169289,32.387423],[102.169345,32.387398],[102.169648,32.387353],[102.169878,32.387286],[102.169979,32.387248],[102.169989,32.387242],[102.170015,32.387232],[102.170167,32.387193],[102.170272,32.387137],[102.170298,32.387088],[102.170294,32.387056],[102.17029,32.387052],[102.17026,32.387022],[102.170225,32.387013],[102.170143,32.387018],[102.170072,32.386993],[102.170057,32.386982],[102.170029,32.386963],[102.169999,32.386921],[102.169933,32.386753],[102.169897,32.386712],[102.169867,32.386677],[102.169861,32.386637],[102.169882,32.386604],[102.169927,32.386579],[102.170049,32.386559],[102.170082,32.386548],[102.170127,32.386511],[102.170136,32.386465],[102.170126,32.386438],[102.170088,32.386394],[102.169938,32.386337],[102.169927,32.38633],[102.169856,32.386286],[102.169838,32.386258],[102.16983,32.386195],[102.169857,32.386111],[102.169867,32.386081],[102.169944,32.385946],[102.170015,32.385858],[102.170108,32.385784],[102.170167,32.385569],[102.170209,32.385536],[102.170203,32.3855],[102.170304,32.385444],[102.170333,32.385419],[102.17031,32.385366],[102.170183,32.385245],[102.170178,32.385199],[102.170207,32.385147],[102.170285,32.385077],[102.170356,32.385045],[102.170419,32.385047],[102.170445,32.385062],[102.170474,32.385098],[102.170513,32.385111],[102.170544,32.385112],[102.170576,32.385106],[102.170606,32.385091],[102.170657,32.385033],[102.170657,32.384891],[102.170646,32.384821],[102.170615,32.384752],[102.170517,32.384628],[102.170476,32.384524],[102.170451,32.384503],[102.170284,32.384454],[102.170138,32.384382],[102.170112,32.38436],[102.170101,32.38434],[102.170094,32.384291],[102.170114,32.384232],[102.170167,32.384179],[102.170241,32.384142],[102.170379,32.384108],[102.170453,32.38408],[102.170512,32.384046],[102.170542,32.383997],[102.17057,32.383861],[102.170566,32.383838],[102.17054,32.383806],[102.170477,32.38378],[102.170437,32.383764],[102.170391,32.383721],[102.170312,32.383597],[102.1703,32.383573],[102.170263,32.383499],[102.170254,32.383431],[102.170266,32.383394],[102.170276,32.383384],[102.170305,32.383353],[102.170387,32.383301],[102.17053,32.38324],[102.170601,32.383166],[102.170641,32.383081],[102.170679,32.383003],[102.170783,32.382744],[102.170786,32.38271],[102.17077,32.382669],[102.170709,32.382594],[102.170627,32.382546],[102.170605,32.38254],[102.170571,32.382549],[102.170517,32.382564],[102.170486,32.382573],[102.17044,32.38257],[102.170403,32.382554],[102.170357,32.3825],[102.1703,32.382457],[102.170276,32.382424],[102.170233,32.382311],[102.170224,32.382298],[102.170189,32.382245],[102.170168,32.38223],[102.170129,32.382233],[102.170089,32.382224],[102.170053,32.382187],[102.170029,32.382121],[102.169986,32.382001],[102.16989,32.381849],[102.16989,32.381807],[102.169916,32.381785],[102.169969,32.381775],[102.170082,32.381776],[102.17011,32.38176],[102.170137,32.381729],[102.170151,32.381649],[102.170115,32.381563],[102.170123,32.381548],[102.170155,32.381529],[102.170163,32.381436],[102.170198,32.381417],[102.170226,32.381416],[102.170233,32.381406],[102.170238,32.381368],[102.170219,32.38134],[102.170209,32.381299],[102.17021,32.381261],[102.170223,32.381212],[102.170248,32.381168],[102.170283,32.381133],[102.170324,32.381115],[102.17038,32.38109],[102.17041,32.381035],[102.170411,32.381012],[102.170402,32.380993],[102.170313,32.381027],[102.1703,32.381028],[102.170252,32.381034],[102.170184,32.381022],[102.170136,32.381006],[102.170116,32.380999],[102.170083,32.380965],[102.17008,32.380928],[102.170111,32.380859],[102.170162,32.380814],[102.170226,32.380755],[102.170237,32.380746],[102.170243,32.380706],[102.170228,32.380672],[102.170213,32.380664],[102.170201,32.380664],[102.17019,32.380664],[102.170129,32.380682],[102.170051,32.380736],[102.170031,32.38079],[102.170001,32.380819],[102.169953,32.380838],[102.1699,32.380833],[102.169856,32.380804],[102.169801,32.38073],[102.169573,32.380514],[102.169541,32.380485],[102.169495,32.38043],[102.169498,32.380404],[102.169519,32.380374],[102.169658,32.380312],[102.169811,32.380203],[102.16985,32.380187],[102.16995,32.380176],[102.170017,32.380158],[102.170052,32.380128],[102.170084,32.380069],[102.170071,32.38001],[102.170048,32.379984],[102.170022,32.37997],[102.169991,32.379968],[102.169867,32.380011],[102.169842,32.380008],[102.169812,32.379992],[102.16978,32.379947],[102.169766,32.379849],[102.16978,32.379776],[102.169803,32.379745],[102.169819,32.379736],[102.169856,32.37974],[102.169943,32.37978],[102.16996,32.379769],[102.169959,32.37974],[102.169927,32.379628],[102.169877,32.379541],[102.169876,32.37952],[102.169896,32.379486],[102.169936,32.379464],[102.169967,32.37946],[102.170063,32.379508],[102.170086,32.379494],[102.170108,32.379481],[102.170135,32.379444],[102.170131,32.379421],[102.17007,32.379335],[102.170021,32.379268],[102.170007,32.379205],[102.169968,32.37916],[102.169948,32.379087],[102.169959,32.379055],[102.170025,32.378995],[102.170032,32.378983],[102.170043,32.378964],[102.170037,32.378771],[102.17003,32.378737],[102.170006,32.378733],[102.169923,32.378717],[102.16983,32.378681],[102.169701,32.378599],[102.169569,32.37854],[102.169417,32.378418],[102.169397,32.378371],[102.169415,32.378299],[102.169406,32.378264],[102.169366,32.378216],[102.169267,32.378134],[102.169085,32.377896],[102.169081,32.377878],[102.169089,32.377852],[102.169125,32.377829],[102.169139,32.3778],[102.169133,32.377781],[102.169121,32.377747],[102.169062,32.377678],[102.168867,32.377543],[102.168839,32.377493],[102.16884,32.377462],[102.168878,32.377413],[102.168897,32.377405],[102.168961,32.377401],[102.169013,32.377412],[102.169022,32.377418],[102.169062,32.377442],[102.169078,32.377458],[102.169104,32.377517],[102.169122,32.37754],[102.169204,32.377521],[102.169256,32.377492],[102.16929,32.377458],[102.169309,32.37745],[102.169344,32.377461],[102.169367,32.377481],[102.169384,32.377547],[102.169398,32.377567],[102.169432,32.377562],[102.169476,32.377519],[102.169487,32.377396],[102.169517,32.377365],[102.169554,32.377361],[102.169584,32.377234],[102.169582,32.377135],[102.169595,32.377064],[102.169588,32.377048],[102.169542,32.377018],[102.169533,32.37699],[102.169552,32.376952],[102.16963,32.376884],[102.169643,32.376861],[102.169645,32.376827],[102.169628,32.376779],[102.169601,32.376733],[102.169564,32.37674],[102.169478,32.376734],[102.169433,32.376716],[102.169417,32.376701],[102.169411,32.376683],[102.169481,32.376592],[102.169469,32.376521],[102.169481,32.376482],[102.1695,32.376463],[102.169547,32.376445],[102.169608,32.37645],[102.169641,32.376463],[102.169674,32.376454],[102.169698,32.376419],[102.169706,32.376394],[102.169707,32.376378],[102.16968,32.376327],[102.169689,32.376298],[102.16972,32.376269],[102.169846,32.376197],[102.169828,32.376162],[102.169724,32.376146],[102.169696,32.37613],[102.169658,32.376089],[102.169655,32.376069],[102.169667,32.376042],[102.169731,32.375996],[102.169733,32.37598],[102.169721,32.375955],[102.169675,32.375951],[102.169586,32.375959],[102.169542,32.37595],[102.169503,32.375921],[102.169497,32.375895],[102.169503,32.375863],[102.169532,32.375813],[102.169565,32.375793],[102.169625,32.375792],[102.169772,32.375806],[102.169921,32.375785],[102.169955,32.375757],[102.169956,32.375702],[102.169854,32.375672],[102.1698,32.375635],[102.169758,32.375595],[102.169717,32.375606],[102.169652,32.375662],[102.16963,32.375669],[102.169584,32.375661],[102.169511,32.375609],[102.169506,32.375598],[102.169493,32.375565],[102.169497,32.375535],[102.169524,32.375495],[102.169599,32.375427],[102.169606,32.375396],[102.169599,32.375325],[102.169585,32.375302],[102.169565,32.375289],[102.169513,32.375344],[102.169452,32.375366],[102.169391,32.375347],[102.169348,32.375319],[102.169341,32.375289],[102.169355,32.375259],[102.169486,32.375188],[102.169482,32.375151],[102.169455,32.375089],[102.169419,32.375068],[102.169344,32.375096],[102.169297,32.375159],[102.169256,32.375182],[102.169205,32.375182],[102.169196,32.37518],[102.169121,32.375165],[102.169104,32.375203],[102.169075,32.375271],[102.169071,32.37531],[102.169059,32.37541],[102.169025,32.375441],[102.168996,32.375454],[102.168961,32.375463],[102.168871,32.375464],[102.168844,32.375471],[102.168844,32.375478],[102.16887,32.375496],[102.168879,32.375524],[102.16886,32.37557],[102.168846,32.375582],[102.168803,32.375581],[102.168723,32.375521],[102.168668,32.37546],[102.168653,32.375429],[102.168653,32.375412],[102.168673,32.375396],[102.168711,32.375392],[102.168753,32.375359],[102.168829,32.37521],[102.168866,32.375089],[102.168885,32.375061],[102.168914,32.375041],[102.168949,32.37503],[102.168965,32.375025],[102.168992,32.375016],[102.169014,32.374997],[102.169026,32.374964],[102.169009,32.374825],[102.168987,32.374825],[102.16895,32.374837],[102.168935,32.37485],[102.168904,32.374906],[102.168897,32.374911],[102.168884,32.374919],[102.168843,32.37493],[102.16881,32.374919],[102.168761,32.374876],[102.168681,32.374878],[102.168637,32.374857],[102.168615,32.374837],[102.168604,32.374778],[102.168621,32.37474],[102.168641,32.374718],[102.168654,32.374709],[102.168705,32.374678],[102.168812,32.374645],[102.168822,32.374641],[102.168832,32.374631],[102.168835,32.374604],[102.168821,32.374578],[102.168816,32.374569],[102.168783,32.374539],[102.168764,32.374531],[102.168663,32.374557],[102.168618,32.374552],[102.168539,32.374492],[102.168512,32.374461],[102.168458,32.374334],[102.16839,32.374252],[102.16838,32.374212],[102.168397,32.374181],[102.168432,32.374166],[102.168461,32.374166],[102.168516,32.374192],[102.168546,32.374193],[102.168555,32.374178],[102.168551,32.374145],[102.168525,32.374086],[102.168496,32.374076],[102.168456,32.37408],[102.168365,32.37413],[102.168253,32.374179],[102.168245,32.374181],[102.168218,32.374189],[102.168154,32.374188],[102.168037,32.374152],[102.167963,32.374101],[102.167917,32.374041],[102.167903,32.373986],[102.167914,32.373875],[102.167914,32.373867],[102.167943,32.373783],[102.168012,32.373713],[102.16814,32.373634],[102.168688,32.373499],[102.168792,32.373495],[102.168914,32.373512],[102.168927,32.373507],[102.168953,32.373479],[102.16897,32.373441],[102.168973,32.373364],[102.168894,32.37321],[102.16888,32.373168],[102.168886,32.373145],[102.168963,32.373085],[102.16928,32.372897],[102.1693,32.372875],[102.169316,32.372826],[102.169308,32.372778],[102.169163,32.372715],[102.169156,32.37271],[102.169134,32.372691],[102.169122,32.372671],[102.169106,32.372597],[102.169107,32.372562],[102.169111,32.37248],[102.169065,32.372477],[102.169044,32.372487],[102.169023,32.372497],[102.169001,32.372555],[102.168971,32.372595],[102.168924,32.37263],[102.16885,32.372657],[102.168799,32.372651],[102.168759,32.372618],[102.168746,32.372591],[102.168743,32.372533],[102.16876,32.372475],[102.168781,32.372437],[102.168815,32.372373],[102.168864,32.372323],[102.16898,32.372278],[102.169223,32.372225],[102.169236,32.372212],[102.169231,32.372176],[102.169167,32.372149],[102.169142,32.372129],[102.169121,32.372068],[102.169128,32.372053],[102.169145,32.372039],[102.169276,32.371999],[102.169273,32.371982],[102.16925,32.37195],[102.169142,32.371925],[102.169115,32.371908],[102.169077,32.371883],[102.16905,32.371847],[102.16904,32.371789],[102.169064,32.371659],[102.169127,32.371533],[102.169184,32.37148],[102.169268,32.371455],[102.169289,32.371398],[102.169288,32.371316],[102.169271,32.371268],[102.169229,32.371224],[102.169115,32.371142],[102.169099,32.371108],[102.169103,32.371085],[102.169126,32.371047],[102.1692,32.371021],[102.169204,32.370976],[102.169193,32.370869],[102.169209,32.370821],[102.169226,32.370803],[102.169248,32.370797],[102.169286,32.370803],[102.169328,32.370822],[102.16934,32.370827],[102.169383,32.370867],[102.16947,32.370981],[102.169495,32.370997],[102.169705,32.370998],[102.169759,32.37098],[102.169799,32.370951],[102.169801,32.370894],[102.169781,32.37086],[102.169626,32.370755],[102.169604,32.370733],[102.16956,32.37069],[102.169533,32.37063],[102.169517,32.370542],[102.169484,32.370471],[102.16948,32.370425],[102.169507,32.370358],[102.169547,32.370323],[102.169611,32.370292],[102.169715,32.37028],[102.16974,32.370263],[102.169752,32.370221],[102.169658,32.370152],[102.169651,32.370131],[102.169656,32.370114],[102.169709,32.370051],[102.1698,32.369988],[102.169856,32.369935],[102.169884,32.369886],[102.169914,32.369784],[102.169895,32.369735],[102.169858,32.369687],[102.169718,32.369591],[102.169694,32.369575],[102.169625,32.369514],[102.169594,32.369468],[102.169589,32.369443],[102.169595,32.369384],[102.169619,32.369298],[102.169664,32.36919],[102.169682,32.369114],[102.169684,32.36909],[102.169685,32.369077],[102.169687,32.369057],[102.16969,32.369029],[102.169684,32.368983],[102.169668,32.368941],[102.16961,32.368871],[102.1695,32.368737],[102.169472,32.368669],[102.169462,32.368612],[102.169462,32.368533],[102.169498,32.368414],[102.169514,32.368363],[102.169512,32.368345],[102.169507,32.368289],[102.169487,32.368279],[102.169469,32.368277],[102.169427,32.368274],[102.169356,32.368282],[102.169313,32.368295],[102.169185,32.368357],[102.169178,32.368363],[102.169155,32.368383],[102.169112,32.368441],[102.169072,32.368451],[102.169007,32.368433],[102.168944,32.368372],[102.168881,32.368338],[102.168831,32.368328],[102.168739,32.368364],[102.168687,32.36837],[102.168625,32.368368],[102.168577,32.368347],[102.168541,32.36829],[102.168529,32.368238],[102.168535,32.368194],[102.168552,32.36817],[102.168616,32.368117],[102.168635,32.368045],[102.168637,32.367966],[102.168597,32.36788],[102.168603,32.367816],[102.168652,32.367733],[102.168738,32.367663],[102.168828,32.367566],[102.168907,32.367455],[102.168976,32.367326],[102.169049,32.367237],[102.16907,32.367174],[102.169066,32.367124],[102.169052,32.367089],[102.169023,32.36706],[102.168976,32.367031],[102.168878,32.366994],[102.168829,32.366988],[102.168738,32.366995],[102.168663,32.367001],[102.168645,32.367002],[102.168628,32.366998],[102.168547,32.366978],[102.168504,32.366954],[102.168482,32.366907],[102.168486,32.366788],[102.168464,32.366718],[102.168429,32.3666],[102.168404,32.366558],[102.168381,32.366519],[102.168354,32.36649],[102.168316,32.366464],[102.16831,32.36646],[102.168223,32.366436],[102.168128,32.366436],[102.168047,32.366471],[102.167941,32.366518],[102.1678,32.366549],[102.167746,32.366553],[102.167653,32.36654],[102.167592,32.366519],[102.167567,32.3665],[102.167545,32.366463],[102.167533,32.366374],[102.167542,32.366341],[102.16758,32.366279],[102.167614,32.366242],[102.167694,32.366179],[102.167739,32.366152],[102.167853,32.36611],[102.167907,32.366011],[102.167918,32.365934],[102.167908,32.365912],[102.16788,32.365885],[102.16786,32.365875],[102.167841,32.365877],[102.167735,32.365924],[102.167681,32.365928],[102.167646,32.365909],[102.167593,32.365852],[102.167577,32.365817],[102.167573,32.365776],[102.167581,32.365729],[102.167606,32.36568],[102.167653,32.365625],[102.167709,32.365578],[102.167769,32.365546],[102.167908,32.365525],[102.16797,32.365495],[102.167994,32.365468],[102.168009,32.365413],[102.16801,32.36534],[102.167986,32.365265],[102.167947,32.365194],[102.167919,32.365161],[102.16787,32.365104],[102.167772,32.365021],[102.167707,32.364984],[102.167658,32.364969],[102.167472,32.364956],[102.16735,32.364963],[102.167209,32.364984],[102.167163,32.364995],[102.166876,32.36506],[102.166765,32.365072],[102.166667,32.365059],[102.166609,32.365039],[102.166578,32.365003],[102.166573,32.364939],[102.166597,32.364869],[102.166648,32.364813],[102.166681,32.364791],[102.166729,32.364779],[102.166822,32.36478],[102.166903,32.364768],[102.16695,32.364749],[102.166962,32.364724],[102.166964,32.364696],[102.166967,32.364621],[102.166957,32.364539],[102.166782,32.364058],[102.166783,32.364],[102.166802,32.363901],[102.166824,32.363859],[102.166873,32.36383],[102.167037,32.363758],[102.167562,32.363567],[102.167807,32.363446],[102.167923,32.363402],[102.168021,32.363383],[102.168041,32.363372],[102.168045,32.36336],[102.168038,32.363307],[102.168025,32.363283],[102.168007,32.363276],[102.167879,32.363274],[102.167844,32.363266],[102.167823,32.363252],[102.167804,32.363226],[102.167783,32.363167],[102.167797,32.363124],[102.167846,32.363088],[102.167901,32.363064],[102.168006,32.363051],[102.168024,32.363037],[102.168085,32.362884],[102.168087,32.362825],[102.168063,32.362756],[102.168041,32.362751],[102.167971,32.362762],[102.167942,32.36278],[102.167862,32.362862],[102.16785,32.362873],[102.167823,32.362885],[102.16779,32.362878],[102.16775,32.362837],[102.167732,32.3628],[102.16774,32.362479],[102.167729,32.362436],[102.167687,32.362384],[102.167632,32.362341],[102.167529,32.362277],[102.167496,32.362266],[102.167412,32.36227],[102.167294,32.362299],[102.167195,32.362308],[102.167155,32.362305],[102.167095,32.362286],[102.167039,32.362247],[102.167,32.362201],[102.166941,32.362036],[102.166929,32.361939],[102.166928,32.361931],[102.166935,32.361833],[102.166951,32.361774],[102.167044,32.361546],[102.16708,32.361486],[102.167123,32.361436],[102.167177,32.361399],[102.167272,32.361357],[102.167298,32.361326],[102.167317,32.361267],[102.167291,32.361079],[102.167297,32.361049],[102.167326,32.361023],[102.167403,32.360995],[102.167426,32.360977],[102.16747,32.360919],[102.167508,32.360841],[102.167496,32.360826],[102.167385,32.360805],[102.167338,32.360762],[102.16733,32.360748],[102.167287,32.360669],[102.167272,32.360624],[102.167267,32.360568],[102.167292,32.360491],[102.167299,32.360485],[102.167309,32.360476],[102.16735,32.360467],[102.167423,32.360475],[102.167517,32.360499],[102.167602,32.360483],[102.167647,32.360453],[102.167662,32.360366],[102.167691,32.360307],[102.167718,32.360282],[102.16777,32.360267],[102.16792,32.360263],[102.168093,32.360207],[102.168135,32.3602],[102.168202,32.360208],[102.168329,32.360274],[102.168493,32.360332],[102.16851,32.360305],[102.168508,32.360247],[102.168461,32.360113],[102.168474,32.360055],[102.168509,32.359999],[102.168642,32.359892],[102.168736,32.359758],[102.168799,32.359669],[102.168822,32.359649],[102.168864,32.359632],[102.168892,32.359632],[102.168936,32.359644],[102.168987,32.359679],[102.168999,32.359727],[102.16904,32.359892],[102.169061,32.359925],[102.169095,32.359944],[102.169189,32.359971],[102.169243,32.359977],[102.169269,32.359971],[102.169307,32.359889],[102.169367,32.359825],[102.169426,32.359793],[102.169503,32.359791],[102.169536,32.359783],[102.169587,32.359745],[102.169621,32.359695],[102.169622,32.359654],[102.169549,32.359438],[102.169538,32.359405],[102.169516,32.359272],[102.169517,32.359237],[102.169537,32.359174],[102.169568,32.359126],[102.169593,32.359109],[102.169642,32.359099],[102.169753,32.35911],[102.169807,32.359126],[102.169831,32.359143],[102.169857,32.359184],[102.169867,32.359225],[102.169851,32.359377],[102.169857,32.359439],[102.169873,32.359472],[102.169894,32.359489],[102.169942,32.359512],[102.169963,32.35951],[102.170001,32.359484],[102.170051,32.359416],[102.170156,32.359349],[102.170223,32.359327],[102.170374,32.359304],[102.170404,32.359294],[102.170457,32.359262],[102.170478,32.359236],[102.170481,32.359192],[102.170472,32.359122],[102.170438,32.359024],[102.170367,32.358887],[102.170252,32.358731],[102.17023,32.358661],[102.170225,32.358642],[102.170224,32.358563],[102.170244,32.358498],[102.170265,32.358475],[102.170355,32.358375],[102.170366,32.358344],[102.170345,32.358277],[102.170256,32.358148],[102.170244,32.358132],[102.170225,32.358092],[102.170216,32.357994],[102.170221,32.35798],[102.17024,32.35793],[102.170426,32.357646],[102.170476,32.357598],[102.170529,32.357569],[102.170606,32.35755],[102.170676,32.357546],[102.170732,32.357562],[102.170817,32.357611],[102.170892,32.357643],[102.170912,32.357645],[102.170934,32.357632],[102.170972,32.357586],[102.170984,32.357553],[102.170997,32.357263],[102.171007,32.357212],[102.171047,32.357128],[102.171077,32.357091],[102.171125,32.357076],[102.171192,32.357081],[102.171309,32.357146],[102.171434,32.35719],[102.171486,32.357186],[102.171547,32.357157],[102.171565,32.357122],[102.171563,32.357065],[102.171502,32.356999],[102.171426,32.356954],[102.171401,32.356928],[102.171391,32.356879],[102.171401,32.35683],[102.17142,32.356808],[102.171479,32.35678],[102.17181,32.356693],[102.171849,32.356651],[102.171866,32.356598],[102.171863,32.356548],[102.171841,32.356496],[102.1718,32.356454],[102.171766,32.35645],[102.171642,32.356474],[102.17158,32.35647],[102.171552,32.356468],[102.17146,32.356446],[102.17143,32.356428],[102.171407,32.356401],[102.171391,32.35637],[102.171368,32.356279],[102.171364,32.356163],[102.171326,32.355972],[102.171329,32.355919],[102.171379,32.355773],[102.171372,32.355711],[102.171346,32.355649],[102.171305,32.355599],[102.171261,32.355566],[102.171176,32.355528],[102.171165,32.355509],[102.171164,32.355483],[102.171176,32.355448],[102.171199,32.355432],[102.171342,32.355415],[102.171439,32.355373],[102.171464,32.355352],[102.171473,32.355317],[102.171463,32.355266],[102.171384,32.355181],[102.171353,32.355127],[102.17135,32.355109],[102.171365,32.355086],[102.171395,32.35507],[102.171457,32.355066],[102.17149,32.355063],[102.171511,32.35505],[102.171556,32.354979],[102.171577,32.354915],[102.171573,32.354877],[102.171554,32.354859],[102.171395,32.354777],[102.171339,32.354748],[102.171297,32.354708],[102.171285,32.354639],[102.171312,32.354543],[102.171345,32.354493],[102.171355,32.354479],[102.171411,32.354429],[102.171537,32.354369],[102.171707,32.35433],[102.171785,32.354281],[102.171808,32.354257],[102.171823,32.354223],[102.171821,32.354155],[102.171773,32.354048],[102.171752,32.353948],[102.171753,32.353903],[102.171789,32.353806],[102.171789,32.353776],[102.171707,32.353686],[102.171519,32.353383],[102.1715,32.353331],[102.171509,32.353286],[102.171547,32.353236],[102.171572,32.353229],[102.171601,32.353232],[102.171727,32.353282],[102.171848,32.353345],[102.17193,32.353368],[102.172115,32.353399],[102.172148,32.353398],[102.172199,32.353378],[102.17223,32.353346],[102.172255,32.35327],[102.172272,32.35276],[102.172239,32.352665],[102.172203,32.352624],[102.171834,32.352528],[102.171722,32.352481],[102.171665,32.352448],[102.171626,32.352404],[102.171615,32.352391],[102.171592,32.352337],[102.171589,32.352302],[102.171604,32.35227],[102.171625,32.352249],[102.171706,32.352203],[102.171744,32.352198],[102.171882,32.352205],[102.17191,32.352192],[102.171934,32.352105],[102.171937,32.351919],[102.171954,32.351843],[102.171988,32.351756],[102.172034,32.351672],[102.17206,32.351623],[102.17211,32.351561],[102.172188,32.351504],[102.17226,32.351464],[102.17229,32.351448],[102.172431,32.351391],[102.17254,32.351329],[102.172582,32.351279],[102.172616,32.35121],[102.172634,32.351145],[102.172636,32.351095],[102.172618,32.351045],[102.172566,32.350973],[102.172475,32.350905],[102.172248,32.350737],[102.172169,32.350662],[102.172068,32.350508],[102.171938,32.350361],[102.171902,32.350277],[102.17189,32.350183],[102.171896,32.35013],[102.171907,32.350106],[102.171938,32.350074],[102.172128,32.349964],[102.172167,32.349904],[102.172178,32.349843],[102.172164,32.349765],[102.172113,32.349665],[102.172055,32.349517],[102.171983,32.349425],[102.171968,32.349411],[102.171929,32.349373],[102.171838,32.349308],[102.171786,32.349255],[102.171718,32.349139],[102.171672,32.349019],[102.171662,32.348993],[102.171618,32.348796],[102.17164,32.348765],[102.17171,32.348738],[102.171724,32.348696],[102.171718,32.348673],[102.17165,32.348581],[102.17164,32.348554],[102.171652,32.348522],[102.171697,32.348471],[102.171746,32.348432],[102.171756,32.348413],[102.171764,32.348254],[102.171758,32.348217],[102.17174,32.348176],[102.171713,32.348155],[102.171633,32.348157],[102.171541,32.348193],[102.171371,32.34826],[102.171262,32.348319],[102.171203,32.348334],[102.171121,32.34832],[102.171066,32.348296],[102.171014,32.348252],[102.170998,32.348207],[102.170996,32.34811],[102.171015,32.34806],[102.17103,32.348018],[102.171363,32.34756],[102.171437,32.34743],[102.171526,32.347229],[102.171562,32.347183],[102.171661,32.347055],[102.171671,32.347008],[102.171646,32.346928],[102.171613,32.346894],[102.171548,32.346866],[102.171455,32.346848],[102.171363,32.346853],[102.171288,32.34688],[102.171222,32.346903],[102.171085,32.346999],[102.170982,32.347058],[102.170881,32.347086],[102.170826,32.347085],[102.170787,32.347067],[102.170749,32.347024],[102.170727,32.346989],[102.170699,32.346909],[102.170662,32.346868],[102.170633,32.34686],[102.170465,32.346855],[102.170423,32.346844],[102.170398,32.346828],[102.170357,32.346782],[102.170302,32.346678],[102.170283,32.346606],[102.170278,32.346537],[102.170292,32.346408],[102.170297,32.346357],[102.170314,32.346288],[102.170335,32.34625],[102.170419,32.346185],[102.170425,32.346144],[102.170417,32.346112],[102.170402,32.346079],[102.170368,32.346048],[102.170262,32.345999],[102.170219,32.345971],[102.170143,32.345896],[102.170133,32.345886],[102.170101,32.345842],[102.170068,32.345763],[102.170054,32.345677],[102.169977,32.345398],[102.169974,32.345376],[102.169952,32.345233],[102.169951,32.3451],[102.169938,32.345017],[102.169903,32.344971],[102.169821,32.344921],[102.169747,32.344857],[102.169729,32.344829],[102.169724,32.344802],[102.169742,32.344742],[102.169763,32.344716],[102.169782,32.344693],[102.169965,32.344557],[102.170078,32.344489],[102.170104,32.344464],[102.170152,32.344396],[102.17025,32.344219],[102.170274,32.344147],[102.170278,32.3441],[102.170252,32.34373],[102.170254,32.343703],[102.170259,32.343651],[102.170253,32.343622],[102.170216,32.343578],[102.170178,32.343584],[102.170085,32.343598],[102.170012,32.343584],[102.169974,32.343566],[102.16993,32.343501],[102.16991,32.343487],[102.169867,32.343473],[102.169801,32.34347],[102.169767,32.343456],[102.16974,32.343422],[102.169723,32.343359],[102.169762,32.343222],[102.169716,32.343183],[102.169693,32.34315],[102.169675,32.343113],[102.169662,32.343027],[102.169633,32.343007],[102.169526,32.342982],[102.169483,32.342965],[102.169382,32.342887],[102.16933,32.3428],[102.16923,32.342777],[102.169168,32.342739],[102.169148,32.342717],[102.16913,32.342682],[102.169147,32.342589],[102.169129,32.342545],[102.16912,32.342534],[102.16909,32.342501],[102.169071,32.34248],[102.168939,32.342378],[102.168918,32.342344],[102.168913,32.342304],[102.168926,32.342287],[102.168948,32.342282],[102.169023,32.342288],[102.169045,32.342282],[102.169111,32.342241],[102.169143,32.34219],[102.169152,32.342147],[102.169148,32.341922],[102.169157,32.341827],[102.169187,32.341653],[102.169249,32.341475],[102.169253,32.34139],[102.169245,32.34133],[102.16922,32.341248],[102.169198,32.341218],[102.169086,32.341122],[102.16905,32.341032],[102.169046,32.340959],[102.169058,32.340888],[102.169085,32.340813],[102.169122,32.340771],[102.169123,32.340734],[102.169081,32.340707],[102.168968,32.340699],[102.168851,32.34066],[102.168829,32.34064],[102.16881,32.340624],[102.168806,32.340588],[102.16882,32.340556],[102.168826,32.340541],[102.168871,32.340522],[102.169106,32.340527],[102.169201,32.340517],[102.169203,32.34049],[102.169128,32.340437],[102.169105,32.3404],[102.16909,32.340348],[102.169082,32.340246],[102.169101,32.340141],[102.169179,32.340024],[102.169182,32.340009],[102.169175,32.339999],[102.169129,32.339989],[102.169091,32.339965],[102.169067,32.339937],[102.169059,32.339899],[102.169073,32.339858],[102.169152,32.339809],[102.169191,32.33975],[102.169265,32.339678],[102.169292,32.339627],[102.169296,32.339581],[102.169289,32.339556],[102.169265,32.339532],[102.169148,32.339476],[102.169033,32.339436],[102.169,32.339417],[102.168975,32.339393],[102.168939,32.339325],[102.168927,32.339263],[102.168926,32.339189],[102.168917,32.33916],[102.168877,32.339098],[102.168871,32.339067],[102.16888,32.339004],[102.168917,32.338955],[102.168924,32.338927],[102.168911,32.338904],[102.168854,32.33887],[102.168845,32.338818],[102.16885,32.338779],[102.168877,32.338701],[102.168967,32.338549],[102.168919,32.338527],[102.168826,32.338501],[102.168681,32.33847],[102.168657,32.338453],[102.168625,32.338407],[102.168628,32.33835],[102.168652,32.338305],[102.16863,32.338193],[102.168636,32.338108],[102.168662,32.338085],[102.168706,32.338073],[102.168724,32.338064],[102.16871,32.338046],[102.168695,32.338026],[102.168656,32.337908],[102.168648,32.337886],[102.168599,32.337739],[102.168537,32.33769],[102.168557,32.337613],[102.168535,32.337548],[102.168539,32.337535],[102.168541,32.337528],[102.168541,32.337492],[102.168542,32.337441],[102.168524,32.33739],[102.168534,32.337302],[102.16851,32.337278],[102.16848,32.337268],[102.168447,32.337257],[102.168446,32.33725],[102.168437,32.33722],[102.168431,32.337185],[102.168319,32.336685],[102.167762,32.3361],[102.167753,32.336091],[102.167747,32.336085],[102.167743,32.336079],[102.167643,32.335987],[102.167638,32.335982],[102.167621,32.335966],[102.167556,32.335904],[102.167511,32.335862],[102.167202,32.335569],[102.16714,32.335508],[102.167098,32.335466],[102.167094,32.335462],[102.167046,32.335415],[102.167022,32.335392],[102.166812,32.335183],[102.166782,32.335155],[102.166736,32.335109],[102.166732,32.335105],[102.166719,32.335091],[102.166714,32.335083],[102.166574,32.334914],[102.166537,32.334869],[102.166422,32.334808],[102.166336,32.334723],[102.166258,32.334664],[102.166216,32.334649],[102.166071,32.334624],[102.166032,32.334606],[102.166016,32.334589],[102.165978,32.334479],[102.165947,32.334241],[102.16591,32.334055],[102.165879,32.333994],[102.165787,32.333925],[102.165776,32.333895],[102.165778,32.333851],[102.165755,32.333809],[102.165716,32.333792],[102.165603,32.333798],[102.165537,32.333789],[102.165478,32.333762],[102.165421,32.333701],[102.165355,32.333563],[102.165327,32.333515],[102.165265,32.333494],[102.165103,32.333333],[102.164966,32.333262],[102.164921,32.333151],[102.164927,32.33305],[102.165002,32.332933],[102.164698,32.332057],[102.164263,32.331119],[102.1638,32.330034],[102.163611,32.32884],[102.163562,32.327495],[102.163733,32.326386],[102.163901,32.325966],[102.163923,32.325912],[102.164095,32.325494],[102.164139,32.32538]]]]},"properties":{"cp":[102.26744142868846,32.352994695555495],"code":"513233202","name":"江茸乡","level":"street","center":[102.26744142868846,32.352994695555495],"fullCode":"513233202000","fullName":"四川省阿坝藏族羌族自治州红原县江茸乡","acreageMu":770863.29,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.412,32.3022]}},{"id":"513233203","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[101.851556,32.335369],[101.851603,32.335224],[101.851669,32.335022],[101.851663,32.334903],[101.851614,32.334563],[101.851521,32.334334],[101.851478,32.334227],[101.851405,32.333878],[101.851332,32.333528],[101.851259,32.333178],[101.851185,32.332829],[101.851144,32.33246],[101.851457,32.332486],[101.85148,32.332488],[101.85177,32.332511],[101.852084,32.332537],[101.852316,32.332555],[101.852548,32.332573],[101.852977,32.332573],[101.852993,32.332573],[101.853317,32.332573],[101.853356,32.332573],[101.853407,32.332573],[101.85378,32.332564],[101.854063,32.332557],[101.854153,32.332555],[101.854402,32.332533],[101.854651,32.33251],[101.854901,32.332488],[101.85515,32.332465],[101.855547,32.332423],[101.855795,32.332349],[101.856043,32.332276],[101.856262,32.332211],[101.856481,32.332146],[101.856744,32.332105],[101.857042,32.332009],[101.857208,32.331896],[101.857287,32.331765],[101.857315,32.331718],[101.857565,32.331498],[101.857836,32.331284],[101.858107,32.331069],[101.858386,32.330829],[101.858666,32.330588],[101.858936,32.330341],[101.859207,32.330094],[101.859549,32.329817],[101.859891,32.329541],[101.860097,32.329273],[101.860304,32.329005],[101.86051,32.328738],[101.860703,32.328393],[101.860896,32.328048],[101.861055,32.327724],[101.861214,32.327401],[101.861372,32.327078],[101.861485,32.326798],[101.861497,32.326477],[101.861462,32.326168],[101.861446,32.32603],[101.861427,32.325859],[101.861392,32.32555],[101.861383,32.325361],[101.861373,32.325173],[101.861355,32.324797],[101.861307,32.324438],[101.861258,32.324079],[101.861208,32.323706],[101.861166,32.323448],[101.861125,32.323191],[101.861091,32.32298],[101.861069,32.322844],[101.861069,32.322552],[101.861069,32.32226],[101.861069,32.322238],[101.861065,32.321903],[101.861061,32.321546],[101.861057,32.321189],[101.861035,32.321012],[101.861021,32.320906],[101.860986,32.320624],[101.860983,32.320614],[101.860902,32.320314],[101.860819,32.320088],[101.860575,32.319714],[101.860361,32.319345],[101.860266,32.319035],[101.860135,32.318637],[101.86007,32.318304],[101.860082,32.318054],[101.860195,32.31763],[101.86023,32.317501],[101.860244,32.317407],[101.86029,32.317102],[101.860284,32.316828],[101.860224,32.316537],[101.860135,32.316287],[101.860129,32.31628],[101.859915,32.316049],[101.859713,32.315859],[101.85951,32.315668],[101.859225,32.315484],[101.858939,32.3153],[101.858701,32.314993],[101.858463,32.314687],[101.858324,32.314452],[101.858184,32.314217],[101.857964,32.313842],[101.857809,32.313711],[101.857601,32.313574],[101.857339,32.313271],[101.857317,32.313226],[101.857119,32.312825],[101.856979,32.312498],[101.856839,32.312171],[101.856756,32.311974],[101.856494,32.311742],[101.856218,32.311484],[101.855941,32.311225],[101.855674,32.310993],[101.855561,32.310796],[101.855495,32.310517],[101.85542,32.31019],[101.855345,32.309862],[101.855233,32.309503],[101.855175,32.309208],[101.855117,32.308913],[101.855112,32.30887],[101.855072,32.308494],[101.855026,32.308075],[101.854981,32.307656],[101.854975,32.307599],[101.855007,32.30722],[101.855059,32.306797],[101.855111,32.306373],[101.855144,32.306097],[101.855186,32.305734],[101.855187,32.305722],[101.855227,32.305371],[101.855227,32.30508],[101.855323,32.304788],[101.855388,32.304503],[101.855394,32.304162],[101.8554,32.303821],[101.855406,32.30348],[101.855477,32.303182],[101.855566,32.303033],[101.855627,32.303011],[101.8559,32.302909],[101.85617,32.302888],[101.856441,32.302867],[101.856784,32.302861],[101.857127,32.302855],[101.85747,32.302849],[101.857823,32.302903],[101.858176,32.302956],[101.858529,32.30301],[101.858904,32.303041],[101.859278,32.303072],[101.859653,32.303103],[101.860028,32.303135],[101.860299,32.303152],[101.860569,32.30317],[101.860831,32.30317],[101.861128,32.303111],[101.861541,32.303012],[101.861953,32.302913],[101.862366,32.302813],[101.862586,32.302715],[101.862806,32.302617],[101.863171,32.302379],[101.863181,32.302373],[101.863567,32.302189],[101.863879,32.301945],[101.863936,32.3019],[101.86419,32.301701],[101.864501,32.301457],[101.864739,32.301222],[101.864977,32.300987],[101.865156,32.300821],[101.865215,32.30066],[101.865346,32.300505],[101.865501,32.30038],[101.865685,32.300226],[101.865865,32.300075],[101.86587,32.300071],[101.866045,32.299848],[101.866221,32.299625],[101.86626,32.299547],[101.866362,32.299345],[101.866464,32.299143],[101.866726,32.298863],[101.866905,32.298727],[101.866952,32.298691],[101.867211,32.29853],[101.86747,32.29837],[101.867689,32.298179],[101.867696,32.298173],[101.867868,32.297953],[101.868154,32.297858],[101.868456,32.29773],[101.868758,32.297601],[101.868868,32.297555],[101.869103,32.297498],[101.869338,32.297442],[101.869599,32.297454],[101.869879,32.297507],[101.870254,32.297644],[101.870426,32.297757],[101.870605,32.297888],[101.870878,32.298025],[101.871194,32.298221],[101.871509,32.298417],[101.871765,32.29862],[101.872014,32.298727],[101.872181,32.298858],[101.872294,32.299],[101.872341,32.299096],[101.872354,32.299123],[101.87252,32.299458],[101.872609,32.299643],[101.872764,32.299768],[101.872919,32.299845],[101.873145,32.299994],[101.873341,32.300363],[101.873466,32.300654],[101.873573,32.300785],[101.873674,32.300838],[101.874019,32.301011],[101.874227,32.301124],[101.87437,32.301279],[101.874447,32.301421],[101.874685,32.301552],[101.874914,32.301712],[101.875138,32.301868],[101.875328,32.302028],[101.875447,32.302159],[101.875548,32.30232],[101.875715,32.302534],[101.875881,32.302629],[101.876066,32.302712],[101.876244,32.302867],[101.876345,32.303004],[101.876524,32.303325],[101.876708,32.30345],[101.877047,32.303718],[101.877246,32.303881],[101.877446,32.304045],[101.877719,32.304176],[101.877957,32.304229],[101.878368,32.304271],[101.878689,32.304425],[101.878915,32.304574],[101.879073,32.304833],[101.87923,32.305092],[101.879395,32.305349],[101.879559,32.305607],[101.879724,32.305865],[101.879867,32.306064],[101.88001,32.306263],[101.880064,32.306574],[101.880119,32.306884],[101.880173,32.307194],[101.880364,32.307514],[101.880493,32.307588],[101.880593,32.307747],[101.880879,32.307927],[101.881165,32.308107],[101.881384,32.308246],[101.881604,32.308385],[101.881823,32.308525],[101.882043,32.308664],[101.882262,32.308803],[101.882482,32.308942],[101.882701,32.309081],[101.882921,32.309221],[101.883085,32.309299],[101.883225,32.309366],[101.883529,32.309512],[101.883913,32.309621],[101.884296,32.309731],[101.884638,32.309791],[101.884979,32.309851],[101.885379,32.309842],[101.885778,32.309833],[101.886178,32.309824],[101.886615,32.309735],[101.887052,32.309645],[101.887489,32.309556],[101.887845,32.309464],[101.888211,32.309441],[101.888577,32.309419],[101.889005,32.309352],[101.889374,32.309256],[101.889743,32.30916],[101.890111,32.309064],[101.89048,32.308968],[101.890861,32.30873],[101.891042,32.308663],[101.891185,32.308602],[101.891318,32.308525],[101.891508,32.308383],[101.891675,32.308283],[101.891875,32.308187],[101.892189,32.307997],[101.892431,32.307802],[101.892601,32.307547],[101.892641,32.307488],[101.892769,32.307298],[101.892898,32.307107],[101.893162,32.30681],[101.893426,32.306512],[101.893659,32.306174],[101.89384,32.305951],[101.894064,32.305639],[101.894287,32.305327],[101.894414,32.305132],[101.89454,32.304937],[101.894706,32.304782],[101.894873,32.304628],[101.895096,32.304518],[101.895254,32.30438],[101.895501,32.304119],[101.895748,32.303857],[101.895915,32.303747],[101.89604,32.303692],[101.896077,32.303676],[101.896235,32.303621],[101.89631,32.303595],[101.896472,32.303557],[101.896605,32.303481],[101.896753,32.303338],[101.896848,32.303176],[101.897019,32.302886],[101.897233,32.302624],[101.89724,32.302616],[101.897424,32.302408],[101.897607,32.302199],[101.897652,32.302148],[101.897859,32.301972],[101.898066,32.301796],[101.898223,32.301382],[101.898223,32.301342],[101.898223,32.301101],[101.898214,32.30084],[101.898128,32.300497],[101.898102,32.300327],[101.898071,32.300121],[101.898009,32.299786],[101.897947,32.29945],[101.897947,32.29916],[101.897947,32.299081],[101.897947,32.299012],[101.897999,32.298941],[101.898095,32.298912],[101.89829,32.298974],[101.898499,32.299103],[101.898786,32.299369],[101.899073,32.299636],[101.89936,32.299902],[101.899508,32.299945],[101.899751,32.299945],[101.900041,32.299938],[101.900331,32.299931],[101.900693,32.299893],[101.900883,32.299821],[101.901121,32.299688],[101.901395,32.299476],[101.901478,32.299412],[101.901759,32.299146],[101.902073,32.298931],[101.902335,32.298827],[101.902516,32.298717],[101.902739,32.298413],[101.902925,32.298256],[101.90313,32.297975],[101.903201,32.297813],[101.903268,32.297632],[101.903344,32.297551],[101.903501,32.29747],[101.903701,32.297351],[101.903858,32.29718],[101.903929,32.296956],[101.904062,32.296628],[101.904191,32.296414],[101.904338,32.296304],[101.904552,32.296205],[101.904857,32.296086],[101.905069,32.296005],[101.905281,32.295924],[101.905499,32.295819],[101.90578,32.295629],[101.905946,32.295543],[101.906185,32.295419],[101.90648,32.295317],[101.906775,32.295215],[101.907025,32.295106],[101.907072,32.295077],[101.90728,32.294946],[101.907487,32.294816],[101.907866,32.294579],[101.907979,32.294496],[101.908279,32.29423],[101.908483,32.294058],[101.908626,32.293806],[101.908645,32.29354],[101.908702,32.29334],[101.908821,32.29313],[101.908959,32.293045],[101.909283,32.29294],[101.909468,32.292835],[101.909568,32.292716],[101.909615,32.292525],[101.909615,32.292524],[101.909616,32.292521],[101.909616,32.29235],[101.909616,32.29215],[101.909616,32.292095],[101.909616,32.291998],[101.909702,32.291731],[101.909713,32.291496],[101.909725,32.29126],[101.909678,32.290998],[101.909652,32.29095],[101.909526,32.290708],[101.909506,32.290537],[101.909521,32.290475],[101.90964,32.290399],[101.909863,32.290313],[101.910049,32.290137],[101.910135,32.289866],[101.910163,32.289609],[101.910358,32.289385],[101.910525,32.289295],[101.910756,32.289271],[101.910987,32.289247],[101.911282,32.289289],[101.911577,32.289332],[101.911824,32.289457],[101.912071,32.289581],[101.912393,32.28967],[101.912716,32.289759],[101.913039,32.289848],[101.913326,32.289939],[101.913613,32.29003],[101.913983,32.290168],[101.914353,32.290307],[101.914723,32.290446],[101.915094,32.290585],[101.915464,32.290724],[101.915772,32.290794],[101.91603,32.290852],[101.916287,32.290911],[101.916542,32.29095],[101.916796,32.29099],[101.917051,32.291029],[101.917305,32.291068],[101.917559,32.291108],[101.917697,32.291129],[101.917814,32.291147],[101.918068,32.291186],[101.918323,32.291225],[101.918577,32.291265],[101.918832,32.291304],[101.919086,32.291343],[101.91934,32.291383],[101.919611,32.291419],[101.919883,32.291455],[101.920154,32.291491],[101.920425,32.291527],[101.920696,32.291563],[101.920967,32.2916],[101.921238,32.291636],[101.921509,32.291672],[101.921902,32.291709],[101.922296,32.291747],[101.922689,32.291784],[101.922953,32.291809],[101.923232,32.291802],[101.923511,32.291796],[101.923583,32.291784],[101.923989,32.291717],[101.924225,32.291575],[101.92446,32.291434],[101.924653,32.291226],[101.924685,32.291191],[101.924846,32.291017],[101.925006,32.290796],[101.925166,32.290574],[101.925326,32.290352],[101.925486,32.29013],[101.925578,32.290002],[101.925578,32.290002],[101.925646,32.289909],[101.925806,32.289687],[101.925966,32.289465],[101.926126,32.289243],[101.926267,32.289028],[101.926407,32.288812],[101.926547,32.288596],[101.926688,32.28838],[101.926828,32.288164],[101.926968,32.287948],[101.927253,32.287662],[101.927278,32.287636],[101.927555,32.287526],[101.927993,32.287518],[101.928276,32.287613],[101.928559,32.287708],[101.928751,32.287829],[101.928942,32.28795],[101.929072,32.288032],[101.929294,32.288119],[101.929672,32.288362],[101.930051,32.288605],[101.930261,32.288744],[101.930471,32.288884],[101.930531,32.288923],[101.93076,32.289047],[101.930988,32.289171],[101.931301,32.289368],[101.931342,32.289391],[101.931559,32.289508],[101.931775,32.289626],[101.931991,32.289744],[101.932208,32.289862],[101.932383,32.289958],[101.932744,32.290094],[101.933011,32.290204],[101.933244,32.290354],[101.933477,32.290505],[101.933689,32.290642],[101.933901,32.290779],[101.933912,32.290784],[101.934043,32.290832],[101.934172,32.29086],[101.934539,32.290932],[101.934906,32.291003],[101.935328,32.29115],[101.935696,32.291249],[101.936063,32.291349],[101.93643,32.291448],[101.936868,32.291459],[101.937305,32.29147],[101.937662,32.291385],[101.938018,32.291301],[101.938352,32.291141],[101.938686,32.290981],[101.93902,32.290821],[101.939354,32.290661],[101.939634,32.290515],[101.939914,32.290369],[101.940194,32.290223],[101.940407,32.290136],[101.940621,32.290048],[101.940834,32.28996],[101.941048,32.289872],[101.941343,32.28974],[101.941638,32.289607],[101.941934,32.289475],[101.94222,32.289304],[101.942554,32.289028],[101.942601,32.288977],[101.942667,32.288905],[101.942734,32.288803],[101.942837,32.288509],[101.942939,32.288215],[101.943,32.287839],[101.94306,32.287463],[101.943064,32.28738],[101.943068,32.287292],[101.943065,32.287271],[101.94305,32.287174],[101.94293,32.286813],[101.94281,32.286453],[101.94269,32.286092],[101.942601,32.285873],[101.942512,32.285653],[101.942511,32.285653],[101.942511,32.285652],[101.94244,32.28543],[101.942369,32.285208],[101.942317,32.284853],[101.942265,32.284498],[101.942264,32.284395],[101.942338,32.284224],[101.942457,32.284221],[101.942699,32.284283],[101.94293,32.284425],[101.943161,32.284567],[101.943444,32.28474],[101.943623,32.28485],[101.943855,32.284992],[101.944086,32.285133],[101.944196,32.285195],[101.944318,32.285259],[101.944726,32.285419],[101.945133,32.285579],[101.945442,32.285658],[101.945751,32.285737],[101.946084,32.285751],[101.946417,32.285765],[101.946802,32.285717],[101.947169,32.285628],[101.947552,32.285516],[101.947935,32.285404],[101.948259,32.285283],[101.948583,32.285162],[101.948843,32.285125],[101.949103,32.285089],[101.949365,32.285097],[101.949779,32.285148],[101.950198,32.285222],[101.950616,32.285297],[101.950951,32.285343],[101.951287,32.285389],[101.951622,32.285435],[101.951731,32.285456],[101.95204,32.285515],[101.952458,32.285596],[101.952875,32.285676],[101.95314,32.285742],[101.953405,32.285809],[101.95363,32.285897],[101.953647,32.285903],[101.953981,32.286034],[101.954343,32.286224],[101.954656,32.286423],[101.954969,32.286622],[101.955281,32.286821],[101.955594,32.287019],[101.955949,32.287263],[101.956038,32.287324],[101.956155,32.287396],[101.956337,32.287529],[101.956434,32.287596],[101.956624,32.287726],[101.956911,32.287924],[101.957166,32.288112],[101.957261,32.288182],[101.957421,32.288301],[101.957757,32.288595],[101.957906,32.288791],[101.957948,32.288868],[101.957961,32.28888],[101.958028,32.289011],[101.958166,32.289258],[101.958304,32.289505],[101.95837,32.289725],[101.9585,32.290082],[101.95853,32.290249],[101.958542,32.290392],[101.958546,32.290705],[101.95855,32.291018],[101.958554,32.291332],[101.95856,32.291362],[101.958637,32.291736],[101.958679,32.291885],[101.958774,32.292081],[101.958967,32.292435],[101.959161,32.292789],[101.959277,32.292988],[101.959298,32.293025],[101.959393,32.293187],[101.959404,32.293209],[101.959464,32.293318],[101.95947,32.29333],[101.959565,32.293521],[101.959649,32.293657],[101.959756,32.293782],[101.960029,32.294023],[101.960303,32.294264],[101.960596,32.294514],[101.960889,32.294765],[101.961084,32.294931],[101.961278,32.295097],[101.961433,32.295234],[101.961546,32.295412],[101.961623,32.29568],[101.961629,32.295936],[101.961552,32.296147],[101.961475,32.296358],[101.961449,32.296404],[101.961353,32.296575],[101.961231,32.296792],[101.960954,32.297123],[101.960678,32.297453],[101.960537,32.297593],[101.960277,32.297853],[101.960017,32.298113],[101.959875,32.298339],[101.959732,32.298565],[101.959633,32.298732],[101.959601,32.298785],[101.959619,32.299029],[101.959666,32.29919],[101.959738,32.299484],[101.959809,32.299779],[101.959884,32.300001],[101.959958,32.300223],[101.960032,32.300444],[101.960107,32.300665],[101.960261,32.301064],[101.960362,32.30129],[101.960562,32.301608],[101.960761,32.301926],[101.961026,32.302285],[101.961291,32.302644],[101.961527,32.302947],[101.96153,32.302952],[101.96153,32.302952],[101.96153,32.302952],[101.961566,32.303006],[101.961713,32.303232],[101.96186,32.303458],[101.962008,32.303683],[101.962155,32.303909],[101.962275,32.304117],[101.962395,32.304325],[101.962516,32.304533],[101.962636,32.304741],[101.962757,32.304949],[101.962877,32.305157],[101.962997,32.305365],[101.963063,32.305478],[101.963066,32.305484],[101.963118,32.305573],[101.963238,32.305781],[101.963358,32.30599],[101.963479,32.306198],[101.963564,32.306345],[101.963599,32.306406],[101.963706,32.306629],[101.963813,32.306853],[101.96392,32.307077],[101.964028,32.307301],[101.964063,32.307375],[101.964135,32.307525],[101.964205,32.307671],[101.964242,32.307749],[101.964324,32.308013],[101.964406,32.308276],[101.964488,32.30854],[101.96457,32.308804],[101.964652,32.309068],[101.964734,32.309332],[101.964838,32.309588],[101.964943,32.309843],[101.965047,32.310098],[101.965151,32.310354],[101.965255,32.310609],[101.96536,32.310865],[101.965464,32.31112],[101.965492,32.311188],[101.965568,32.311376],[101.965673,32.311631],[101.965777,32.311886],[101.965938,32.312275],[101.966099,32.312663],[101.966259,32.313049],[101.966259,32.31305],[101.966259,32.31305],[101.96626,32.313052],[101.966386,32.313252],[101.966512,32.313453],[101.966638,32.313653],[101.966764,32.313853],[101.966839,32.31393],[101.967068,32.314163],[101.967372,32.314472],[101.967676,32.314782],[101.967853,32.31494],[101.96803,32.315099],[101.968207,32.315258],[101.968384,32.315416],[101.968561,32.315575],[101.968738,32.315734],[101.968915,32.315892],[101.969092,32.316051],[101.969269,32.31621],[101.969446,32.316368],[101.969669,32.31653],[101.969891,32.316692],[101.970114,32.316854],[101.970336,32.317016],[101.970558,32.317178],[101.970781,32.31734],[101.971003,32.317502],[101.971226,32.317664],[101.971448,32.317826],[101.971671,32.317988],[101.971893,32.31815],[101.971945,32.318188],[101.972116,32.318312],[101.972338,32.318474],[101.97256,32.318636],[101.972754,32.318779],[101.972903,32.318891],[101.972904,32.318891],[101.972947,32.318923],[101.97314,32.319066],[101.973333,32.319209],[101.973527,32.319353],[101.973716,32.319493],[101.973718,32.319494],[101.97372,32.319496],[101.973913,32.319639],[101.974106,32.319782],[101.9743,32.319926],[101.974493,32.320069],[101.974686,32.320212],[101.974879,32.320356],[101.975073,32.320499],[101.975266,32.320642],[101.975431,32.320798],[101.975596,32.320953],[101.975761,32.321109],[101.975926,32.321264],[101.976091,32.32142],[101.976256,32.321575],[101.976421,32.321731],[101.976587,32.321886],[101.976752,32.322042],[101.976917,32.322197],[101.977109,32.322383],[101.977302,32.322569],[101.977495,32.322755],[101.977687,32.322941],[101.97788,32.323127],[101.978073,32.323313],[101.978265,32.323499],[101.978458,32.323685],[101.978651,32.323871],[101.978843,32.324057],[101.979036,32.324243],[101.979228,32.324429],[101.979421,32.324615],[101.979614,32.324801],[101.979771,32.324991],[101.979929,32.325181],[101.980087,32.325372],[101.980244,32.325562],[101.980402,32.325752],[101.980559,32.325942],[101.980717,32.326132],[101.980875,32.326322],[101.981032,32.326513],[101.98119,32.326703],[101.981347,32.326893],[101.981505,32.327083],[101.981663,32.327273],[101.98182,32.327463],[101.981986,32.327636],[101.982152,32.327809],[101.982317,32.327981],[101.982483,32.328154],[101.982649,32.328326],[101.982815,32.328499],[101.98298,32.328671],[101.983146,32.328844],[101.983312,32.329016],[101.983478,32.329189],[101.983831,32.329424],[101.984185,32.32966],[101.984344,32.329767],[101.984379,32.329791],[101.984573,32.329922],[101.984767,32.330053],[101.984857,32.330114],[101.984865,32.330119],[101.984921,32.330157],[101.984961,32.330185],[101.985037,32.330269],[101.985169,32.330416],[101.985215,32.330586],[101.985149,32.330738],[101.985065,32.330929],[101.984714,32.331191],[101.984563,32.331304],[101.98455,32.331314],[101.984363,32.331453],[101.984358,32.331456],[101.984329,32.331468],[101.984234,32.331507],[101.984179,32.33153],[101.984146,32.331543],[101.98393,32.331634],[101.98369,32.331656],[101.983451,32.331679],[101.983129,32.331653],[101.982808,32.331627],[101.982586,32.331655],[101.982559,32.331658],[101.982472,32.331669],[101.982311,32.331689],[101.982062,32.33172],[101.981813,32.331751],[101.981595,32.331824],[101.981378,32.331897],[101.98116,32.331971],[101.980943,32.332044],[101.980726,32.332139],[101.980509,32.332235],[101.980292,32.332331],[101.980075,32.332426],[101.979859,32.332522],[101.97983,32.332535],[101.979642,32.332618],[101.979289,32.33283],[101.978936,32.333042],[101.978583,32.333254],[101.978343,32.333353],[101.978249,32.333392],[101.978141,32.333436],[101.978102,32.333452],[101.9781,32.333452],[101.978099,32.333453],[101.978013,32.333488],[101.977738,32.333704],[101.977463,32.333921],[101.977269,32.334108],[101.977075,32.334295],[101.976864,32.334431],[101.976653,32.334566],[101.976389,32.334653],[101.976262,32.334695],[101.976228,32.334706],[101.975835,32.334911],[101.975536,32.335067],[101.975508,32.335082],[101.975442,32.335116],[101.975432,32.335121],[101.975238,32.335212],[101.975034,32.335308],[101.97483,32.335404],[101.974625,32.335499],[101.974351,32.335571],[101.974076,32.335643],[101.973848,32.335714],[101.973621,32.335784],[101.973486,32.335846],[101.973438,32.335868],[101.973062,32.336085],[101.972686,32.336302],[101.972293,32.336511],[101.9719,32.33672],[101.971506,32.336929],[101.971144,32.33712],[101.970782,32.337311],[101.970705,32.337351],[101.970554,32.337431],[101.97042,32.337502],[101.970009,32.337642],[101.969598,32.337782],[101.969481,32.33782],[101.969302,32.337876],[101.969275,32.337885],[101.969005,32.33797],[101.96873,32.338015],[101.968654,32.338028],[101.968489,32.338055],[101.968455,32.338061],[101.968226,32.338099],[101.967997,32.338137],[101.967767,32.338175],[101.967726,32.338182],[101.967685,32.338189],[101.967582,32.338206],[101.967538,32.338213],[101.967364,32.338251],[101.967277,32.33827],[101.967271,32.338271],[101.967164,32.338295],[101.967004,32.33833],[101.966807,32.338373],[101.966737,32.338388],[101.966624,32.338412],[101.96647,32.338446],[101.966076,32.338625],[101.965683,32.338804],[101.965426,32.338954],[101.965364,32.33899],[101.965267,32.339047],[101.965254,32.339054],[101.96517,32.339103],[101.965007,32.339296],[101.964844,32.339489],[101.964811,32.339528],[101.964811,32.339529],[101.964738,32.339615],[101.964738,32.339615],[101.964682,32.339681],[101.964519,32.339874],[101.96435,32.340043],[101.964182,32.340212],[101.964013,32.340381],[101.963844,32.34055],[101.963675,32.340719],[101.963507,32.340888],[101.963333,32.341135],[101.963306,32.341173],[101.963306,32.341173],[101.963306,32.341173],[101.963301,32.34118],[101.963275,32.341217],[101.963267,32.341229],[101.96325,32.341252],[101.963236,32.341272],[101.963187,32.341342],[101.963181,32.341351],[101.963096,32.341471],[101.962988,32.341669],[101.962879,32.341868],[101.96277,32.342066],[101.962675,32.342239],[101.962662,32.342264],[101.962425,32.342569],[101.962378,32.34263],[101.962378,32.34263],[101.962378,32.34263],[101.962314,32.342713],[101.962189,32.342875],[101.961938,32.343212],[101.961688,32.343549],[101.961542,32.343801],[101.961397,32.344052],[101.961304,32.344269],[101.961211,32.344486],[101.961118,32.344703],[101.961026,32.34492],[101.960972,32.345151],[101.960918,32.345382],[101.960864,32.345613],[101.96081,32.345843],[101.960756,32.346074],[101.960702,32.346305],[101.960648,32.346536],[101.960594,32.346766],[101.96054,32.346997],[101.960486,32.347228],[101.960436,32.347464],[101.960386,32.347699],[101.960336,32.347935],[101.96032,32.348009],[101.960286,32.348171],[101.960236,32.348406],[101.960186,32.348642],[101.960136,32.348878],[101.960124,32.348935],[101.960086,32.349113],[101.960004,32.349434],[101.959977,32.349542],[101.959868,32.34997],[101.959851,32.350037],[101.959759,32.350398],[101.959733,32.35045],[101.959564,32.350792],[101.959506,32.35091],[101.959369,32.351186],[101.959174,32.35158],[101.95898,32.351974],[101.958856,32.35219],[101.958732,32.352406],[101.958609,32.352622],[101.958485,32.352838],[101.958362,32.353054],[101.958238,32.35327],[101.958182,32.353367],[101.958114,32.353485],[101.957991,32.353701],[101.957867,32.353917],[101.957744,32.354133],[101.95762,32.354349],[101.957496,32.354565],[101.957404,32.354684],[101.957339,32.354769],[101.957231,32.35491],[101.956966,32.355254],[101.956856,32.355396],[101.956831,32.355428],[101.95683,32.355429],[101.956772,32.355504],[101.956759,32.355521],[101.956748,32.355618],[101.956723,32.355848],[101.956688,32.356174],[101.956701,32.356565],[101.956703,32.356577],[101.956741,32.356775],[101.956766,32.356905],[101.956775,32.356954],[101.956905,32.357146],[101.956989,32.357272],[101.957024,32.357323],[101.957034,32.357338],[101.957091,32.357375],[101.957127,32.357397],[101.957135,32.357402],[101.957199,32.357443],[101.9572,32.357443],[101.957203,32.357445],[101.957253,32.357477],[101.957473,32.357615],[101.957583,32.357643],[101.957606,32.357649],[101.957652,32.357661],[101.957708,32.357675],[101.957744,32.357684],[101.957752,32.357686],[101.957796,32.357694],[101.958123,32.357757],[101.958431,32.357763],[101.958511,32.357764],[101.958604,32.357766],[101.958606,32.357766],[101.958609,32.357766],[101.958739,32.357768],[101.959093,32.357786],[101.959447,32.357804],[101.959877,32.357794],[101.960307,32.357784],[101.960631,32.357828],[101.960955,32.357873],[101.961187,32.357919],[101.96142,32.357966],[101.961652,32.358012],[101.961884,32.358059],[101.962276,32.358145],[101.962668,32.358232],[101.96306,32.358319],[101.963066,32.358321],[101.963286,32.358411],[101.963512,32.358503],[101.963738,32.358596],[101.963752,32.358601],[101.963964,32.358688],[101.964168,32.358813],[101.964295,32.358892],[101.964372,32.358939],[101.964576,32.359065],[101.96478,32.35919],[101.964841,32.359228],[101.964983,32.359316],[101.965187,32.359441],[101.965384,32.359582],[101.965581,32.359723],[101.965777,32.359863],[101.965974,32.360004],[101.966086,32.360084],[101.966171,32.360145],[101.966367,32.360286],[101.966577,32.36042],[101.966786,32.360554],[101.966995,32.360687],[101.967205,32.360821],[101.967414,32.360955],[101.967623,32.361089],[101.967919,32.361226],[101.968216,32.361363],[101.968434,32.361436],[101.968651,32.361509],[101.969052,32.361552],[101.969221,32.361548],[101.96939,32.361544],[101.969696,32.36151],[101.970123,32.361396],[101.970383,32.361351],[101.970642,32.361306],[101.970919,32.361298],[101.971165,32.361294],[101.971339,32.36129],[101.971411,32.361289],[101.971719,32.36132],[101.972027,32.361352],[101.972367,32.361396],[101.972739,32.361491],[101.972973,32.361603],[101.973207,32.361715],[101.973613,32.361887],[101.97366,32.361908],[101.973799,32.361967],[101.974019,32.36206],[101.974265,32.362107],[101.974512,32.362153],[101.974835,32.362146],[101.975159,32.362138],[101.975541,32.36209],[101.975924,32.362042],[101.976332,32.361988],[101.97674,32.361935],[101.977148,32.361881],[101.977525,32.36182],[101.977902,32.361759],[101.978279,32.361699],[101.978523,32.361628],[101.978766,32.361557],[101.97901,32.361486],[101.979192,32.361433],[101.979192,32.361433],[101.979253,32.361416],[101.979497,32.361345],[101.97974,32.361274],[101.979985,32.361209],[101.980044,32.361194],[101.980229,32.361145],[101.980473,32.36108],[101.980717,32.361015],[101.98074,32.36101],[101.980938,32.360965],[101.981159,32.360914],[101.98138,32.360863],[101.981601,32.360813],[101.981968,32.360642],[101.982334,32.360472],[101.982602,32.360192],[101.98287,32.359912],[101.983017,32.359751],[101.983044,32.359594],[101.982963,32.359335],[101.98294,32.359259],[101.982779,32.359015],[101.982617,32.358771],[101.982583,32.358689],[101.982516,32.358526],[101.982503,32.358493],[101.982463,32.358396],[101.982415,32.358281],[101.982402,32.357838],[101.982437,32.357498],[101.982472,32.357159],[101.982555,32.356883],[101.982638,32.356607],[101.982937,32.356365],[101.983165,32.356281],[101.983392,32.356198],[101.983804,32.35611],[101.983976,32.356073],[101.984217,32.356022],[101.984521,32.35595],[101.984826,32.355878],[101.985079,32.355845],[101.985221,32.355827],[101.985332,32.355813],[101.985584,32.355781],[101.985837,32.355749],[101.986221,32.355643],[101.986605,32.355538],[101.986877,32.3554],[101.986893,32.355392],[101.987036,32.35532],[101.987149,32.355263],[101.987268,32.355221],[101.987468,32.355151],[101.987786,32.355039],[101.988185,32.354979],[101.98863,32.354968],[101.989075,32.354957],[101.989393,32.354964],[101.98971,32.35497],[101.98994,32.354964],[101.99017,32.354959],[101.9904,32.354953],[101.990619,32.354948],[101.99063,32.354947],[101.990875,32.354909],[101.99112,32.354871],[101.991365,32.354833],[101.99161,32.354794],[101.991762,32.354751],[101.992036,32.354673],[101.992463,32.354552],[101.992889,32.354431],[101.993315,32.35431],[101.993533,32.354231],[101.99375,32.354152],[101.993968,32.354073],[101.994186,32.353994],[101.994403,32.353916],[101.994621,32.353837],[101.994838,32.353703],[101.995056,32.353569],[101.995273,32.353436],[101.99549,32.353302],[101.995708,32.353168],[101.995925,32.353035],[101.996142,32.352901],[101.99636,32.352767],[101.996577,32.352634],[101.996794,32.3525],[101.997012,32.352367],[101.997229,32.352233],[101.997446,32.352099],[101.997664,32.351966],[101.997878,32.351832],[101.998092,32.351699],[101.998306,32.351566],[101.99852,32.351433],[101.998734,32.3513],[101.998949,32.351167],[101.999163,32.351033],[101.999254,32.350977],[101.999255,32.350976],[101.999377,32.3509],[101.999591,32.350767],[101.999805,32.350634],[102.000019,32.350501],[102.000233,32.350368],[102.000238,32.350363],[102.000548,32.350136],[102.000749,32.349989],[102.000749,32.349989],[102.000858,32.349909],[102.001168,32.349683],[102.001268,32.349609],[102.001444,32.349481],[102.00172,32.349279],[102.001932,32.349149],[102.002143,32.349019],[102.002355,32.348889],[102.002566,32.348759],[102.002777,32.348629],[102.002871,32.348571],[102.002989,32.348499],[102.0032,32.348369],[102.003412,32.34824],[102.00377,32.348063],[102.004129,32.347887],[102.004488,32.347711],[102.004741,32.347612],[102.004991,32.347552],[102.005242,32.347492],[102.005476,32.347471],[102.00571,32.34745],[102.005943,32.347469],[102.006176,32.347487],[102.006439,32.347533],[102.006702,32.347578],[102.006946,32.347703],[102.007191,32.347828],[102.007468,32.348171],[102.007745,32.348514],[102.008022,32.348858],[102.008299,32.349201],[102.008456,32.349396],[102.008613,32.349591],[102.00877,32.349786],[102.008927,32.349982],[102.009047,32.350117],[102.009263,32.350175],[102.009606,32.350155],[102.009935,32.350071],[102.010265,32.349987],[102.010531,32.349927],[102.010798,32.349868],[102.011065,32.349808],[102.011331,32.349749],[102.011642,32.349703],[102.011952,32.349657],[102.012335,32.349665],[102.012719,32.349674],[102.013102,32.349683],[102.013536,32.349737],[102.013695,32.349757],[102.013971,32.349791],[102.01426,32.349828],[102.014405,32.349846],[102.014669,32.349852],[102.014933,32.349857],[102.015291,32.349853],[102.01565,32.349848],[102.01593,32.349829],[102.01621,32.349809],[102.016505,32.349817],[102.016801,32.349824],[102.017225,32.349878],[102.017648,32.349931],[102.018072,32.349985],[102.018287,32.350065],[102.018503,32.350145],[102.018718,32.350225],[102.018934,32.350305],[102.01909,32.350363],[102.019111,32.35037],[102.019149,32.350385],[102.019365,32.350465],[102.019465,32.350531],[102.019654,32.350656],[102.019682,32.350674],[102.019944,32.350848],[102.020184,32.351118],[102.020424,32.351389],[102.020728,32.351633],[102.021031,32.351877],[102.021161,32.351955],[102.021305,32.352042],[102.021312,32.352044],[102.021676,32.352156],[102.021939,32.352189],[102.022203,32.352222],[102.022591,32.352231],[102.022868,32.352237],[102.022979,32.35224],[102.023213,32.352232],[102.023446,32.352224],[102.023628,32.352218],[102.02368,32.352216],[102.023913,32.352209],[102.024143,32.352188],[102.024372,32.352167],[102.024601,32.352146],[102.02483,32.352124],[102.02506,32.352103],[102.025289,32.352082],[102.025505,32.35203],[102.025687,32.351986],[102.026085,32.35189],[102.026483,32.351793],[102.026734,32.351714],[102.026876,32.351669],[102.026985,32.351634],[102.027237,32.351555],[102.027488,32.351475],[102.027701,32.351394],[102.027913,32.351313],[102.028126,32.351233],[102.028339,32.351152],[102.028569,32.351012],[102.02863,32.350975],[102.028686,32.350941],[102.0288,32.350872],[102.028994,32.350754],[102.02903,32.350732],[102.029044,32.350724],[102.029066,32.350711],[102.029261,32.350593],[102.029508,32.350317],[102.029756,32.350041],[102.030004,32.349765],[102.030034,32.349732],[102.030147,32.349604],[102.030156,32.349593],[102.030308,32.349422],[102.03046,32.34925],[102.030612,32.349078],[102.030764,32.348906],[102.030916,32.348734],[102.031068,32.348562],[102.03122,32.34839],[102.03136,32.348159],[102.031499,32.347928],[102.031639,32.347697],[102.031779,32.347466],[102.031919,32.347235],[102.032058,32.347004],[102.032198,32.346773],[102.032338,32.346542],[102.032424,32.346289],[102.03251,32.346036],[102.032596,32.345782],[102.032682,32.345529],[102.032769,32.345276],[102.032855,32.345023],[102.032904,32.344773],[102.032954,32.344524],[102.033004,32.344274],[102.033053,32.344024],[102.033103,32.343775],[102.033153,32.343525],[102.033244,32.343274],[102.033335,32.343022],[102.033426,32.342771],[102.033518,32.342519],[102.033609,32.342268],[102.0337,32.342016],[102.033799,32.341765],[102.033897,32.341514],[102.033996,32.341263],[102.034094,32.341012],[102.034193,32.340761],[102.034291,32.34051],[102.03439,32.340259],[102.034488,32.340008],[102.034586,32.339757],[102.034685,32.339505],[102.034811,32.339201],[102.034837,32.339139],[102.034988,32.338773],[102.035015,32.338721],[102.035176,32.338343],[102.03521,32.338295],[102.035324,32.338135],[102.03555,32.337968],[102.035788,32.337855],[102.036127,32.33773],[102.03649,32.337683],[102.036874,32.337704],[102.037258,32.337724],[102.037507,32.337724],[102.037698,32.337707],[102.037858,32.337665],[102.03809,32.337576],[102.038263,32.337617],[102.038376,32.337796],[102.038488,32.338104],[102.03855,32.338276],[102.0386,32.338412],[102.038614,32.33845],[102.038804,32.338849],[102.038923,32.339003],[102.039072,32.339075],[102.039209,32.33914],[102.039298,32.339176],[102.039578,32.339378],[102.03975,32.339456],[102.03981,32.339539],[102.039863,32.33967],[102.039929,32.339824],[102.04,32.339925],[102.040101,32.340009],[102.040375,32.340086],[102.040667,32.340349],[102.040743,32.340401],[102.040989,32.34057],[102.041167,32.340699],[102.041296,32.340849],[102.041353,32.341034],[102.041375,32.341164],[102.041445,32.341577],[102.041545,32.341777],[102.04171,32.34208],[102.041874,32.342383],[102.042006,32.342608],[102.042138,32.342833],[102.042359,32.343104],[102.042502,32.343269],[102.042745,32.343454],[102.042811,32.343479],[102.043016,32.343554],[102.043287,32.34369],[102.043551,32.343768],[102.043815,32.343847],[102.044072,32.343932],[102.044294,32.343961],[102.044615,32.343961],[102.044865,32.343915],[102.045115,32.343868],[102.045339,32.343886],[102.045564,32.343904],[102.0457,32.343975],[102.045828,32.344118],[102.045936,32.344268],[102.046071,32.344575],[102.046159,32.344762],[102.04625,32.344953],[102.046335,32.345216],[102.046335,32.345217],[102.046335,32.345217],[102.046428,32.345374],[102.046678,32.345589],[102.046792,32.345617],[102.047096,32.345716],[102.047239,32.345852],[102.047425,32.346028],[102.047611,32.346204],[102.047797,32.34638],[102.047983,32.346556],[102.048166,32.346692],[102.048348,32.346829],[102.04853,32.346965],[102.048712,32.347101],[102.048895,32.347238],[102.049077,32.347374],[102.049305,32.347531],[102.049534,32.347688],[102.049762,32.347846],[102.049991,32.348003],[102.050219,32.34816],[102.050448,32.348317],[102.050676,32.348474],[102.050905,32.348631],[102.051232,32.348891],[102.051559,32.349151],[102.051887,32.34941],[102.052133,32.349508],[102.052379,32.349606],[102.052749,32.349693],[102.053014,32.349686],[102.053279,32.349679],[102.053513,32.349658],[102.053747,32.349637],[102.053981,32.349617],[102.054216,32.349596],[102.054636,32.349579],[102.055057,32.349562],[102.055384,32.34957],[102.05571,32.349578],[102.05602,32.349612],[102.056331,32.349645],[102.056717,32.34972],[102.057103,32.349796],[102.057536,32.349911],[102.057968,32.350026],[102.058338,32.350128],[102.058631,32.350208],[102.058709,32.35023],[102.058987,32.350275],[102.059266,32.350321],[102.059638,32.350383],[102.060009,32.350444],[102.060197,32.350481],[102.060396,32.350519],[102.060782,32.350594],[102.061046,32.350626],[102.061309,32.350659],[102.061573,32.350691],[102.061836,32.350724],[102.062272,32.35076],[102.06255,32.350832],[102.062828,32.350905],[102.063058,32.351003],[102.063288,32.351101],[102.063478,32.351237],[102.063668,32.351373],[102.063745,32.351428],[102.063942,32.351565],[102.06414,32.351702],[102.064337,32.351839],[102.064535,32.351975],[102.064711,32.352138],[102.064888,32.352301],[102.065087,32.352411],[102.065286,32.35252],[102.06553,32.352631],[102.065717,32.352637],[102.066092,32.352592],[102.06644,32.352455],[102.066787,32.352319],[102.067156,32.352133],[102.067525,32.351948],[102.067894,32.351762],[102.068124,32.351629],[102.068354,32.351496],[102.068584,32.351362],[102.068814,32.351229],[102.069105,32.350919],[102.069395,32.350608],[102.069587,32.350448],[102.069779,32.350288],[102.069971,32.350128],[102.070162,32.349968],[102.070374,32.349794],[102.070586,32.349621],[102.070798,32.349448],[102.07101,32.349275],[102.071221,32.349101],[102.071433,32.348928],[102.071645,32.348755],[102.071857,32.348581],[102.072064,32.348448],[102.072271,32.348314],[102.072478,32.348181],[102.072685,32.348047],[102.072914,32.347933],[102.073143,32.34782],[102.073372,32.347706],[102.073452,32.347666],[102.0736,32.347592],[102.073789,32.34752],[102.073821,32.347508],[102.074042,32.347424],[102.074263,32.34734],[102.074483,32.347256],[102.074704,32.347172],[102.074925,32.347088],[102.075146,32.347004],[102.075366,32.34692],[102.075612,32.346841],[102.075857,32.346763],[102.07613,32.346675],[102.076519,32.34654],[102.076542,32.346532],[102.076908,32.346405],[102.07711,32.346335],[102.077297,32.34627],[102.077686,32.346135],[102.078075,32.346],[102.078465,32.345865],[102.078854,32.34573],[102.079243,32.345595],[102.079632,32.34546],[102.079876,32.345386],[102.080121,32.345312],[102.080462,32.345186],[102.080803,32.34506],[102.081145,32.344934],[102.081486,32.344808],[102.081827,32.344682],[102.082059,32.3446],[102.082291,32.344518],[102.082491,32.344404],[102.082712,32.344275],[102.082838,32.34422],[102.082955,32.344168],[102.08326,32.344042],[102.083564,32.343916],[102.083869,32.34379],[102.084233,32.343554],[102.084383,32.343461],[102.084547,32.343426],[102.084711,32.343383],[102.084904,32.343297],[102.085197,32.343126],[102.085211,32.343122],[102.085389,32.343076],[102.085596,32.343069],[102.085903,32.342997],[102.086125,32.342876],[102.08626,32.342698],[102.08641,32.342526],[102.086532,32.342441],[102.086917,32.342276],[102.087203,32.342148],[102.087438,32.342019],[102.087688,32.341927],[102.088038,32.341798],[102.08838,32.341691],[102.088659,32.341613],[102.088823,32.341548],[102.088916,32.341441],[102.089116,32.34127],[102.089315,32.341177],[102.089465,32.34107],[102.089587,32.340884],[102.08973,32.340635],[102.08987,32.340335],[102.09001,32.340035],[102.090151,32.339735],[102.090161,32.339439],[102.090172,32.339143],[102.090186,32.338893],[102.090201,32.338643],[102.090236,32.3383],[102.090244,32.338268],[102.090297,32.338049],[102.090351,32.337829],[102.09046,32.337425],[102.09057,32.337021],[102.0906,32.336908],[102.090679,32.336666],[102.090686,32.336451],[102.09067,32.336369],[102.090586,32.335952],[102.090565,32.335758],[102.090529,32.335416],[102.090436,32.335138],[102.090429,32.334917],[102.090472,32.33471],[102.090465,32.334531],[102.090379,32.334331],[102.090343,32.334103],[102.090408,32.333967],[102.090508,32.333882],[102.090757,32.333746],[102.090936,32.333525],[102.091057,32.333175],[102.091129,32.332847],[102.091137,32.332429],[102.091145,32.332011],[102.09119,32.331725],[102.09119,32.331722],[102.091191,32.331721],[102.091193,32.331707],[102.091269,32.331431],[102.091357,32.331313],[102.091383,32.331279],[102.091545,32.331079],[102.091707,32.330879],[102.091816,32.330674],[102.091926,32.330469],[102.092069,32.330232],[102.09224,32.329927],[102.092402,32.32966],[102.092563,32.329394],[102.092699,32.3292],[102.092787,32.329076],[102.093075,32.328841],[102.093295,32.32866],[102.093515,32.32848],[102.093715,32.328352],[102.093915,32.328223],[102.094181,32.328081],[102.094372,32.328033],[102.0946,32.327957],[102.094762,32.327728],[102.094924,32.3275],[102.095114,32.327291],[102.095305,32.327081],[102.09539,32.326862],[102.095457,32.326746],[102.095581,32.326529],[102.095571,32.326158],[102.095504,32.32583],[102.095438,32.325501],[102.095448,32.325322],[102.095457,32.325168],[102.095562,32.32493],[102.095666,32.324692],[102.095799,32.324527],[102.095942,32.32435],[102.096099,32.324093],[102.096256,32.323836],[102.096409,32.323563],[102.096561,32.32329],[102.096713,32.323017],[102.096846,32.322789],[102.097075,32.322551],[102.097208,32.322341],[102.097341,32.322132],[102.097379,32.321922],[102.097484,32.321665],[102.097646,32.321504],[102.097806,32.321201],[102.097965,32.320897],[102.09809,32.320739],[102.098342,32.320455],[102.098595,32.320171],[102.098848,32.319887],[102.099024,32.319768],[102.099029,32.319765],[102.099301,32.319603],[102.099574,32.319442],[102.099851,32.319321],[102.100084,32.319219],[102.100316,32.319117],[102.100549,32.319016],[102.100782,32.318914],[102.101014,32.318813],[102.101247,32.318711],[102.101479,32.318609],[102.101712,32.318508],[102.101945,32.318406],[102.102177,32.318304],[102.10241,32.318203],[102.102643,32.318101],[102.102875,32.317999],[102.103108,32.317898],[102.103341,32.317796],[102.103573,32.317694],[102.103784,32.317611],[102.103995,32.317527],[102.104206,32.317444],[102.104417,32.31736],[102.104628,32.317277],[102.104839,32.317193],[102.10505,32.31711],[102.105261,32.317026],[102.105472,32.316943],[102.105683,32.316859],[102.10608,32.316679],[102.106476,32.316499],[102.106873,32.316319],[102.107269,32.316139],[102.107477,32.316022],[102.107685,32.315906],[102.107894,32.31579],[102.108102,32.315674],[102.10831,32.315558],[102.108518,32.315441],[102.108872,32.315249],[102.109153,32.315096],[102.109153,32.315096],[102.109225,32.315057],[102.109578,32.314865],[102.109988,32.3147],[102.110397,32.314534],[102.110806,32.314369],[102.111195,32.314241],[102.111583,32.314113],[102.111972,32.313985],[102.112236,32.313881],[102.112499,32.313777],[102.112729,32.313592],[102.112922,32.313375],[102.112935,32.312995],[102.112907,32.31268],[102.112902,32.312621],[102.11288,32.312364],[102.11285,32.312139],[102.11282,32.311913],[102.11279,32.311687],[102.112759,32.311462],[102.112729,32.311236],[102.112699,32.31101],[102.112669,32.310785],[102.112639,32.310559],[102.112646,32.310323],[102.112654,32.310086],[102.112736,32.309852],[102.112818,32.309617],[102.1129,32.309382],[102.112982,32.309147],[102.113068,32.308786],[102.113153,32.308425],[102.113148,32.307998],[102.113143,32.307572],[102.113122,32.307339],[102.113102,32.307105],[102.113081,32.306872],[102.113061,32.306639],[102.11304,32.306406],[102.11302,32.306173],[102.112999,32.305939],[102.112979,32.305706],[102.112968,32.305474],[102.112956,32.305243],[102.112945,32.305011],[102.112934,32.304779],[102.112923,32.304547],[102.112911,32.304316],[102.112936,32.30409],[102.112962,32.303864],[102.112987,32.303639],[102.113012,32.303413],[102.113136,32.303006],[102.113261,32.302598],[102.113495,32.302288],[102.113523,32.302261],[102.113725,32.302072],[102.114149,32.301987],[102.114573,32.301902],[102.114926,32.301831],[102.114998,32.301817],[102.115437,32.301748],[102.115876,32.301679],[102.116315,32.301611],[102.11661,32.301564],[102.116755,32.301542],[102.117153,32.301509],[102.117551,32.301476],[102.117949,32.301443],[102.118265,32.301434],[102.118582,32.301425],[102.118952,32.301466],[102.119323,32.301506],[102.119768,32.301516],[102.120192,32.301636],[102.120507,32.301725],[102.120617,32.301757],[102.12065,32.30178],[102.120999,32.302025],[102.121035,32.302051],[102.121381,32.302294],[102.121572,32.302429],[102.121764,32.302563],[102.121955,32.302697],[102.122146,32.302832],[102.12251,32.303093],[102.122873,32.303354],[102.122873,32.303354],[102.122873,32.303354],[102.123203,32.303488],[102.123534,32.303622],[102.123923,32.303678],[102.124312,32.303734],[102.124696,32.303753],[102.12508,32.303773],[102.125463,32.303792],[102.125815,32.303793],[102.126167,32.303795],[102.126419,32.303796],[102.12667,32.303797],[102.127107,32.303799],[102.127174,32.303799],[102.127191,32.3038],[102.127456,32.303818],[102.127721,32.303835],[102.127994,32.303853],[102.128268,32.303871],[102.128541,32.303889],[102.128815,32.303907],[102.12917,32.30393],[102.129362,32.303943],[102.129602,32.30398],[102.129843,32.304017],[102.130084,32.304054],[102.130325,32.304092],[102.130749,32.304196],[102.131173,32.3043],[102.131467,32.304402],[102.131761,32.304503],[102.13202,32.304556],[102.132279,32.304609],[102.132614,32.304617],[102.132767,32.304495],[102.13278,32.304464],[102.132864,32.304278],[102.132864,32.304278],[102.132886,32.304229],[102.133006,32.303964],[102.133065,32.303704],[102.133101,32.303546],[102.133104,32.303534],[102.133104,32.303534],[102.133124,32.303445],[102.133184,32.303186],[102.133243,32.302927],[102.133257,32.302865],[102.133302,32.302667],[102.133362,32.302408],[102.133421,32.302149],[102.13348,32.30189],[102.133566,32.301545],[102.133587,32.301461],[102.133653,32.3012],[102.13381,32.30092],[102.133894,32.300769],[102.133967,32.300639],[102.134215,32.30044],[102.134462,32.30024],[102.134679,32.300097],[102.134785,32.300027],[102.134968,32.299906],[102.135108,32.299813],[102.135353,32.299701],[102.135598,32.29959],[102.135865,32.299406],[102.135942,32.299353],[102.136131,32.299223],[102.136325,32.298959],[102.13652,32.298695],[102.136643,32.298455],[102.136765,32.298215],[102.136888,32.297975],[102.137011,32.297734],[102.137134,32.297494],[102.137257,32.297254],[102.137379,32.297014],[102.137502,32.296774],[102.137625,32.296533],[102.137748,32.296293],[102.137851,32.296075],[102.137955,32.295856],[102.138059,32.295637],[102.138162,32.295419],[102.138266,32.2952],[102.138369,32.294982],[102.138473,32.294763],[102.138577,32.294544],[102.13868,32.294326],[102.138784,32.294107],[102.13888,32.293857],[102.138976,32.293606],[102.139073,32.293356],[102.139169,32.293105],[102.139265,32.292855],[102.139361,32.292604],[102.139457,32.292354],[102.139554,32.292103],[102.139727,32.291781],[102.139844,32.291564],[102.13996,32.291347],[102.140077,32.29113],[102.140194,32.290914],[102.14031,32.290697],[102.140427,32.29048],[102.140543,32.290263],[102.14066,32.290046],[102.140819,32.289853],[102.140979,32.289659],[102.141244,32.289507],[102.141509,32.289354],[102.141847,32.289267],[102.142083,32.289207],[102.142184,32.289181],[102.142484,32.289109],[102.142784,32.289036],[102.143193,32.289046],[102.143433,32.289083],[102.143674,32.28912],[102.144042,32.289255],[102.14441,32.289389],[102.14463,32.289481],[102.144851,32.289573],[102.145071,32.289665],[102.145292,32.289756],[102.145386,32.289796],[102.145418,32.289809],[102.145512,32.289848],[102.145732,32.28994],[102.145953,32.290032],[102.145967,32.290038],[102.146173,32.290124],[102.146411,32.290261],[102.146648,32.290397],[102.146885,32.290534],[102.147123,32.290671],[102.14736,32.290808],[102.147597,32.290945],[102.147925,32.291184],[102.148252,32.291423],[102.148579,32.291662],[102.148731,32.291776],[102.148737,32.291781],[102.149051,32.292019],[102.149212,32.292228],[102.149373,32.292437],[102.149459,32.29266],[102.149545,32.292883],[102.149541,32.29296],[102.14953,32.293151],[102.149515,32.293419],[102.149513,32.293471],[102.149548,32.293716],[102.149584,32.29396],[102.149588,32.294227],[102.149582,32.29457],[102.149575,32.294914],[102.149569,32.295257],[102.149562,32.2956],[102.149522,32.29595],[102.149481,32.2963],[102.149441,32.296649],[102.1494,32.296999],[102.149389,32.297378],[102.149377,32.297757],[102.149365,32.298136],[102.14941,32.298528],[102.149432,32.298718],[102.149456,32.298921],[102.1495,32.299116],[102.14957,32.299418],[102.149639,32.29972],[102.149709,32.300022],[102.149804,32.30025],[102.149899,32.300479],[102.150008,32.300698],[102.150018,32.300717],[102.150118,32.300917],[102.150321,32.301234],[102.150548,32.301588],[102.150776,32.301942],[102.150924,32.302173],[102.151003,32.302297],[102.151193,32.302544],[102.151384,32.302792],[102.151574,32.303039],[102.15175,32.303182],[102.151787,32.303212],[102.151926,32.303325],[102.152212,32.303567],[102.152378,32.303708],[102.152497,32.30381],[102.152635,32.304015],[102.152773,32.304219],[102.152897,32.304533],[102.152983,32.30479],[102.153013,32.305201],[102.153021,32.305304],[102.153173,32.305475],[102.153306,32.305623],[102.153592,32.305942],[102.15383,32.306123],[102.153935,32.306153],[102.15423,32.306237],[102.154591,32.306247],[102.154953,32.306256],[102.155272,32.306304],[102.155581,32.306351],[102.155962,32.306375],[102.156343,32.306399],[102.156714,32.306361],[102.157085,32.306323],[102.157404,32.306318],[102.157723,32.306313],[102.157989,32.306366],[102.158256,32.306418],[102.158503,32.306518],[102.158751,32.306618],[102.159021,32.306746],[102.159274,32.306865],[102.159617,32.307037],[102.159633,32.30704],[102.160035,32.307122],[102.160359,32.307094],[102.160673,32.307113],[102.160987,32.307132],[102.161315,32.307079],[102.161576,32.307085],[102.161814,32.30709],[102.162052,32.307096],[102.162393,32.307067],[102.162499,32.307059],[102.162947,32.307021],[102.163339,32.306968],[102.163731,32.306914],[102.164135,32.306839],[102.164539,32.306764],[102.164803,32.306628],[102.165067,32.306492],[102.165404,32.306197],[102.165741,32.305901],[102.166077,32.305606],[102.166414,32.305311],[102.166751,32.305015],[102.166949,32.304841],[102.167146,32.304666],[102.167344,32.304491],[102.167542,32.304317],[102.16774,32.304142],[102.167937,32.303968],[102.16822,32.303832],[102.168503,32.303696],[102.168748,32.303607],[102.168993,32.303518],[102.169237,32.30346],[102.16948,32.303403],[102.169815,32.30341],[102.16988,32.303412],[102.169845,32.303446],[102.169594,32.303676],[102.169317,32.303862],[102.168943,32.304276],[102.168019,32.306366],[102.167576,32.307548],[102.167377,32.308079],[102.167013,32.309607],[102.166521,32.310901],[102.165894,32.312154],[102.165725,32.313225],[102.165819,32.31544],[102.165822,32.315506],[102.16583,32.315684],[102.166,32.317454],[102.165875,32.318564],[102.165879,32.319908],[102.165852,32.320752],[102.16556,32.321436],[102.165261,32.322312],[102.164763,32.323798],[102.164401,32.324716],[102.164246,32.325109],[102.164223,32.325168],[102.164139,32.32538],[102.164095,32.325494],[102.163923,32.325912],[102.163901,32.325966],[102.163733,32.326386],[102.163562,32.327495],[102.163611,32.32884],[102.1638,32.330034],[102.164263,32.331119],[102.164698,32.332057],[102.165002,32.332933],[102.164927,32.33305],[102.164921,32.333151],[102.164966,32.333262],[102.165103,32.333333],[102.165265,32.333494],[102.165327,32.333515],[102.165355,32.333563],[102.165421,32.333701],[102.165478,32.333762],[102.165537,32.333789],[102.165603,32.333798],[102.165716,32.333792],[102.165755,32.333809],[102.165778,32.333851],[102.165776,32.333895],[102.165787,32.333925],[102.165879,32.333994],[102.16591,32.334055],[102.165947,32.334241],[102.165978,32.334479],[102.166016,32.334589],[102.166032,32.334606],[102.166071,32.334624],[102.166216,32.334649],[102.166258,32.334664],[102.166336,32.334723],[102.166422,32.334808],[102.166537,32.334869],[102.166574,32.334914],[102.166714,32.335083],[102.166719,32.335091],[102.166732,32.335105],[102.166736,32.335109],[102.166782,32.335155],[102.166812,32.335183],[102.167022,32.335392],[102.167046,32.335415],[102.167094,32.335462],[102.167098,32.335466],[102.16714,32.335508],[102.167202,32.335569],[102.167511,32.335862],[102.167556,32.335904],[102.167621,32.335966],[102.167638,32.335982],[102.167643,32.335987],[102.167743,32.336079],[102.167747,32.336085],[102.167753,32.336091],[102.167762,32.3361],[102.168319,32.336685],[102.168431,32.337185],[102.168437,32.33722],[102.168446,32.33725],[102.168447,32.337257],[102.16848,32.337268],[102.16851,32.337278],[102.168534,32.337302],[102.168524,32.33739],[102.168542,32.337441],[102.168541,32.337492],[102.168541,32.337528],[102.168539,32.337535],[102.168535,32.337548],[102.168557,32.337613],[102.168537,32.33769],[102.168599,32.337739],[102.168648,32.337886],[102.168656,32.337908],[102.168695,32.338026],[102.16871,32.338046],[102.168724,32.338064],[102.168706,32.338073],[102.168662,32.338085],[102.168636,32.338108],[102.16863,32.338193],[102.168652,32.338305],[102.168628,32.33835],[102.168625,32.338407],[102.168657,32.338453],[102.168681,32.33847],[102.168826,32.338501],[102.168919,32.338527],[102.168967,32.338549],[102.168877,32.338701],[102.16885,32.338779],[102.168845,32.338818],[102.168854,32.33887],[102.168911,32.338904],[102.168924,32.338927],[102.168917,32.338955],[102.16888,32.339004],[102.168871,32.339067],[102.168877,32.339098],[102.168917,32.33916],[102.168926,32.339189],[102.168927,32.339263],[102.168939,32.339325],[102.168975,32.339393],[102.169,32.339417],[102.169033,32.339436],[102.169148,32.339476],[102.169265,32.339532],[102.169289,32.339556],[102.169296,32.339581],[102.169292,32.339627],[102.169265,32.339678],[102.169191,32.33975],[102.169152,32.339809],[102.169073,32.339858],[102.169059,32.339899],[102.169067,32.339937],[102.169091,32.339965],[102.169129,32.339989],[102.169175,32.339999],[102.169182,32.340009],[102.169179,32.340024],[102.169101,32.340141],[102.169082,32.340246],[102.16909,32.340348],[102.169105,32.3404],[102.169128,32.340437],[102.169203,32.34049],[102.169201,32.340517],[102.169106,32.340527],[102.168871,32.340522],[102.168826,32.340541],[102.16882,32.340556],[102.168806,32.340588],[102.16881,32.340624],[102.168829,32.34064],[102.168851,32.34066],[102.168968,32.340699],[102.169081,32.340707],[102.169123,32.340734],[102.169122,32.340771],[102.169085,32.340813],[102.169058,32.340888],[102.169046,32.340959],[102.16905,32.341032],[102.169086,32.341122],[102.169198,32.341218],[102.16922,32.341248],[102.169245,32.34133],[102.169253,32.34139],[102.169249,32.341475],[102.169187,32.341653],[102.169157,32.341827],[102.169148,32.341922],[102.169152,32.342147],[102.169143,32.34219],[102.169111,32.342241],[102.169045,32.342282],[102.169023,32.342288],[102.168948,32.342282],[102.168926,32.342287],[102.168913,32.342304],[102.168918,32.342344],[102.168939,32.342378],[102.169071,32.34248],[102.16909,32.342501],[102.16912,32.342534],[102.169129,32.342545],[102.169147,32.342589],[102.16913,32.342682],[102.169148,32.342717],[102.169168,32.342739],[102.16923,32.342777],[102.16933,32.3428],[102.169382,32.342887],[102.169483,32.342965],[102.169526,32.342982],[102.169633,32.343007],[102.169662,32.343027],[102.169675,32.343113],[102.169693,32.34315],[102.169716,32.343183],[102.169762,32.343222],[102.169723,32.343359],[102.16974,32.343422],[102.169767,32.343456],[102.169801,32.34347],[102.169867,32.343473],[102.16991,32.343487],[102.16993,32.343501],[102.169974,32.343566],[102.170012,32.343584],[102.170085,32.343598],[102.170178,32.343584],[102.170216,32.343578],[102.170253,32.343622],[102.170259,32.343651],[102.170254,32.343703],[102.170252,32.34373],[102.170278,32.3441],[102.170274,32.344147],[102.17025,32.344219],[102.170152,32.344396],[102.170104,32.344464],[102.170078,32.344489],[102.169965,32.344557],[102.169782,32.344693],[102.169763,32.344716],[102.169742,32.344742],[102.169724,32.344802],[102.169729,32.344829],[102.169747,32.344857],[102.169821,32.344921],[102.169903,32.344971],[102.169938,32.345017],[102.169951,32.3451],[102.169952,32.345233],[102.169974,32.345376],[102.169977,32.345398],[102.170054,32.345677],[102.170068,32.345763],[102.170101,32.345842],[102.170133,32.345886],[102.170143,32.345896],[102.170219,32.345971],[102.170262,32.345999],[102.170368,32.346048],[102.170402,32.346079],[102.170417,32.346112],[102.170425,32.346144],[102.170419,32.346185],[102.170335,32.34625],[102.170314,32.346288],[102.170297,32.346357],[102.170292,32.346408],[102.170278,32.346537],[102.170283,32.346606],[102.170302,32.346678],[102.170357,32.346782],[102.170398,32.346828],[102.170423,32.346844],[102.170465,32.346855],[102.170633,32.34686],[102.170662,32.346868],[102.170699,32.346909],[102.170727,32.346989],[102.170749,32.347024],[102.170787,32.347067],[102.170826,32.347085],[102.170881,32.347086],[102.170982,32.347058],[102.171085,32.346999],[102.171222,32.346903],[102.171288,32.34688],[102.171363,32.346853],[102.171455,32.346848],[102.171548,32.346866],[102.171613,32.346894],[102.171646,32.346928],[102.171671,32.347008],[102.171661,32.347055],[102.171562,32.347183],[102.171526,32.347229],[102.171437,32.34743],[102.171363,32.34756],[102.17103,32.348018],[102.171015,32.34806],[102.170996,32.34811],[102.170998,32.348207],[102.171014,32.348252],[102.171066,32.348296],[102.171121,32.34832],[102.171203,32.348334],[102.171262,32.348319],[102.171371,32.34826],[102.171541,32.348193],[102.171633,32.348157],[102.171713,32.348155],[102.17174,32.348176],[102.171758,32.348217],[102.171764,32.348254],[102.171756,32.348413],[102.171746,32.348432],[102.171697,32.348471],[102.171652,32.348522],[102.17164,32.348554],[102.17165,32.348581],[102.171718,32.348673],[102.171724,32.348696],[102.17171,32.348738],[102.17164,32.348765],[102.171618,32.348796],[102.171662,32.348993],[102.171672,32.349019],[102.171718,32.349139],[102.171786,32.349255],[102.171838,32.349308],[102.171929,32.349373],[102.171968,32.349411],[102.171983,32.349425],[102.172055,32.349517],[102.172113,32.349665],[102.172164,32.349765],[102.172178,32.349843],[102.172167,32.349904],[102.172128,32.349964],[102.171938,32.350074],[102.171907,32.350106],[102.171896,32.35013],[102.17189,32.350183],[102.171902,32.350277],[102.171938,32.350361],[102.172068,32.350508],[102.172169,32.350662],[102.172248,32.350737],[102.172475,32.350905],[102.172566,32.350973],[102.172618,32.351045],[102.172636,32.351095],[102.172634,32.351145],[102.172616,32.35121],[102.172582,32.351279],[102.17254,32.351329],[102.172431,32.351391],[102.17229,32.351448],[102.17226,32.351464],[102.172188,32.351504],[102.17211,32.351561],[102.17206,32.351623],[102.172034,32.351672],[102.171988,32.351756],[102.171954,32.351843],[102.171937,32.351919],[102.171934,32.352105],[102.17191,32.352192],[102.171882,32.352205],[102.171744,32.352198],[102.171706,32.352203],[102.171625,32.352249],[102.171604,32.35227],[102.171589,32.352302],[102.171592,32.352337],[102.171615,32.352391],[102.171626,32.352404],[102.171665,32.352448],[102.171722,32.352481],[102.171834,32.352528],[102.172203,32.352624],[102.172239,32.352665],[102.172272,32.35276],[102.172255,32.35327],[102.17223,32.353346],[102.172199,32.353378],[102.172148,32.353398],[102.172115,32.353399],[102.17193,32.353368],[102.171848,32.353345],[102.171727,32.353282],[102.171601,32.353232],[102.171572,32.353229],[102.171547,32.353236],[102.171509,32.353286],[102.1715,32.353331],[102.171519,32.353383],[102.171707,32.353686],[102.171789,32.353776],[102.171789,32.353806],[102.171753,32.353903],[102.171752,32.353948],[102.171773,32.354048],[102.171821,32.354155],[102.171823,32.354223],[102.171808,32.354257],[102.171785,32.354281],[102.171707,32.35433],[102.171537,32.354369],[102.171411,32.354429],[102.171355,32.354479],[102.171345,32.354493],[102.171312,32.354543],[102.171285,32.354639],[102.171297,32.354708],[102.171339,32.354748],[102.171395,32.354777],[102.171554,32.354859],[102.171573,32.354877],[102.171577,32.354915],[102.171556,32.354979],[102.171511,32.35505],[102.17149,32.355063],[102.171457,32.355066],[102.171395,32.35507],[102.171365,32.355086],[102.17135,32.355109],[102.171353,32.355127],[102.171384,32.355181],[102.171463,32.355266],[102.171473,32.355317],[102.171464,32.355352],[102.171439,32.355373],[102.171342,32.355415],[102.171199,32.355432],[102.171176,32.355448],[102.171164,32.355483],[102.171165,32.355509],[102.171176,32.355528],[102.171261,32.355566],[102.171305,32.355599],[102.171346,32.355649],[102.171372,32.355711],[102.171379,32.355773],[102.171329,32.355919],[102.171326,32.355972],[102.171364,32.356163],[102.171368,32.356279],[102.171391,32.35637],[102.171407,32.356401],[102.17143,32.356428],[102.17146,32.356446],[102.171552,32.356468],[102.17158,32.35647],[102.171642,32.356474],[102.171766,32.35645],[102.1718,32.356454],[102.171841,32.356496],[102.171863,32.356548],[102.171866,32.356598],[102.171849,32.356651],[102.17181,32.356693],[102.171479,32.35678],[102.17142,32.356808],[102.171401,32.35683],[102.171391,32.356879],[102.171401,32.356928],[102.171426,32.356954],[102.171502,32.356999],[102.171563,32.357065],[102.171565,32.357122],[102.171547,32.357157],[102.171486,32.357186],[102.171434,32.35719],[102.171309,32.357146],[102.171192,32.357081],[102.171125,32.357076],[102.171077,32.357091],[102.171047,32.357128],[102.171007,32.357212],[102.170997,32.357263],[102.170984,32.357553],[102.170972,32.357586],[102.170934,32.357632],[102.170912,32.357645],[102.170892,32.357643],[102.170817,32.357611],[102.170732,32.357562],[102.170676,32.357546],[102.170606,32.35755],[102.170529,32.357569],[102.170476,32.357598],[102.170426,32.357646],[102.17024,32.35793],[102.170221,32.35798],[102.170216,32.357994],[102.170225,32.358092],[102.170244,32.358132],[102.170256,32.358148],[102.170345,32.358277],[102.170366,32.358344],[102.170355,32.358375],[102.170265,32.358475],[102.170244,32.358498],[102.170224,32.358563],[102.170225,32.358642],[102.17023,32.358661],[102.170252,32.358731],[102.170367,32.358887],[102.170438,32.359024],[102.170472,32.359122],[102.170481,32.359192],[102.170478,32.359236],[102.170457,32.359262],[102.170404,32.359294],[102.170374,32.359304],[102.170223,32.359327],[102.170156,32.359349],[102.170051,32.359416],[102.170001,32.359484],[102.169963,32.35951],[102.169942,32.359512],[102.169894,32.359489],[102.169873,32.359472],[102.169857,32.359439],[102.169851,32.359377],[102.169867,32.359225],[102.169857,32.359184],[102.169831,32.359143],[102.169807,32.359126],[102.169753,32.35911],[102.169642,32.359099],[102.169593,32.359109],[102.169568,32.359126],[102.169537,32.359174],[102.169517,32.359237],[102.169516,32.359272],[102.169538,32.359405],[102.169549,32.359438],[102.169622,32.359654],[102.169621,32.359695],[102.169587,32.359745],[102.169536,32.359783],[102.169503,32.359791],[102.169426,32.359793],[102.169367,32.359825],[102.169307,32.359889],[102.169269,32.359971],[102.169243,32.359977],[102.169189,32.359971],[102.169095,32.359944],[102.169061,32.359925],[102.16904,32.359892],[102.168999,32.359727],[102.168987,32.359679],[102.168936,32.359644],[102.168892,32.359632],[102.168864,32.359632],[102.168822,32.359649],[102.168799,32.359669],[102.168736,32.359758],[102.168642,32.359892],[102.168509,32.359999],[102.168474,32.360055],[102.168461,32.360113],[102.168508,32.360247],[102.16851,32.360305],[102.168493,32.360332],[102.168329,32.360274],[102.168202,32.360208],[102.168135,32.3602],[102.168093,32.360207],[102.16792,32.360263],[102.16777,32.360267],[102.167718,32.360282],[102.167691,32.360307],[102.167662,32.360366],[102.167647,32.360453],[102.167602,32.360483],[102.167517,32.360499],[102.167423,32.360475],[102.16735,32.360467],[102.167309,32.360476],[102.167299,32.360485],[102.167292,32.360491],[102.167267,32.360568],[102.167272,32.360624],[102.167287,32.360669],[102.16733,32.360748],[102.167338,32.360762],[102.167385,32.360805],[102.167496,32.360826],[102.167508,32.360841],[102.16747,32.360919],[102.167426,32.360977],[102.167403,32.360995],[102.167326,32.361023],[102.167297,32.361049],[102.167291,32.361079],[102.167317,32.361267],[102.167298,32.361326],[102.167272,32.361357],[102.167177,32.361399],[102.167123,32.361436],[102.16708,32.361486],[102.167044,32.361546],[102.166951,32.361774],[102.166935,32.361833],[102.166928,32.361931],[102.166929,32.361939],[102.166941,32.362036],[102.167,32.362201],[102.167039,32.362247],[102.167095,32.362286],[102.167155,32.362305],[102.167195,32.362308],[102.167294,32.362299],[102.167412,32.36227],[102.167496,32.362266],[102.167529,32.362277],[102.167632,32.362341],[102.167687,32.362384],[102.167729,32.362436],[102.16774,32.362479],[102.167732,32.3628],[102.16775,32.362837],[102.16779,32.362878],[102.167823,32.362885],[102.16785,32.362873],[102.167862,32.362862],[102.167942,32.36278],[102.167971,32.362762],[102.168041,32.362751],[102.168063,32.362756],[102.168087,32.362825],[102.168085,32.362884],[102.168024,32.363037],[102.168006,32.363051],[102.167901,32.363064],[102.167846,32.363088],[102.167797,32.363124],[102.167783,32.363167],[102.167804,32.363226],[102.167823,32.363252],[102.167844,32.363266],[102.167879,32.363274],[102.168007,32.363276],[102.168025,32.363283],[102.168038,32.363307],[102.168045,32.36336],[102.168041,32.363372],[102.168021,32.363383],[102.167923,32.363402],[102.167807,32.363446],[102.167562,32.363567],[102.167037,32.363758],[102.166873,32.36383],[102.166824,32.363859],[102.166802,32.363901],[102.166783,32.364],[102.166782,32.364058],[102.166957,32.364539],[102.166967,32.364621],[102.166964,32.364696],[102.166962,32.364724],[102.16695,32.364749],[102.166903,32.364768],[102.166822,32.36478],[102.166729,32.364779],[102.166681,32.364791],[102.166648,32.364813],[102.166597,32.364869],[102.166573,32.364939],[102.166578,32.365003],[102.166609,32.365039],[102.166667,32.365059],[102.166765,32.365072],[102.166876,32.36506],[102.167163,32.364995],[102.167209,32.364984],[102.16735,32.364963],[102.167472,32.364956],[102.167658,32.364969],[102.167707,32.364984],[102.167772,32.365021],[102.16787,32.365104],[102.167919,32.365161],[102.167947,32.365194],[102.167986,32.365265],[102.16801,32.36534],[102.168009,32.365413],[102.167994,32.365468],[102.16797,32.365495],[102.167908,32.365525],[102.167769,32.365546],[102.167709,32.365578],[102.167653,32.365625],[102.167606,32.36568],[102.167581,32.365729],[102.167573,32.365776],[102.167577,32.365817],[102.167593,32.365852],[102.167646,32.365909],[102.167681,32.365928],[102.167735,32.365924],[102.167841,32.365877],[102.16786,32.365875],[102.16788,32.365885],[102.167908,32.365912],[102.167918,32.365934],[102.167907,32.366011],[102.167853,32.36611],[102.167739,32.366152],[102.167694,32.366179],[102.167614,32.366242],[102.16758,32.366279],[102.167542,32.366341],[102.167533,32.366374],[102.167545,32.366463],[102.167567,32.3665],[102.167592,32.366519],[102.167653,32.36654],[102.167746,32.366553],[102.1678,32.366549],[102.167941,32.366518],[102.168047,32.366471],[102.168128,32.366436],[102.168223,32.366436],[102.16831,32.36646],[102.168316,32.366464],[102.168354,32.36649],[102.168381,32.366519],[102.168404,32.366558],[102.168429,32.3666],[102.168464,32.366718],[102.168486,32.366788],[102.168482,32.366907],[102.168504,32.366954],[102.168547,32.366978],[102.168628,32.366998],[102.168645,32.367002],[102.168663,32.367001],[102.168738,32.366995],[102.168829,32.366988],[102.168878,32.366994],[102.168976,32.367031],[102.169023,32.36706],[102.169052,32.367089],[102.169066,32.367124],[102.16907,32.367174],[102.169049,32.367237],[102.168976,32.367326],[102.168907,32.367455],[102.168828,32.367566],[102.168738,32.367663],[102.168652,32.367733],[102.168603,32.367816],[102.168597,32.36788],[102.168637,32.367966],[102.168635,32.368045],[102.168616,32.368117],[102.168552,32.36817],[102.168535,32.368194],[102.168529,32.368238],[102.168541,32.36829],[102.168577,32.368347],[102.168625,32.368368],[102.168687,32.36837],[102.168739,32.368364],[102.168831,32.368328],[102.168881,32.368338],[102.168944,32.368372],[102.169007,32.368433],[102.169072,32.368451],[102.169112,32.368441],[102.169155,32.368383],[102.169178,32.368363],[102.169185,32.368357],[102.169313,32.368295],[102.169356,32.368282],[102.169427,32.368274],[102.169469,32.368277],[102.169487,32.368279],[102.169507,32.368289],[102.169512,32.368345],[102.169514,32.368363],[102.169498,32.368414],[102.169462,32.368533],[102.169462,32.368612],[102.169472,32.368669],[102.1695,32.368737],[102.16961,32.368871],[102.169668,32.368941],[102.169684,32.368983],[102.16969,32.369029],[102.169687,32.369057],[102.169685,32.369077],[102.169684,32.36909],[102.169682,32.369114],[102.169664,32.36919],[102.169619,32.369298],[102.169595,32.369384],[102.169589,32.369443],[102.169594,32.369468],[102.169625,32.369514],[102.169694,32.369575],[102.169718,32.369591],[102.169858,32.369687],[102.169895,32.369735],[102.169914,32.369784],[102.169884,32.369886],[102.169856,32.369935],[102.1698,32.369988],[102.169709,32.370051],[102.169656,32.370114],[102.169651,32.370131],[102.169658,32.370152],[102.169752,32.370221],[102.16974,32.370263],[102.169715,32.37028],[102.169611,32.370292],[102.169547,32.370323],[102.169507,32.370358],[102.16948,32.370425],[102.169484,32.370471],[102.169517,32.370542],[102.169533,32.37063],[102.16956,32.37069],[102.169604,32.370733],[102.169626,32.370755],[102.169781,32.37086],[102.169801,32.370894],[102.169799,32.370951],[102.169759,32.37098],[102.169705,32.370998],[102.169495,32.370997],[102.16947,32.370981],[102.169383,32.370867],[102.16934,32.370827],[102.169328,32.370822],[102.169286,32.370803],[102.169248,32.370797],[102.169226,32.370803],[102.169209,32.370821],[102.169193,32.370869],[102.169204,32.370976],[102.1692,32.371021],[102.169126,32.371047],[102.169103,32.371085],[102.169099,32.371108],[102.169115,32.371142],[102.169229,32.371224],[102.169271,32.371268],[102.169288,32.371316],[102.169289,32.371398],[102.169268,32.371455],[102.169184,32.37148],[102.169127,32.371533],[102.169064,32.371659],[102.16904,32.371789],[102.16905,32.371847],[102.169077,32.371883],[102.169115,32.371908],[102.169142,32.371925],[102.16925,32.37195],[102.169273,32.371982],[102.169276,32.371999],[102.169145,32.372039],[102.169128,32.372053],[102.169121,32.372068],[102.169142,32.372129],[102.169167,32.372149],[102.169231,32.372176],[102.169236,32.372212],[102.169223,32.372225],[102.16898,32.372278],[102.168864,32.372323],[102.168815,32.372373],[102.168781,32.372437],[102.16876,32.372475],[102.168743,32.372533],[102.168746,32.372591],[102.168759,32.372618],[102.168799,32.372651],[102.16885,32.372657],[102.168924,32.37263],[102.168971,32.372595],[102.169001,32.372555],[102.169023,32.372497],[102.169044,32.372487],[102.169065,32.372477],[102.169111,32.37248],[102.169107,32.372562],[102.169106,32.372597],[102.169122,32.372671],[102.169134,32.372691],[102.169156,32.37271],[102.169163,32.372715],[102.169308,32.372778],[102.169316,32.372826],[102.1693,32.372875],[102.16928,32.372897],[102.168963,32.373085],[102.168886,32.373145],[102.16888,32.373168],[102.168894,32.37321],[102.168973,32.373364],[102.16897,32.373441],[102.168953,32.373479],[102.168927,32.373507],[102.168914,32.373512],[102.168792,32.373495],[102.168688,32.373499],[102.16814,32.373634],[102.168012,32.373713],[102.167943,32.373783],[102.167914,32.373867],[102.167914,32.373875],[102.167903,32.373986],[102.167917,32.374041],[102.167963,32.374101],[102.168037,32.374152],[102.168154,32.374188],[102.168218,32.374189],[102.168245,32.374181],[102.168253,32.374179],[102.168365,32.37413],[102.168456,32.37408],[102.168496,32.374076],[102.168525,32.374086],[102.168551,32.374145],[102.168555,32.374178],[102.168546,32.374193],[102.168516,32.374192],[102.168461,32.374166],[102.168432,32.374166],[102.168397,32.374181],[102.16838,32.374212],[102.16839,32.374252],[102.168458,32.374334],[102.168512,32.374461],[102.168539,32.374492],[102.168618,32.374552],[102.168663,32.374557],[102.168764,32.374531],[102.168783,32.374539],[102.168816,32.374569],[102.168821,32.374578],[102.168835,32.374604],[102.168832,32.374631],[102.168822,32.374641],[102.168812,32.374645],[102.168705,32.374678],[102.168654,32.374709],[102.168641,32.374718],[102.168621,32.37474],[102.168604,32.374778],[102.168615,32.374837],[102.168637,32.374857],[102.168681,32.374878],[102.168761,32.374876],[102.16881,32.374919],[102.168843,32.37493],[102.168884,32.374919],[102.168897,32.374911],[102.168904,32.374906],[102.168935,32.37485],[102.16895,32.374837],[102.168987,32.374825],[102.169009,32.374825],[102.169026,32.374964],[102.169014,32.374997],[102.168992,32.375016],[102.168965,32.375025],[102.168949,32.37503],[102.168914,32.375041],[102.168885,32.375061],[102.168866,32.375089],[102.168829,32.37521],[102.168753,32.375359],[102.168711,32.375392],[102.168673,32.375396],[102.168653,32.375412],[102.168653,32.375429],[102.168668,32.37546],[102.168723,32.375521],[102.168803,32.375581],[102.168846,32.375582],[102.16886,32.37557],[102.168879,32.375524],[102.16887,32.375496],[102.168844,32.375478],[102.168844,32.375471],[102.168871,32.375464],[102.168961,32.375463],[102.168996,32.375454],[102.169025,32.375441],[102.169059,32.37541],[102.169071,32.37531],[102.169075,32.375271],[102.169104,32.375203],[102.169121,32.375165],[102.169196,32.37518],[102.169205,32.375182],[102.169256,32.375182],[102.169297,32.375159],[102.169344,32.375096],[102.169419,32.375068],[102.169455,32.375089],[102.169482,32.375151],[102.169486,32.375188],[102.169355,32.375259],[102.169341,32.375289],[102.169348,32.375319],[102.169391,32.375347],[102.169452,32.375366],[102.169513,32.375344],[102.169565,32.375289],[102.169585,32.375302],[102.169599,32.375325],[102.169606,32.375396],[102.169599,32.375427],[102.169524,32.375495],[102.169497,32.375535],[102.169493,32.375565],[102.169506,32.375598],[102.169511,32.375609],[102.169584,32.375661],[102.16963,32.375669],[102.169652,32.375662],[102.169717,32.375606],[102.169758,32.375595],[102.1698,32.375635],[102.169854,32.375672],[102.169956,32.375702],[102.169955,32.375757],[102.169921,32.375785],[102.169772,32.375806],[102.169625,32.375792],[102.169565,32.375793],[102.169532,32.375813],[102.169503,32.375863],[102.169497,32.375895],[102.169503,32.375921],[102.169542,32.37595],[102.169586,32.375959],[102.169675,32.375951],[102.169721,32.375955],[102.169733,32.37598],[102.169731,32.375996],[102.169667,32.376042],[102.169655,32.376069],[102.169658,32.376089],[102.169696,32.37613],[102.169724,32.376146],[102.169828,32.376162],[102.169846,32.376197],[102.16972,32.376269],[102.169689,32.376298],[102.16968,32.376327],[102.169707,32.376378],[102.169706,32.376394],[102.169698,32.376419],[102.169674,32.376454],[102.169641,32.376463],[102.169608,32.37645],[102.169547,32.376445],[102.1695,32.376463],[102.169481,32.376482],[102.169469,32.376521],[102.169481,32.376592],[102.169411,32.376683],[102.169417,32.376701],[102.169433,32.376716],[102.169478,32.376734],[102.169564,32.37674],[102.169601,32.376733],[102.169628,32.376779],[102.169645,32.376827],[102.169643,32.376861],[102.16963,32.376884],[102.169552,32.376952],[102.169533,32.37699],[102.169542,32.377018],[102.169588,32.377048],[102.169595,32.377064],[102.169582,32.377135],[102.169584,32.377234],[102.169554,32.377361],[102.169517,32.377365],[102.169487,32.377396],[102.169476,32.377519],[102.169432,32.377562],[102.169398,32.377567],[102.169384,32.377547],[102.169367,32.377481],[102.169344,32.377461],[102.169309,32.37745],[102.16929,32.377458],[102.169256,32.377492],[102.169204,32.377521],[102.169122,32.37754],[102.169104,32.377517],[102.169078,32.377458],[102.169062,32.377442],[102.169022,32.377418],[102.169013,32.377412],[102.168961,32.377401],[102.168897,32.377405],[102.168878,32.377413],[102.16884,32.377462],[102.168839,32.377493],[102.168867,32.377543],[102.169062,32.377678],[102.169121,32.377747],[102.169133,32.377781],[102.169139,32.3778],[102.169125,32.377829],[102.169089,32.377852],[102.169081,32.377878],[102.169085,32.377896],[102.169267,32.378134],[102.169366,32.378216],[102.169406,32.378264],[102.169415,32.378299],[102.169397,32.378371],[102.169417,32.378418],[102.169569,32.37854],[102.169701,32.378599],[102.16983,32.378681],[102.169923,32.378717],[102.170006,32.378733],[102.17003,32.378737],[102.170037,32.378771],[102.170043,32.378964],[102.170032,32.378983],[102.170025,32.378995],[102.169959,32.379055],[102.169948,32.379087],[102.169968,32.37916],[102.170007,32.379205],[102.170021,32.379268],[102.17007,32.379335],[102.170131,32.379421],[102.170135,32.379444],[102.170108,32.379481],[102.170086,32.379494],[102.170063,32.379508],[102.169967,32.37946],[102.169936,32.379464],[102.169896,32.379486],[102.169876,32.37952],[102.169877,32.379541],[102.169927,32.379628],[102.169959,32.37974],[102.16996,32.379769],[102.169943,32.37978],[102.169856,32.37974],[102.169819,32.379736],[102.169803,32.379745],[102.16978,32.379776],[102.169766,32.379849],[102.16978,32.379947],[102.169812,32.379992],[102.169842,32.380008],[102.169867,32.380011],[102.169991,32.379968],[102.170022,32.37997],[102.170048,32.379984],[102.170071,32.38001],[102.170084,32.380069],[102.170052,32.380128],[102.170017,32.380158],[102.16995,32.380176],[102.16985,32.380187],[102.169811,32.380203],[102.169658,32.380312],[102.169519,32.380374],[102.169498,32.380404],[102.169495,32.38043],[102.169541,32.380485],[102.169573,32.380514],[102.169801,32.38073],[102.169856,32.380804],[102.1699,32.380833],[102.169953,32.380838],[102.170001,32.380819],[102.170031,32.38079],[102.170051,32.380736],[102.170129,32.380682],[102.17019,32.380664],[102.170201,32.380664],[102.170213,32.380664],[102.170228,32.380672],[102.170243,32.380706],[102.170237,32.380746],[102.170226,32.380755],[102.170162,32.380814],[102.170111,32.380859],[102.17008,32.380928],[102.170083,32.380965],[102.170116,32.380999],[102.170136,32.381006],[102.170184,32.381022],[102.170252,32.381034],[102.1703,32.381028],[102.170313,32.381027],[102.170402,32.380993],[102.170411,32.381012],[102.17041,32.381035],[102.17038,32.38109],[102.170324,32.381115],[102.170283,32.381133],[102.170248,32.381168],[102.170223,32.381212],[102.17021,32.381261],[102.170209,32.381299],[102.170219,32.38134],[102.170238,32.381368],[102.170233,32.381406],[102.170226,32.381416],[102.170198,32.381417],[102.170163,32.381436],[102.170155,32.381529],[102.170123,32.381548],[102.170115,32.381563],[102.170151,32.381649],[102.170137,32.381729],[102.17011,32.38176],[102.170082,32.381776],[102.169969,32.381775],[102.169916,32.381785],[102.16989,32.381807],[102.16989,32.381849],[102.169986,32.382001],[102.170029,32.382121],[102.170053,32.382187],[102.170089,32.382224],[102.170129,32.382233],[102.170168,32.38223],[102.170189,32.382245],[102.170224,32.382298],[102.170233,32.382311],[102.170276,32.382424],[102.1703,32.382457],[102.170357,32.3825],[102.170403,32.382554],[102.17044,32.38257],[102.170486,32.382573],[102.170517,32.382564],[102.170571,32.382549],[102.170605,32.38254],[102.170627,32.382546],[102.170709,32.382594],[102.17077,32.382669],[102.170786,32.38271],[102.170783,32.382744],[102.170679,32.383003],[102.170641,32.383081],[102.170601,32.383166],[102.17053,32.38324],[102.170387,32.383301],[102.170305,32.383353],[102.170276,32.383384],[102.170266,32.383394],[102.170254,32.383431],[102.170263,32.383499],[102.1703,32.383573],[102.170312,32.383597],[102.170391,32.383721],[102.170437,32.383764],[102.170477,32.38378],[102.17054,32.383806],[102.170566,32.383838],[102.17057,32.383861],[102.170542,32.383997],[102.170512,32.384046],[102.170453,32.38408],[102.170379,32.384108],[102.170241,32.384142],[102.170167,32.384179],[102.170114,32.384232],[102.170094,32.384291],[102.170101,32.38434],[102.170112,32.38436],[102.170138,32.384382],[102.170284,32.384454],[102.170451,32.384503],[102.170476,32.384524],[102.170517,32.384628],[102.170615,32.384752],[102.170646,32.384821],[102.170657,32.384891],[102.170657,32.385033],[102.170606,32.385091],[102.170576,32.385106],[102.170544,32.385112],[102.170513,32.385111],[102.170474,32.385098],[102.170445,32.385062],[102.170419,32.385047],[102.170356,32.385045],[102.170285,32.385077],[102.170207,32.385147],[102.170178,32.385199],[102.170183,32.385245],[102.17031,32.385366],[102.170333,32.385419],[102.170304,32.385444],[102.170203,32.3855],[102.170209,32.385536],[102.170167,32.385569],[102.170108,32.385784],[102.170015,32.385858],[102.169944,32.385946],[102.169867,32.386081],[102.169857,32.386111],[102.16983,32.386195],[102.169838,32.386258],[102.169856,32.386286],[102.169927,32.38633],[102.169938,32.386337],[102.170088,32.386394],[102.170126,32.386438],[102.170136,32.386465],[102.170127,32.386511],[102.170082,32.386548],[102.170049,32.386559],[102.169927,32.386579],[102.169882,32.386604],[102.169861,32.386637],[102.169867,32.386677],[102.169897,32.386712],[102.169933,32.386753],[102.169999,32.386921],[102.170029,32.386963],[102.170057,32.386982],[102.170072,32.386993],[102.170143,32.387018],[102.170225,32.387013],[102.17026,32.387022],[102.17029,32.387052],[102.170294,32.387056],[102.170298,32.387088],[102.170272,32.387137],[102.170167,32.387193],[102.170015,32.387232],[102.169989,32.387242],[102.169979,32.387248],[102.169878,32.387286],[102.169648,32.387353],[102.169345,32.387398],[102.169289,32.387423],[102.169242,32.387471],[102.169239,32.387476],[102.169195,32.38756],[102.169185,32.38761],[102.169194,32.387663],[102.169162,32.38768],[102.169185,32.387711],[102.169219,32.387728],[102.169262,32.387734],[102.169325,32.387735],[102.169376,32.387748],[102.169411,32.387776],[102.169418,32.387779],[102.169447,32.387798],[102.169489,32.38785],[102.169543,32.387957],[102.169538,32.387984],[102.169525,32.387997],[102.169491,32.388002],[102.169446,32.387997],[102.16944,32.387997],[102.169433,32.387997],[102.169427,32.387998],[102.169422,32.388],[102.169389,32.388012],[102.169383,32.388014],[102.169378,32.388018],[102.169373,32.388022],[102.169369,32.388026],[102.169322,32.388089],[102.169323,32.388123],[102.169358,32.38817],[102.169454,32.38823],[102.169541,32.388284],[102.169601,32.388324],[102.16964,32.38834],[102.169652,32.388339],[102.169688,32.388329],[102.169707,32.388312],[102.169784,32.388289],[102.169816,32.38829],[102.169845,32.388303],[102.169912,32.388356],[102.169955,32.388416],[102.169967,32.388471],[102.169996,32.388564],[102.170087,32.388637],[102.170104,32.38866],[102.17012,32.388663],[102.170133,32.388674],[102.170597,32.389047],[102.170616,32.389186],[102.170643,32.38922],[102.170649,32.389249],[102.170641,32.389284],[102.170631,32.389302],[102.1707,32.389803],[102.170688,32.390169],[102.170687,32.390204],[102.170679,32.390479],[102.170661,32.390492],[102.170641,32.390528],[102.170655,32.390583],[102.170666,32.3906],[102.170642,32.390776],[102.170637,32.390813],[102.170614,32.390974],[102.170609,32.391013],[102.170568,32.391306],[102.170806,32.391705],[102.170823,32.391733],[102.170849,32.391778],[102.17169,32.391941],[102.172497,32.391815],[102.172758,32.391853],[102.17277,32.391855],[102.172826,32.391863],[102.172956,32.391882],[102.173086,32.3919],[102.173102,32.392034],[102.173109,32.392091],[102.173113,32.392123],[102.17316,32.392508],[102.173166,32.392559],[102.173187,32.392727],[102.1732,32.392827],[102.173205,32.392866],[102.173208,32.39289],[102.173214,32.392941],[102.173289,32.393519],[102.173699,32.394124],[102.173727,32.394165],[102.173734,32.394174],[102.173814,32.394176],[102.173881,32.394177],[102.174325,32.394187],[102.174762,32.393731],[102.174763,32.393681],[102.174765,32.393624],[102.174767,32.393573],[102.174777,32.393229],[102.175201,32.393203],[102.175611,32.393369],[102.175632,32.393375],[102.175651,32.393383],[102.175933,32.393496],[102.176002,32.393524],[102.176065,32.393549],[102.176244,32.393621],[102.176434,32.393693],[102.176551,32.393737],[102.176618,32.393763],[102.176719,32.393801],[102.176767,32.393819],[102.176874,32.39386],[102.1769,32.39387],[102.177247,32.394002],[102.178007,32.394204],[102.178067,32.394221],[102.178127,32.394237],[102.178118,32.394259],[102.178099,32.394304],[102.177899,32.394769],[102.177087,32.395528],[102.176606,32.396474],[102.17674,32.397624],[102.176743,32.397648],[102.176769,32.397807],[102.176776,32.397853],[102.176786,32.397915],[102.177022,32.3994],[102.177688,32.401566],[102.177736,32.403623],[102.177831,32.407833],[102.177899,32.409269],[102.178143,32.41047],[102.178906,32.411703],[102.180106,32.412881],[102.180948,32.414017],[102.181391,32.415177],[102.182047,32.415903],[102.182793,32.416292],[102.183051,32.416975],[102.183905,32.417738],[102.184315,32.418695],[102.184373,32.419374],[102.184198,32.419877],[102.183544,32.420371],[102.182488,32.420956],[102.181511,32.421577],[102.180403,32.422568],[102.180289,32.422689],[102.179495,32.423529],[102.178769,32.42507],[102.178134,32.426207],[102.17782,32.427317],[102.177956,32.428098],[102.177654,32.428802],[102.177884,32.430398],[102.178558,32.431835],[102.17904,32.432997],[102.179353,32.434493],[102.179334,32.435102],[102.179828,32.435892],[102.180074,32.43698],[102.179974,32.437621],[102.179582,32.438662],[102.178953,32.439629],[102.178165,32.440593],[102.176729,32.4431],[102.176494,32.444245],[102.176604,32.445839],[102.176963,32.447133],[102.177262,32.449069],[102.177301,32.450356],[102.17725,32.450899],[102.177122,32.452248],[102.177051,32.453262],[102.177609,32.45456],[102.178293,32.455659],[102.179957,32.457355],[102.180516,32.458653],[102.181184,32.460259],[102.182061,32.461599],[102.182871,32.462497],[102.184357,32.463512],[102.185543,32.463877],[102.186502,32.463865],[102.187653,32.46406],[102.188354,32.464651],[102.189001,32.465647],[102.189325,32.466805],[102.189451,32.467891],[102.189841,32.468837],[102.189859,32.468882],[102.189859,32.468887],[102.189853,32.470371],[102.189847,32.470541],[102.189845,32.470611],[102.189816,32.471555],[102.190121,32.472689],[102.190209,32.473019],[102.190869,32.473643],[102.191625,32.475014],[102.191566,32.475622],[102.191362,32.477039],[102.191084,32.478285],[102.190829,32.48004],[102.190431,32.482569],[102.190356,32.483147],[102.190347,32.483219],[102.190247,32.483987],[102.190245,32.484007],[102.190116,32.484999],[102.190196,32.48754],[102.190146,32.489163],[102.190308,32.49166],[102.190407,32.493101],[102.190422,32.493317],[102.190289,32.493264],[102.190041,32.493187],[102.189735,32.49318],[102.18965,32.493201],[102.189537,32.49327],[102.189418,32.493503],[102.189328,32.493713],[102.189211,32.493923],[102.189121,32.494108],[102.188996,32.494439],[102.18897,32.494508],[102.18882,32.494909],[102.18867,32.495309],[102.188546,32.495638],[102.188422,32.495968],[102.188242,32.496378],[102.188062,32.496789],[102.187883,32.4972],[102.187703,32.49761],[102.187523,32.498021],[102.187445,32.498283],[102.187368,32.498545],[102.18729,32.498807],[102.187213,32.499069],[102.187135,32.499331],[102.187058,32.499593],[102.18698,32.499855],[102.186903,32.500116],[102.186895,32.500143],[102.186803,32.500435],[102.18671,32.500727],[102.186614,32.501126],[102.186482,32.501323],[102.186351,32.501519],[102.186282,32.501581],[102.186155,32.501696],[102.18596,32.501872],[102.185764,32.502048],[102.185568,32.502224],[102.185373,32.5024],[102.185177,32.502576],[102.184977,32.502736],[102.184777,32.502897],[102.184577,32.503057],[102.184378,32.503218],[102.184178,32.503378],[102.184055,32.503476],[102.183978,32.503538],[102.183769,32.503671],[102.183561,32.503804],[102.183353,32.503936],[102.183144,32.504069],[102.182936,32.504202],[102.182728,32.504334],[102.182566,32.504537],[102.182403,32.504739],[102.182241,32.504941],[102.182079,32.505143],[102.181916,32.505345],[102.181754,32.505547],[102.181592,32.505749],[102.181429,32.505951],[102.181267,32.506153],[102.181105,32.506355],[102.180942,32.506557],[102.18078,32.506759],[102.180611,32.506935],[102.180442,32.507111],[102.180273,32.507287],[102.180104,32.507462],[102.179935,32.507638],[102.179766,32.507814],[102.179597,32.50799],[102.179428,32.508165],[102.179254,32.50831],[102.179079,32.508454],[102.178905,32.508599],[102.178731,32.508743],[102.178556,32.508887],[102.178382,32.509032],[102.178208,32.509176],[102.178033,32.509321],[102.177859,32.509465],[102.177685,32.50961],[102.177468,32.509723],[102.177251,32.509835],[102.177035,32.509948],[102.176818,32.510061],[102.176601,32.510174],[102.176384,32.510287],[102.176147,32.510417],[102.17591,32.510547],[102.175673,32.510677],[102.175436,32.510807],[102.175198,32.510937],[102.174961,32.511067],[102.174724,32.511197],[102.174487,32.511327],[102.174155,32.511563],[102.173822,32.511799],[102.17349,32.512035],[102.173305,32.512184],[102.173119,32.512332],[102.172934,32.512481],[102.172748,32.512629],[102.172694,32.512692],[102.17258,32.512823],[102.172412,32.513017],[102.172244,32.513211],[102.172076,32.513404],[102.171907,32.513598],[102.171739,32.513792],[102.171571,32.513986],[102.171403,32.514179],[102.171235,32.514373],[102.171066,32.514567],[102.170878,32.514742],[102.17069,32.514918],[102.170501,32.515094],[102.170313,32.515269],[102.170124,32.515445],[102.169936,32.515621],[102.169748,32.515796],[102.169559,32.515972],[102.169371,32.516148],[102.169182,32.516323],[102.168994,32.516499],[102.168805,32.516675],[102.168617,32.51685],[102.168429,32.517026],[102.168222,32.517192],[102.168015,32.517358],[102.167808,32.517525],[102.167601,32.517691],[102.167394,32.517857],[102.167187,32.518023],[102.166981,32.518189],[102.166774,32.518356],[102.166567,32.518522],[102.16636,32.518688],[102.166153,32.518854],[102.165946,32.51902],[102.16574,32.519187],[102.165533,32.519353],[102.165351,32.519507],[102.165169,32.519661],[102.164987,32.519815],[102.164806,32.519969],[102.164624,32.520123],[102.164442,32.520277],[102.16426,32.520431],[102.164078,32.520585],[102.163897,32.520739],[102.163715,32.520894],[102.163533,32.521048],[102.163351,32.521202],[102.16317,32.521356],[102.163048,32.521459],[102.162988,32.52151],[102.16279,32.521653],[102.162593,32.521797],[102.162395,32.52194],[102.162198,32.522084],[102.162,32.522227],[102.161803,32.522371],[102.161605,32.522514],[102.161408,32.522658],[102.16121,32.522801],[102.161013,32.522945],[102.160816,32.523088],[102.160618,32.523232],[102.160421,32.523375],[102.160223,32.523519],[102.160165,32.523555],[102.160001,32.523658],[102.159779,32.523798],[102.159557,32.523938],[102.159336,32.524077],[102.159114,32.524217],[102.158892,32.524356],[102.15867,32.524496],[102.158448,32.524635],[102.158226,32.524775],[102.158004,32.524914],[102.157782,32.525054],[102.15756,32.525193],[102.157338,32.525333],[102.1572,32.52542],[102.157117,32.525473],[102.157002,32.525578],[102.156787,32.525777],[102.156457,32.526082],[102.156128,32.526386],[102.155798,32.526691],[102.155603,32.526858],[102.155409,32.527026],[102.155214,32.527193],[102.155019,32.52736],[102.154825,32.527528],[102.15463,32.527695],[102.154436,32.527863],[102.154241,32.52803],[102.154046,32.528198],[102.153852,32.528365],[102.153549,32.528688],[102.153246,32.529011],[102.153017,32.52923],[102.152787,32.529448],[102.152614,32.529667],[102.15244,32.529887],[102.15235,32.530097],[102.15226,32.530307],[102.152196,32.530576],[102.152132,32.530845],[102.15211,32.53108],[102.152089,32.531315],[102.152024,32.531573],[102.151893,32.53177],[102.151762,32.531968],[102.151691,32.53207],[102.151631,32.532157],[102.1515,32.532346],[102.151368,32.532535],[102.151237,32.532724],[102.151106,32.532913],[102.150975,32.533102],[102.150843,32.533291],[102.150712,32.53348],[102.150581,32.533669],[102.15045,32.533858],[102.150287,32.534054],[102.150123,32.534249],[102.14996,32.534444],[102.149797,32.53464],[102.149634,32.534835],[102.14947,32.53503],[102.149307,32.535226],[102.149144,32.535421],[102.149072,32.535662],[102.148999,32.535904],[102.148927,32.536146],[102.148854,32.536387],[102.148782,32.536629],[102.148709,32.536871],[102.148555,32.537267],[102.148463,32.537572],[102.148421,32.537994],[102.148427,32.538265],[102.148433,32.538536],[102.148516,32.538767],[102.148599,32.538998],[102.148682,32.53923],[102.148766,32.539461],[102.148849,32.539693],[102.148932,32.539924],[102.149015,32.540156],[102.149098,32.540387],[102.149217,32.540613],[102.149335,32.540838],[102.149395,32.541123],[102.149455,32.541407],[102.149462,32.541785],[102.149465,32.541969],[102.149408,32.54223],[102.149351,32.54249],[102.149294,32.542751],[102.149237,32.543011],[102.14918,32.543272],[102.149123,32.543533],[102.149065,32.543793],[102.149008,32.544054],[102.148965,32.544288],[102.148921,32.544523],[102.148878,32.544757],[102.148834,32.544992],[102.148791,32.545226],[102.148747,32.545461],[102.148703,32.545695],[102.14866,32.54593],[102.148616,32.546164],[102.148573,32.546399],[102.148563,32.546676],[102.148554,32.546954],[102.148544,32.547232],[102.148535,32.547509],[102.148525,32.547787],[102.148516,32.548064],[102.148485,32.548456],[102.148485,32.548457],[102.148485,32.548457],[102.148454,32.548848],[102.148423,32.54924],[102.148388,32.549451],[102.148277,32.549748],[102.148266,32.549777],[102.148095,32.549926],[102.147923,32.550075],[102.14758,32.55035],[102.147237,32.550625],[102.147037,32.550797],[102.146879,32.550933],[102.146836,32.550969],[102.146715,32.55107],[102.146657,32.551118],[102.146479,32.551267],[102.1463,32.551416],[102.146121,32.551565],[102.146048,32.551652],[102.14587,32.551866],[102.145619,32.552166],[102.145368,32.552466],[102.145221,32.55268],[102.145113,32.552837],[102.145074,32.552894],[102.144927,32.553107],[102.14478,32.553321],[102.144633,32.553535],[102.144486,32.553749],[102.144339,32.553963],[102.144192,32.554176],[102.144142,32.554246],[102.144052,32.554371],[102.143912,32.554565],[102.143772,32.55476],[102.143633,32.554955],[102.143493,32.555149],[102.143353,32.555344],[102.143214,32.555538],[102.143074,32.555733],[102.142934,32.555928],[102.142798,32.556117],[102.142795,32.556122],[102.142746,32.556158],[102.142595,32.556271],[102.142395,32.556419],[102.142204,32.556558],[102.14209,32.556641],[102.142081,32.556648],[102.141954,32.556715],[102.141742,32.556828],[102.141582,32.556863],[102.141348,32.556914],[102.140972,32.556929],[102.140596,32.556943],[102.140177,32.556981],[102.139758,32.557019],[102.139507,32.557014],[102.139257,32.557008],[102.138978,32.557025],[102.138699,32.557042],[102.13842,32.557047],[102.138142,32.557053],[102.137905,32.557083],[102.137667,32.557113],[102.1374,32.557189],[102.137133,32.557266],[102.136737,32.557445],[102.136506,32.557699],[102.136304,32.557929],[102.136102,32.558159],[102.135934,32.558364],[102.135765,32.558568],[102.135596,32.558773],[102.135428,32.558977],[102.135259,32.559182],[102.13509,32.559386],[102.134921,32.55959],[102.134753,32.559795],[102.134585,32.559948],[102.134418,32.560101],[102.134251,32.560254],[102.134083,32.560407],[102.133916,32.56056],[102.133749,32.560713],[102.133438,32.560859],[102.133126,32.561005],[102.132816,32.56114],[102.132506,32.561274],[102.132224,32.561385],[102.131942,32.561496],[102.131606,32.561559],[102.13127,32.561622],[102.131011,32.561669],[102.130752,32.561716],[102.130493,32.561763],[102.130233,32.56181],[102.129813,32.561895],[102.129553,32.561966],[102.129293,32.562036],[102.129034,32.562107],[102.128774,32.562177],[102.128521,32.562254],[102.128268,32.56233],[102.128014,32.562407],[102.127929,32.562433],[102.127761,32.562484],[102.127508,32.56256],[102.127255,32.562637],[102.127002,32.562713],[102.126749,32.56279],[102.126524,32.562855],[102.126299,32.562921],[102.126172,32.562948],[102.125795,32.563027],[102.125542,32.563022],[102.125197,32.562955],[102.124851,32.562888],[102.124607,32.562718],[102.124335,32.562499],[102.12416,32.562331],[102.123984,32.562162],[102.123856,32.561962],[102.123728,32.561761],[102.1236,32.56156],[102.123472,32.561359],[102.123268,32.561225],[102.123064,32.56109],[102.122761,32.560966],[102.122457,32.560889],[102.122384,32.56087],[102.122153,32.560812],[102.121919,32.560747],[102.121685,32.560682],[102.12145,32.560642],[102.121215,32.560601],[102.120937,32.560559],[102.12066,32.560517],[102.120405,32.560492],[102.120151,32.560467],[102.119896,32.560441],[102.119642,32.560416],[102.119387,32.560391],[102.119133,32.560365],[102.118701,32.560367],[102.118348,32.560368],[102.118269,32.560368],[102.117906,32.560395],[102.117543,32.560422],[102.11718,32.560449],[102.116817,32.560476],[102.116466,32.560563],[102.116116,32.56065],[102.115863,32.560761],[102.115611,32.560872],[102.115359,32.560983],[102.115107,32.561095],[102.114855,32.561206],[102.114603,32.561317],[102.114353,32.561423],[102.114102,32.561529],[102.113852,32.561636],[102.113601,32.561742],[102.113351,32.561848],[102.1131,32.561954],[102.11285,32.56206],[102.112599,32.562166],[102.112396,32.562265],[102.112192,32.562364],[102.111988,32.562463],[102.111785,32.562562],[102.111581,32.562661],[102.111377,32.562759],[102.111173,32.562858],[102.11097,32.562957],[102.110766,32.563056],[102.110562,32.563155],[102.110374,32.56328],[102.110186,32.563405],[102.109997,32.563531],[102.109809,32.563656],[102.109631,32.563774],[102.10962,32.563781],[102.109533,32.563839],[102.109432,32.563906],[102.109243,32.564031],[102.109055,32.564157],[102.108827,32.564304],[102.1086,32.564452],[102.108372,32.5646],[102.108144,32.564748],[102.108007,32.564837],[102.107991,32.564847],[102.107917,32.564895],[102.107839,32.564946],[102.107689,32.565043],[102.107462,32.565191],[102.107234,32.565338],[102.106839,32.565494],[102.106443,32.565649],[102.106119,32.565795],[102.105794,32.565941],[102.105532,32.566004],[102.10527,32.566066],[102.105008,32.566129],[102.104747,32.566191],[102.104485,32.566254],[102.104223,32.566317],[102.103961,32.566379],[102.103699,32.566442],[102.103467,32.566501],[102.103236,32.56656],[102.103004,32.56662],[102.102772,32.566679],[102.102541,32.566738],[102.102309,32.566798],[102.102077,32.566857],[102.101846,32.566917],[102.101602,32.566997],[102.101358,32.567078],[102.101114,32.567159],[102.10087,32.56724],[102.100626,32.56732],[102.100382,32.567401],[102.100072,32.567524],[102.099762,32.567646],[102.099515,32.567746],[102.099268,32.567846],[102.099021,32.567946],[102.098774,32.568046],[102.098406,32.568214],[102.098039,32.568382],[102.097773,32.568447],[102.097506,32.568512],[102.097213,32.568552],[102.096919,32.568592],[102.096655,32.568575],[102.096391,32.568557],[102.095947,32.568499],[102.095726,32.568435],[102.095505,32.568372],[102.095286,32.568272],[102.095067,32.568173],[102.094833,32.568038],[102.0946,32.567903],[102.094219,32.567683],[102.093986,32.567548],[102.093754,32.567413],[102.093521,32.567278],[102.093289,32.567143],[102.09311,32.567039],[102.093056,32.567008],[102.092851,32.566889],[102.092824,32.566873],[102.092629,32.566816],[102.092492,32.566775],[102.092419,32.566754],[102.092015,32.566634],[102.091611,32.566515],[102.091223,32.566436],[102.090835,32.566357],[102.090552,32.566334],[102.090419,32.566324],[102.090002,32.566291],[102.089683,32.566271],[102.089363,32.566251],[102.089319,32.56625],[102.089057,32.566244],[102.088751,32.566238],[102.088514,32.566256],[102.088276,32.566274],[102.088039,32.566292],[102.087801,32.56631],[102.08752,32.566397],[102.087239,32.566485],[102.086985,32.566597],[102.086591,32.566729],[102.086284,32.566722],[102.086012,32.566726],[102.085739,32.566731],[102.085409,32.566607],[102.08516,32.566543],[102.084911,32.566478],[102.08465,32.566378],[102.084388,32.566277],[102.084074,32.566117],[102.083759,32.565957],[102.083542,32.565864],[102.083326,32.56577],[102.08311,32.565677],[102.082894,32.565583],[102.082677,32.56549],[102.082618,32.565464],[102.082461,32.565397],[102.082353,32.56535],[102.082245,32.565303],[102.082179,32.565275],[102.082029,32.56521],[102.081819,32.565149],[102.081767,32.565133],[102.081505,32.565057],[102.081254,32.565039],[102.081004,32.565022],[102.080863,32.565018],[102.080804,32.565016],[102.080753,32.565015],[102.080643,32.565012],[102.080614,32.565011],[102.080302,32.565098],[102.080279,32.565105],[102.080222,32.565121],[102.080139,32.56517],[102.0801,32.565193],[102.07988,32.565325],[102.079666,32.565465],[102.079453,32.565606],[102.07924,32.565747],[102.079026,32.565888],[102.078813,32.566028],[102.0786,32.566169],[102.078386,32.56631],[102.078173,32.56645],[102.077959,32.566591],[102.077746,32.566732],[102.077533,32.566872],[102.077319,32.567013],[102.077106,32.567154],[102.076892,32.567294],[102.076679,32.567435],[102.076466,32.567576],[102.076257,32.567746],[102.076049,32.567916],[102.075841,32.568085],[102.075632,32.568255],[102.075404,32.568463],[102.075342,32.568626],[102.075338,32.568735],[102.075337,32.568767],[102.075385,32.569004],[102.075502,32.569278],[102.075619,32.569551],[102.075723,32.569751],[102.075828,32.56995],[102.075933,32.57015],[102.076038,32.570349],[102.076143,32.570549],[102.076247,32.570749],[102.076352,32.570948],[102.076457,32.571148],[102.076595,32.571339],[102.076732,32.571531],[102.07687,32.571722],[102.077008,32.571914],[102.077146,32.572105],[102.077283,32.572297],[102.077582,32.572563],[102.07788,32.572782],[102.078183,32.57293],[102.078457,32.573054],[102.078732,32.573131],[102.079007,32.573255],[102.079256,32.573355],[102.079501,32.573502],[102.07973,32.573628],[102.07996,32.573754],[102.080189,32.573879],[102.080419,32.574005],[102.080649,32.574131],[102.080878,32.574257],[102.081111,32.574396],[102.081343,32.574534],[102.081575,32.574673],[102.081807,32.574812],[102.08204,32.57495],[102.082272,32.575089],[102.082515,32.575307],[102.082676,32.575476],[102.082754,32.575689],[102.082801,32.575926],[102.082797,32.576066],[102.082796,32.576124],[102.082794,32.576208],[102.082754,32.576536],[102.082628,32.576958],[102.082601,32.577016],[102.082595,32.57703],[102.082591,32.577038],[102.082587,32.577047],[102.082586,32.577048],[102.082574,32.577074],[102.082524,32.577179],[102.082508,32.577214],[102.082466,32.577302],[102.082424,32.577391],[102.08242,32.5774],[102.082239,32.577796],[102.082061,32.578169],[102.082006,32.578586],[102.081979,32.578799],[102.081952,32.579004],[102.081922,32.579271],[102.081893,32.579538],[102.081878,32.579673],[102.081863,32.579805],[102.081834,32.580073],[102.081804,32.58034],[102.081774,32.580607],[102.081745,32.580874],[102.081715,32.581141],[102.081734,32.581448],[102.081835,32.581756],[102.081991,32.582066],[102.082204,32.582385],[102.082417,32.582704],[102.08263,32.583023],[102.08284,32.583405],[102.082862,32.583454],[102.082965,32.583677],[102.082971,32.58369],[102.083016,32.583974],[102.083007,32.584244],[102.082999,32.584515],[102.082876,32.584841],[102.08277,32.585145],[102.082663,32.585448],[102.082445,32.585795],[102.082228,32.586141],[102.082049,32.586426],[102.082011,32.586487],[102.081738,32.586741],[102.081465,32.586994],[102.081121,32.587267],[102.080893,32.587427],[102.080665,32.587587],[102.08027,32.587742],[102.079962,32.587829],[102.079653,32.587916],[102.079357,32.588027],[102.079061,32.588138],[102.078789,32.588332],[102.078518,32.588526],[102.078287,32.588768],[102.078056,32.589009],[102.077931,32.589204],[102.077807,32.589399],[102.077682,32.589593],[102.077557,32.589788],[102.077385,32.589974],[102.07724,32.590134],[102.077089,32.590484],[102.077134,32.590814],[102.077199,32.591049],[102.077264,32.591284],[102.077329,32.591518],[102.077394,32.591753],[102.077459,32.591987],[102.077524,32.592222],[102.077589,32.592457],[102.077654,32.592691],[102.077719,32.592926],[102.077784,32.59316],[102.077829,32.593468],[102.077805,32.593773],[102.07778,32.594078],[102.077731,32.594313],[102.077682,32.594547],[102.077576,32.594938],[102.077471,32.595328],[102.077365,32.595718],[102.077266,32.595974],[102.077167,32.59623],[102.077167,32.596231],[102.077068,32.596487],[102.076969,32.596744],[102.076908,32.597007],[102.076846,32.597271],[102.076785,32.597534],[102.076724,32.597798],[102.076663,32.598062],[102.076601,32.598325],[102.07654,32.598589],[102.076479,32.598853],[102.076418,32.599116],[102.076356,32.59938],[102.07629,32.59972],[102.076224,32.60006],[102.076045,32.600384],[102.07587,32.600664],[102.075592,32.600937],[102.075315,32.60121],[102.075219,32.601304],[102.075119,32.601402],[102.074922,32.601594],[102.074726,32.601785],[102.074529,32.601977],[102.074333,32.602169],[102.074137,32.60236],[102.074053,32.602461],[102.073967,32.602564],[102.073798,32.602768],[102.073629,32.602972],[102.07346,32.603176],[102.073291,32.60338],[102.073121,32.603584],[102.072952,32.603788],[102.072783,32.603992],[102.072614,32.604196],[102.072444,32.6044],[102.072275,32.604604],[102.072106,32.604808],[102.071957,32.605016],[102.071808,32.605224],[102.071757,32.605296],[102.071659,32.605432],[102.07151,32.60564],[102.071361,32.605849],[102.071212,32.606057],[102.071063,32.606265],[102.070913,32.606473],[102.070764,32.606681],[102.070615,32.606889],[102.070466,32.607097],[102.070317,32.607305],[102.070074,32.607645],[102.069831,32.607985],[102.069588,32.608325],[102.069445,32.60856],[102.069301,32.608795],[102.069158,32.609029],[102.069014,32.609264],[102.068882,32.609481],[102.068871,32.609499],[102.068727,32.609734],[102.068584,32.609969],[102.06844,32.610204],[102.068307,32.610448],[102.068173,32.610692],[102.068124,32.610915],[102.068075,32.611137],[102.06808,32.611431],[102.068084,32.611726],[102.068112,32.611953],[102.068139,32.612179],[102.068145,32.612228],[102.068167,32.612406],[102.068195,32.612633],[102.068237,32.612717],[102.068326,32.612895],[102.068457,32.613158],[102.068575,32.613373],[102.068693,32.613588],[102.068853,32.613803],[102.069014,32.614018],[102.069229,32.614258],[102.06928,32.61437],[102.069359,32.614543],[102.069366,32.614653],[102.069377,32.614827],[102.069314,32.615174],[102.069309,32.615202],[102.069191,32.615412],[102.068971,32.615759],[102.068937,32.615812],[102.068927,32.615828],[102.06875,32.616106],[102.068627,32.616486],[102.068504,32.616865],[102.06838,32.617244],[102.068359,32.617479],[102.068337,32.617714],[102.068315,32.617949],[102.068294,32.618184],[102.068272,32.618419],[102.06825,32.618654],[102.068229,32.618889],[102.068207,32.619124],[102.068186,32.619547],[102.068166,32.61997],[102.068145,32.620393],[102.068124,32.620816],[102.068039,32.621038],[102.067954,32.621259],[102.067869,32.62148],[102.067784,32.621702],[102.067699,32.621923],[102.067614,32.622144],[102.067529,32.622365],[102.067444,32.622587],[102.06738,32.622698],[102.067369,32.622719],[102.06734,32.622769],[102.06732,32.622804],[102.067197,32.62302],[102.067074,32.623237],[102.067017,32.623337],[102.067013,32.623344],[102.066993,32.623378],[102.066991,32.623383],[102.06695,32.623454],[102.066827,32.623671],[102.066704,32.623888],[102.066563,32.624093],[102.066422,32.624299],[102.066281,32.624504],[102.06614,32.62471],[102.065998,32.624916],[102.065857,32.625121],[102.065797,32.625209],[102.065621,32.625452],[102.065446,32.625694],[102.065296,32.626045],[102.065181,32.626135],[102.064959,32.626108],[102.064628,32.626006],[102.064463,32.625908],[102.064276,32.625692],[102.064069,32.625407],[102.063862,32.625121],[102.063672,32.624859],[102.063501,32.624622],[102.06333,32.624385],[102.063205,32.624153],[102.06308,32.62392],[102.062955,32.623687],[102.06283,32.623455],[102.062768,32.62323],[102.062705,32.623005],[102.062606,32.62265],[102.062507,32.622271],[102.062463,32.621916],[102.062416,32.621655],[102.06234,32.621466],[102.062204,32.621275],[102.062016,32.621105],[102.061797,32.620983],[102.061482,32.620834],[102.061166,32.620685],[102.060951,32.620593],[102.060735,32.620502],[102.06052,32.620411],[102.060305,32.620319],[102.060089,32.620228],[102.059874,32.620137],[102.059658,32.620045],[102.059443,32.619954],[102.059228,32.619863],[102.059012,32.619771],[102.058797,32.61968],[102.058582,32.619588],[102.058348,32.619501],[102.058114,32.619413],[102.057852,32.619324],[102.057589,32.619235],[102.057229,32.619204],[102.056949,32.619267],[102.056722,32.619404],[102.056462,32.619657],[102.056287,32.619865],[102.056169,32.620074],[102.056051,32.620283],[102.055876,32.620537],[102.055564,32.620719],[102.055226,32.620829],[102.05496,32.620846],[102.054694,32.620863],[102.054327,32.620807],[102.053959,32.620751],[102.053569,32.620718],[102.053161,32.620708],[102.052752,32.620698],[102.052344,32.620689],[102.051953,32.620719],[102.051562,32.620749],[102.051171,32.620778],[102.050735,32.620875],[102.0503,32.620971],[102.050071,32.621028],[102.049841,32.621086],[102.049612,32.621143],[102.049382,32.6212],[102.049153,32.621258],[102.048924,32.621315],[102.048666,32.621349],[102.048409,32.621383],[102.048151,32.621417],[102.047894,32.621451],[102.047637,32.621485],[102.047379,32.621519],[102.047122,32.621553],[102.046864,32.621587],[102.046607,32.621621],[102.046349,32.621655],[102.046073,32.62167],[102.045796,32.621685],[102.045519,32.6217],[102.045242,32.621715],[102.044965,32.62173],[102.044688,32.621745],[102.044411,32.62176],[102.044135,32.621775],[102.043858,32.62179],[102.043581,32.621805],[102.043304,32.62182],[102.043027,32.621835],[102.042679,32.621815],[102.042331,32.621795],[102.041887,32.621749],[102.041509,32.62171],[102.041443,32.621704],[102.041125,32.621637],[102.040806,32.621571],[102.040378,32.621479],[102.039949,32.621386],[102.039728,32.621318],[102.039565,32.621268],[102.039517,32.621253],[102.039507,32.62125],[102.039286,32.621182],[102.039066,32.621114],[102.038845,32.621046],[102.038624,32.620979],[102.038432,32.620862],[102.038239,32.620746],[102.037854,32.620513],[102.03747,32.62028],[102.037085,32.620048],[102.036893,32.619931],[102.0367,32.619815],[102.036501,32.619676],[102.036302,32.619537],[102.036104,32.619399],[102.035905,32.61926],[102.035706,32.619121],[102.035507,32.618982],[102.035308,32.618843],[102.035109,32.618705],[102.03491,32.618566],[102.034711,32.618427],[102.03454,32.618274],[102.034369,32.61812],[102.034197,32.617967],[102.034026,32.617814],[102.033854,32.617661],[102.033683,32.617507],[102.033443,32.617172],[102.033204,32.616837],[102.032964,32.616501],[102.032936,32.616436],[102.032917,32.616392],[102.032874,32.616292],[102.032783,32.616083],[102.032692,32.615873],[102.032602,32.615664],[102.032511,32.615455],[102.032421,32.615246],[102.03233,32.615036],[102.032239,32.614827],[102.032149,32.614618],[102.032058,32.614409],[102.031964,32.614199],[102.03187,32.61399],[102.031776,32.613781],[102.031682,32.613572],[102.031588,32.613363],[102.031494,32.613153],[102.0314,32.612944],[102.031307,32.612735],[102.031213,32.612526],[102.031119,32.612317],[102.031052,32.612088],[102.030985,32.611858],[102.030919,32.611629],[102.030852,32.6114],[102.030785,32.611171],[102.030719,32.610942],[102.030698,32.610718],[102.030678,32.610494],[102.030658,32.610269],[102.030637,32.610045],[102.030617,32.609821],[102.030597,32.609597],[102.030605,32.60936],[102.030613,32.609123],[102.03062,32.608886],[102.030628,32.608649],[102.030636,32.608412],[102.030644,32.608175],[102.030652,32.607938],[102.03066,32.607701],[102.030747,32.60726],[102.030834,32.60682],[102.03092,32.606379],[102.031007,32.605938],[102.031094,32.605498],[102.031075,32.605236],[102.031027,32.605002],[102.030868,32.604739],[102.030668,32.604475],[102.030468,32.604211],[102.030197,32.60397],[102.029927,32.603728],[102.029761,32.603576],[102.029595,32.603425],[102.029473,32.603313],[102.029437,32.60328],[102.029429,32.603273],[102.029263,32.603121],[102.029097,32.60297],[102.028931,32.602818],[102.028765,32.602666],[102.028599,32.602515],[102.028433,32.602363],[102.028267,32.602212],[102.02794,32.601968],[102.027928,32.601958],[102.027614,32.601724],[102.027356,32.601381],[102.027099,32.601037],[102.026841,32.600694],[102.026544,32.600381],[102.026398,32.600177],[102.026251,32.599972],[102.026181,32.599595],[102.026105,32.599346],[102.02603,32.599097],[102.025876,32.598693],[102.025716,32.598478],[102.025528,32.598285],[102.025338,32.598139],[102.025145,32.598064],[102.024922,32.598035],[102.024631,32.598028],[102.024339,32.598021],[102.024047,32.59799],[102.023756,32.59796],[102.023534,32.597908],[102.023312,32.597856],[102.023065,32.597756],[102.022817,32.597656],[102.022612,32.597557],[102.022406,32.597457],[102.022202,32.597323],[102.021998,32.597189],[102.021793,32.597055],[102.021589,32.596921],[102.021309,32.596645],[102.021029,32.596369],[102.020748,32.596094],[102.020471,32.595766],[102.020194,32.595437],[102.019917,32.595109],[102.019686,32.59476],[102.019455,32.594411],[102.019314,32.594199],[102.019224,32.594062],[102.019111,32.593671],[102.018999,32.59328],[102.018958,32.593049],[102.018916,32.592819],[102.018902,32.592738],[102.018875,32.592589],[102.018834,32.592358],[102.018744,32.592144],[102.018653,32.59193],[102.01844,32.591619],[102.018172,32.591353],[102.017954,32.59116],[102.017655,32.590964],[102.017336,32.590769],[102.017018,32.590573],[102.016699,32.590377],[102.016441,32.590292],[102.016183,32.590206],[102.016,32.590145],[102.015999,32.590145],[102.015997,32.590145],[102.015925,32.59012],[102.015667,32.590035],[102.015408,32.589949],[102.01515,32.589864],[102.014892,32.589778],[102.014634,32.589692],[102.014344,32.589615],[102.014053,32.589537],[102.01382,32.589438],[102.013587,32.589338],[102.013287,32.589119],[102.012988,32.588876],[102.012813,32.588696],[102.012639,32.588515],[102.012455,32.588129],[102.012271,32.587743],[102.012087,32.587358],[102.011902,32.586972],[102.011655,32.586597],[102.011407,32.586222],[102.01116,32.585848],[102.010845,32.585542],[102.01053,32.585236],[102.010473,32.585181],[102.010215,32.584931],[102.009949,32.584571],[102.009761,32.584366],[102.009573,32.584161],[102.009412,32.58397],[102.009251,32.583778],[102.009046,32.583455],[102.009039,32.583443],[102.008866,32.583078],[102.008692,32.582713],[102.008519,32.582348],[102.008446,32.582132],[102.008372,32.581916],[102.008299,32.5817],[102.008225,32.581484],[102.008152,32.581268],[102.008078,32.581052],[102.008005,32.580836],[102.007931,32.58062],[102.00786,32.580379],[102.007789,32.580139],[102.007719,32.579898],[102.007648,32.579657],[102.007577,32.579416],[102.007506,32.579175],[102.007418,32.578947],[102.007331,32.57872],[102.007243,32.578492],[102.007156,32.578264],[102.007068,32.578036],[102.00698,32.577809],[102.006893,32.577581],[102.006805,32.577353],[102.006717,32.577126],[102.00663,32.576898],[102.006542,32.57667],[102.006455,32.576443],[102.006355,32.576225],[102.006255,32.576007],[102.006155,32.575789],[102.006055,32.575572],[102.005956,32.575354],[102.005856,32.575136],[102.005756,32.574918],[102.005656,32.574701],[102.005556,32.574483],[102.005522,32.574409],[102.005457,32.574265],[102.005344,32.574051],[102.005231,32.573836],[102.005118,32.573622],[102.005005,32.573407],[102.004893,32.573193],[102.00478,32.572978],[102.004667,32.572764],[102.004554,32.57255],[102.004441,32.572335],[102.004329,32.572121],[102.004051,32.571792],[102.003773,32.571462],[102.003496,32.571133],[102.003218,32.570804],[102.003002,32.570568],[102.002786,32.570332],[102.002578,32.57006],[102.002371,32.569789],[102.002204,32.569486],[102.002037,32.569183],[102.001893,32.568796],[102.001748,32.56841],[102.001672,32.568153],[102.001595,32.567896],[102.001592,32.567888],[102.001574,32.567827],[102.001518,32.567639],[102.001492,32.567551],[102.001481,32.567513],[102.001442,32.567383],[102.001365,32.567126],[102.001352,32.567084],[102.001318,32.566968],[102.001288,32.566869],[102.001171,32.566511],[102.001155,32.566461],[102.001095,32.56628],[102.001035,32.566096],[102.001028,32.566073],[102.00102,32.56605],[102.000944,32.565819],[102.000868,32.565588],[102.000793,32.565357],[102.000717,32.565126],[102.000597,32.565004],[102.000597,32.565004],[102.000478,32.564882],[102.000247,32.564647],[102.000238,32.564638],[102.000138,32.564678],[102.000062,32.564708],[102.000009,32.564736],[102.000001,32.56474],[101.999995,32.564744],[101.999941,32.564772],[101.999928,32.564779],[101.999928,32.564779],[101.999916,32.564786],[101.999876,32.564807],[101.999844,32.564824],[101.999844,32.564824],[101.999839,32.564827],[101.999708,32.564896],[101.999627,32.564939],[101.999354,32.565084],[101.99922,32.565155],[101.99922,32.565155],[101.999,32.565273],[101.998824,32.565428],[101.998647,32.565584],[101.998471,32.565739],[101.998295,32.565895],[101.998119,32.56605],[101.997943,32.566206],[101.997766,32.566361],[101.99759,32.566517],[101.997414,32.566673],[101.997238,32.566828],[101.997097,32.567004],[101.996957,32.567181],[101.996816,32.567357],[101.996676,32.567534],[101.996536,32.56771],[101.996395,32.567886],[101.996255,32.568063],[101.996115,32.568239],[101.995974,32.568415],[101.995834,32.568592],[101.995645,32.568733],[101.995456,32.568874],[101.995267,32.569015],[101.995078,32.569157],[101.994889,32.569298],[101.9947,32.569439],[101.994511,32.56958],[101.994322,32.569722],[101.994133,32.569863],[101.993944,32.570004],[101.993752,32.570135],[101.99356,32.570265],[101.993369,32.570396],[101.993177,32.570527],[101.992985,32.570657],[101.992793,32.570788],[101.992602,32.570919],[101.99241,32.571049],[101.992218,32.57118],[101.992027,32.571311],[101.991835,32.571441],[101.991643,32.571572],[101.991439,32.571696],[101.991235,32.57182],[101.99103,32.571944],[101.990826,32.572068],[101.990621,32.572192],[101.990417,32.572316],[101.990213,32.57244],[101.990008,32.572564],[101.98981,32.572672],[101.989611,32.572781],[101.989413,32.57289],[101.989214,32.572998],[101.988912,32.57314],[101.988611,32.573281],[101.988244,32.573352],[101.987897,32.573195],[101.987792,32.573011],[101.987723,32.572774],[101.987654,32.572537],[101.987652,32.572472],[101.987643,32.572227],[101.987654,32.572152],[101.987679,32.571967],[101.987714,32.571707],[101.98775,32.571448],[101.987785,32.571188],[101.987821,32.570928],[101.987834,32.570834],[101.987856,32.570668],[101.987892,32.570408],[101.987927,32.570148],[101.987963,32.569888],[101.987998,32.569628],[101.988061,32.56936],[101.988123,32.569091],[101.988185,32.568822],[101.988192,32.568791],[101.988247,32.568553],[101.98831,32.568284],[101.988372,32.568015],[101.988435,32.567746],[101.988497,32.567477],[101.988559,32.567208],[101.988622,32.566939],[101.988684,32.566687],[101.988747,32.566435],[101.98881,32.566183],[101.988873,32.565931],[101.988935,32.565678],[101.988998,32.565426],[101.989061,32.565174],[101.989124,32.564922],[101.989186,32.56467],[101.989249,32.564417],[101.989278,32.564157],[101.989306,32.563897],[101.989335,32.563638],[101.989363,32.563378],[101.989324,32.562943],[101.989284,32.562509],[101.989245,32.562075],[101.989206,32.561641],[101.989192,32.561206],[101.989177,32.560772],[101.989163,32.560338],[101.989186,32.560112],[101.98921,32.559886],[101.989233,32.55966],[101.989256,32.559434],[101.989279,32.559208],[101.989302,32.558982],[101.989326,32.558757],[101.989339,32.558624],[101.989349,32.558531],[101.989386,32.558261],[101.989423,32.557992],[101.98946,32.557722],[101.989498,32.557453],[101.989517,32.557314],[101.989535,32.557183],[101.989572,32.556914],[101.989609,32.556645],[101.989646,32.556375],[101.989684,32.556106],[101.989721,32.555836],[101.989724,32.555583],[101.989728,32.555331],[101.989732,32.555078],[101.989733,32.555017],[101.989736,32.554825],[101.989739,32.554572],[101.989741,32.554473],[101.989743,32.554319],[101.989747,32.554066],[101.989751,32.553813],[101.989754,32.553561],[101.989758,32.553308],[101.989699,32.552978],[101.989594,32.552772],[101.989468,32.55265],[101.989292,32.55253],[101.989071,32.552494],[101.988859,32.552516],[101.988802,32.552521],[101.988567,32.552545],[101.988533,32.552548],[101.988119,32.55262],[101.98783,32.552794],[101.987542,32.552967],[101.987321,32.553084],[101.9871,32.553202],[101.986879,32.553319],[101.986658,32.553437],[101.986449,32.553548],[101.986438,32.553554],[101.986335,32.553609],[101.986217,32.553672],[101.986123,32.553722],[101.985996,32.553789],[101.985775,32.553907],[101.985555,32.554024],[101.985334,32.554142],[101.985113,32.554259],[101.984892,32.554377],[101.984811,32.554406],[101.98466,32.554461],[101.984461,32.554533],[101.984434,32.554543],[101.984429,32.554545],[101.984418,32.554548],[101.984197,32.554628],[101.983965,32.554712],[101.983829,32.554762],[101.983733,32.554796],[101.983501,32.55488],[101.983269,32.554964],[101.983038,32.555048],[101.982806,32.555132],[101.982574,32.555216],[101.982342,32.5553],[101.982127,32.555378],[101.98211,32.555384],[101.982047,32.555406],[101.981905,32.555458],[101.981878,32.555467],[101.981647,32.555551],[101.98125,32.555726],[101.980853,32.5559],[101.980568,32.556026],[101.980546,32.556035],[101.980457,32.556075],[101.980247,32.556167],[101.980213,32.556182],[101.980203,32.556186],[101.980129,32.556219],[101.980107,32.556228],[101.98006,32.556249],[101.979906,32.556392],[101.979739,32.556547],[101.979548,32.556724],[101.979485,32.556783],[101.979419,32.556845],[101.979098,32.557142],[101.978778,32.55744],[101.978736,32.557471],[101.978687,32.557508],[101.978613,32.557563],[101.978565,32.557598],[101.978353,32.557756],[101.97814,32.557914],[101.977928,32.558072],[101.977715,32.558229],[101.977503,32.558387],[101.977291,32.558545],[101.977128,32.558666],[101.977078,32.558703],[101.976893,32.558837],[101.976707,32.558971],[101.976603,32.559046],[101.976601,32.559048],[101.976599,32.559049],[101.976558,32.559079],[101.976552,32.559083],[101.976522,32.559105],[101.976337,32.559239],[101.975989,32.559454],[101.975716,32.559623],[101.97564,32.55967],[101.97535,32.559791],[101.975196,32.559855],[101.975059,32.559912],[101.97485,32.559963],[101.974779,32.55998],[101.9745,32.560049],[101.974277,32.560103],[101.974054,32.560156],[101.973831,32.56021],[101.973608,32.560263],[101.973385,32.560317],[101.973162,32.560371],[101.972898,32.560533],[101.972634,32.560695],[101.972622,32.560711],[101.972621,32.560712],[101.972551,32.560806],[101.972521,32.560847],[101.972476,32.560908],[101.972469,32.560916],[101.972305,32.561138],[101.97216,32.561319],[101.972014,32.561501],[101.971985,32.561538],[101.971869,32.561682],[101.971724,32.561864],[101.971694,32.561902],[101.971683,32.561915],[101.971578,32.562046],[101.971478,32.562171],[101.971477,32.562172],[101.971448,32.562209],[101.971433,32.562227],[101.971288,32.562409],[101.971143,32.56259],[101.970946,32.562761],[101.97075,32.562931],[101.970553,32.563101],[101.970492,32.563155],[101.970479,32.563166],[101.970432,32.563207],[101.970425,32.563213],[101.970357,32.563272],[101.97016,32.563442],[101.969964,32.563613],[101.969767,32.563783],[101.96957,32.563953],[101.969417,32.564173],[101.969375,32.564233],[101.969317,32.564317],[101.969264,32.564392],[101.96921,32.56447],[101.969156,32.564548],[101.969111,32.564611],[101.968958,32.56483],[101.968858,32.564974],[101.968842,32.564997],[101.968805,32.56505],[101.968775,32.565093],[101.968652,32.565269],[101.968441,32.565564],[101.968351,32.565691],[101.96835,32.565691],[101.96835,32.565692],[101.96823,32.565859],[101.968227,32.565862],[101.968204,32.565882],[101.967897,32.566158],[101.967563,32.566436],[101.967351,32.566506],[101.96733,32.566512],[101.967208,32.566552],[101.96717,32.566564],[101.967151,32.566571],[101.966859,32.566639],[101.966817,32.566649],[101.966795,32.566655],[101.966567,32.566708],[101.966311,32.566756],[101.966055,32.566803],[101.965641,32.566897],[101.965241,32.56701],[101.965214,32.567017],[101.965017,32.567072],[101.964891,32.567108],[101.96484,32.567122],[101.964617,32.567249],[101.964575,32.567273],[101.964451,32.56739],[101.964416,32.567424],[101.964373,32.567465],[101.964263,32.567569],[101.964235,32.567596],[101.964171,32.567656],[101.964008,32.567898],[101.963844,32.56814],[101.963638,32.568325],[101.963629,32.568332],[101.963476,32.568469],[101.963474,32.568471],[101.963423,32.568516],[101.963415,32.568524],[101.963125,32.568649],[101.963113,32.568655],[101.963101,32.56866],[101.963047,32.568684],[101.962957,32.568722],[101.96295,32.568725],[101.962811,32.568786],[101.962469,32.568836],[101.9622,32.568842],[101.961857,32.56885],[101.961635,32.568893],[101.961613,32.568897],[101.961516,32.568921],[101.961438,32.569151],[101.961417,32.569214],[101.961382,32.569315],[101.961375,32.569337],[101.96136,32.569381],[101.961306,32.56962],[101.961273,32.569769],[101.96127,32.569781],[101.961266,32.569801],[101.961252,32.569859],[101.961125,32.57007],[101.961079,32.570145],[101.960997,32.57028],[101.960662,32.570578],[101.960459,32.570738],[101.960348,32.570825],[101.960255,32.570899],[101.960035,32.571001],[101.959814,32.571102],[101.959594,32.571204],[101.959373,32.571306],[101.959136,32.571519],[101.959048,32.571598],[101.959036,32.571608],[101.958999,32.571641],[101.958999,32.571641],[101.958999,32.571641],[101.958939,32.571695],[101.958939,32.571695],[101.958723,32.571889],[101.958397,32.57218],[101.958348,32.572224],[101.95827,32.572295],[101.958266,32.572299],[101.958247,32.572315],[101.958148,32.572404],[101.957899,32.572628],[101.957624,32.572862],[101.957417,32.573039],[101.957397,32.573056],[101.95735,32.573096],[101.957338,32.573101],[101.957095,32.573196],[101.956841,32.573295],[101.956562,32.573395],[101.956284,32.573494],[101.956079,32.573603],[101.955874,32.573712],[101.955623,32.573924],[101.955373,32.574137],[101.955233,32.574348],[101.955093,32.574558],[101.954957,32.574798],[101.954955,32.574801],[101.954953,32.574803],[101.954914,32.574872],[101.954907,32.574885],[101.954902,32.574894],[101.954841,32.575001],[101.954839,32.575004],[101.954799,32.575075],[101.954722,32.575211],[101.954388,32.575508],[101.95412,32.575555],[101.954099,32.575552],[101.953848,32.575521],[101.95365,32.575442],[101.953399,32.575283],[101.953109,32.57501],[101.953068,32.574971],[101.953004,32.574911],[101.952819,32.574737],[101.952563,32.574432],[101.952394,32.574146],[101.952225,32.573859],[101.952125,32.573655],[101.952025,32.573451],[101.951924,32.573246],[101.951824,32.573042],[101.951724,32.572838],[101.951624,32.572633],[101.951524,32.572429],[101.951423,32.572225],[101.951323,32.572021],[101.951223,32.571816],[101.951103,32.571598],[101.950984,32.57138],[101.950864,32.571161],[101.950745,32.570943],[101.950625,32.570725],[101.950506,32.570506],[101.95044,32.570386],[101.95042,32.57035],[101.950386,32.570288],[101.950267,32.57007],[101.950147,32.569851],[101.950028,32.569633],[101.949908,32.569414],[101.949789,32.569196],[101.949762,32.569146],[101.949669,32.568968],[101.949549,32.56874],[101.949429,32.568511],[101.949309,32.568283],[101.9493,32.568266],[101.949189,32.568055],[101.949069,32.567827],[101.948949,32.567598],[101.948829,32.56737],[101.948709,32.567142],[101.948589,32.566913],[101.948469,32.566685],[101.948348,32.566457],[101.948271,32.566239],[101.948194,32.566021],[101.948116,32.565803],[101.948039,32.565584],[101.947961,32.565366],[101.947884,32.565148],[101.947806,32.56493],[101.947729,32.564712],[101.947634,32.564493],[101.947539,32.564274],[101.947444,32.564055],[101.947349,32.563836],[101.947254,32.563617],[101.947159,32.563399],[101.947064,32.56318],[101.946969,32.562961],[101.946874,32.562742],[101.946779,32.562523],[101.946684,32.562304],[101.946589,32.562085],[101.946483,32.561855],[101.946376,32.561624],[101.94627,32.561394],[101.946164,32.561163],[101.946058,32.560933],[101.945951,32.560702],[101.945845,32.560472],[101.945739,32.560241],[101.945622,32.560044],[101.945506,32.559847],[101.945389,32.559651],[101.945272,32.559454],[101.945155,32.559257],[101.945039,32.559061],[101.944922,32.558864],[101.944873,32.558781],[101.944805,32.558667],[101.944672,32.558459],[101.94465,32.558426],[101.944538,32.558252],[101.944405,32.558044],[101.944271,32.557837],[101.944138,32.557629],[101.944004,32.557421],[101.943827,32.557252],[101.94365,32.557083],[101.943473,32.556913],[101.943295,32.556744],[101.943118,32.556574],[101.942941,32.556405],[101.942764,32.556236],[101.942642,32.556119],[101.942623,32.556101],[101.942587,32.556066],[101.942428,32.55589],[101.942269,32.555714],[101.942111,32.555537],[101.941952,32.555361],[101.941793,32.555184],[101.941635,32.555008],[101.941476,32.554832],[101.941318,32.554655],[101.941159,32.554479],[101.941072,32.554382],[101.941,32.554303],[101.940974,32.554277],[101.940893,32.554199],[101.940817,32.554125],[101.94068,32.553992],[101.940591,32.553906],[101.940538,32.553854],[101.940408,32.553729],[101.940382,32.553704],[101.94036,32.553682],[101.940228,32.553554],[101.940039,32.553372],[101.939697,32.553117],[101.939484,32.552959],[101.939437,32.552924],[101.939354,32.552863],[101.939315,32.552834],[101.939269,32.552799],[101.939012,32.552608],[101.938669,32.552354],[101.938462,32.5522],[101.938255,32.552046],[101.937891,32.55179],[101.937527,32.551534],[101.937164,32.551279],[101.937117,32.551245],[101.9368,32.551023],[101.936623,32.550893],[101.936486,32.550792],[101.936172,32.550561],[101.936145,32.550526],[101.936131,32.550508],[101.936127,32.550504],[101.936121,32.550496],[101.936031,32.550381],[101.935989,32.550327],[101.935969,32.550301],[101.935891,32.550201],[101.93575,32.550022],[101.935609,32.549842],[101.935547,32.549763],[101.935468,32.549662],[101.935328,32.549483],[101.935261,32.549413],[101.935153,32.549301],[101.934978,32.549119],[101.934804,32.548937],[101.93472,32.548849],[101.934675,32.548803],[101.934629,32.548755],[101.934574,32.548697],[101.934454,32.548573],[101.93428,32.548391],[101.934268,32.548383],[101.933916,32.548135],[101.933553,32.547879],[101.933347,32.547734],[101.933345,32.547733],[101.933343,32.547731],[101.933189,32.547623],[101.932959,32.547461],[101.932826,32.547368],[101.932788,32.547334],[101.932759,32.547308],[101.932643,32.547204],[101.932601,32.547167],[101.932579,32.547147],[101.932562,32.547132],[101.932555,32.547126],[101.93246,32.547041],[101.932277,32.546878],[101.932094,32.546715],[101.931911,32.546551],[101.931728,32.546388],[101.931698,32.546361],[101.931578,32.546255],[101.931545,32.546225],[101.931361,32.546062],[101.931178,32.545898],[101.930995,32.545735],[101.930812,32.545572],[101.930629,32.545409],[101.930496,32.545262],[101.930465,32.545228],[101.930426,32.545184],[101.930301,32.545047],[101.930147,32.544877],[101.930138,32.544866],[101.929974,32.544685],[101.92981,32.544504],[101.929646,32.544323],[101.929482,32.544142],[101.92946,32.544118],[101.929319,32.543962],[101.929155,32.543781],[101.928991,32.5436],[101.928827,32.543419],[101.928663,32.543238],[101.928598,32.543165],[101.9285,32.543057],[101.928336,32.542876],[101.928134,32.542705],[101.927932,32.542533],[101.927732,32.542364],[101.92773,32.542362],[101.927698,32.542335],[101.927528,32.54219],[101.927339,32.542019],[101.92715,32.541848],[101.927087,32.541789],[101.926876,32.541591],[101.926846,32.541563],[101.92684,32.541557],[101.926592,32.541279],[101.926384,32.540916],[101.926177,32.540553],[101.925969,32.540191],[101.925873,32.540023],[101.925851,32.539986],[101.925761,32.539828],[101.925708,32.53971],[101.925692,32.539675],[101.925664,32.539611],[101.925658,32.539599],[101.925634,32.539545],[101.925567,32.539394],[101.925469,32.539178],[101.92539,32.539001],[101.925372,32.538961],[101.92532,32.538844],[101.925275,32.538744],[101.925178,32.538528],[101.925081,32.538311],[101.925052,32.538245],[101.925035,32.538208],[101.924984,32.538094],[101.924887,32.537877],[101.92479,32.537661],[101.924714,32.537492],[101.924692,32.537444],[101.924595,32.537227],[101.924528,32.537089],[101.924477,32.536983],[101.924359,32.536739],[101.924318,32.536654],[101.924294,32.536604],[101.924241,32.536495],[101.924122,32.53625],[101.924038,32.536076],[101.924021,32.536041],[101.924004,32.536006],[101.923886,32.535762],[101.923768,32.535518],[101.923649,32.535274],[101.923531,32.535029],[101.923413,32.534785],[101.923295,32.534541],[101.923177,32.534297],[101.923081,32.53407],[101.922986,32.533843],[101.922891,32.533616],[101.922877,32.533582],[101.922796,32.533389],[101.922701,32.533162],[101.922667,32.533082],[101.922606,32.532935],[101.922511,32.532708],[101.922415,32.532481],[101.92232,32.532254],[101.922225,32.532027],[101.92213,32.531801],[101.922035,32.531574],[101.92194,32.531347],[101.921844,32.53112],[101.921746,32.530891],[101.921648,32.530663],[101.921549,32.530434],[101.921451,32.530205],[101.921352,32.529977],[101.921254,32.529748],[101.92122,32.52967],[101.921201,32.529626],[101.921156,32.52952],[101.921057,32.529291],[101.921003,32.529164],[101.920959,32.529062],[101.92086,32.528834],[101.920825,32.528751],[101.920762,32.528605],[101.920664,32.528377],[101.920565,32.528148],[101.920524,32.528054],[101.920509,32.528019],[101.920467,32.52792],[101.920457,32.527899],[101.920361,32.527692],[101.920353,32.527676],[101.920255,32.527464],[101.920211,32.52737],[101.920149,32.527237],[101.920067,32.527061],[101.920043,32.527009],[101.91995,32.526808],[101.919938,32.526782],[101.919929,32.526763],[101.919832,32.526554],[101.919726,32.526326],[101.91962,32.526099],[101.919548,32.525943],[101.919545,32.525936],[101.919527,32.525899],[101.919514,32.525871],[101.919413,32.525653],[101.919409,32.525644],[101.919395,32.525619],[101.91939,32.52561],[101.919226,32.525302],[101.919217,32.525286],[101.919203,32.52526],[101.919043,32.524961],[101.918947,32.524781],[101.91886,32.52462],[101.918856,32.52461],[101.918703,32.524292],[101.918649,32.524086],[101.918617,32.523924],[101.918604,32.523859],[101.918567,32.523667],[101.91856,32.523632],[101.918543,32.523537],[101.918517,32.523397],[101.918515,32.523385],[101.91847,32.523137],[101.918426,32.52289],[101.918381,32.522642],[101.918322,32.522363],[101.918301,32.522262],[101.918263,32.522085],[101.918202,32.521651],[101.918195,32.521453],[101.918192,32.52134],[101.918196,32.521192],[101.918204,32.520967],[101.91822,32.520718],[101.918227,32.520685],[101.918234,32.520657],[101.918263,32.520531],[101.918354,32.520301],[101.91836,32.520286],[101.918366,32.520271],[101.918458,32.52004],[101.918555,32.519795],[101.918653,32.51955],[101.918738,32.519314],[101.918824,32.519078],[101.918909,32.518842],[101.918994,32.518606],[101.919055,32.518436],[101.919067,32.518405],[101.919079,32.518369],[101.919165,32.518133],[101.91925,32.517897],[101.919312,32.517725],[101.919325,32.517688],[101.919335,32.517661],[101.91942,32.517425],[101.919506,32.517189],[101.919536,32.517082],[101.91954,32.517066],[101.919574,32.516946],[101.919643,32.516704],[101.919712,32.516461],[101.91978,32.516219],[101.919832,32.516039],[101.919849,32.515976],[101.919903,32.515785],[101.919918,32.515734],[101.919987,32.515491],[101.920034,32.515325],[101.920055,32.515249],[101.920108,32.515016],[101.920141,32.514868],[101.920177,32.514708],[101.920184,32.514678],[101.920227,32.514487],[101.920313,32.514106],[101.920311,32.513853],[101.920309,32.513599],[101.920306,32.513345],[101.920304,32.513092],[101.920346,32.512863],[101.920348,32.512855],[101.920356,32.512822],[101.920418,32.51258],[101.920425,32.512553],[101.92044,32.512494],[101.92048,32.512337],[101.920488,32.512306],[101.920535,32.512126],[101.920629,32.511757],[101.920694,32.511487],[101.92071,32.511259],[101.920704,32.511051],[101.92068,32.510972],[101.920673,32.510946],[101.920649,32.510866],[101.920514,32.510497],[101.920379,32.510128],[101.920245,32.509767],[101.920197,32.509637],[101.920177,32.509581],[101.920123,32.509438],[101.920112,32.509406],[101.920067,32.509166],[101.920023,32.508926],[101.919979,32.508686],[101.919934,32.508445],[101.91989,32.508205],[101.919846,32.507965],[101.919843,32.507701],[101.919841,32.507437],[101.919839,32.507206],[101.919839,32.507172],[101.919836,32.506908],[101.919834,32.506857],[101.919834,32.50683],[101.919823,32.506515],[101.91986,32.506182],[101.919927,32.505974],[101.920045,32.505764],[101.920075,32.50569],[101.920085,32.505664],[101.920112,32.505596],[101.920091,32.505348],[101.920071,32.5051],[101.920051,32.505037],[101.919962,32.50475],[101.919852,32.5044],[101.919772,32.504174],[101.919691,32.503948],[101.919546,32.503641],[101.919528,32.503603],[101.919402,32.503333],[101.91939,32.503313],[101.919292,32.503158],[101.919273,32.503128],[101.919168,32.50296],[101.919134,32.502905],[101.918934,32.502588],[101.918899,32.502531],[101.918701,32.502215],[101.91861,32.501973],[101.91852,32.501732],[101.918463,32.50158],[101.918435,32.501506],[101.918429,32.50149],[101.918339,32.501249],[101.918248,32.501008],[101.918158,32.500766],[101.918067,32.500525],[101.917977,32.500283],[101.917936,32.500122],[101.917877,32.499887],[101.917818,32.499653],[101.917777,32.499492],[101.917759,32.499418],[101.917729,32.4993],[101.917722,32.499272],[101.9177,32.499184],[101.917641,32.49895],[101.917623,32.498879],[101.917616,32.498851],[101.917582,32.498715],[101.917553,32.498599],[101.917478,32.498292],[101.917458,32.498211],[101.917451,32.498185],[101.91744,32.498137],[101.917406,32.497999],[101.917406,32.497998],[101.917401,32.497979],[101.917374,32.497868],[101.917358,32.497804],[101.917342,32.497738],[101.917308,32.497601],[101.91727,32.497445],[101.917149,32.497247],[101.917029,32.497049],[101.916969,32.496952],[101.916908,32.496852],[101.916788,32.496654],[101.916667,32.496457],[101.916546,32.496259],[101.916402,32.495972],[101.916258,32.495685],[101.916098,32.495296],[101.915992,32.49505],[101.915958,32.494751],[101.915923,32.494451],[101.915928,32.494217],[101.915933,32.493984],[101.915938,32.493751],[101.915942,32.493549],[101.915942,32.493517],[101.915922,32.493269],[101.915901,32.493021],[101.915867,32.49269],[101.915762,32.492464],[101.915657,32.492239],[101.915608,32.492148],[101.915593,32.492121],[101.91554,32.492024],[101.915422,32.49181],[101.915304,32.491596],[101.915186,32.491382],[101.915063,32.49108],[101.915052,32.491054],[101.915035,32.491012],[101.914926,32.490744],[101.914884,32.490642],[101.914734,32.490272],[101.914652,32.490025],[101.914571,32.489779],[101.914489,32.489532],[101.914408,32.489285],[101.914349,32.488955],[101.91429,32.488666],[101.914253,32.488315],[101.914247,32.4881],[101.914246,32.488072],[101.914245,32.488045],[101.914239,32.487842],[101.914237,32.487776],[101.914241,32.487571],[101.914241,32.487534],[101.914246,32.487292],[101.91425,32.48705],[101.914255,32.486808],[101.914259,32.4866],[101.914259,32.486567],[101.91426,32.486554],[101.91426,32.486545],[101.914264,32.486338],[101.914264,32.486325],[101.91425,32.486222],[101.914238,32.486134],[101.914232,32.486088],[101.914202,32.485869],[101.914199,32.48585],[101.914196,32.485839],[101.914194,32.485832],[101.914137,32.485651],[101.914137,32.485651],[101.914124,32.48561],[101.914048,32.485369],[101.913973,32.485128],[101.913897,32.484887],[101.913833,32.484659],[101.913768,32.484431],[101.913704,32.484202],[101.913639,32.483974],[101.913575,32.483746],[101.91351,32.483517],[101.913446,32.483289],[101.913381,32.483061],[101.913317,32.482833],[101.913252,32.482604],[101.913188,32.482376],[101.913123,32.482148],[101.913034,32.481922],[101.912945,32.481696],[101.912855,32.481471],[101.912766,32.481245],[101.912677,32.481019],[101.912588,32.480794],[101.912498,32.480568],[101.912409,32.480342],[101.91232,32.480116],[101.912231,32.479891],[101.912142,32.479665],[101.912052,32.479439],[101.91195,32.479216],[101.911847,32.478992],[101.911744,32.478769],[101.911641,32.478545],[101.911538,32.478322],[101.911436,32.478098],[101.911339,32.477887],[101.911333,32.477874],[101.911322,32.477851],[101.911266,32.477728],[101.91123,32.477651],[101.911127,32.477427],[101.911025,32.477204],[101.910969,32.477064],[101.910939,32.47699],[101.910934,32.476976],[101.910854,32.476777],[101.910769,32.476563],[101.910683,32.476349],[101.910598,32.476136],[101.910513,32.475922],[101.910431,32.475717],[101.910427,32.475709],[101.910342,32.475495],[101.910296,32.47538],[101.910257,32.475281],[101.910171,32.475068],[101.910147,32.474912],[101.910141,32.474872],[101.910121,32.474749],[101.910102,32.474625],[101.910092,32.474564],[101.910032,32.474182],[101.909963,32.473739],[101.909893,32.473296],[101.90985,32.472849],[101.909806,32.472403],[101.909763,32.471956],[101.909719,32.471509],[101.909675,32.471063],[101.909676,32.47071],[101.909677,32.470407],[101.909677,32.470358],[101.909669,32.470089],[101.90966,32.469978],[101.909648,32.469841],[101.909628,32.469593],[101.909606,32.469282],[101.909596,32.469139],[101.909584,32.468972],[101.909527,32.468735],[101.90951,32.468665],[101.90947,32.468499],[101.909418,32.468282],[101.909413,32.468263],[101.909409,32.468244],[101.90936,32.468042],[101.909356,32.468027],[101.909264,32.467822],[101.909172,32.467617],[101.909079,32.467412],[101.908987,32.467207],[101.908895,32.467002],[101.908891,32.466995],[101.908882,32.466974],[101.90887,32.466947],[101.908849,32.4669],[101.908836,32.466871],[101.908809,32.466812],[101.908802,32.466797],[101.908734,32.466646],[101.908732,32.466641],[101.90871,32.466592],[101.908617,32.466387],[101.90856,32.466259],[101.908556,32.46625],[101.908537,32.466208],[101.908527,32.466186],[101.908526,32.466184],[101.908525,32.466182],[101.908498,32.466122],[101.908433,32.465977],[101.908356,32.465737],[101.908278,32.465497],[101.908201,32.465257],[101.908124,32.465017],[101.908047,32.464776],[101.907969,32.464536],[101.907915,32.464281],[101.90787,32.464069],[101.90786,32.464026],[101.907855,32.464003],[101.907845,32.463955],[101.907823,32.46385],[101.907806,32.463771],[101.907751,32.463516],[101.907697,32.463261],[101.907642,32.463006],[101.907621,32.462904],[101.907616,32.462881],[101.907607,32.462838],[101.907605,32.462828],[101.907588,32.46275],[101.907533,32.462495],[101.907494,32.462311],[101.907479,32.46224],[101.907476,32.462228],[101.907424,32.461985],[101.90738,32.461793],[101.907367,32.461738],[101.907357,32.461694],[101.907338,32.461613],[101.90731,32.461491],[101.907275,32.461159],[101.907252,32.460936],[101.907238,32.460808],[101.907228,32.460456],[101.907245,32.460207],[101.907282,32.459853],[101.907344,32.459521],[101.907346,32.459505],[101.907386,32.45925],[101.907372,32.458858],[101.907372,32.458858],[101.907372,32.458858],[101.907353,32.458718],[101.907316,32.458454],[101.907313,32.458427],[101.907313,32.458427],[101.907264,32.45807],[101.907256,32.458017],[101.907211,32.457686],[101.907168,32.457452],[101.907126,32.457217],[101.907107,32.457113],[101.907083,32.456983],[101.90706,32.456854],[101.907041,32.456748],[101.906998,32.456514],[101.906956,32.456279],[101.906913,32.456045],[101.906871,32.455811],[101.906829,32.455576],[101.906786,32.455342],[101.906786,32.455342],[101.906744,32.455107],[101.906743,32.455105],[101.906743,32.455103],[101.906701,32.454873],[101.906659,32.454639],[101.906616,32.454404],[101.906572,32.454162],[101.906527,32.45392],[101.906497,32.453758],[101.906497,32.453755],[101.906494,32.453738],[101.906483,32.453678],[101.906464,32.453578],[101.906464,32.453576],[101.906438,32.453435],[101.906438,32.453433],[101.906438,32.453432],[101.906425,32.453361],[101.906394,32.453193],[101.906349,32.452951],[101.906305,32.452709],[101.90626,32.452467],[101.906252,32.452424],[101.906247,32.452397],[101.906239,32.45235],[101.906229,32.452296],[101.906216,32.452225],[101.906171,32.451983],[101.906157,32.451905],[101.906144,32.451837],[101.906127,32.45174],[101.906107,32.451634],[101.906105,32.451621],[101.906101,32.451602],[101.9061,32.451594],[101.906082,32.451498],[101.906064,32.451245],[101.906045,32.450993],[101.906026,32.45074],[101.906008,32.450487],[101.905989,32.450234],[101.90597,32.449982],[101.905952,32.449729],[101.905933,32.449476],[101.905914,32.449223],[101.905896,32.448971],[101.905877,32.448718],[101.905868,32.448597],[101.905868,32.448595],[101.905868,32.448593],[101.905858,32.448465],[101.90584,32.448212],[101.905821,32.447959],[101.905832,32.447525],[101.905844,32.447091],[101.905855,32.446657],[101.905862,32.44638],[101.905866,32.446223],[101.905902,32.445984],[101.905937,32.445744],[101.905972,32.445505],[101.906007,32.445266],[101.906042,32.445027],[101.906078,32.444788],[101.906113,32.444549],[101.906148,32.444309],[101.906196,32.444078],[101.906243,32.443846],[101.906291,32.443615],[101.906338,32.443383],[101.906386,32.443151],[101.906433,32.44292],[101.906481,32.442688],[101.906529,32.442457],[101.90656,32.442192],[101.906591,32.441927],[101.906623,32.441663],[101.906654,32.441398],[101.906674,32.441229],[101.906686,32.441133],[101.906717,32.440869],[101.906748,32.440604],[101.90678,32.440339],[101.906784,32.440101],[101.906789,32.439862],[101.906793,32.439624],[101.906798,32.439385],[101.906803,32.439147],[101.906807,32.438908],[101.906812,32.43867],[101.906816,32.438431],[101.906821,32.438193],[101.906826,32.437954],[101.90683,32.437716],[101.906835,32.437477],[101.906799,32.437217],[101.906763,32.436957],[101.906727,32.436697],[101.906691,32.436437],[101.906655,32.436176],[101.906619,32.435916],[101.906583,32.435656],[101.906547,32.435396],[101.906502,32.435143],[101.906457,32.43489],[101.906412,32.434637],[101.906367,32.434384],[101.906322,32.434132],[101.906278,32.433879],[101.906233,32.433626],[101.906188,32.433373],[101.906155,32.43319],[101.906143,32.43312],[101.906098,32.432867],[101.906053,32.432615],[101.906008,32.432362],[101.905975,32.432087],[101.905942,32.431813],[101.905909,32.431538],[101.905876,32.431263],[101.905843,32.430989],[101.90581,32.430714],[101.905847,32.430361],[101.905884,32.430007],[101.906031,32.42959],[101.906178,32.429172],[101.906285,32.428949],[101.906392,32.428725],[101.906498,32.428501],[101.906605,32.428278],[101.906712,32.428055],[101.906712,32.428054],[101.906713,32.428052],[101.906716,32.428046],[101.906819,32.42783],[101.906945,32.427673],[101.906955,32.427661],[101.906986,32.427623],[101.90715,32.427418],[101.907315,32.427213],[101.907479,32.427009],[101.907643,32.426804],[101.907808,32.426599],[101.907972,32.426395],[101.908155,32.426209],[101.908337,32.426024],[101.90839,32.42597],[101.908403,32.425957],[101.90846,32.425899],[101.90847,32.425889],[101.90852,32.425838],[101.908702,32.425653],[101.908885,32.425467],[101.909067,32.425282],[101.90925,32.425097],[101.909432,32.424911],[101.909615,32.424726],[101.909797,32.42454],[101.90998,32.424355],[101.910162,32.42417],[101.910378,32.424023],[101.910593,32.423877],[101.910809,32.42373],[101.911024,32.423584],[101.91124,32.423437],[101.911455,32.42329],[101.911664,32.423182],[101.911873,32.423073],[101.912081,32.422965],[101.91229,32.422856],[101.912499,32.422748],[101.912707,32.422639],[101.912892,32.422532],[101.912935,32.422506],[101.912952,32.422496],[101.913026,32.422454],[101.913164,32.422373],[101.913173,32.422368],[101.913392,32.42224],[101.91362,32.422107],[101.913848,32.421974],[101.914018,32.421875],[101.914076,32.421841],[101.914385,32.421551],[101.914694,32.42126],[101.915003,32.420969],[101.915174,32.420753],[101.915344,32.420536],[101.915515,32.42032],[101.915685,32.420104],[101.91582,32.419708],[101.915824,32.419459],[101.915828,32.419209],[101.915793,32.418899],[101.915761,32.418672],[101.915619,32.418267],[101.915476,32.417861],[101.915394,32.417627],[101.915333,32.417456],[101.915191,32.417051],[101.915094,32.416787],[101.915009,32.416559],[101.914925,32.41633],[101.914841,32.416102],[101.914757,32.415873],[101.914673,32.415645],[101.914589,32.415416],[101.914505,32.415188],[101.914484,32.415132],[101.914459,32.415065],[101.914453,32.415048],[101.914421,32.41496],[101.914336,32.414731],[101.914252,32.414503],[101.914045,32.414145],[101.913838,32.413787],[101.91366,32.413574],[101.913482,32.41336],[101.913292,32.413177],[101.913102,32.412995],[101.912919,32.412649],[101.912736,32.412303],[101.912692,32.412071],[101.912648,32.411838],[101.912603,32.411606],[101.912559,32.411373],[101.912453,32.411066],[101.912346,32.410799],[101.912214,32.410532],[101.912024,32.41035],[101.911835,32.410168],[101.911637,32.41003],[101.911439,32.409891],[101.911242,32.409753],[101.911044,32.409614],[101.910846,32.409476],[101.910649,32.409337],[101.910451,32.409199],[101.910253,32.40906],[101.910056,32.408922],[101.909858,32.408783],[101.909636,32.408618],[101.909414,32.408453],[101.909192,32.408287],[101.908971,32.408122],[101.908749,32.407956],[101.908527,32.407791],[101.908305,32.407626],[101.908248,32.407583],[101.908083,32.40746],[101.907861,32.407295],[101.907691,32.407168],[101.907666,32.407149],[101.90764,32.407129],[101.907418,32.406964],[101.907196,32.406799],[101.907012,32.406649],[101.906827,32.4065],[101.906643,32.40635],[101.906459,32.406201],[101.906275,32.406051],[101.90609,32.405902],[101.905906,32.405752],[101.905722,32.405603],[101.905538,32.405453],[101.905353,32.405304],[101.905169,32.405155],[101.904985,32.405005],[101.904761,32.404896],[101.904537,32.404787],[101.904254,32.404731],[101.903971,32.404676],[101.903676,32.40463],[101.903522,32.404606],[101.903381,32.404585],[101.903252,32.404574],[101.903147,32.404565],[101.903098,32.40456],[101.902975,32.40455],[101.902816,32.404536],[101.902547,32.404553],[101.902279,32.40457],[101.902106,32.404607],[101.902013,32.404627],[101.901747,32.404685],[101.901584,32.40472],[101.901517,32.404734],[101.901481,32.404742],[101.901467,32.404745],[101.901215,32.404799],[101.901112,32.40484],[101.900913,32.40492],[101.900751,32.404985],[101.90061,32.405041],[101.900283,32.405132],[101.899955,32.405223],[101.899724,32.405259],[101.899493,32.405296],[101.899066,32.405336],[101.898639,32.405377],[101.898395,32.405393],[101.89815,32.405409],[101.897796,32.405438],[101.897442,32.405467],[101.897174,32.405504],[101.896906,32.405542],[101.896555,32.405622],[101.896204,32.405702],[101.89596,32.40576],[101.895717,32.405817],[101.895461,32.405875],[101.895206,32.405932],[101.894891,32.406002],[101.894475,32.406012],[101.894179,32.405956],[101.893907,32.40588],[101.893683,32.40575],[101.893459,32.405621],[101.893182,32.405379],[101.892964,32.405073],[101.892747,32.404767],[101.892565,32.404459],[101.89246,32.404208],[101.892354,32.403957],[101.892248,32.403705],[101.892142,32.403454],[101.892036,32.403202],[101.89193,32.402951],[101.891824,32.402699],[101.891719,32.402448],[101.891593,32.402233],[101.891467,32.402019],[101.891341,32.401804],[101.891215,32.40159],[101.89109,32.401376],[101.890964,32.401161],[101.890838,32.400947],[101.890712,32.400732],[101.890586,32.400518],[101.890461,32.400303],[101.890335,32.400089],[101.890209,32.399875],[101.890046,32.399655],[101.889883,32.399436],[101.88972,32.399217],[101.889557,32.398997],[101.889394,32.398778],[101.889231,32.398559],[101.889068,32.39834],[101.888905,32.39812],[101.888569,32.397831],[101.888233,32.397542],[101.887897,32.397253],[101.887703,32.397107],[101.887509,32.396961],[101.887314,32.396815],[101.88712,32.39667],[101.886908,32.39653],[101.886696,32.39639],[101.886435,32.396271],[101.886175,32.396152],[101.885903,32.396065],[101.885631,32.395978],[101.885368,32.395911],[101.885335,32.395902],[101.885244,32.395878],[101.885124,32.395848],[101.885086,32.395838],[101.885039,32.395826],[101.884791,32.395738],[101.884544,32.39565],[101.884221,32.395523],[101.883899,32.395396],[101.883588,32.395217],[101.883278,32.395038],[101.883141,32.394839],[101.883004,32.394641],[101.882867,32.394442],[101.88273,32.394243],[101.882614,32.394041],[101.882497,32.393839],[101.882381,32.393636],[101.882264,32.393434],[101.882148,32.393231],[101.882031,32.393029],[101.881914,32.392826],[101.881798,32.392624],[101.881681,32.392421],[101.881565,32.392219],[101.881439,32.392003],[101.881313,32.391787],[101.881188,32.391571],[101.881062,32.391355],[101.880936,32.391139],[101.880883,32.391048],[101.88081,32.390924],[101.880801,32.390908],[101.88074,32.390803],[101.880685,32.390708],[101.880559,32.390492],[101.880433,32.390276],[101.88035,32.390133],[101.880307,32.39006],[101.880182,32.389844],[101.880056,32.389628],[101.879877,32.389373],[101.879697,32.389119],[101.879517,32.38896],[101.879337,32.388802],[101.879156,32.388644],[101.878976,32.388485],[101.878796,32.388327],[101.878616,32.388169],[101.878316,32.38801],[101.87797,32.387893],[101.877674,32.387817],[101.877256,32.387745],[101.876819,32.387693],[101.876814,32.387693],[101.876771,32.387682],[101.876717,32.387668],[101.876703,32.387664],[101.876592,32.387635],[101.876371,32.387578],[101.876167,32.387479],[101.875798,32.387301],[101.875586,32.387171],[101.875375,32.387041],[101.87516,32.38687],[101.874946,32.386698],[101.874733,32.386516],[101.87452,32.386334],[101.874318,32.386142],[101.874116,32.385951],[101.873978,32.385827],[101.873919,32.385773],[101.87389,32.385748],[101.873848,32.38571],[101.873665,32.385545],[101.873337,32.385264],[101.873105,32.385161],[101.873026,32.385126],[101.873018,32.385123],[101.873018,32.385122],[101.872938,32.385087],[101.872831,32.385039],[101.872716,32.384988],[101.872456,32.38489],[101.872196,32.384793],[101.871854,32.384545],[101.871852,32.384543],[101.871849,32.384542],[101.871772,32.384486],[101.871772,32.384486],[101.871511,32.384297],[101.871169,32.384049],[101.871085,32.384],[101.870949,32.38392],[101.870897,32.38389],[101.870729,32.383791],[101.870621,32.383728],[101.870554,32.383688],[101.870509,32.383662],[101.870289,32.383533],[101.870069,32.383404],[101.869848,32.383275],[101.869628,32.383146],[101.869408,32.383017],[101.869188,32.382888],[101.868968,32.382759],[101.868748,32.38263],[101.868528,32.3825],[101.868308,32.382371],[101.868087,32.382242],[101.867867,32.382113],[101.867647,32.381984],[101.867597,32.381959],[101.867468,32.381894],[101.867443,32.381881],[101.867371,32.381846],[101.867264,32.381792],[101.867238,32.381779],[101.867033,32.381676],[101.866829,32.381573],[101.866624,32.38147],[101.866419,32.381368],[101.866215,32.381265],[101.86601,32.381162],[101.865805,32.381059],[101.865601,32.380957],[101.865367,32.3809],[101.865132,32.380843],[101.864895,32.380828],[101.864658,32.380813],[101.864422,32.380797],[101.864185,32.380782],[101.863948,32.380766],[101.863711,32.380751],[101.863416,32.380717],[101.863121,32.380661],[101.862895,32.380479],[101.862765,32.380243],[101.862635,32.380008],[101.862501,32.379638],[101.862444,32.379479],[101.862443,32.379474],[101.86242,32.379412],[101.862414,32.379393],[101.862389,32.379323],[101.86234,32.379186],[101.862336,32.379073],[101.862336,32.37907],[101.862332,32.378937],[101.862324,32.378689],[101.862316,32.37844],[101.862309,32.378192],[101.862301,32.377943],[101.862293,32.377695],[101.862285,32.377447],[101.862277,32.377198],[101.862294,32.376938],[101.862312,32.376679],[101.862329,32.376419],[101.862346,32.376159],[101.862363,32.375899],[101.862381,32.37564],[101.862398,32.37538],[101.862415,32.37512],[101.862427,32.374938],[101.862439,32.3747],[101.862451,32.374461],[101.862463,32.374223],[101.862475,32.373984],[101.862487,32.373745],[101.862493,32.373626],[101.862499,32.373507],[101.862503,32.373436],[101.862511,32.373268],[101.862524,32.37303],[101.862536,32.372791],[101.862548,32.372552],[101.862559,32.37212],[101.862565,32.371876],[101.86257,32.371687],[101.862579,32.37132],[101.862581,32.371255],[101.862592,32.370822],[101.862646,32.370603],[101.862701,32.370384],[101.862723,32.370326],[101.862783,32.370172],[101.862814,32.370091],[101.862879,32.36984],[101.862888,32.369811],[101.862937,32.36965],[101.862968,32.369548],[101.863084,32.369339],[101.863149,32.369094],[101.863215,32.368849],[101.86328,32.368603],[101.863333,32.368405],[101.863346,32.368358],[101.863373,32.368131],[101.863377,32.368101],[101.863409,32.367845],[101.863439,32.367599],[101.863497,32.367259],[101.863552,32.366935],[101.863553,32.366933],[101.863555,32.36692],[101.863613,32.36658],[101.86364,32.366294],[101.863666,32.366008],[101.863667,32.365995],[101.863623,32.365553],[101.863578,32.36511],[101.863534,32.364668],[101.863489,32.364226],[101.863466,32.364002],[101.863387,32.363576],[101.863307,32.363151],[101.863227,32.362725],[101.863148,32.3623],[101.863068,32.361874],[101.862977,32.361468],[101.862899,32.361123],[101.862827,32.360804],[101.862821,32.360779],[101.862757,32.360492],[101.862693,32.360206],[101.862693,32.35993],[101.862693,32.359654],[101.862697,32.359392],[101.862702,32.35913],[101.862702,32.358972],[101.862702,32.358683],[101.862636,32.358369],[101.862588,32.358102],[101.862626,32.357769],[101.862759,32.357455],[101.862869,32.357231],[101.862978,32.357008],[101.863035,32.356684],[101.863026,32.356427],[101.862908,32.355998],[101.862855,32.355805],[101.862848,32.355787],[101.862848,32.355786],[101.862848,32.355786],[101.862844,32.355774],[101.862771,32.355566],[101.86276,32.355533],[101.862687,32.355327],[101.862606,32.355138],[101.862606,32.355138],[101.862606,32.355138],[101.862444,32.354762],[101.862282,32.354387],[101.86222,32.354295],[101.862181,32.354238],[101.862043,32.354056],[101.861905,32.353875],[101.861866,32.353832],[101.861791,32.35375],[101.86152,32.35345],[101.861352,32.353286],[101.861184,32.353122],[101.861006,32.352969],[101.860827,32.352815],[101.860513,32.352615],[101.860335,32.352458],[101.86027,32.352244],[101.860263,32.352016],[101.860227,32.351701],[101.860162,32.351579],[101.860121,32.351503],[101.860042,32.351412],[101.859817,32.351167],[101.859593,32.350922],[101.859365,32.350659],[101.859192,32.35046],[101.859019,32.350261],[101.858847,32.350062],[101.858674,32.349863],[101.858448,32.349511],[101.858221,32.349159],[101.857995,32.348808],[101.857768,32.348456],[101.857588,32.348295],[101.857407,32.348133],[101.857226,32.347972],[101.857046,32.34781],[101.856865,32.347648],[101.856685,32.347487],[101.856367,32.347217],[101.856049,32.346948],[101.855731,32.346679],[101.8555,32.346345],[101.85527,32.346012],[101.855039,32.345679],[101.854922,32.345464],[101.854819,32.345274],[101.854805,32.345249],[101.854689,32.345034],[101.854572,32.344819],[101.854437,32.34457],[101.854326,32.344477],[101.854012,32.344242],[101.853892,32.344132],[101.853822,32.344069],[101.853777,32.344028],[101.853591,32.343746],[101.853406,32.343464],[101.853313,32.343232],[101.85322,32.343],[101.853077,32.342714],[101.852934,32.342429],[101.852791,32.342125],[101.852749,32.342036],[101.852656,32.341615],[101.852649,32.341237],[101.852642,32.340858],[101.852599,32.34068],[101.852549,32.340516],[101.852492,32.340409],[101.852406,32.340209],[101.852406,32.340002],[101.852392,32.339873],[101.852335,32.339709],[101.852381,32.339416],[101.852428,32.339124],[101.852499,32.338867],[101.852497,32.338843],[101.85247,32.338574],[101.852473,32.338228],[101.852475,32.337882],[101.852404,32.337654],[101.852379,32.337504],[101.852297,32.337083],[101.852254,32.336958],[101.852198,32.336881],[101.852198,32.33688],[101.852197,32.336879],[101.852111,32.336804],[101.851942,32.336622],[101.851785,32.336343],[101.851627,32.336063],[101.851514,32.335801],[101.851478,32.335605],[101.851556,32.335369]]]]},"properties":{"cp":[102.04239391087305,32.455224568167694],"code":"513233203","name":"查尔玛乡","level":"street","center":[102.04239391087305,32.455224568167694],"fullCode":"513233203000","fullName":"四川省阿坝藏族羌族自治州红原县查尔玛乡","acreageMu":1092920.26,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[101.921,32.5029]}},{"id":"513233204","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.485374,33.088931],[102.485341,33.088785],[102.485348,33.088537],[102.485356,33.088289],[102.485367,33.087863],[102.485377,33.087532],[102.485397,33.087205],[102.485417,33.086878],[102.485309,33.086675],[102.485202,33.086471],[102.48493,33.086183],[102.484751,33.086002],[102.484573,33.08582],[102.484395,33.085675],[102.484216,33.085529],[102.484007,33.085442],[102.483798,33.085355],[102.48338,33.085251],[102.483112,33.085246],[102.482844,33.085241],[102.482449,33.08528],[102.482155,33.085262],[102.48186,33.085245],[102.481496,33.085167],[102.481246,33.08502],[102.481032,33.08466],[102.480954,33.084446],[102.480876,33.084231],[102.480797,33.084005],[102.480719,33.083778],[102.480506,33.083457],[102.480449,33.083371],[102.480314,33.083155],[102.48018,33.08294],[102.480046,33.082712],[102.479912,33.082485],[102.479791,33.082293],[102.47967,33.082102],[102.479455,33.081718],[102.479351,33.081456],[102.479162,33.08113],[102.479138,33.080902],[102.479113,33.080675],[102.479089,33.080447],[102.479064,33.080219],[102.479039,33.079992],[102.479015,33.079764],[102.47899,33.079537],[102.478966,33.079309],[102.478941,33.079082],[102.478916,33.078854],[102.478894,33.078579],[102.478871,33.078305],[102.478849,33.07803],[102.478826,33.077756],[102.478803,33.077481],[102.478781,33.077207],[102.478758,33.076932],[102.478735,33.076658],[102.478713,33.076383],[102.47869,33.076109],[102.478667,33.075834],[102.478645,33.075559],[102.478596,33.075299],[102.478548,33.075038],[102.478502,33.074634],[102.478427,33.074325],[102.478354,33.074104],[102.478281,33.073883],[102.478208,33.073662],[102.478135,33.073441],[102.478062,33.07322],[102.477988,33.072999],[102.477907,33.07279],[102.477826,33.07258],[102.477745,33.07237],[102.477664,33.07216],[102.477582,33.071951],[102.477501,33.071741],[102.47742,33.071531],[102.477339,33.071321],[102.477257,33.071111],[102.477176,33.070902],[102.477092,33.070676],[102.477007,33.070449],[102.476923,33.070223],[102.476839,33.069997],[102.476755,33.069771],[102.47667,33.069545],[102.476586,33.069319],[102.476502,33.069093],[102.476417,33.068867],[102.476333,33.068641],[102.47625,33.068381],[102.476167,33.06812],[102.476084,33.06786],[102.476001,33.0676],[102.475918,33.06734],[102.475835,33.06708],[102.475752,33.066819],[102.475669,33.066559],[102.475586,33.066299],[102.475503,33.066039],[102.47542,33.065779],[102.475337,33.065518],[102.475254,33.065258],[102.475171,33.064998],[102.475042,33.064577],[102.474914,33.064157],[102.474785,33.063736],[102.474694,33.063427],[102.474604,33.063117],[102.474633,33.062859],[102.474662,33.0626],[102.474691,33.062341],[102.47472,33.062082],[102.474788,33.061843],[102.474856,33.061604],[102.474924,33.061364],[102.474992,33.061125],[102.47508,33.060812],[102.475292,33.060436],[102.475504,33.060061],[102.475702,33.059694],[102.475901,33.059327],[102.476099,33.05896],[102.476316,33.058571],[102.476533,33.058181],[102.476623,33.057788],[102.476713,33.057395],[102.476716,33.057121],[102.476719,33.056847],[102.476682,33.05653],[102.476644,33.056213],[102.476607,33.055896],[102.476555,33.055455],[102.476549,33.055064],[102.476543,33.054673],[102.476537,33.054282],[102.476531,33.05406],[102.476521,33.053734],[102.476511,33.053408],[102.476504,33.053084],[102.476496,33.052759],[102.476488,33.052435],[102.47642,33.052174],[102.476351,33.051913],[102.476291,33.051686],[102.476231,33.051459],[102.476115,33.051083],[102.475999,33.050706],[102.47598,33.050644],[102.475833,33.050356],[102.475686,33.050069],[102.47554,33.049781],[102.475349,33.049436],[102.475159,33.049091],[102.47512,33.048987],[102.474994,33.048655],[102.474868,33.048323],[102.474743,33.047991],[102.474637,33.047791],[102.474528,33.047586],[102.474291,33.047212],[102.474008,33.046911],[102.473725,33.046611],[102.473689,33.046536],[102.473642,33.046438],[102.473666,33.046212],[102.47366,33.045849],[102.473654,33.045486],[102.473688,33.045178],[102.473722,33.04487],[102.473749,33.044624],[102.473775,33.044255],[102.473801,33.043886],[102.473827,33.043517],[102.473828,33.043352],[102.47383,33.042991],[102.473833,33.042629],[102.473836,33.042267],[102.473838,33.041905],[102.473856,33.041537],[102.473904,33.041311],[102.474047,33.041067],[102.474172,33.040847],[102.474296,33.040626],[102.474499,33.040406],[102.474701,33.040186],[102.474826,33.039996],[102.474945,33.039764],[102.474998,33.039484],[102.475117,33.039223],[102.475177,33.039116],[102.475179,33.039109],[102.47519,33.03866],[102.475201,33.03829],[102.475211,33.03792],[102.475222,33.037549],[102.475261,33.037297],[102.475299,33.037044],[102.475338,33.036792],[102.475377,33.036539],[102.475416,33.036287],[102.475455,33.036034],[102.475493,33.035782],[102.475532,33.035529],[102.475574,33.035261],[102.475582,33.035207],[102.475637,33.03523],[102.476507,33.035744],[102.477346,33.03604],[102.478298,33.036277],[102.478923,33.036351],[102.478959,33.036352],[102.479841,33.036463],[102.480447,33.03719],[102.480949,33.037666],[102.481976,33.037842],[102.482808,33.038417],[102.483751,33.038964],[102.484244,33.03975],[102.484622,33.04072],[102.484898,33.041378],[102.485531,33.042477],[102.486396,33.043147],[102.487775,33.04392],[102.489316,33.044199],[102.490709,33.044015],[102.490944,33.043984],[102.492318,33.043639],[102.493072,33.043033],[102.494461,33.04216],[102.494835,33.040647],[102.495199,33.039536],[102.495965,33.038496],[102.497306,33.036691],[102.498087,33.035154],[102.499122,33.035051],[102.499675,33.035062],[102.500222,33.035185],[102.500546,33.035083],[102.501299,33.034557],[102.501858,33.034108],[102.502507,33.033851],[102.502766,33.033775],[102.503184,33.033756],[102.503601,33.033792],[102.504169,33.034128],[102.505439,33.034667],[102.506104,33.035005],[102.506864,33.035372],[102.507595,33.03563],[102.508559,33.035622],[102.509431,33.03545],[102.510549,33.035218],[102.511503,33.035064],[102.512043,33.035053],[102.512733,33.035197],[102.51329,33.035489],[102.513953,33.035654],[102.514969,33.036085],[102.515863,33.036276],[102.516349,33.036351],[102.517473,33.036568],[102.518386,33.036997],[102.519404,33.037342],[102.519916,33.037396],[102.522811,33.038062],[102.523696,33.038027],[102.524803,33.03817],[102.525561,33.038272],[102.526239,33.038286],[102.526871,33.038454],[102.527509,33.038449],[102.528049,33.038269],[102.528543,33.038227],[102.529272,33.037913],[102.530071,33.037407],[102.530795,33.036826],[102.531727,33.035888],[102.532038,33.03534],[102.532231,33.034928],[102.53248,33.034849],[102.532688,33.035034],[102.533093,33.035277],[102.533533,33.035438],[102.53399,33.035572],[102.534416,33.035636],[102.534951,33.035924],[102.535533,33.03631],[102.536001,33.036638],[102.537837,33.037931],[102.538575,33.038537],[102.539558,33.039192],[102.540183,33.039411],[102.540789,33.039719],[102.542123,33.040346],[102.543113,33.040937],[102.543737,33.041245],[102.544176,33.041431],[102.544879,33.041406],[102.545443,33.041338],[102.546175,33.041096],[102.54684,33.040735],[102.547299,33.040231],[102.54766,33.039864],[102.54839,33.039701],[102.549396,33.03972],[102.550049,33.039812],[102.550889,33.039908],[102.551708,33.039904],[102.553137,33.039853],[102.553888,33.039809],[102.554891,33.039927],[102.555916,33.040105],[102.556472,33.040293],[102.556985,33.040382],[102.557617,33.040375],[102.559062,33.04058],[102.559556,33.040511],[102.560478,33.040155],[102.561196,33.039597],[102.561634,33.038994],[102.561676,33.038325],[102.56179,33.037558],[102.561623,33.036826],[102.5616,33.035978],[102.561842,33.034839],[102.562602,33.033573],[102.563055,33.032418],[102.563595,33.030334],[102.563754,33.029327],[102.564152,33.027113],[102.564351,33.026233],[102.564996,33.024583],[102.565489,33.023014],[102.565268,33.022255],[102.564832,33.021152],[102.564503,33.019769],[102.564702,33.017414],[102.565032,33.016325],[102.565145,33.01585],[102.565203,33.015718],[102.565244,33.015624],[102.565393,33.015285],[102.565433,33.015195],[102.565508,33.015198],[102.565561,33.015211],[102.565608,33.015223],[102.565636,33.015245],[102.565658,33.015278],[102.565666,33.015309],[102.565667,33.01538],[102.565662,33.015432],[102.565642,33.015471],[102.565607,33.015517],[102.565605,33.01553],[102.565637,33.015558],[102.565684,33.01556],[102.565717,33.01555],[102.56577,33.01552],[102.565802,33.015493],[102.565852,33.015458],[102.565891,33.015428],[102.565952,33.015401],[102.566021,33.015384],[102.566053,33.015381],[102.566192,33.015377],[102.566269,33.015359],[102.566301,33.015328],[102.566314,33.015297],[102.566315,33.015268],[102.566298,33.01524],[102.566274,33.015213],[102.56634,33.015218],[102.566342,33.015157],[102.566316,33.015122],[102.566235,33.015069],[102.566174,33.015041],[102.56612,33.015038],[102.566059,33.015055],[102.565981,33.015083],[102.565927,33.015105],[102.565874,33.015116],[102.565848,33.015115],[102.565803,33.015099],[102.565774,33.015075],[102.56575,33.015037],[102.565722,33.014962],[102.56572,33.014955],[102.565709,33.014878],[102.565705,33.014794],[102.56569,33.014713],[102.565667,33.014665],[102.565623,33.014628],[102.565608,33.014616],[102.56554,33.014581],[102.565446,33.014556],[102.56541,33.014546],[102.56533,33.014531],[102.565257,33.014509],[102.565201,33.014488],[102.565159,33.014465],[102.565139,33.014437],[102.565127,33.014387],[102.56515,33.014316],[102.565187,33.014265],[102.56524,33.014238],[102.565273,33.014237],[102.56535,33.014261],[102.565421,33.01431],[102.565487,33.014334],[102.56553,33.014338],[102.565605,33.014317],[102.56566,33.01428],[102.565718,33.014212],[102.565756,33.014174],[102.565796,33.014128],[102.565832,33.014114],[102.565868,33.014113],[102.565929,33.014147],[102.566033,33.014201],[102.5661,33.014221],[102.566184,33.014236],[102.566269,33.01423],[102.566342,33.014224],[102.566406,33.014238],[102.566455,33.014276],[102.566501,33.01421],[102.56654,33.0142],[102.566559,33.014235],[102.566561,33.014264],[102.566558,33.014317],[102.566541,33.014371],[102.566525,33.01441],[102.566502,33.014452],[102.566472,33.014505],[102.566449,33.014539],[102.566419,33.014589],[102.566413,33.014636],[102.566427,33.014654],[102.566458,33.014667],[102.566533,33.01467],[102.566574,33.014662],[102.566625,33.014637],[102.566657,33.014613],[102.566684,33.014584],[102.56671,33.014548],[102.566742,33.014499],[102.566751,33.014475],[102.566762,33.014449],[102.566762,33.014384],[102.566753,33.014335],[102.566738,33.014279],[102.56672,33.014238],[102.566706,33.014202],[102.566684,33.014162],[102.566687,33.014128],[102.566694,33.014109],[102.56671,33.014092],[102.566746,33.014059],[102.566768,33.014035],[102.566794,33.014014],[102.566837,33.014003],[102.566886,33.014005],[102.56692,33.014019],[102.566961,33.014052],[102.566988,33.014081],[102.567028,33.014119],[102.567072,33.014156],[102.567113,33.014192],[102.567205,33.014274],[102.567256,33.014326],[102.567285,33.01437],[102.567332,33.014434],[102.567387,33.014464],[102.567442,33.014478],[102.567501,33.014482],[102.56754,33.014474],[102.567603,33.014452],[102.567646,33.014432],[102.567725,33.014424],[102.567768,33.014426],[102.567805,33.01443],[102.567845,33.01444],[102.56788,33.014448],[102.567914,33.014463],[102.567944,33.014481],[102.567966,33.014504],[102.567994,33.014572],[102.567994,33.014617],[102.567991,33.014652],[102.56796,33.014701],[102.567908,33.014749],[102.567853,33.014792],[102.567788,33.014833],[102.567713,33.014859],[102.567706,33.014862],[102.567675,33.014873],[102.567639,33.014903],[102.567637,33.014943],[102.567647,33.014967],[102.567668,33.014986],[102.567695,33.015012],[102.567728,33.015039],[102.567748,33.015072],[102.567799,33.015115],[102.567837,33.01514],[102.567889,33.015149],[102.567947,33.015145],[102.567987,33.015124],[102.568009,33.015103],[102.568033,33.015064],[102.568051,33.015022],[102.568057,33.01498],[102.56807,33.014907],[102.568073,33.01486],[102.568082,33.014828],[102.568115,33.014775],[102.568146,33.014746],[102.568178,33.014721],[102.568183,33.014718],[102.568234,33.01469],[102.568272,33.01468],[102.568333,33.01469],[102.568385,33.014721],[102.568425,33.014737],[102.568571,33.014829],[102.568597,33.014883],[102.568605,33.014951],[102.568596,33.015006],[102.568559,33.015057],[102.568512,33.015102],[102.568484,33.015122],[102.568456,33.015143],[102.568398,33.015176],[102.568353,33.015191],[102.568317,33.015215],[102.568267,33.015253],[102.568229,33.015291],[102.568249,33.015338],[102.568283,33.015382],[102.568316,33.015398],[102.56837,33.015403],[102.568408,33.015372],[102.568414,33.015368],[102.568466,33.015337],[102.568536,33.015276],[102.56859,33.015241],[102.568607,33.015225],[102.568662,33.01519],[102.568715,33.015156],[102.568759,33.015133],[102.568801,33.015106],[102.56884,33.015082],[102.568899,33.015046],[102.568917,33.015033],[102.569055,33.015019],[102.569089,33.015016],[102.569146,33.01501],[102.569426,33.014529],[102.569787,33.014311],[102.570199,33.014242],[102.57059,33.014177],[102.570725,33.014127],[102.570748,33.014119],[102.570984,33.014032],[102.571029,33.014015],[102.571149,33.013971],[102.571212,33.013973],[102.571312,33.013987],[102.571378,33.013999],[102.57148,33.014024],[102.57152,33.014066],[102.571586,33.014136],[102.571648,33.014213],[102.571679,33.014289],[102.571686,33.014315],[102.571705,33.014382],[102.571895,33.014331],[102.572006,33.014429],[102.571682,33.01491],[102.571574,33.015164],[102.571572,33.015169],[102.571586,33.01517],[102.57161,33.015172],[102.57163,33.015177],[102.571651,33.015183],[102.571701,33.015202],[102.571753,33.015256],[102.571792,33.015319],[102.571839,33.015361],[102.571897,33.015427],[102.571952,33.015495],[102.571989,33.015561],[102.571998,33.015576],[102.572005,33.015578],[102.57224,33.015632],[102.572479,33.015843],[102.57249,33.015853],[102.572602,33.015851],[102.572703,33.015863],[102.572802,33.015895],[102.572828,33.015924],[102.572855,33.015967],[102.572873,33.015994],[102.572882,33.016036],[102.572882,33.016083],[102.572857,33.016122],[102.572807,33.016178],[102.572758,33.016214],[102.572672,33.016248],[102.572706,33.016465],[102.572606,33.016875],[102.572569,33.016975],[102.572567,33.01698],[102.572514,33.017123],[102.57251,33.017135],[102.572587,33.017165],[102.572601,33.01717],[102.572818,33.017254],[102.573309,33.017151],[102.573531,33.017193],[102.573914,33.017799],[102.574333,33.018077],[102.574453,33.018156],[102.574533,33.01821],[102.574612,33.018262],[102.574703,33.018313],[102.575218,33.018598],[102.57523,33.018604],[102.575247,33.018595],[102.575282,33.018579],[102.575326,33.01858],[102.575384,33.01858],[102.57547,33.018581],[102.575537,33.018614],[102.57562,33.018684],[102.575653,33.018748],[102.575669,33.018787],[102.575929,33.018887],[102.576139,33.01934],[102.576176,33.019603],[102.576066,33.019799],[102.575989,33.019937],[102.57597,33.019953],[102.575993,33.019987],[102.57599,33.020037],[102.575967,33.020082],[102.575907,33.02015],[102.575843,33.020201],[102.575753,33.020236],[102.575708,33.020251],[102.57564,33.020246],[102.575625,33.020258],[102.575533,33.02034],[102.575489,33.020564],[102.575482,33.020602],[102.575479,33.020714],[102.575467,33.021125],[102.575115,33.021513],[102.575101,33.021529],[102.575107,33.021604],[102.575111,33.021674],[102.57511,33.021715],[102.575103,33.021787],[102.57509,33.021827],[102.575045,33.021888],[102.574983,33.021913],[102.574898,33.021918],[102.574812,33.021904],[102.574724,33.021856],[102.574624,33.021791],[102.574606,33.021779],[102.574594,33.021766],[102.57456,33.021781],[102.574404,33.021932],[102.574332,33.022001],[102.574501,33.022342],[102.574928,33.022949],[102.574919,33.023286],[102.574688,33.023618],[102.574313,33.024323],[102.574305,33.024612],[102.574305,33.024622],[102.574304,33.024659],[102.574358,33.024698],[102.574415,33.024738],[102.574522,33.024814],[102.574835,33.024745],[102.575447,33.024217],[102.575472,33.024195],[102.575488,33.024185],[102.575602,33.02411],[102.57565,33.024079],[102.57597,33.023868],[102.576169,33.023872],[102.576459,33.023878],[102.576574,33.024062],[102.576519,33.024115],[102.576576,33.024175],[102.576621,33.024138],[102.576672,33.024219],[102.576877,33.024822],[102.57682,33.025308],[102.577393,33.025468],[102.577466,33.025474],[102.577488,33.025476],[102.577502,33.025471],[102.577597,33.025435],[102.577719,33.025382],[102.577846,33.025382],[102.577993,33.025375],[102.578068,33.025354],[102.578151,33.0253],[102.578271,33.025223],[102.578381,33.025173],[102.578465,33.025182],[102.578554,33.02523],[102.578613,33.025312],[102.578625,33.025407],[102.578603,33.025482],[102.578573,33.025518],[102.578536,33.025544],[102.578459,33.025577],[102.578394,33.025597],[102.578412,33.025601],[102.578422,33.025619],[102.578624,33.025979],[102.578856,33.026539],[102.578865,33.026561],[102.578919,33.0266],[102.578967,33.026692],[102.578958,33.026736],[102.578945,33.026754],[102.578999,33.026885],[102.579209,33.027339],[102.579322,33.027438],[102.579386,33.027371],[102.579474,33.027289],[102.579553,33.027281],[102.579635,33.027288],[102.5797,33.027316],[102.579741,33.02735],[102.579766,33.027376],[102.579776,33.027395],[102.579781,33.027391],[102.579831,33.027351],[102.580229,33.027433],[102.580349,33.027715],[102.580365,33.027754],[102.580407,33.027851],[102.580409,33.027857],[102.580438,33.027924],[102.580833,33.028082],[102.58106,33.027936],[102.581295,33.027454],[102.5814,33.026857],[102.581564,33.02686],[102.581712,33.026863],[102.5818,33.026865],[102.581869,33.02692],[102.581881,33.026929],[102.581881,33.026973],[102.581879,33.027013],[102.581875,33.027071],[102.58188,33.027106],[102.581897,33.027129],[102.58193,33.027138],[102.582007,33.02714],[102.58206,33.027141],[102.582107,33.027138],[102.582137,33.027135],[102.582155,33.027137],[102.582207,33.027148],[102.582294,33.027218],[102.582492,33.027366],[102.58253,33.027407],[102.582562,33.027427],[102.582632,33.027511],[102.582682,33.027584],[102.582714,33.027629],[102.582759,33.027683],[102.582788,33.027724],[102.582816,33.027764],[102.582829,33.027774],[102.58285,33.027768],[102.582867,33.027746],[102.582872,33.027719],[102.582876,33.027658],[102.582875,33.027625],[102.582891,33.027635],[102.583036,33.0277],[102.583051,33.027706],[102.583154,33.027752],[102.583203,33.027803],[102.583413,33.028019],[102.583445,33.028507],[102.583558,33.028618],[102.58373,33.028787],[102.583777,33.028794],[102.583863,33.028828],[102.583938,33.028918],[102.584161,33.028982],[102.584225,33.029],[102.58454,33.02909],[102.58478,33.029044],[102.584898,33.029022],[102.585206,33.028996],[102.585243,33.028993],[102.585345,33.028985],[102.585759,33.028951],[102.585767,33.028951],[102.586011,33.028931],[102.586039,33.028928],[102.586204,33.028913],[102.586367,33.028897],[102.586502,33.028885],[102.586629,33.028873],[102.587086,33.02883],[102.587403,33.0288],[102.587423,33.028798],[102.58766,33.028776],[102.587814,33.028606],[102.588027,33.028371],[102.58808,33.028104],[102.588233,33.027326],[102.588196,33.027087],[102.588099,33.026455],[102.588082,33.02635],[102.587868,33.025627],[102.587867,33.025622],[102.587835,33.025516],[102.587821,33.025516],[102.587808,33.025504],[102.587795,33.025484],[102.587779,33.025436],[102.587752,33.025364],[102.587722,33.025307],[102.587693,33.025238],[102.587682,33.025154],[102.58767,33.025072],[102.587637,33.024948],[102.587601,33.024853],[102.587576,33.024778],[102.587537,33.024649],[102.587518,33.024537],[102.587511,33.024436],[102.587522,33.02426],[102.587533,33.02416],[102.587567,33.024012],[102.587602,33.023894],[102.58767,33.023781],[102.587689,33.023667],[102.587717,33.023529],[102.587717,33.023498],[102.587708,33.023479],[102.587684,33.023436],[102.587651,33.023372],[102.587611,33.0233],[102.587566,33.023207],[102.587534,33.023077],[102.587502,33.022953],[102.587477,33.022865],[102.587484,33.022815],[102.587525,33.022743],[102.587584,33.022693],[102.587663,33.022666],[102.587759,33.022624],[102.587813,33.022599],[102.587852,33.022603],[102.587872,33.022622],[102.587871,33.022651],[102.587857,33.022688],[102.587833,33.022713],[102.587836,33.022727],[102.587852,33.022736],[102.587876,33.022744],[102.587911,33.02274],[102.587944,33.02273],[102.587992,33.022703],[102.588098,33.022645],[102.588169,33.022586],[102.5882,33.022549],[102.5882,33.02253],[102.588183,33.02251],[102.588143,33.022492],[102.588106,33.022475],[102.588079,33.022449],[102.588085,33.022421],[102.5881,33.022403],[102.588144,33.022386],[102.588218,33.022382],[102.588312,33.022383],[102.588379,33.022393],[102.588426,33.022415],[102.588438,33.022402],[102.588579,33.022258],[102.58907,33.022159],[102.589152,33.022143],[102.589212,33.022163],[102.589334,33.022195],[102.589411,33.022213],[102.589576,33.022218],[102.589647,33.022218],[102.589704,33.022208],[102.589786,33.022188],[102.589907,33.022161],[102.590051,33.02212],[102.590142,33.022091],[102.590266,33.02204],[102.590511,33.021851],[102.591144,33.021708],[102.591161,33.021702],[102.591167,33.021699],[102.591902,33.021417],[102.592401,33.021225],[102.593002,33.020995],[102.59303,33.020981],[102.5936,33.020705],[102.593784,33.020616],[102.594183,33.020423],[102.594985,33.020034],[102.595286,33.019805],[102.595949,33.019299],[102.596136,33.019157],[102.596736,33.018017],[102.596761,33.017969],[102.596793,33.017892],[102.596987,33.017422],[102.597047,33.017276],[102.59709,33.01717],[102.597085,33.017167],[102.597084,33.017153],[102.597096,33.017099],[102.597126,33.01699],[102.597157,33.016801],[102.597174,33.016722],[102.597173,33.016653],[102.597178,33.016596],[102.597201,33.016546],[102.597226,33.016476],[102.597221,33.016398],[102.597217,33.016297],[102.597218,33.016187],[102.597169,33.015997],[102.597145,33.015832],[102.597124,33.015689],[102.597101,33.015493],[102.597057,33.015335],[102.597028,33.015083],[102.596998,33.014977],[102.596958,33.014857],[102.59689,33.014527],[102.596855,33.014254],[102.5968,33.013921],[102.596793,33.01388],[102.59678,33.013734],[102.596735,33.013516],[102.596723,33.013455],[102.596676,33.01334],[102.596637,33.01322],[102.596618,33.013132],[102.596619,33.012985],[102.5966,33.012861],[102.596583,33.012755],[102.596582,33.012722],[102.596587,33.01271],[102.596602,33.012707],[102.596501,33.012145],[102.596487,33.012067],[102.596486,33.012062],[102.596409,33.011956],[102.596377,33.011896],[102.596351,33.011828],[102.596329,33.011745],[102.596306,33.01165],[102.596279,33.011572],[102.596241,33.01145],[102.596222,33.011359],[102.596203,33.01129],[102.596194,33.0112],[102.596176,33.011106],[102.596159,33.011058],[102.596128,33.011012],[102.596117,33.010984],[102.596114,33.010931],[102.596111,33.010826],[102.596103,33.010737],[102.596067,33.010644],[102.596038,33.010551],[102.59602,33.010378],[102.596016,33.010342],[102.595964,33.009979],[102.595842,33.009421],[102.59581,33.00918],[102.595808,33.009091],[102.595796,33.008998],[102.595795,33.008862],[102.595803,33.00879],[102.595822,33.008722],[102.595851,33.008616],[102.595873,33.00855],[102.595979,33.008387],[102.596019,33.008347],[102.596058,33.00829],[102.596133,33.008224],[102.596165,33.008181],[102.59621,33.008151],[102.596247,33.008125],[102.596271,33.008089],[102.596302,33.00806],[102.596341,33.008054],[102.596361,33.008056],[102.596374,33.008063],[102.596502,33.007872],[102.597201,33.007266],[102.597291,33.007188],[102.597632,33.006829],[102.597681,33.006776],[102.597774,33.006678],[102.597988,33.006453],[102.598268,33.006157],[102.598568,33.005621],[102.598841,33.005135],[102.599175,33.004538],[102.599514,33.003933],[102.599699,33.003498],[102.599772,33.003328],[102.599868,33.003102],[102.600175,33.002382],[102.600288,33.002117],[102.600337,33.002],[102.600242,33.001836],[102.600198,33.001761],[102.599949,33.00133],[102.599487,33.000535],[102.599261,32.999641],[102.599114,32.999063],[102.599064,32.998867],[102.599032,32.998739],[102.599097,32.998698],[102.598982,32.998588],[102.598888,32.998445],[102.598769,32.998313],[102.597865,32.996847],[102.597802,32.996745],[102.597653,32.996432],[102.597535,32.996184],[102.59753,32.996173],[102.597496,32.996102],[102.597438,32.99598],[102.597539,32.995619],[102.597571,32.995504],[102.597736,32.995108],[102.597751,32.994957],[102.597837,32.994828],[102.597933,32.994676],[102.597978,32.994587],[102.59798,32.994457],[102.597985,32.994385],[102.597985,32.994376],[102.598043,32.994268],[102.598142,32.994094],[102.598145,32.994089],[102.598198,32.994014],[102.5982,32.99401],[102.598241,32.993894],[102.598252,32.99382],[102.598252,32.993758],[102.59824,32.993684],[102.598225,32.993622],[102.598197,32.993556],[102.598165,32.993482],[102.598135,32.993447],[102.598473,32.99306],[102.598643,32.992707],[102.598882,32.99221],[102.599116,32.991723],[102.599161,32.991631],[102.59971,32.991318],[102.599707,32.991307],[102.599715,32.991277],[102.599762,32.991106],[102.5998,32.991002],[102.599868,32.990857],[102.599935,32.990717],[102.600071,32.990565],[102.600144,32.990448],[102.600212,32.990406],[102.600289,32.990359],[102.600339,32.990322],[102.600399,32.990296],[102.600477,32.990284],[102.600506,32.990336],[102.600635,32.990232],[102.601333,32.989671],[102.60139,32.989583],[102.60146,32.989478],[102.601489,32.989433],[102.601541,32.989354],[102.601927,32.988769],[102.602002,32.988656],[102.602137,32.988388],[102.602371,32.987928],[102.602399,32.987871],[102.602545,32.987584],[102.602738,32.986789],[102.60284,32.986373],[102.602852,32.986324],[102.602978,32.985807],[102.60364,32.985062],[102.603682,32.98503],[102.603843,32.984905],[102.604081,32.984722],[102.604093,32.984712],[102.604134,32.984681],[102.604552,32.984358],[102.60496,32.984044],[102.605213,32.983848],[102.605268,32.983813],[102.606012,32.983334],[102.606602,32.982955],[102.607282,32.982517],[102.607396,32.982444],[102.6075,32.982377],[102.607528,32.982322],[102.607575,32.982231],[102.607727,32.981937],[102.607807,32.981784],[102.607811,32.981776],[102.607824,32.98175],[102.607817,32.981747],[102.607814,32.981738],[102.607814,32.981721],[102.607797,32.981674],[102.607784,32.981641],[102.607752,32.981596],[102.607727,32.981564],[102.607714,32.981534],[102.607699,32.981491],[102.607691,32.981449],[102.607691,32.981409],[102.607697,32.981342],[102.60771,32.981293],[102.607782,32.981204],[102.607824,32.98115],[102.60785,32.981107],[102.607863,32.981065],[102.607859,32.981006],[102.607853,32.980936],[102.607853,32.980869],[102.607853,32.980823],[102.607876,32.980759],[102.6079,32.980714],[102.607973,32.980628],[102.608028,32.980565],[102.608067,32.980495],[102.608097,32.980417],[102.608111,32.980371],[102.608148,32.980306],[102.608179,32.980261],[102.608216,32.980212],[102.608255,32.98014],[102.608276,32.980093],[102.608318,32.980065],[102.608326,32.980026],[102.60836,32.979838],[102.608452,32.979338],[102.608634,32.978352],[102.608636,32.978341],[102.608683,32.978282],[102.609001,32.977883],[102.609661,32.977056],[102.609699,32.977009],[102.610059,32.976693],[102.610081,32.976673],[102.610133,32.976627],[102.611094,32.975783],[102.611145,32.975738],[102.61265,32.974684],[102.612817,32.973998],[102.612939,32.9735],[102.612956,32.972851],[102.612603,32.972121],[102.612486,32.971878],[102.612348,32.971595],[102.612087,32.971478],[102.611207,32.971086],[102.611063,32.971029],[102.609539,32.970427],[102.609448,32.970391],[102.609047,32.970233],[102.609021,32.970216],[102.608589,32.969944],[102.608164,32.969675],[102.60807,32.969515],[102.608028,32.969443],[102.607989,32.969376],[102.60784,32.969122],[102.607427,32.968416],[102.607465,32.968105],[102.60747,32.968069],[102.607479,32.967994],[102.607494,32.967873],[102.607592,32.967067],[102.608788,32.965575],[102.609314,32.96527],[102.609357,32.965245],[102.609366,32.965239],[102.609626,32.965088],[102.609643,32.965079],[102.609676,32.96506],[102.609724,32.965032],[102.609961,32.964894],[102.610591,32.964906],[102.610987,32.964914],[102.611173,32.964917],[102.611051,32.964849],[102.611023,32.964837],[102.611,32.964814],[102.611003,32.96479],[102.611042,32.964775],[102.611113,32.964775],[102.611178,32.964775],[102.611226,32.964791],[102.611283,32.964827],[102.611354,32.964876],[102.611411,32.964929],[102.611433,32.964949],[102.611508,32.964992],[102.611579,32.965007],[102.611763,32.964986],[102.611856,32.964984],[102.611934,32.964987],[102.61198,32.964988],[102.612054,32.964968],[102.612068,32.964969],[102.612279,32.964982],[102.612445,32.964992],[102.612526,32.964997],[102.613554,32.964913],[102.614134,32.964866],[102.6142,32.964794],[102.614205,32.96479],[102.614255,32.964736],[102.614498,32.964475],[102.614554,32.964459],[102.61458,32.964406],[102.614576,32.96435],[102.614576,32.964278],[102.614606,32.964203],[102.614633,32.964126],[102.614661,32.964044],[102.614694,32.963962],[102.614731,32.963871],[102.614782,32.963811],[102.614795,32.96374],[102.614801,32.963688],[102.614816,32.963624],[102.614839,32.963528],[102.614901,32.963397],[102.614914,32.963326],[102.614924,32.963263],[102.61495,32.963164],[102.614992,32.963075],[102.614993,32.963056],[102.614996,32.963009],[102.615004,32.962926],[102.615008,32.96285],[102.615013,32.962764],[102.615004,32.962685],[102.61501,32.962636],[102.615045,32.962578],[102.615087,32.962527],[102.615101,32.96249],[102.615068,32.962424],[102.61506,32.962364],[102.615063,32.962228],[102.615074,32.962184],[102.61514,32.962163],[102.615175,32.962145],[102.615148,32.962077],[102.615143,32.962032],[102.615145,32.961999],[102.615167,32.961966],[102.615228,32.961926],[102.615258,32.961906],[102.615264,32.961873],[102.61569,32.962006],[102.615704,32.962011],[102.615916,32.962077],[102.615949,32.962087],[102.61794,32.962709],[102.618418,32.962804],[102.618494,32.962819],[102.619296,32.962979],[102.619415,32.963002],[102.619534,32.963026],[102.619545,32.963028],[102.619898,32.963098],[102.621186,32.963584],[102.621599,32.963739],[102.621695,32.963776],[102.621943,32.963869],[102.62215,32.963947],[102.622206,32.963968],[102.622228,32.963976],[102.622259,32.963988],[102.622854,32.964212],[102.624804,32.965004],[102.625129,32.96511],[102.62515,32.965116],[102.625202,32.965133],[102.625251,32.965149],[102.625517,32.965235],[102.625633,32.965272],[102.627837,32.965465],[102.628738,32.965587],[102.629563,32.965699],[102.631407,32.965986],[102.633611,32.965652],[102.635503,32.965123],[102.637224,32.964289],[102.638671,32.963675],[102.640033,32.962872],[102.641353,32.961992],[102.642505,32.960695],[102.643612,32.959435],[102.644205,32.958994],[102.644971,32.958744],[102.645697,32.958343],[102.646026,32.957747],[102.647238,32.957543],[102.649124,32.95724],[102.650025,32.956955],[102.651058,32.956786],[102.652834,32.957234],[102.653898,32.957593],[102.655903,32.95782],[102.657777,32.957968],[102.658295,32.958001],[102.65869,32.958026],[102.659473,32.958075],[102.661343,32.958374],[102.66317,32.958597],[102.664637,32.958888],[102.665795,32.95906],[102.66674,32.958814],[102.667381,32.958529],[102.668662,32.960426],[102.669856,32.962223],[102.670758,32.962785],[102.672389,32.964408],[102.673007,32.965511],[102.673966,32.965984],[102.676001,32.966568],[102.677882,32.966876],[102.678521,32.967068],[102.678685,32.967118],[102.680498,32.96797],[102.681946,32.968316],[102.68301,32.968881],[102.683574,32.970029],[102.683979,32.971037],[102.684403,32.973411],[102.685128,32.974561],[102.685795,32.975893],[102.686783,32.977321],[102.687721,32.978612],[102.688071,32.979665],[102.689113,32.981094],[102.690873,32.9819],[102.692481,32.982339],[102.693452,32.982357],[102.694762,32.98179],[102.695747,32.981262],[102.695866,32.981138],[102.695949,32.981122],[102.69608,32.981094],[102.696233,32.98102],[102.696396,32.98088],[102.696599,32.98065],[102.696966,32.980321],[102.697073,32.980172],[102.697083,32.98012],[102.697123,32.98001],[102.697098,32.979899],[102.697029,32.979737],[102.697309,32.97929],[102.697858,32.978936],[102.698725,32.978816],[102.699548,32.978648],[102.699627,32.978666],[102.699777,32.978697],[102.700037,32.978715],[102.700187,32.978722],[102.700314,32.978727],[102.700434,32.978724],[102.700581,32.978702],[102.70066,32.97867],[102.700754,32.978623],[102.700955,32.978536],[102.701082,32.978495],[102.701226,32.978445],[102.701421,32.978385],[102.701515,32.978352],[102.701665,32.978326],[102.701746,32.97832],[102.701882,32.978319],[102.701913,32.978323],[102.702012,32.978316],[102.703087,32.978242],[102.703451,32.978201],[102.703688,32.978167],[102.703748,32.978161],[102.704193,32.97812],[102.704448,32.978073],[102.704826,32.978018],[102.705015,32.978002],[102.705063,32.977983],[102.705176,32.977944],[102.705261,32.977908],[102.705345,32.977862],[102.705402,32.977816],[102.705455,32.977756],[102.705514,32.977692],[102.705592,32.977591],[102.705654,32.977498],[102.705701,32.977438],[102.705777,32.977349],[102.705929,32.977236],[102.706028,32.977181],[102.706146,32.977142],[102.706271,32.977108],[102.706395,32.977078],[102.706595,32.977039],[102.706776,32.976986],[102.706875,32.97694],[102.706993,32.976875],[102.7071,32.976786],[102.707246,32.976649],[102.707364,32.976534],[102.707446,32.976455],[102.707496,32.97638],[102.707563,32.976304],[102.707645,32.97626],[102.707797,32.976183],[102.707851,32.97613],[102.70789,32.976049],[102.70794,32.975956],[102.708021,32.975874],[102.708083,32.975847],[102.708153,32.975752],[102.708215,32.975644],[102.708262,32.97557],[102.708321,32.975493],[102.708383,32.975431],[102.708473,32.975335],[102.708599,32.975219],[102.708675,32.975162],[102.708742,32.975111],[102.708855,32.975044],[102.708968,32.975],[102.709075,32.974973],[102.7092,32.974968],[102.709358,32.974967],[102.709545,32.975005],[102.70956,32.975008],[102.709755,32.97507],[102.709911,32.975114],[102.710064,32.975178],[102.710224,32.975261],[102.710373,32.97535],[102.710505,32.975432],[102.710686,32.975545],[102.71072,32.975526],[102.7109,32.975471],[102.711006,32.975453],[102.711225,32.975434],[102.711476,32.975414],[102.711653,32.975396],[102.711836,32.975377],[102.71196,32.975352],[102.71213,32.975309],[102.712468,32.975191],[102.712683,32.975071],[102.712852,32.97495],[102.713024,32.97483],[102.713334,32.974629],[102.713465,32.974586],[102.713638,32.974546],[102.713804,32.974495],[102.714033,32.974407],[102.714198,32.974334],[102.714286,32.974262],[102.714346,32.974178],[102.714388,32.974089],[102.714387,32.974044],[102.714425,32.973969],[102.714527,32.973873],[102.714594,32.973861],[102.714697,32.973869],[102.714828,32.973904],[102.714963,32.973957],[102.715048,32.974001],[102.715319,32.974173],[102.715432,32.974247],[102.715685,32.974424],[102.715777,32.974477],[102.715951,32.974551],[102.716065,32.974607],[102.716239,32.974666],[102.716452,32.974739],[102.716675,32.974797],[102.716814,32.974844],[102.71697,32.974912],[102.717108,32.974968],[102.717218,32.975006],[102.717499,32.975141],[102.717655,32.975236],[102.717801,32.975354],[102.717933,32.975476],[102.718022,32.975586],[102.71819,32.975776],[102.71824,32.975859],[102.718309,32.975966],[102.718401,32.976016],[102.718468,32.976039],[102.718649,32.976068],[102.718776,32.976068],[102.718918,32.976058],[102.719013,32.976066],[102.719176,32.976113],[102.719279,32.97616],[102.719386,32.976219],[102.719532,32.976287],[102.719667,32.976334],[102.719759,32.976366],[102.719823,32.976401],[102.719858,32.976449],[102.719887,32.976517],[102.719902,32.976604],[102.719917,32.976684],[102.719931,32.976726],[102.719953,32.97675],[102.720045,32.976809],[102.72012,32.976841],[102.720233,32.976873],[102.720347,32.976896],[102.720489,32.976955],[102.720574,32.977035],[102.720646,32.977139],[102.72075,32.977303],[102.7208,32.977377],[102.720875,32.977466],[102.720936,32.977522],[102.721003,32.977576],[102.721106,32.977641],[102.721164,32.977697],[102.721189,32.97775],[102.721189,32.977813],[102.721188,32.977826],[102.721282,32.977901],[102.721369,32.977982],[102.721563,32.978086],[102.721599,32.978114],[102.721593,32.978136],[102.721591,32.978159],[102.721591,32.97819],[102.721607,32.978197],[102.721657,32.978226],[102.721664,32.97826],[102.72168,32.978298],[102.721687,32.978327],[102.721706,32.97834],[102.72176,32.97834],[102.721801,32.978332],[102.721843,32.978325],[102.721848,32.978324],[102.721873,32.978343],[102.721873,32.978358],[102.721871,32.978381],[102.721851,32.978402],[102.721845,32.978421],[102.721874,32.978432],[102.721924,32.978432],[102.721936,32.97843],[102.721995,32.978499],[102.722054,32.978557],[102.722056,32.97858],[102.722057,32.978607],[102.72205,32.978643],[102.722039,32.978682],[102.722023,32.978703],[102.722008,32.978724],[102.72199,32.978733],[102.72196,32.978739],[102.721949,32.978745],[102.721965,32.978768],[102.721986,32.978785],[102.722008,32.978806],[102.722027,32.978829],[102.722028,32.978843],[102.722032,32.978871],[102.722016,32.97888],[102.721986,32.97888],[102.721974,32.978862],[102.721961,32.978842],[102.721941,32.978816],[102.721918,32.978793],[102.72189,32.978782],[102.721823,32.97878],[102.721771,32.978788],[102.721721,32.978794],[102.721712,32.978813],[102.721737,32.978828],[102.72176,32.978861],[102.721773,32.97887],[102.721776,32.978873],[102.721713,32.978899],[102.721774,32.978931],[102.721718,32.978952],[102.7216,32.978993],[102.7216,32.978999],[102.721602,32.979054],[102.721838,32.980377],[102.721906,32.981925],[102.722161,32.982521],[102.723982,32.983055],[102.726878,32.98379],[102.72754,32.983958],[102.727843,32.984035],[102.729457,32.984246],[102.730261,32.984443],[102.730849,32.984681],[102.730877,32.98523],[102.73089,32.985484],[102.730894,32.985565],[102.730902,32.985731],[102.730921,32.986092],[102.73105,32.987368],[102.731337,32.988351],[102.731398,32.988557],[102.73255,32.989943],[102.73399,32.990606],[102.734674,32.991301],[102.735613,32.992591],[102.736182,32.993557],[102.737294,32.994396],[102.739037,32.995883],[102.740258,32.996724],[102.741226,32.996832],[102.741881,32.996571],[102.741919,32.995071],[102.742054,32.994027],[102.74248,32.993057],[102.742569,32.992854],[102.743522,32.991461],[102.743771,32.990192],[102.744401,32.988747],[102.744713,32.98707],[102.74496,32.985846],[102.74509,32.984984],[102.745489,32.984173],[102.745726,32.983313],[102.745721,32.981402],[102.74575,32.980266],[102.746421,32.979322],[102.747383,32.977566],[102.748527,32.976023],[102.748573,32.97596],[102.748677,32.97582],[102.748602,32.975817],[102.748514,32.975799],[102.748427,32.975771],[102.748302,32.97573],[102.74822,32.975692],[102.748206,32.975637],[102.748201,32.975555],[102.748229,32.975442],[102.748291,32.975306],[102.748423,32.975139],[102.748536,32.975063],[102.748577,32.975041],[102.74874,32.974867],[102.748886,32.974742],[102.749074,32.974619],[102.749236,32.974514],[102.749238,32.974513],[102.749338,32.974456],[102.749484,32.974377],[102.749566,32.974292],[102.74959,32.974253],[102.749638,32.974219],[102.74975,32.9742],[102.749773,32.974205],[102.749867,32.974226],[102.749954,32.974109],[102.752386,32.971833],[102.753006,32.97119],[102.753331,32.970853],[102.754014,32.970145],[102.754325,32.969821],[102.755924,32.968485],[102.756612,32.967712],[102.756631,32.967691],[102.75665,32.96767],[102.756662,32.967656],[102.756709,32.967604],[102.756723,32.967588],[102.756737,32.967572],[102.756973,32.967307],[102.756987,32.967291],[102.757178,32.967077],[102.757175,32.967062],[102.757137,32.966989],[102.7571,32.966894],[102.7571,32.966864],[102.757109,32.966842],[102.757133,32.966819],[102.757146,32.966812],[102.757174,32.966812],[102.757209,32.966816],[102.757316,32.96684],[102.757377,32.966849],[102.757429,32.966861],[102.757473,32.966848],[102.757499,32.966829],[102.757519,32.966804],[102.757526,32.966782],[102.757538,32.966744],[102.757537,32.966673],[102.757706,32.966483],[102.757757,32.966426],[102.758814,32.965171],[102.759517,32.964523],[102.759649,32.9644],[102.759974,32.9641],[102.760814,32.962887],[102.76097,32.962704],[102.76101,32.962656],[102.762149,32.961319],[102.764134,32.959673],[102.764298,32.959538],[102.76462,32.959262],[102.766063,32.958023],[102.767549,32.956867],[102.768272,32.955942],[102.768497,32.955655],[102.768538,32.955606],[102.768894,32.955187],[102.769094,32.954952],[102.769219,32.954804],[102.769561,32.954415],[102.769858,32.954077],[102.770164,32.953729],[102.770371,32.953438],[102.770611,32.9531],[102.77083,32.953415],[102.771028,32.953699],[102.77153,32.953991],[102.771908,32.95421],[102.772304,32.954447],[102.77269,32.954674],[102.773048,32.954872],[102.773346,32.955001],[102.773607,32.955113],[102.773923,32.955249],[102.774347,32.955432],[102.77481,32.955632],[102.775093,32.955812],[102.775548,32.956102],[102.775941,32.956354],[102.77635,32.956614],[102.776161,32.958036],[102.776151,32.958112],[102.776143,32.958432],[102.776118,32.959431],[102.776114,32.959593],[102.776077,32.961067],[102.776039,32.962568],[102.776066,32.96366],[102.776523,32.964805],[102.77741,32.966004],[102.77878,32.967302],[102.779723,32.968456],[102.781472,32.969715],[102.786111,32.971981],[102.787012,32.972634],[102.788022,32.973243],[102.789142,32.973764],[102.789884,32.974323],[102.791195,32.975847],[102.792179,32.977502],[102.792915,32.978288],[102.794242,32.979176],[102.795519,32.979927],[102.796524,32.980763],[102.798027,32.981063],[102.799009,32.98067],[102.80048,32.980105],[102.801797,32.979218],[102.801875,32.979166],[102.802073,32.979035],[102.803059,32.978376],[102.804862,32.977498],[102.805465,32.977145],[102.806382,32.977161],[102.807907,32.976597],[102.809487,32.975987],[102.810955,32.975558],[102.811809,32.975937],[102.813195,32.976644],[102.814265,32.977026],[102.815819,32.977463],[102.816384,32.977446],[102.817384,32.976424],[102.817708,32.976191],[102.818462,32.975606],[102.819401,32.974725],[102.820127,32.974064],[102.820311,32.973953],[102.820849,32.973626],[102.821336,32.973013],[102.821793,32.972472],[102.822168,32.971681],[102.822274,32.971483],[102.822335,32.971369],[102.822974,32.970174],[102.823218,32.969968],[102.823477,32.96975],[102.823699,32.969563],[102.824126,32.96954],[102.82438,32.969525],[102.826164,32.970354],[102.827426,32.97075],[102.828182,32.971287],[102.829415,32.971683],[102.830507,32.971776],[102.831339,32.971641],[102.832757,32.971716],[102.833971,32.971687],[102.835834,32.971694],[102.837553,32.971574],[102.839267,32.971268],[102.839335,32.971256],[102.84064,32.971129],[102.841619,32.971021],[102.84238,32.971334],[102.84263,32.97147],[102.842919,32.97144],[102.843118,32.971444],[102.843218,32.971431],[102.843486,32.971518],[102.843563,32.97156],[102.84357,32.971563],[102.843797,32.971686],[102.843972,32.971822],[102.844076,32.971876],[102.844129,32.971926],[102.84419,32.971994],[102.844191,32.972072],[102.844142,32.972126],[102.844075,32.972171],[102.843972,32.972247],[102.843996,32.972277],[102.844927,32.973424],[102.845412,32.975118],[102.84538,32.976404],[102.845782,32.977209],[102.845784,32.977216],[102.84612,32.978163],[102.846225,32.978459],[102.846324,32.978653],[102.846332,32.978669],[102.846525,32.979047],[102.846553,32.979101],[102.846727,32.979443],[102.846785,32.980114],[102.846813,32.980434],[102.846845,32.980817],[102.846856,32.980936],[102.846892,32.981354],[102.847113,32.983087],[102.847091,32.983208],[102.847085,32.983243],[102.847078,32.983278],[102.847073,32.983306],[102.847006,32.983679],[102.847003,32.983697],[102.846999,32.983722],[102.846965,32.983908],[102.84693,32.984104],[102.846533,32.985295],[102.846467,32.985599],[102.846456,32.985653],[102.846456,32.985653],[102.846356,32.986117],[102.846309,32.986335],[102.846295,32.9864],[102.846271,32.986698],[102.846121,32.988511],[102.846126,32.98858],[102.84622,32.988564],[102.846298,32.988564],[102.846337,32.988587],[102.84637,32.988697],[102.846336,32.988793],[102.84629,32.988838],[102.846149,32.988913],[102.846226,32.989992],[102.846212,32.990035],[102.846145,32.990243],[102.84577,32.991403],[102.845761,32.991448],[102.845653,32.991957],[102.845557,32.992407],[102.845532,32.992523],[102.84578,32.993888],[102.846594,32.995025],[102.848012,32.998625],[102.84811,32.998776],[102.848335,32.999122],[102.848353,32.99915],[102.848753,32.999765],[102.848992,33.000135],[102.849273,33.000567],[102.849408,33.000739],[102.84943,33.000767],[102.849431,33.000768],[102.849522,33.000883],[102.849565,33.000939],[102.849953,33.001413],[102.849954,33.001414],[102.84996,33.001421],[102.850149,33.001653],[102.850544,33.003383],[102.850866,33.003953],[102.850895,33.004014],[102.851009,33.004252],[102.851248,33.00475],[102.851266,33.004823],[102.851285,33.004902],[102.851583,33.006139],[102.851562,33.007013],[102.851312,33.00763],[102.850754,33.008552],[102.850632,33.008782],[102.850449,33.008855],[102.850304,33.008986],[102.850136,33.009268],[102.850107,33.009517],[102.850117,33.009651],[102.850162,33.009757],[102.84989,33.01102],[102.849655,33.012427],[102.849572,33.013075],[102.849761,33.013586],[102.851089,33.014291],[102.85133,33.014245],[102.852178,33.014483],[102.852586,33.014663],[102.853221,33.01522],[102.853395,33.015513],[102.85453,33.016079],[102.85455,33.016089],[102.854623,33.016126],[102.855511,33.016434],[102.855534,33.016442],[102.855541,33.016445],[102.855544,33.016446],[102.855579,33.016458],[102.855598,33.016465],[102.856308,33.016712],[102.856349,33.016726],[102.857779,33.017224],[102.858539,33.017689],[102.858594,33.018169],[102.858102,33.01912],[102.857836,33.019781],[102.857759,33.01997],[102.857639,33.02027],[102.85701,33.021331],[102.856625,33.022002],[102.856544,33.022593],[102.85659,33.023469],[102.857227,33.024806],[102.857501,33.025968],[102.857282,33.026698],[102.856808,33.02827],[102.856445,33.02945],[102.856091,33.030234],[102.855469,33.030985],[102.854791,33.03134],[102.854443,33.031842],[102.854085,33.032796],[102.853801,33.034173],[102.85374,33.034468],[102.853592,33.035186],[102.853084,33.036786],[102.852846,33.038278],[102.852891,33.039182],[102.852986,33.04082],[102.852059,33.044501],[102.851659,33.045792],[102.851163,33.046885],[102.85111,33.04701],[102.851068,33.04711],[102.850947,33.047394],[102.850701,33.047977],[102.850368,33.049242],[102.850289,33.049748],[102.849892,33.050927],[102.849238,33.051621],[102.848508,33.052709],[102.848225,33.053325],[102.847498,33.054272],[102.846876,33.055023],[102.846806,33.056518],[102.846591,33.057107],[102.846445,33.057584],[102.845688,33.058389],[102.845335,33.059145],[102.845546,33.060108],[102.84563,33.060759],[102.84601,33.061697],[102.846066,33.062149],[102.84569,33.062453],[102.845547,33.062818],[102.844961,33.063485],[102.843901,33.064313],[102.843883,33.065075],[102.844117,33.066462],[102.844119,33.066488],[102.844189,33.06762],[102.844198,33.067669],[102.844589,33.069865],[102.844711,33.07062],[102.844725,33.070707],[102.84485,33.071477],[102.845118,33.072038],[102.845204,33.072041],[102.845242,33.072058],[102.845263,33.072102],[102.845273,33.072178],[102.845272,33.072264],[102.845259,33.072336],[102.845459,33.073577],[102.845469,33.073643],[102.8455,33.073836],[102.845496,33.073923],[102.845548,33.073897],[102.845582,33.073888],[102.845607,33.073897],[102.845605,33.073935],[102.845592,33.073981],[102.845563,33.07405],[102.845532,33.074119],[102.845519,33.074188],[102.84552,33.074258],[102.845527,33.074306],[102.845541,33.074363],[102.845541,33.074403],[102.845535,33.074447],[102.845517,33.07448],[102.845469,33.074509],[102.845455,33.074811],[102.845218,33.075529],[102.845265,33.075541],[102.845276,33.075575],[102.84528,33.075629],[102.845258,33.075685],[102.845243,33.075728],[102.845203,33.075757],[102.845141,33.075762],[102.84501,33.076158],[102.845079,33.076199],[102.845103,33.076236],[102.845115,33.076287],[102.845117,33.076336],[102.845099,33.076369],[102.845065,33.076391],[102.845031,33.0764],[102.844994,33.076401],[102.844935,33.07639],[102.844671,33.077231],[102.84467,33.077303],[102.844669,33.077341],[102.844646,33.078265],[102.844645,33.078323],[102.844641,33.07835],[102.844578,33.07883],[102.844569,33.078895],[102.844506,33.079376],[102.84443,33.079385],[102.844382,33.079401],[102.844495,33.079459],[102.844487,33.079513],[102.844508,33.079591],[102.84451,33.079602],[102.844512,33.07961],[102.844514,33.079618],[102.844559,33.079789],[102.844655,33.080159],[102.84525,33.080499],[102.845257,33.080503],[102.845298,33.080522],[102.845361,33.080552],[102.845363,33.080553],[102.845381,33.080562],[102.845398,33.080569],[102.845445,33.080591],[102.846283,33.080984],[102.846558,33.081086],[102.847221,33.081334],[102.847443,33.08131],[102.847586,33.081323],[102.847683,33.081317],[102.847819,33.0813],[102.847929,33.081285],[102.848028,33.081272],[102.84815,33.081248],[102.848238,33.081223],[102.848321,33.081192],[102.84839,33.081165],[102.84849,33.081112],[102.848577,33.081023],[102.84862,33.080975],[102.848658,33.080933],[102.848697,33.080876],[102.848697,33.080876],[102.848701,33.08087],[102.848731,33.080818],[102.848758,33.080799],[102.848817,33.080776],[102.848885,33.080757],[102.848931,33.080737],[102.848963,33.080715],[102.848969,33.080701],[102.848998,33.080643],[102.849001,33.080629],[102.849112,33.080743],[102.849713,33.080503],[102.850058,33.08164],[102.850294,33.083945],[102.8503,33.084349],[102.850301,33.084383],[102.850301,33.0844],[102.850318,33.085526],[102.850086,33.086506],[102.850374,33.089233],[102.850422,33.09071],[102.850403,33.09149],[102.850402,33.091519],[102.850378,33.092483],[102.850522,33.092517],[102.851355,33.092713],[102.851419,33.092728],[102.851453,33.092736],[102.851526,33.092753],[102.851535,33.092755],[102.852391,33.092957],[102.852889,33.093255],[102.852894,33.093258],[102.854324,33.094114],[102.855045,33.094495],[102.856554,33.095223],[102.857046,33.095461],[102.858194,33.096306],[102.858509,33.09655],[102.85889,33.096845],[102.85994,33.097442],[102.861071,33.098129],[102.861065,33.098389],[102.861061,33.098533],[102.861061,33.098539],[102.86106,33.098556],[102.861044,33.098582],[102.861033,33.098598],[102.861023,33.098613],[102.86101,33.098642],[102.861004,33.098666],[102.860991,33.098698],[102.860981,33.098735],[102.860968,33.098759],[102.86095,33.098794],[102.86093,33.098823],[102.860904,33.098841],[102.860862,33.09888],[102.860836,33.098903],[102.860807,33.098916],[102.860786,33.098915],[102.860755,33.098913],[102.860741,33.098919],[102.860737,33.098931],[102.860733,33.098949],[102.860725,33.098969],[102.860716,33.099011],[102.860713,33.099037],[102.860705,33.099086],[102.86071,33.099107],[102.860719,33.099122],[102.860743,33.099141],[102.860767,33.099153],[102.860783,33.099167],[102.8608,33.099188],[102.860808,33.099205],[102.860823,33.099223],[102.86055,33.099531],[102.860332,33.099777],[102.86032,33.099766],[102.860306,33.099764],[102.860286,33.099765],[102.860274,33.09978],[102.860267,33.099809],[102.860262,33.099833],[102.860259,33.099867],[102.860109,33.100093],[102.859586,33.100879],[102.859505,33.101633],[102.85946,33.102616],[102.859614,33.104024],[102.85943,33.104706],[102.859011,33.105138],[102.859009,33.105141],[102.85894,33.105212],[102.858917,33.105196],[102.85889,33.105181],[102.858874,33.105183],[102.858854,33.105195],[102.858841,33.105217],[102.858842,33.10523],[102.858861,33.105255],[102.858881,33.105272],[102.858927,33.105335],[102.858942,33.105392],[102.858947,33.105411],[102.858932,33.105501],[102.85888,33.105546],[102.858816,33.10557],[102.858744,33.10554],[102.858651,33.105511],[102.858625,33.105504],[102.858593,33.1055],[102.858585,33.105513],[102.858585,33.105536],[102.858591,33.105555],[102.858601,33.105574],[102.858535,33.105655],[102.858533,33.105658],[102.858459,33.10575],[102.8581,33.106194],[102.858056,33.106573],[102.858054,33.106595],[102.858049,33.106638],[102.858048,33.10665],[102.858042,33.1067],[102.857995,33.107105],[102.85789,33.107543],[102.85791,33.107566],[102.857915,33.107591],[102.857909,33.107607],[102.857891,33.107625],[102.857869,33.107631],[102.857842,33.107648],[102.857822,33.10766],[102.857799,33.107671],[102.857769,33.10769],[102.857747,33.107706],[102.857732,33.107722],[102.857725,33.107741],[102.857732,33.107759],[102.857748,33.107772],[102.857774,33.107783],[102.857804,33.10779],[102.85783,33.107792],[102.85779,33.107866],[102.857773,33.107899],[102.857133,33.109093],[102.857054,33.109278],[102.857044,33.109303],[102.857035,33.109324],[102.856712,33.110087],[102.856575,33.110577],[102.856583,33.111086],[102.856485,33.111682],[102.855896,33.112743],[102.855313,33.113541],[102.85473,33.114357],[102.854244,33.115437],[102.854168,33.116016],[102.854051,33.11654],[102.854206,33.117035],[102.854426,33.117408],[102.854543,33.117761],[102.854455,33.117953],[102.854298,33.118248],[102.854264,33.11824],[102.854234,33.11824],[102.854211,33.118248],[102.854176,33.118258],[102.854148,33.11827],[102.854131,33.118289],[102.854114,33.118314],[102.854114,33.118362],[102.854129,33.118395],[102.854151,33.11842],[102.854175,33.118441],[102.854193,33.118461],[102.854211,33.118491],[102.854222,33.118521],[102.854223,33.118562],[102.854217,33.118592],[102.854213,33.118627],[102.854211,33.118663],[102.854225,33.118689],[102.854252,33.118707],[102.854291,33.11872],[102.854306,33.118726],[102.854362,33.118723],[102.854394,33.118731],[102.85441,33.118759],[102.854413,33.118787],[102.854399,33.118796],[102.854376,33.118803],[102.854335,33.118801],[102.854301,33.118794],[102.854286,33.118788],[102.854248,33.118772],[102.854212,33.118761],[102.854139,33.118735],[102.854094,33.118716],[102.854077,33.118712],[102.854031,33.118709],[102.853997,33.118714],[102.853972,33.118723],[102.853954,33.118751],[102.853947,33.118778],[102.853949,33.118823],[102.853966,33.118863],[102.854038,33.118965],[102.854095,33.119045],[102.854166,33.119131],[102.854181,33.11914],[102.854178,33.11916],[102.854174,33.119177],[102.85412,33.119686],[102.853982,33.12021],[102.853571,33.120801],[102.85348,33.121958],[102.853504,33.122696],[102.853509,33.123364],[102.853622,33.123875],[102.85372,33.124966],[102.853662,33.125633],[102.853441,33.126173],[102.852825,33.127445],[102.852286,33.128138],[102.851337,33.129387],[102.850987,33.130066],[102.85087,33.130573],[102.850819,33.130941],[102.850642,33.131377],[102.850197,33.132493],[102.8502,33.133214],[102.850457,33.133798],[102.851046,33.134493],[102.8511,33.134863],[102.851124,33.135206],[102.851131,33.135302],[102.851089,33.135465],[102.851015,33.135757],[102.851047,33.136144],[102.851189,33.136322],[102.851521,33.136416],[102.851627,33.136446],[102.851671,33.136459],[102.851688,33.136473],[102.851702,33.136484],[102.851723,33.136495],[102.851751,33.136504],[102.851779,33.136511],[102.851798,33.136513],[102.851827,33.136512],[102.851832,33.136504],[102.851847,33.13649],[102.851868,33.136476],[102.851891,33.136467],[102.851923,33.136459],[102.851946,33.136454],[102.851979,33.136456],[102.852017,33.136465],[102.852053,33.136475],[102.852095,33.136494],[102.852112,33.136522],[102.852121,33.136544],[102.852123,33.136568],[102.852104,33.136603],[102.85209,33.136639],[102.852091,33.136659],[102.852091,33.136678],[102.852095,33.136698],[102.852105,33.136728],[102.852118,33.136748],[102.852128,33.136758],[102.852173,33.136778],[102.852215,33.136781],[102.852248,33.136776],[102.852266,33.13679],[102.852469,33.136941],[102.852832,33.137457],[102.852861,33.138121],[102.852869,33.138295],[102.852872,33.138371],[102.852986,33.138727],[102.853008,33.138794],[102.853026,33.138802],[102.853035,33.138805],[102.853088,33.138824],[102.853089,33.138839],[102.853089,33.13888],[102.853092,33.138913],[102.853098,33.138939],[102.853107,33.138956],[102.853122,33.138961],[102.853139,33.138962],[102.85316,33.138958],[102.853177,33.13895],[102.853205,33.138929],[102.85322,33.138914],[102.853244,33.138881],[102.853256,33.138865],[102.853286,33.138848],[102.853316,33.138835],[102.853345,33.138832],[102.853376,33.138832],[102.853393,33.138841],[102.853413,33.13886],[102.853423,33.138881],[102.853436,33.13895],[102.853567,33.138998],[102.85381,33.139045],[102.853848,33.139052],[102.853854,33.139064],[102.853864,33.139078],[102.853873,33.139094],[102.853881,33.139114],[102.853877,33.139125],[102.853863,33.139138],[102.853841,33.139155],[102.853816,33.139177],[102.853795,33.139206],[102.853791,33.139229],[102.853786,33.139245],[102.853798,33.139281],[102.853832,33.139319],[102.853866,33.139336],[102.853909,33.139338],[102.853982,33.139336],[102.854048,33.139305],[102.854106,33.139261],[102.854139,33.139216],[102.854173,33.139158],[102.854186,33.139134],[102.854293,33.139168],[102.854451,33.13954],[102.854528,33.139805],[102.854537,33.139898],[102.854561,33.140174],[102.85473,33.140365],[102.854846,33.140495],[102.854948,33.140517],[102.854987,33.140525],[102.854982,33.140539],[102.854952,33.140618],[102.854951,33.140664],[102.854965,33.140707],[102.854985,33.140758],[102.855005,33.140816],[102.855021,33.140868],[102.855043,33.140907],[102.855063,33.140926],[102.855073,33.140935],[102.855143,33.140953],[102.855172,33.140954],[102.855249,33.140936],[102.855349,33.1409],[102.855441,33.140877],[102.855493,33.140839],[102.855528,33.140789],[102.855553,33.14073],[102.85556,33.140705],[102.855567,33.14069],[102.855716,33.140756],[102.855855,33.14104],[102.855825,33.141443],[102.855628,33.141791],[102.855242,33.142224],[102.854334,33.142629],[102.853763,33.142953],[102.853168,33.143365],[102.852716,33.143919],[102.852429,33.144564],[102.852192,33.144876],[102.852083,33.145032],[102.85227,33.145088],[102.852482,33.144951],[102.852932,33.144777],[102.852965,33.144764],[102.852951,33.144732],[102.852939,33.144708],[102.852936,33.144686],[102.852938,33.144657],[102.852957,33.144616],[102.852969,33.144585],[102.852982,33.144554],[102.852993,33.144536],[102.853022,33.144513],[102.853061,33.1445],[102.853092,33.144486],[102.853135,33.144481],[102.853134,33.144491],[102.853139,33.144507],[102.853148,33.144523],[102.853164,33.144545],[102.853181,33.144557],[102.853198,33.144572],[102.853213,33.144591],[102.853239,33.144635],[102.853263,33.144665],[102.85331,33.144793],[102.853336,33.144851],[102.853364,33.144872],[102.853389,33.144883],[102.85342,33.144891],[102.853441,33.144889],[102.853486,33.14488],[102.85354,33.144859],[102.85365,33.144798],[102.853749,33.144732],[102.853756,33.144743],[102.853817,33.144838],[102.853821,33.144845],[102.853837,33.14487],[102.853755,33.144926],[102.8537,33.145038],[102.853699,33.145148],[102.853781,33.145297],[102.853896,33.145411],[102.854034,33.145519],[102.854226,33.145579],[102.85439,33.145581],[102.85455,33.145567],[102.854776,33.145569],[102.854947,33.145547],[102.855225,33.145487],[102.855509,33.145482],[102.855613,33.145539],[102.855598,33.145652],[102.85554,33.145764],[102.855516,33.145842],[102.855599,33.145876],[102.855789,33.145868],[102.855974,33.145804],[102.856089,33.14567],[102.856094,33.145585],[102.856045,33.145471],[102.856066,33.145388],[102.85616,33.145378],[102.856239,33.145446],[102.856245,33.145579],[102.856248,33.145822],[102.856272,33.145942],[102.856332,33.146023],[102.856461,33.146098],[102.856477,33.146163],[102.856424,33.146239],[102.856377,33.146316],[102.856421,33.146351],[102.856472,33.146434],[102.856384,33.146497],[102.856284,33.146505],[102.856168,33.146517],[102.856006,33.146612],[102.855852,33.146782],[102.855717,33.14691],[102.855579,33.146957],[102.855498,33.146889],[102.855453,33.146737],[102.855495,33.146601],[102.855659,33.146507],[102.855919,33.14642],[102.855979,33.146311],[102.855956,33.146215],[102.855822,33.146085],[102.855653,33.146024],[102.855534,33.146069],[102.85545,33.146149],[102.855352,33.146178],[102.855179,33.146183],[102.85511,33.146201],[102.855055,33.146318],[102.855086,33.14641],[102.855192,33.146522],[102.855236,33.146616],[102.855235,33.146732],[102.855157,33.146821],[102.855105,33.146836],[102.854999,33.146813],[102.854734,33.146718],[102.854548,33.146725],[102.854436,33.146795],[102.854388,33.146909],[102.854392,33.147019],[102.854387,33.147135],[102.854312,33.147169],[102.854224,33.14718],[102.854104,33.147179],[102.854015,33.14711],[102.853843,33.146878],[102.853679,33.146759],[102.853561,33.146715],[102.853444,33.146772],[102.853351,33.146871],[102.853303,33.147027],[102.853313,33.147122],[102.8534,33.147209],[102.853387,33.147215],[102.853364,33.147242],[102.853354,33.147254],[102.853194,33.14744],[102.853204,33.147897],[102.8534,33.148427],[102.853415,33.148458],[102.854155,33.149986],[102.85451,33.150835],[102.854685,33.151383],[102.854651,33.151927],[102.854557,33.152364],[102.854841,33.152703],[102.855174,33.152744],[102.855307,33.152592],[102.855372,33.152518],[102.855379,33.15251],[102.855508,33.152364],[102.85544,33.152273],[102.85541,33.152176],[102.855457,33.152109],[102.855547,33.152032],[102.855608,33.152005],[102.855643,33.151981],[102.855684,33.151956],[102.855704,33.151944],[102.855746,33.151933],[102.855789,33.151913],[102.855806,33.151899],[102.855822,33.151871],[102.855829,33.151844],[102.85583,33.151806],[102.855824,33.151769],[102.855803,33.15173],[102.855774,33.151695],[102.855752,33.151676],[102.855729,33.151658],[102.85571,33.151645],[102.855697,33.151634],[102.855689,33.151627],[102.855693,33.151609],[102.855704,33.151558],[102.855902,33.15114],[102.856594,33.151029],[102.857314,33.150602],[102.857804,33.150347],[102.857815,33.150341],[102.857839,33.150329],[102.857872,33.150312],[102.857882,33.150306],[102.858096,33.150194],[102.858822,33.1504],[102.85898,33.150789],[102.85901,33.151264],[102.859011,33.151537],[102.859011,33.151654],[102.859011,33.15167],[102.859012,33.151914],[102.859012,33.152037],[102.859004,33.152152],[102.858998,33.152237],[102.858995,33.152278],[102.858981,33.152475],[102.859028,33.152578],[102.859159,33.152865],[102.859383,33.153097],[102.859653,33.153154],[102.859765,33.153089],[102.859773,33.153084],[102.859809,33.153063],[102.859868,33.153076],[102.859935,33.153071],[102.860054,33.153038],[102.860215,33.152977],[102.860474,33.152937],[102.860837,33.152894],[102.860979,33.15291],[102.861046,33.153017],[102.861085,33.15315],[102.861123,33.153199],[102.861209,33.153191],[102.861275,33.15311],[102.86129,33.152994],[102.861229,33.152841],[102.861199,33.152716],[102.861222,33.152602],[102.861298,33.152558],[102.861424,33.152514],[102.861549,33.152506],[102.861616,33.152473],[102.861647,33.152404],[102.861624,33.152334],[102.861546,33.152268],[102.861504,33.152214],[102.861509,33.152158],[102.861555,33.152114],[102.861664,33.152065],[102.861823,33.152065],[102.861971,33.15208],[102.862039,33.152125],[102.862069,33.152217],[102.862069,33.152279],[102.862075,33.152367],[102.862058,33.152421],[102.862004,33.152495],[102.861962,33.152606],[102.862011,33.152698],[102.862113,33.152775],[102.862352,33.15288],[102.862458,33.15295],[102.862465,33.153008],[102.862453,33.153064],[102.862355,33.153086],[102.862212,33.153072],[102.862068,33.153041],[102.861989,33.153035],[102.861933,33.15307],[102.861884,33.153142],[102.861932,33.153235],[102.862139,33.153353],[102.862346,33.153449],[102.862383,33.153511],[102.862355,33.153554],[102.862262,33.153572],[102.862172,33.153568],[102.862053,33.153518],[102.861934,33.15344],[102.861797,33.153295],[102.861669,33.153154],[102.861592,33.153088],[102.861501,33.153072],[102.861445,33.153084],[102.861412,33.153129],[102.861378,33.153225],[102.86138,33.153301],[102.861445,33.153399],[102.861568,33.153538],[102.861669,33.153586],[102.861786,33.153597],[102.861951,33.153617],[102.862159,33.153744],[102.862241,33.153789],[102.862326,33.153777],[102.862478,33.153719],[102.862541,33.153721],[102.862582,33.153802],[102.86254,33.153853],[102.86244,33.153904],[102.862327,33.153945],[102.86223,33.153974],[102.8622,33.154043],[102.862199,33.154105],[102.862288,33.154155],[102.862377,33.154192],[102.862501,33.154205],[102.862604,33.154185],[102.862698,33.154113],[102.862897,33.153876],[102.86303,33.153675],[102.863146,33.153478],[102.863233,33.153429],[102.863339,33.153423],[102.863418,33.153405],[102.863483,33.153358],[102.863523,33.153372],[102.863529,33.153375],[102.863801,33.153472],[102.863919,33.153772],[102.864053,33.154249],[102.864187,33.15476],[102.864531,33.155241],[102.864896,33.155651],[102.865472,33.156047],[102.86569,33.156508],[102.865764,33.156895],[102.865664,33.157596],[102.86563,33.158123],[102.865555,33.158631],[102.865422,33.158975],[102.865406,33.159015],[102.865324,33.159033],[102.865248,33.159128],[102.865281,33.159241],[102.865596,33.159537],[102.865897,33.159707],[102.865913,33.159812],[102.865844,33.159867],[102.865668,33.15994],[102.865293,33.159982],[102.865059,33.159868],[102.864926,33.159835],[102.8648,33.159867],[102.864647,33.159967],[102.864519,33.159978],[102.864448,33.159918],[102.864468,33.159805],[102.864648,33.159691],[102.864819,33.159546],[102.86477,33.159426],[102.864538,33.159352],[102.864366,33.159369],[102.864263,33.159523],[102.864195,33.159734],[102.864172,33.159927],[102.864097,33.15993],[102.864087,33.15993],[102.864074,33.159931],[102.863895,33.159937],[102.863574,33.160248],[102.863502,33.160633],[102.863574,33.161108],[102.863879,33.161447],[102.864355,33.161631],[102.864754,33.161533],[102.864783,33.161509],[102.864873,33.161516],[102.864999,33.161521],[102.86525,33.161519],[102.865401,33.161506],[102.865589,33.161469],[102.865705,33.161424],[102.865759,33.16138],[102.865898,33.161269],[102.865943,33.161156],[102.865944,33.161058],[102.866143,33.161082],[102.866454,33.161227],[102.866535,33.161265],[102.86663,33.16167],[102.866684,33.162022],[102.866571,33.16213],[102.866565,33.162137],[102.866534,33.162126],[102.866468,33.162123],[102.866373,33.162138],[102.866243,33.162176],[102.866144,33.162241],[102.866104,33.162299],[102.866091,33.162355],[102.86609,33.162408],[102.866102,33.162461],[102.866124,33.162507],[102.866115,33.162514],[102.865747,33.162779],[102.865361,33.163177],[102.865602,33.163567],[102.866019,33.163627],[102.866049,33.163623],[102.866067,33.16362],[102.866087,33.163638],[102.866129,33.163664],[102.866189,33.163679],[102.866274,33.163688],[102.866401,33.163689],[102.86647,33.163684],[102.866604,33.163657],[102.866747,33.163615],[102.866805,33.163586],[102.866848,33.163563],[102.867022,33.163591],[102.86706,33.16375],[102.866885,33.164063],[102.866586,33.164357],[102.865868,33.164661],[102.865665,33.164893],[102.865616,33.16495],[102.86546,33.165128],[102.865702,33.165501],[102.866131,33.165877],[102.866544,33.166939],[102.86676,33.167373],[102.866764,33.167381],[102.866766,33.167386],[102.866786,33.167427],[102.866659,33.167582],[102.866645,33.167692],[102.866774,33.167739],[102.867033,33.167719],[102.867305,33.167618],[102.867519,33.167525],[102.86762,33.167553],[102.86763,33.167738],[102.8675,33.167968],[102.867306,33.168085],[102.86713,33.168122],[102.866879,33.16811],[102.866426,33.167984],[102.866066,33.167791],[102.865703,33.16752],[102.865508,33.167464],[102.865339,33.167433],[102.864892,33.167447],[102.864819,33.167533],[102.864747,33.167748],[102.864756,33.167881],[102.864866,33.168042],[102.864779,33.168146],[102.864555,33.168273],[102.864278,33.168436],[102.864056,33.168472],[102.863676,33.168258],[102.863466,33.168173],[102.863342,33.168191],[102.86317,33.168344],[102.86302,33.168427],[102.862941,33.168382],[102.862874,33.168211],[102.862836,33.167979],[102.862764,33.167736],[102.86265,33.167623],[102.862477,33.167608],[102.862307,33.167643],[102.862227,33.167727],[102.862176,33.167832],[102.862188,33.167935],[102.862212,33.168096],[102.862176,33.168216],[102.862051,33.168323],[102.861926,33.168373],[102.861776,33.168376],[102.861677,33.168331],[102.861593,33.168154],[102.861512,33.168096],[102.861444,33.168095],[102.861402,33.168229],[102.861505,33.168555],[102.861583,33.168773],[102.861749,33.168787],[102.862067,33.168776],[102.862206,33.168813],[102.862234,33.168919],[102.862153,33.169042],[102.861936,33.169123],[102.861687,33.169168],[102.861351,33.169146],[102.861059,33.16906],[102.860881,33.168954],[102.860573,33.16873],[102.860453,33.168635],[102.860316,33.168625],[102.860218,33.168672],[102.860066,33.168801],[102.859907,33.168838],[102.859743,33.168882],[102.859713,33.168954],[102.859809,33.169103],[102.860098,33.169344],[102.860249,33.169469],[102.860213,33.169551],[102.860084,33.169589],[102.859929,33.169577],[102.859826,33.169508],[102.859616,33.169344],[102.859416,33.169167],[102.859409,33.169194],[102.859404,33.169211],[102.8594,33.169228],[102.859343,33.169437],[102.859239,33.169561],[102.859056,33.169544],[102.858712,33.169257],[102.858524,33.168762],[102.858248,33.16842],[102.857959,33.167952],[102.857931,33.167917],[102.857922,33.167907],[102.857972,33.167881],[102.858029,33.167835],[102.858095,33.167748],[102.858135,33.167654],[102.858139,33.16759],[102.85813,33.167542],[102.858114,33.167501],[102.858093,33.167467],[102.858071,33.167444],[102.858038,33.16743],[102.857942,33.167426],[102.857857,33.167432],[102.857825,33.16744],[102.857799,33.167465],[102.857777,33.16751],[102.857736,33.167605],[102.857718,33.167656],[102.857711,33.167647],[102.857643,33.167564],[102.857122,33.166926],[102.8571,33.166922],[102.857076,33.166912],[102.857051,33.166896],[102.857039,33.166879],[102.85703,33.166857],[102.857034,33.166819],[102.857039,33.166796],[102.85706,33.16675],[102.857104,33.166699],[102.857175,33.166641],[102.857276,33.166588],[102.857307,33.166574],[102.857309,33.166554],[102.857302,33.166535],[102.857291,33.166525],[102.857284,33.166519],[102.857252,33.166501],[102.857208,33.166477],[102.857132,33.16644],[102.85696,33.166411],[102.856906,33.166414],[102.856868,33.166425],[102.856835,33.166424],[102.85679,33.166425],[102.856746,33.166441],[102.856711,33.166475],[102.856688,33.166519],[102.856692,33.166568],[102.856691,33.166602],[102.856673,33.166599],[102.856625,33.166589],[102.8566,33.166584],[102.85634,33.166533],[102.855953,33.166653],[102.85588,33.166919],[102.855957,33.167187],[102.856167,33.167472],[102.856597,33.167662],[102.856908,33.167892],[102.856943,33.168003],[102.856966,33.168075],[102.856987,33.168142],[102.856926,33.16813],[102.856884,33.168128],[102.856872,33.168127],[102.856856,33.168134],[102.856843,33.168161],[102.85684,33.168189],[102.856841,33.168213],[102.85685,33.168257],[102.85686,33.168311],[102.856863,33.168345],[102.856859,33.168364],[102.856843,33.168379],[102.85681,33.168398],[102.85676,33.168403],[102.856693,33.168403],[102.856622,33.168396],[102.856574,33.168388],[102.856517,33.168351],[102.856489,33.168322],[102.856458,33.168259],[102.856444,33.168215],[102.856441,33.168165],[102.856449,33.168129],[102.856521,33.167951],[102.856551,33.167918],[102.856582,33.167874],[102.856595,33.167834],[102.856603,33.167797],[102.856603,33.167773],[102.856599,33.167758],[102.856592,33.167748],[102.856569,33.167743],[102.856545,33.167745],[102.8565,33.16775],[102.856354,33.167807],[102.856333,33.167814],[102.856278,33.167848],[102.856262,33.167865],[102.856256,33.167881],[102.856258,33.167899],[102.856292,33.167954],[102.856306,33.167983],[102.856312,33.168014],[102.856313,33.168053],[102.856313,33.168071],[102.856309,33.168124],[102.85632,33.16818],[102.856335,33.168224],[102.856349,33.168261],[102.856368,33.1683],[102.856373,33.16831],[102.856379,33.168347],[102.856378,33.16838],[102.856371,33.168405],[102.856354,33.168429],[102.856326,33.168455],[102.856297,33.168464],[102.856263,33.168472],[102.856219,33.168475],[102.85618,33.168471],[102.856149,33.168464],[102.856094,33.168422],[102.856034,33.168371],[102.856021,33.168364],[102.856004,33.168361],[102.855992,33.168367],[102.855983,33.168388],[102.855949,33.168487],[102.85587,33.168433],[102.855857,33.168446],[102.855838,33.168458],[102.855817,33.168462],[102.855788,33.168459],[102.855756,33.168447],[102.855734,33.168435],[102.85572,33.168431],[102.855609,33.168429],[102.855538,33.16843],[102.855463,33.168429],[102.855406,33.168438],[102.855371,33.168453],[102.855337,33.168482],[102.85532,33.16852],[102.855319,33.168555],[102.855329,33.168594],[102.855358,33.168637],[102.855403,33.168671],[102.855457,33.168681],[102.855518,33.168681],[102.855547,33.168681],[102.855583,33.168693],[102.855594,33.168696],[102.855595,33.168758],[102.855513,33.168811],[102.855466,33.168844],[102.855409,33.168881],[102.855308,33.16893],[102.855245,33.168964],[102.855212,33.168993],[102.855192,33.169022],[102.855186,33.169059],[102.855195,33.169088],[102.85521,33.169108],[102.855252,33.169131],[102.855296,33.169159],[102.855341,33.169185],[102.855382,33.169193],[102.855413,33.16919],[102.855477,33.169174],[102.855521,33.16917],[102.855528,33.169169],[102.855675,33.169172],[102.855712,33.169172],[102.855764,33.169166],[102.85581,33.169145],[102.855842,33.169141],[102.855865,33.169169],[102.855874,33.169204],[102.85589,33.169255],[102.855918,33.169305],[102.855948,33.16934],[102.85598,33.169407],[102.855999,33.169492],[102.856027,33.169536],[102.856061,33.169569],[102.856104,33.169579],[102.856156,33.169578],[102.856212,33.16957],[102.856246,33.16956],[102.856274,33.169541],[102.856326,33.169505],[102.856363,33.169483],[102.856448,33.169426],[102.856501,33.169407],[102.856552,33.169407],[102.856612,33.169411],[102.856653,33.16942],[102.856692,33.169455],[102.856706,33.169484],[102.856704,33.169532],[102.856683,33.169562],[102.856641,33.169596],[102.856597,33.169639],[102.856585,33.169674],[102.856589,33.169718],[102.856601,33.169763],[102.856625,33.169799],[102.856671,33.169839],[102.856709,33.169865],[102.856788,33.169907],[102.856839,33.16992],[102.856891,33.169935],[102.856928,33.169946],[102.856944,33.169959],[102.856947,33.169976],[102.856942,33.169997],[102.856916,33.170026],[102.856879,33.170054],[102.856835,33.170071],[102.856783,33.170071],[102.856735,33.170068],[102.856697,33.17006],[102.85666,33.170041],[102.856613,33.170009],[102.856572,33.169987],[102.85653,33.169983],[102.856442,33.169986],[102.856364,33.170004],[102.856315,33.170021],[102.85626,33.170055],[102.856233,33.170104],[102.856207,33.170157],[102.856186,33.17017],[102.856143,33.170184],[102.856097,33.170204],[102.856064,33.170227],[102.856049,33.170249],[102.85605,33.170283],[102.856063,33.170315],[102.85609,33.170345],[102.856108,33.17036],[102.856173,33.170398],[102.856287,33.17043],[102.856386,33.170435],[102.856585,33.170469],[102.856712,33.170487],[102.856807,33.170497],[102.856898,33.17051],[102.85694,33.170544],[102.856957,33.170575],[102.856962,33.170616],[102.856962,33.170674],[102.856957,33.170714],[102.856938,33.170765],[102.856924,33.170825],[102.856924,33.170884],[102.856935,33.170937],[102.856946,33.170997],[102.856957,33.17105],[102.85694,33.171077],[102.856903,33.171114],[102.856845,33.171171],[102.856805,33.171211],[102.856777,33.171246],[102.856779,33.171275],[102.856786,33.171303],[102.856801,33.171337],[102.856807,33.171369],[102.856807,33.171396],[102.85679,33.171408],[102.856761,33.171403],[102.856675,33.171325],[102.856601,33.171244],[102.856562,33.171184],[102.856514,33.17112],[102.856492,33.171103],[102.856459,33.171087],[102.85643,33.17108],[102.856393,33.17108],[102.856363,33.171088],[102.856339,33.171101],[102.856314,33.171125],[102.856312,33.171128],[102.856289,33.171179],[102.85628,33.171261],[102.856287,33.171378],[102.85631,33.171476],[102.85633,33.171511],[102.856336,33.171525],[102.856337,33.171558],[102.856331,33.171578],[102.856317,33.171582],[102.856267,33.171576],[102.85629,33.17162],[102.856245,33.171608],[102.85606,33.171533],[102.856043,33.171431],[102.856113,33.171284],[102.856257,33.170989],[102.856186,33.170805],[102.856081,33.170778],[102.855947,33.17082],[102.855806,33.170955],[102.855686,33.171148],[102.855636,33.171369],[102.855642,33.171499],[102.855575,33.171539],[102.855532,33.171497],[102.855523,33.171488],[102.855469,33.171435],[102.855461,33.171429],[102.855157,33.171219],[102.855041,33.171202],[102.855005,33.171286],[102.854901,33.171467],[102.854511,33.171713],[102.854437,33.171779],[102.854426,33.171789],[102.85433,33.171874],[102.854049,33.172126],[102.853644,33.17233],[102.852718,33.172623],[102.85213,33.172768],[102.852044,33.172905],[102.852058,33.172935],[102.852073,33.172976],[102.852082,33.173006],[102.852099,33.173051],[102.85214,33.173095],[102.852192,33.173125],[102.852237,33.173137],[102.852301,33.173148],[102.852331,33.173199],[102.852582,33.173393],[102.852959,33.173695],[102.853418,33.174068],[102.853463,33.174094],[102.85351,33.174122],[102.853906,33.173709],[102.854238,33.173342],[102.854302,33.173219],[102.854332,33.173127],[102.85435,33.172652],[102.854404,33.172652],[102.854494,33.172654],[102.854534,33.17279],[102.854684,33.172877],[102.855221,33.172888],[102.855663,33.172954],[102.856086,33.173109],[102.856217,33.17329],[102.856137,33.173504],[102.855868,33.173689],[102.855719,33.173823],[102.855707,33.17396],[102.855776,33.174117],[102.85594,33.174207],[102.856179,33.174188],[102.856328,33.173994],[102.856494,33.173635],[102.856714,33.173269],[102.857016,33.173076],[102.857299,33.173132],[102.857395,33.173369],[102.857242,33.173623],[102.856968,33.173815],[102.856708,33.174051],[102.856567,33.174424],[102.856441,33.174547],[102.856024,33.174698],[102.855619,33.174788],[102.855425,33.17492],[102.855369,33.175146],[102.855541,33.175322],[102.856057,33.175644],[102.856167,33.175862],[102.856038,33.176036],[102.855606,33.176157],[102.855556,33.176287],[102.855665,33.176531],[102.855851,33.176542],[102.856289,33.176468],[102.856598,33.176491],[102.856723,33.176825],[102.85676,33.177042],[102.856698,33.177297],[102.856483,33.177428],[102.856151,33.177578],[102.855763,33.177666],[102.855164,33.177819],[102.854894,33.177926],[102.854849,33.178117],[102.854903,33.178352],[102.855138,33.178474],[102.855364,33.178674],[102.855804,33.179088],[102.856238,33.17942],[102.856454,33.179801],[102.856415,33.179975],[102.85608,33.18014],[102.855702,33.180375],[102.855445,33.180412],[102.855288,33.180313],[102.855175,33.180115],[102.8552,33.179943],[102.855286,33.179729],[102.855208,33.179613],[102.855038,33.179555],[102.854861,33.17962],[102.854819,33.179859],[102.854888,33.180189],[102.854971,33.180526],[102.854965,33.180722],[102.85484,33.180846],[102.854603,33.180874],[102.854372,33.180787],[102.854121,33.18066],[102.854027,33.180679],[102.853948,33.180836],[102.853887,33.181026],[102.853915,33.181135],[102.854056,33.181274],[102.854435,33.181477],[102.854627,33.181643],[102.854615,33.181885],[102.854597,33.182196],[102.854584,33.182508],[102.854372,33.182789],[102.85431,33.183057],[102.854236,33.183283],[102.854177,33.183334],[102.854064,33.183327],[102.853893,33.183215],[102.853636,33.182961],[102.853336,33.182695],[102.853154,33.182295],[102.853024,33.181977],[102.852848,33.181963],[102.852663,33.182093],[102.852549,33.182296],[102.852552,33.182487],[102.852691,33.18277],[102.852761,33.183031],[102.852804,33.18326],[102.852919,33.183342],[102.85319,33.183439],[102.853239,33.183504],[102.853136,33.183586],[102.852772,33.18371],[102.852448,33.183722],[102.85214,33.183616],[102.852051,33.18333],[102.851944,33.182979],[102.851841,33.182918],[102.851651,33.183053],[102.851108,33.18347],[102.850898,33.183715],[102.850819,33.183976],[102.851029,33.184095],[102.851538,33.184096],[102.852272,33.184126],[102.85259,33.184497],[102.852927,33.185096],[102.853149,33.185151],[102.853271,33.185035],[102.853386,33.184747],[102.853548,33.184514],[102.853971,33.184332],[102.854266,33.184372],[102.854544,33.184654],[102.854868,33.18493],[102.855164,33.185104],[102.85541,33.185052],[102.855977,33.184947],[102.856161,33.185002],[102.856193,33.185223],[102.856055,33.18546],[102.855861,33.185676],[102.855846,33.185837],[102.856065,33.185865],[102.856291,33.185584],[102.856502,33.185369],[102.856712,33.185359],[102.856835,33.185578],[102.856954,33.186002],[102.85706,33.186716],[102.857127,33.186833],[102.857288,33.186878],[102.857428,33.186812],[102.857578,33.186476],[102.857712,33.186129],[102.857964,33.186082],[102.858294,33.186339],[102.858553,33.186566],[102.858638,33.186848],[102.858746,33.187039],[102.858977,33.18702],[102.859235,33.186823],[102.859393,33.18688],[102.859741,33.187323],[102.860062,33.187779],[102.860288,33.188138],[102.860301,33.188496],[102.860373,33.188691],[102.860739,33.18882],[102.861396,33.188919],[102.861854,33.189231],[102.862218,33.189396],[102.862522,33.189389],[102.862897,33.189376],[102.863164,33.189458],[102.863532,33.189559],[102.863676,33.189272],[102.863892,33.189149],[102.864033,33.189344],[102.863899,33.18961],[102.863689,33.189923],[102.863695,33.190473],[102.863618,33.190695],[102.863271,33.190752],[102.86302,33.190831],[102.862945,33.190957],[102.863189,33.191131],[102.863653,33.19119],[102.864031,33.191048],[102.864323,33.19085],[102.864723,33.19076],[102.86515,33.19083],[102.865354,33.191015],[102.865437,33.191342],[102.865572,33.191543],[102.865916,33.191681],[102.866537,33.191707],[102.866913,33.191579],[102.867118,33.191274],[102.867154,33.190942],[102.866997,33.19073],[102.866556,33.190579],[102.866222,33.190423],[102.865726,33.190372],[102.865304,33.19031],[102.865188,33.190118],[102.865233,33.189854],[102.865637,33.18949],[102.866046,33.189096],[102.866163,33.188845],[102.866085,33.188669],[102.865865,33.188487],[102.86585,33.188391],[102.866066,33.188317],[102.866306,33.188392],[102.8669,33.188803],[102.867363,33.189134],[102.867759,33.18938],[102.868,33.189369],[102.868087,33.189224],[102.868062,33.188988],[102.867732,33.188688],[102.867612,33.188564],[102.867667,33.188406],[102.867978,33.188293],[102.868247,33.188182],[102.868295,33.188021],[102.868124,33.187929],[102.86795,33.187698],[102.867821,33.187109],[102.867654,33.18676],[102.867559,33.186512],[102.867636,33.186342],[102.867811,33.186257],[102.868261,33.186406],[102.868873,33.186657],[102.868996,33.186802],[102.86901,33.186978],[102.869012,33.187142],[102.869186,33.187254],[102.869403,33.187321],[102.869645,33.187264],[102.869943,33.187205],[102.870056,33.187295],[102.870022,33.187494],[102.869847,33.187687],[102.869735,33.187858],[102.869765,33.188021],[102.869903,33.188075],[102.870106,33.187997],[102.87034,33.187774],[102.870545,33.187568],[102.870774,33.18752],[102.870958,33.187566],[102.871106,33.187748],[102.871219,33.187862],[102.871402,33.187851],[102.871574,33.187525],[102.871766,33.187247],[102.872046,33.187197],[102.872172,33.187269],[102.872207,33.187451],[102.872124,33.187605],[102.872107,33.187895],[102.872055,33.188207],[102.872009,33.188515],[102.872182,33.188655],[102.872397,33.188704],[102.872461,33.188719],[102.872783,33.188895],[102.87286,33.188897],[102.873122,33.188904],[102.873336,33.188737],[102.87347,33.188385],[102.873641,33.188082],[102.873879,33.188068],[102.874013,33.188298],[102.873936,33.188647],[102.873724,33.189367],[102.873707,33.189662],[102.873812,33.189904],[102.874092,33.189954],[102.874436,33.189882],[102.874778,33.189949],[102.874902,33.190154],[102.874874,33.190339],[102.874562,33.19054],[102.874168,33.190886],[102.873756,33.19115],[102.87376,33.191274],[102.873942,33.191373],[102.874351,33.191556],[102.874508,33.191868],[102.874645,33.19205],[102.875228,33.19206],[102.875511,33.192157],[102.875701,33.192389],[102.875536,33.192611],[102.875157,33.192781],[102.874901,33.192999],[102.874933,33.193129],[102.875286,33.1932],[102.875919,33.193122],[102.87614,33.192925],[102.876395,33.192531],[102.876719,33.192525],[102.876817,33.192882],[102.876812,33.193258],[102.877043,33.193372],[102.877263,33.1933],[102.877451,33.192989],[102.877415,33.19263],[102.877449,33.192332],[102.877707,33.192285],[102.877897,33.192712],[102.877772,33.193017],[102.877537,33.19345],[102.877164,33.193916],[102.876879,33.194242],[102.876882,33.194419],[102.877191,33.194468],[102.877701,33.194402],[102.878099,33.194368],[102.878267,33.19459],[102.878249,33.194794],[102.877983,33.19503],[102.877598,33.195196],[102.87714,33.195287],[102.876999,33.195394],[102.877035,33.195574],[102.877286,33.195692],[102.87745,33.1958],[102.877485,33.195929],[102.877387,33.196029],[102.877212,33.196114],[102.877071,33.196216],[102.877068,33.196344],[102.877256,33.196444],[102.877707,33.196482],[102.878042,33.196635],[102.878419,33.197029],[102.878504,33.197386],[102.878398,33.197604],[102.878233,33.197725],[102.877974,33.197868],[102.877907,33.198012],[102.878042,33.198175],[102.878364,33.198178],[102.879058,33.198093],[102.879687,33.198165],[102.879742,33.198317],[102.87966,33.198478],[102.879259,33.19879],[102.879215,33.19896],[102.879372,33.199172],[102.879953,33.199189],[102.880336,33.199244],[102.880946,33.19957],[102.881179,33.199804],[102.881181,33.19999],[102.881012,33.200122],[102.880801,33.20031],[102.88065,33.2005],[102.880722,33.200646],[102.880923,33.200765],[102.881327,33.200729],[102.881942,33.200578],[102.882119,33.200652],[102.882102,33.200846],[102.881928,33.20102],[102.881786,33.201224],[102.881844,33.201388],[102.882159,33.20152],[102.882604,33.201581],[102.882693,33.201699],[102.882907,33.201918],[102.883051,33.202162],[102.883038,33.202385],[102.882941,33.2026],[102.88274,33.202735],[102.882372,33.202846],[102.881961,33.2029],[102.881688,33.202817],[102.881583,33.202584],[102.881501,33.202238],[102.881393,33.202143],[102.881229,33.202132],[102.880979,33.202245],[102.880859,33.202455],[102.880912,33.202619],[102.881126,33.202932],[102.881335,33.203136],[102.881566,33.20326],[102.881841,33.2034],[102.881906,33.203546],[102.881774,33.203669],[102.881377,33.203707],[102.881129,33.20364],[102.88073,33.203266],[102.880498,33.20312],[102.880336,33.203098],[102.880178,33.203187],[102.88006,33.203396],[102.879948,33.20361],[102.879794,33.203701],[102.879562,33.203741],[102.879305,33.203841],[102.879244,33.204007],[102.879455,33.204408],[102.879752,33.204771],[102.880229,33.204905],[102.88027,33.205071],[102.880021,33.205196],[102.879562,33.205345],[102.879447,33.205494],[102.879475,33.205672],[102.880042,33.205948],[102.880437,33.206174],[102.880653,33.206459],[102.880786,33.206708],[102.88097,33.206753],[102.881599,33.20656],[102.881807,33.206692],[102.882021,33.207197],[102.882086,33.207533],[102.881954,33.207666],[102.88177,33.207706],[102.88148,33.207627],[102.880866,33.207459],[102.880327,33.207389],[102.879435,33.207332],[102.878863,33.207368],[102.878347,33.207519],[102.878146,33.207542],[102.878058,33.207389],[102.878141,33.207131],[102.87815,33.206971],[102.877948,33.206934],[102.877598,33.20697],[102.877276,33.207013],[102.876899,33.207062],[102.876816,33.207255],[102.876904,33.207495],[102.877028,33.207618],[102.877392,33.208067],[102.877455,33.208384],[102.877327,33.208604],[102.877053,33.208925],[102.876723,33.209343],[102.876555,33.20959],[102.876614,33.209746],[102.877007,33.209719],[102.877352,33.20954],[102.877606,33.20926],[102.87784,33.208646],[102.878047,33.208411],[102.87839,33.208345],[102.878707,33.208739],[102.878609,33.209555],[102.878665,33.210143],[102.878486,33.210202],[102.878036,33.210041],[102.877638,33.210067],[102.87749,33.210271],[102.877402,33.21071],[102.877371,33.211157],[102.877482,33.211476],[102.877831,33.211528],[102.87822,33.211259],[102.878891,33.210734],[102.879219,33.210952],[102.879335,33.211228],[102.879264,33.211475],[102.878795,33.211747],[102.878261,33.211904],[102.877611,33.211889],[102.876957,33.211928],[102.876879,33.212038],[102.876911,33.212229],[102.87745,33.212346],[102.878098,33.212251],[102.878578,33.212178],[102.878935,33.212246],[102.879453,33.212491],[102.879793,33.212787],[102.879963,33.213079],[102.879914,33.213325],[102.879743,33.213542],[102.879436,33.213658],[102.878894,33.213612],[102.878588,33.213428],[102.87789,33.21295],[102.87759,33.212991],[102.877485,33.213115],[102.87748,33.213354],[102.877595,33.213788],[102.877638,33.214136],[102.877576,33.214323],[102.877072,33.214298],[102.876716,33.214141],[102.876528,33.213858],[102.876565,33.213449],[102.876725,33.213034],[102.876722,33.212873],[102.876289,33.212859],[102.876145,33.213003],[102.876081,33.213211],[102.876195,33.213451],[102.876171,33.213722],[102.876054,33.214189],[102.875865,33.214363],[102.875557,33.214765],[102.875677,33.214959],[102.876039,33.214946],[102.876602,33.214694],[102.876906,33.21466],[102.877047,33.214934],[102.876838,33.215236],[102.876453,33.215431],[102.87584,33.215588],[102.87548,33.215566],[102.875188,33.215411],[102.874663,33.214707],[102.874311,33.214335],[102.874007,33.214233],[102.873825,33.214297],[102.873742,33.214479],[102.873798,33.214896],[102.874043,33.215262],[102.87456,33.215623],[102.875222,33.215942],[102.875718,33.215945],[102.876598,33.215851],[102.876764,33.21598],[102.876791,33.216186],[102.876742,33.21636],[102.876501,33.216491],[102.876018,33.216626],[102.875401,33.216764],[102.87527,33.216943],[102.87526,33.217109],[102.875468,33.217255],[102.875901,33.217478],[102.876438,33.217628],[102.876517,33.21763],[102.876919,33.217639],[102.877422,33.217525],[102.878134,33.217403],[102.878452,33.217475],[102.878655,33.217627],[102.878813,33.21783],[102.878788,33.218144],[102.878636,33.218257],[102.878276,33.218302],[102.877835,33.218388],[102.877646,33.218529],[102.877591,33.218741],[102.87769,33.218967],[102.878208,33.219444],[102.878635,33.219896],[102.878605,33.220041],[102.878397,33.220148],[102.878032,33.220276],[102.877952,33.220433],[102.878093,33.220621],[102.878608,33.220927],[102.879037,33.221043],[102.879335,33.220916],[102.879482,33.220651],[102.87951,33.220405],[102.879434,33.220021],[102.879404,33.219671],[102.879485,33.219508],[102.879722,33.219436],[102.880109,33.219437],[102.880335,33.219572],[102.880419,33.219811],[102.880538,33.220309],[102.880496,33.220597],[102.880425,33.22094],[102.880412,33.221079],[102.88056,33.221167],[102.880773,33.221087],[102.880946,33.220894],[102.881144,33.220709],[102.881418,33.220599],[102.881724,33.220602],[102.882309,33.220678],[102.882516,33.220616],[102.882813,33.22048],[102.883136,33.220489],[102.883571,33.220592],[102.883763,33.220655],[102.884003,33.220622],[102.884236,33.22061],[102.884372,33.220649],[102.884458,33.220786],[102.884507,33.220964],[102.884587,33.221201],[102.884615,33.221397],[102.884611,33.221624],[102.884594,33.222066],[102.88469,33.222463],[102.884879,33.222571],[102.885279,33.222559],[102.885777,33.222554],[102.885982,33.22267],[102.88598,33.222849],[102.88569,33.223094],[102.885317,33.223368],[102.885301,33.223496],[102.885456,33.223606],[102.885738,33.223582],[102.886025,33.223404],[102.886486,33.222829],[102.886929,33.222156],[102.887182,33.222059],[102.88735,33.222165],[102.887351,33.222323],[102.887083,33.223284],[102.886881,33.224173],[102.886656,33.224978],[102.886652,33.225178],[102.886773,33.225222],[102.887335,33.224988],[102.887719,33.22489],[102.88793,33.224916],[102.888442,33.225208],[102.888722,33.225427],[102.888766,33.225625],[102.88868,33.225783],[102.888423,33.226394],[102.888141,33.227232],[102.887977,33.227336],[102.887689,33.227256],[102.887502,33.227143],[102.886993,33.22674],[102.886835,33.226434],[102.886748,33.225892],[102.886656,33.225617],[102.88636,33.225543],[102.886035,33.225567],[102.885743,33.225722],[102.885578,33.225929],[102.885606,33.226216],[102.885872,33.226623],[102.886061,33.226983],[102.886162,33.227884],[102.886237,33.228639],[102.886503,33.228746],[102.886771,33.228909],[102.88681,33.229111],[102.88671,33.229269],[102.886361,33.229416],[102.885909,33.229402],[102.884948,33.229353],[102.884144,33.229267],[102.883596,33.229144],[102.883219,33.22881],[102.882999,33.228686],[102.882816,33.228726],[102.88273,33.229128],[102.882805,33.229593],[102.883041,33.230494],[102.883432,33.230886],[102.883645,33.230958],[102.8839,33.230826],[102.88417,33.230331],[102.884403,33.229662],[102.884605,33.229554],[102.884872,33.22964],[102.885304,33.229768],[102.885683,33.229834],[102.886169,33.229821],[102.886355,33.22985],[102.886318,33.23],[102.886141,33.230177],[102.885533,33.230879],[102.885255,33.231377],[102.88518,33.231593],[102.885261,33.231703],[102.885497,33.231744],[102.885966,33.23162],[102.886469,33.231435],[102.886753,33.231426],[102.88693,33.231496],[102.887065,33.231665],[102.887173,33.231934],[102.887334,33.232467],[102.887353,33.232666],[102.887254,33.232817],[102.887074,33.232833],[102.88683,33.232844],[102.886515,33.232891],[102.886205,33.232957],[102.886112,33.233058],[102.886143,33.233207],[102.886338,33.233358],[102.886677,33.233472],[102.88697,33.23345],[102.887288,33.233387],[102.887654,33.233339],[102.888415,33.233116],[102.889023,33.232847],[102.889106,33.232582],[102.889187,33.232291],[102.889355,33.232205],[102.889523,33.232236],[102.889832,33.232529],[102.890171,33.232977],[102.890233,33.233132],[102.89004,33.233276],[102.889766,33.233494],[102.889417,33.233794],[102.888742,33.234203],[102.888388,33.234381],[102.888307,33.234524],[102.888403,33.234632],[102.888722,33.234691],[102.889308,33.23478],[102.889447,33.234878],[102.889469,33.235083],[102.889301,33.235258],[102.888952,33.235426],[102.888621,33.235487],[102.888223,33.235521],[102.887839,33.235474],[102.887152,33.235156],[102.886755,33.234968],[102.886697,33.234862],[102.886779,33.234708],[102.886945,33.234411],[102.886993,33.234245],[102.886818,33.234178],[102.886645,33.234228],[102.886336,33.234504],[102.886005,33.234933],[102.885894,33.235239],[102.88575,33.235887],[102.885654,33.235997],[102.885538,33.236025],[102.885424,33.235934],[102.885224,33.235722],[102.885037,33.235579],[102.884805,33.235541],[102.884645,33.235591],[102.884464,33.235773],[102.884382,33.236088],[102.884376,33.236331],[102.884594,33.236461],[102.885068,33.236788],[102.885294,33.237065],[102.885354,33.237343],[102.885254,33.237528],[102.885069,33.23768],[102.884622,33.237852],[102.884345,33.23784],[102.883727,33.237662],[102.883055,33.237506],[102.882795,33.237591],[102.882744,33.237793],[102.88296,33.238079],[102.883384,33.238282],[102.884197,33.238521],[102.884537,33.238525],[102.884742,33.23831],[102.885012,33.238159],[102.88524,33.23813],[102.885324,33.238343],[102.885333,33.238752],[102.885351,33.239348],[102.88529,33.239803],[102.88507,33.239879],[102.884398,33.239742],[102.884024,33.239736],[102.883863,33.239882],[102.883846,33.240162],[102.884194,33.240336],[102.884848,33.240541],[102.885931,33.240851],[102.886625,33.241094],[102.886962,33.241286],[102.887068,33.241412],[102.887066,33.241559],[102.886971,33.241722],[102.886906,33.241905],[102.886872,33.242161],[102.886869,33.242297],[102.887023,33.242332],[102.88727,33.242238],[102.887805,33.24201],[102.888687,33.241701],[102.889379,33.241501],[102.889574,33.241516],[102.889703,33.241628],[102.889737,33.241851],[102.889561,33.242176],[102.88931,33.242391],[102.889041,33.242784],[102.889042,33.242905],[102.889181,33.243007],[102.889383,33.243044],[102.889892,33.24299],[102.890284,33.242971],[102.890503,33.243012],[102.890846,33.243211],[102.891113,33.243297],[102.891266,33.243225],[102.891251,33.243046],[102.89107,33.242802],[102.890757,33.242475],[102.890742,33.242299],[102.890848,33.242154],[102.891057,33.242077],[102.891472,33.242111],[102.892056,33.242296],[102.892356,33.242473],[102.892435,33.242723],[102.892283,33.243067],[102.891935,33.243422],[102.891163,33.24389],[102.890562,33.244241],[102.889853,33.244604],[102.889654,33.244733],[102.889557,33.244944],[102.889802,33.245114],[102.890317,33.2452],[102.890887,33.245127],[102.891293,33.244869],[102.891645,33.244558],[102.892258,33.244044],[102.892504,33.243968],[102.892716,33.243995],[102.893113,33.244172],[102.893426,33.244428],[102.893923,33.244959],[102.89429,33.245438],[102.894264,33.245594],[102.894022,33.245742],[102.893459,33.245776],[102.89241,33.245672],[102.892226,33.245703],[102.892149,33.245779],[102.892141,33.245979],[102.892439,33.24628],[102.892784,33.24648],[102.893311,33.246555],[102.893818,33.246548],[102.894883,33.246468],[102.895153,33.246499],[102.895398,33.24658],[102.89582,33.246931],[102.896192,33.247056],[102.896394,33.246997],[102.896449,33.246828],[102.896273,33.246549],[102.895895,33.246229],[102.895818,33.246078],[102.895906,33.245939],[102.896189,33.245865],[102.896799,33.245863],[102.897115,33.245915],[102.897341,33.246041],[102.897529,33.24623],[102.897822,33.246552],[102.898129,33.246865],[102.898144,33.24697],[102.897862,33.247193],[102.897746,33.24737],[102.89772,33.247506],[102.897828,33.247606],[102.89805,33.247686],[102.898386,33.247744],[102.899047,33.247929],[102.899276,33.248081],[102.899398,33.248322],[102.899431,33.248606],[102.899403,33.2491],[102.899288,33.249309],[102.898936,33.249619],[102.898817,33.249805],[102.898974,33.249935],[102.899372,33.250204],[102.899654,33.250625],[102.899824,33.251013],[102.899726,33.251142],[102.899016,33.251156],[102.898378,33.251233],[102.897627,33.251277],[102.897016,33.251388],[102.896725,33.251494],[102.896494,33.251712],[102.89637,33.251827],[102.896213,33.25182],[102.896089,33.25161],[102.895998,33.251345],[102.895913,33.250906],[102.895741,33.250662],[102.895498,33.250669],[102.895342,33.250815],[102.895287,33.251103],[102.895287,33.251499],[102.895229,33.251543],[102.895215,33.251553],[102.895108,33.251635],[102.895065,33.251667],[102.8946,33.252208],[102.894164,33.252633],[102.894157,33.252639],[102.894068,33.252726],[102.894085,33.252752],[102.894194,33.252928],[102.894255,33.253026],[102.895721,33.255386],[102.895736,33.255445],[102.895739,33.255484],[102.895741,33.255526],[102.895741,33.255564],[102.895732,33.255602],[102.895716,33.25565],[102.895714,33.25568],[102.895713,33.2557],[102.895726,33.255718],[102.895744,33.255718],[102.89575,33.255705],[102.895762,33.255691],[102.895771,33.255693],[102.895782,33.255703],[102.895788,33.25571],[102.895805,33.255748],[102.89583,33.255811],[102.895843,33.255845],[102.895863,33.255849],[102.895875,33.255844],[102.895879,33.255821],[102.895877,33.255776],[102.895862,33.25574],[102.895853,33.255707],[102.895852,33.25568],[102.895851,33.255654],[102.895862,33.255613],[102.896195,33.256149],[102.896639,33.256863],[102.896783,33.257095],[102.897857,33.258822],[102.918741,33.29242],[102.918913,33.292696],[102.918917,33.292834],[102.919007,33.292947],[102.919032,33.293128],[102.918998,33.293294],[102.918977,33.293403],[102.918996,33.293508],[102.919071,33.293562],[102.919194,33.293638],[102.91929,33.293746],[102.919345,33.29385],[102.919388,33.29395],[102.919384,33.294087],[102.919316,33.294215],[102.91927,33.294281],[102.919245,33.294396],[102.91929,33.294488],[102.919364,33.29455],[102.919532,33.29459],[102.919662,33.294607],[102.919821,33.294617],[102.919901,33.294644],[102.920008,33.294696],[102.920188,33.294747],[102.920341,33.29463],[102.920409,33.294639],[102.92046,33.294618],[102.920504,33.294597],[102.920524,33.294569],[102.920537,33.294543],[102.920567,33.294497],[102.920603,33.294483],[102.920786,33.294569],[102.921041,33.294573],[102.921283,33.294565],[102.921339,33.294614],[102.92125,33.294756],[102.920962,33.29493],[102.920874,33.295036],[102.920799,33.295032],[102.920757,33.295015],[102.920713,33.294983],[102.920685,33.294959],[102.920664,33.294929],[102.920652,33.294904],[102.920621,33.294895],[102.920584,33.294903],[102.920547,33.294919],[102.920524,33.294925],[102.920476,33.294921],[102.920443,33.294912],[102.92039,33.294918],[102.92035,33.294943],[102.920329,33.294973],[102.920226,33.295043],[102.920174,33.295158],[102.920147,33.295233],[102.9201,33.295312],[102.920066,33.295363],[102.920028,33.295426],[102.920021,33.295494],[102.920026,33.295557],[102.920055,33.295598],[102.920094,33.295609],[102.92021,33.295614],[102.920307,33.295606],[102.920416,33.29558],[102.920493,33.295573],[102.92057,33.295515],[102.92063,33.295457],[102.920666,33.295516],[102.92071,33.295589],[102.920946,33.295986],[102.921019,33.296109],[102.92084,33.296106],[102.920608,33.296102],[102.920377,33.296098],[102.920145,33.296095],[102.919913,33.296091],[102.919682,33.296087],[102.91945,33.296083],[102.919219,33.296079],[102.918987,33.296075],[102.918746,33.296088],[102.918506,33.2961],[102.918265,33.296112],[102.918024,33.296125],[102.917783,33.296137],[102.917542,33.296149],[102.917301,33.296161],[102.917061,33.296174],[102.91682,33.296186],[102.916666,33.296194],[102.916579,33.296198],[102.916338,33.296211],[102.916097,33.296223],[102.915841,33.296232],[102.915585,33.296242],[102.915329,33.296251],[102.915072,33.29626],[102.914816,33.29627],[102.91456,33.296279],[102.914303,33.296288],[102.914047,33.296297],[102.913791,33.296307],[102.913534,33.296316],[102.913278,33.296325],[102.913022,33.296335],[102.912766,33.296344],[102.912509,33.296353],[102.912253,33.296363],[102.911997,33.296372],[102.911729,33.296377],[102.911462,33.296381],[102.911195,33.296385],[102.910927,33.29639],[102.91066,33.296394],[102.910392,33.296399],[102.910125,33.296403],[102.909858,33.296408],[102.90959,33.296412],[102.909323,33.296417],[102.909065,33.296439],[102.908808,33.296462],[102.908486,33.296493],[102.908164,33.296524],[102.907886,33.296609],[102.907561,33.296751],[102.907552,33.296755],[102.907217,33.296902],[102.906998,33.297096],[102.906779,33.297289],[102.906645,33.297448],[102.906462,33.297587],[102.906278,33.297726],[102.906095,33.297866],[102.905912,33.298005],[102.905728,33.298144],[102.905545,33.298283],[102.905362,33.298422],[102.905178,33.298561],[102.904894,33.298843],[102.904609,33.299125],[102.904325,33.299407],[102.904115,33.299655],[102.903906,33.299902],[102.903742,33.30007],[102.903578,33.300238],[102.903381,33.300379],[102.903056,33.300553],[102.902731,33.300727],[102.902397,33.300855],[102.902063,33.300984],[102.901842,33.301061],[102.90162,33.301138],[102.901399,33.301215],[102.901178,33.301293],[102.900797,33.301404],[102.900416,33.301516],[102.900116,33.301566],[102.899838,33.301579],[102.899582,33.301539],[102.899347,33.301518],[102.898919,33.301493],[102.898585,33.301603],[102.898251,33.301713],[102.898056,33.30185],[102.89786,33.301988],[102.897664,33.302125],[102.897469,33.302263],[102.897273,33.3024],[102.897078,33.302538],[102.896903,33.302696],[102.896728,33.302854],[102.896553,33.303013],[102.896378,33.303171],[102.896203,33.30333],[102.896028,33.303488],[102.895853,33.303647],[102.895678,33.303805],[102.895483,33.303972],[102.895288,33.304138],[102.895093,33.304305],[102.894898,33.304471],[102.894703,33.304637],[102.894508,33.304804],[102.894212,33.305077],[102.893916,33.30535],[102.893763,33.305509],[102.893567,33.305684],[102.893349,33.305807],[102.893198,33.305857],[102.892907,33.305969],[102.892616,33.30608],[102.892337,33.306165],[102.892014,33.306215],[102.891725,33.306237],[102.891436,33.306258],[102.891007,33.306269],[102.890579,33.306279],[102.890354,33.306302],[102.89013,33.306326],[102.88984,33.306356],[102.88955,33.306387],[102.889388,33.306385],[102.889136,33.306343],[102.888883,33.3063],[102.888587,33.306231],[102.888291,33.306162],[102.88793,33.306061],[102.887568,33.30596],[102.887359,33.305848],[102.887149,33.305736],[102.886927,33.305643],[102.886705,33.30555],[102.886483,33.305456],[102.88626,33.305363],[102.886038,33.305269],[102.885816,33.305176],[102.885594,33.305082],[102.885371,33.304989],[102.885022,33.304839],[102.884829,33.304853],[102.88453,33.304884],[102.884206,33.304968],[102.884009,33.305163],[102.883766,33.305499],[102.883586,33.305882],[102.883405,33.306264],[102.883206,33.306584],[102.883006,33.30685],[102.882841,33.307053],[102.882676,33.307257],[102.882521,33.307443],[102.882367,33.307629],[102.882189,33.307904],[102.882011,33.308178],[102.881919,33.308462],[102.88185,33.308677],[102.88178,33.308892],[102.881676,33.309175],[102.881571,33.309458],[102.881455,33.309814],[102.881428,33.310066],[102.881442,33.310371],[102.881519,33.310696],[102.881566,33.310983],[102.881612,33.311271],[102.88165,33.311504],[102.881685,33.311847],[102.881719,33.312151],[102.881713,33.312402],[102.881707,33.312653],[102.881636,33.31294],[102.881566,33.31319],[102.881428,33.313598],[102.881326,33.313968],[102.881225,33.314337],[102.881123,33.314707],[102.881055,33.31495],[102.880988,33.315192],[102.88092,33.315435],[102.880853,33.315678],[102.880785,33.315921],[102.880718,33.316164],[102.88065,33.316406],[102.880583,33.316649],[102.880463,33.316898],[102.880343,33.317147],[102.880223,33.317396],[102.880103,33.317646],[102.879983,33.317895],[102.879863,33.318144],[102.879661,33.318517],[102.879419,33.318835],[102.879176,33.319154],[102.878903,33.319392],[102.878629,33.319629],[102.878304,33.319785],[102.878067,33.319871],[102.877679,33.319972],[102.877336,33.320012],[102.876993,33.320051],[102.876591,33.320052],[102.87619,33.320053],[102.876116,33.320053],[102.875867,33.320025],[102.875619,33.319996],[102.87537,33.319968],[102.875121,33.31994],[102.874872,33.319912],[102.874623,33.319884],[102.874353,33.319885],[102.874083,33.319886],[102.873813,33.319887],[102.873543,33.319888],[102.873147,33.31989],[102.872751,33.319892],[102.872386,33.319958],[102.872133,33.32003],[102.87188,33.320102],[102.871627,33.320174],[102.871374,33.320246],[102.871121,33.320317],[102.870868,33.320389],[102.870615,33.320461],[102.870362,33.320533],[102.870137,33.320602],[102.869913,33.320672],[102.869688,33.320741],[102.869464,33.320811],[102.869239,33.32088],[102.869015,33.32095],[102.868791,33.321019],[102.868566,33.321088],[102.868342,33.321158],[102.868117,33.321227],[102.867893,33.321297],[102.867668,33.321366],[102.867268,33.32142],[102.867031,33.321452],[102.866796,33.321448],[102.866561,33.321444],[102.866338,33.321378],[102.866115,33.321311],[102.865936,33.321164],[102.865757,33.321017],[102.865454,33.320725],[102.865151,33.320432],[102.864936,33.320272],[102.864721,33.320111],[102.864506,33.319951],[102.864291,33.31979],[102.864059,33.319643],[102.863828,33.319495],[102.863572,33.319455],[102.863316,33.319415],[102.863048,33.319354],[102.86278,33.319294],[102.862512,33.319234],[102.862244,33.319174],[102.861976,33.319114],[102.861708,33.319054],[102.86144,33.318993],[102.861172,33.318933],[102.860904,33.318873],[102.860636,33.318813],[102.860259,33.318641],[102.859882,33.318469],[102.859505,33.318297],[102.859092,33.318124],[102.858679,33.317951],[102.858266,33.317778],[102.857853,33.317605],[102.857639,33.317525],[102.857424,33.317445],[102.857209,33.317365],[102.856995,33.317285],[102.85678,33.317205],[102.856566,33.317125],[102.856351,33.317045],[102.856136,33.316965],[102.855892,33.316916],[102.855648,33.316866],[102.855351,33.316772],[102.855011,33.316641],[102.854652,33.316473],[102.854421,33.316272],[102.854171,33.316034],[102.854,33.315851],[102.85383,33.315669],[102.85366,33.315487],[102.85349,33.315304],[102.85332,33.315122],[102.853149,33.31494],[102.852878,33.314675],[102.852606,33.31441],[102.85233,33.314315],[102.851914,33.314281],[102.851498,33.314246],[102.851082,33.314212],[102.850683,33.314199],[102.850284,33.314186],[102.849885,33.314172],[102.849671,33.314222],[102.849498,33.314256],[102.849248,33.314404],[102.848998,33.314552],[102.848747,33.314763],[102.848496,33.314973],[102.848324,33.315025],[102.848217,33.31504],[102.847896,33.315035],[102.847661,33.315013],[102.847342,33.314935],[102.847096,33.314814],[102.846851,33.314694],[102.846605,33.314573],[102.84636,33.314452],[102.846114,33.314331],[102.845868,33.31421],[102.845623,33.314089],[102.845377,33.313969],[102.845153,33.313826],[102.84493,33.313683],[102.844706,33.31354],[102.844482,33.313397],[102.844258,33.313254],[102.844034,33.313112],[102.843811,33.312969],[102.843587,33.312826],[102.84337,33.312715],[102.843154,33.312603],[102.842938,33.312492],[102.842721,33.312381],[102.842478,33.312287],[102.842234,33.312192],[102.842011,33.31213],[102.841788,33.312068],[102.841565,33.312006],[102.841341,33.311944],[102.841065,33.311903],[102.840788,33.311863],[102.840516,33.311844],[102.840244,33.311826],[102.839972,33.311807],[102.839701,33.311789],[102.839429,33.31177],[102.839157,33.311752],[102.838886,33.311733],[102.838614,33.311714],[102.838386,33.311701],[102.838158,33.311688],[102.83793,33.311675],[102.837702,33.311662],[102.837474,33.311649],[102.837246,33.311636],[102.836842,33.311594],[102.836628,33.311573],[102.836393,33.311567],[102.836072,33.31158],[102.835672,33.31177],[102.835271,33.31196],[102.835096,33.312125],[102.834921,33.312289],[102.834746,33.312454],[102.834571,33.312619],[102.834396,33.312783],[102.834221,33.312948],[102.833979,33.313176],[102.833827,33.313244],[102.833612,33.313313],[102.833333,33.313345],[102.832991,33.313356],[102.832565,33.31326],[102.832237,33.313137],[102.831908,33.313015],[102.831741,33.312841],[102.831574,33.312668],[102.831408,33.312463],[102.831242,33.312258],[102.831076,33.312054],[102.83091,33.311849],[102.830744,33.311644],[102.830578,33.31144],[102.830412,33.311235],[102.830246,33.31103],[102.830037,33.310834],[102.829815,33.31067],[102.829593,33.310506],[102.829319,33.310369],[102.829046,33.310232],[102.828983,33.310219],[102.828625,33.310122],[102.828266,33.310025],[102.827908,33.309928],[102.827566,33.309922],[102.827225,33.309916],[102.82686,33.309964],[102.826579,33.310031],[102.826451,33.310083],[102.826255,33.310258],[102.826032,33.310612],[102.82596,33.310926],[102.825887,33.311239],[102.825839,33.311489],[102.82579,33.31174],[102.825632,33.312059],[102.825475,33.312289],[102.825301,33.312465],[102.824954,33.312621],[102.824707,33.31268],[102.824459,33.312739],[102.824237,33.312792],[102.824015,33.312844],[102.823792,33.312897],[102.82357,33.31295],[102.823348,33.313003],[102.823125,33.313056],[102.822899,33.313112],[102.822672,33.313168],[102.822445,33.313225],[102.822218,33.313281],[102.821991,33.313337],[102.821764,33.313393],[102.821537,33.313449],[102.82131,33.313506],[102.821083,33.313562],[102.820856,33.313618],[102.820641,33.313684],[102.820425,33.313749],[102.82021,33.313815],[102.819994,33.31388],[102.819779,33.313946],[102.819563,33.314011],[102.819348,33.314077],[102.819132,33.314142],[102.818743,33.314338],[102.818353,33.314533],[102.817964,33.314728],[102.817574,33.314924],[102.817247,33.315178],[102.816919,33.315433],[102.816688,33.315698],[102.816456,33.315962],[102.816149,33.316284],[102.815841,33.316607],[102.815534,33.316929],[102.815227,33.317251],[102.814895,33.317529],[102.814563,33.317808],[102.814301,33.318001],[102.813977,33.318138],[102.813689,33.318168],[102.813677,33.318169],[102.813292,33.318143],[102.812933,33.318029],[102.812592,33.317917],[102.812347,33.317867],[102.812103,33.317818],[102.811739,33.317789],[102.811665,33.317783],[102.811228,33.317748],[102.810958,33.317746],[102.810688,33.317743],[102.810418,33.317741],[102.810148,33.317739],[102.809878,33.317736],[102.809608,33.317734],[102.809517,33.317733],[102.809338,33.317731],[102.809211,33.31773],[102.809068,33.317729],[102.808798,33.317726],[102.808528,33.317724],[102.808456,33.317723],[102.808258,33.317721],[102.807988,33.317719],[102.807718,33.317716],[102.807448,33.317714],[102.807178,33.317711],[102.806908,33.317709],[102.806639,33.317717],[102.80637,33.317724],[102.8061,33.317732],[102.805831,33.31774],[102.805562,33.317748],[102.805292,33.317756],[102.805023,33.317763],[102.804754,33.317771],[102.804484,33.317779],[102.804215,33.317787],[102.803946,33.317795],[102.803676,33.317802],[102.803407,33.31781],[102.803138,33.317818],[102.802868,33.317826],[102.802599,33.317833],[102.80233,33.317841],[102.80206,33.317849],[102.801791,33.317857],[102.801522,33.317865],[102.801251,33.317896],[102.80098,33.317927],[102.800709,33.317958],[102.800439,33.317989],[102.800168,33.31802],[102.799897,33.318051],[102.799626,33.318082],[102.799355,33.318113],[102.799085,33.318144],[102.798814,33.318175],[102.798543,33.318206],[102.798272,33.318237],[102.798001,33.318268],[102.797731,33.318299],[102.79746,33.31833],[102.797189,33.318361],[102.796943,33.318396],[102.796698,33.318431],[102.796453,33.318466],[102.796207,33.3185],[102.795962,33.318535],[102.795716,33.31857],[102.795481,33.318584],[102.795245,33.318597],[102.79501,33.318611],[102.794774,33.318625],[102.794538,33.318638],[102.794303,33.318652],[102.7942,33.318647],[102.79387,33.318631],[102.793438,33.31861],[102.793005,33.318589],[102.792573,33.318567],[102.792196,33.318525],[102.791818,33.318482],[102.791441,33.318439],[102.791079,33.318406],[102.790717,33.318373],[102.790267,33.318365],[102.789818,33.318357],[102.789551,33.318339],[102.789284,33.318321],[102.789017,33.318302],[102.788751,33.318284],[102.788484,33.318266],[102.788217,33.318248],[102.78795,33.31823],[102.787683,33.318212],[102.787324,33.318122],[102.786964,33.318032],[102.786557,33.317924],[102.786196,33.317795],[102.785945,33.3177],[102.785693,33.317605],[102.785369,33.317518],[102.785045,33.31743],[102.784816,33.317366],[102.784586,33.317301],[102.784356,33.317236],[102.784127,33.317171],[102.783897,33.317106],[102.783667,33.317041],[102.783437,33.316976],[102.783208,33.316911],[102.782978,33.316846],[102.782748,33.316781],[102.782519,33.316716],[102.782289,33.316651],[102.782059,33.316586],[102.78183,33.316521],[102.781544,33.316374],[102.781329,33.316259],[102.781114,33.316144],[102.780846,33.315961],[102.780577,33.315778],[102.780309,33.315595],[102.779943,33.315336],[102.779577,33.315077],[102.77921,33.314818],[102.778844,33.314559],[102.778711,33.31433],[102.778644,33.314111],[102.77854,33.313688],[102.778435,33.313264],[102.778297,33.313031],[102.778159,33.312798],[102.778111,33.312725],[102.77793,33.312455],[102.777769,33.312303],[102.777768,33.312303],[102.77755,33.312227],[102.777232,33.312171],[102.777226,33.31217],[102.776969,33.312093],[102.776817,33.312017],[102.776731,33.311913],[102.776636,33.311741],[102.776494,33.311622],[102.776383,33.311554],[102.776174,33.311426],[102.775965,33.311298],[102.775756,33.311169],[102.775547,33.311041],[102.775337,33.310913],[102.775128,33.310785],[102.774919,33.310657],[102.77471,33.310529],[102.774353,33.31031],[102.774095,33.310276],[102.773705,33.310171],[102.77345,33.310067],[102.773333,33.310019],[102.773086,33.309838],[102.772867,33.309543],[102.772751,33.309225],[102.772635,33.308906],[102.772518,33.308588],[102.772505,33.308553],[102.772315,33.308381],[102.771925,33.308172],[102.771606,33.308025],[102.771287,33.307877],[102.771147,33.307815],[102.771049,33.307772],[102.770878,33.307687],[102.770659,33.307658],[102.770373,33.30763],[102.770069,33.307534],[102.76974,33.307434],[102.769412,33.307335],[102.769098,33.307135],[102.768869,33.306963],[102.768842,33.306882],[102.768727,33.306542],[102.768612,33.306202],[102.768543,33.306032],[102.768368,33.305901],[102.768181,33.305762],[102.767995,33.305623],[102.767643,33.30536],[102.767316,33.305187],[102.766988,33.305014],[102.766661,33.304841],[102.766376,33.304699],[102.76609,33.304558],[102.7657,33.304365],[102.765395,33.304089],[102.765215,33.303861],[102.765189,33.303824],[102.765053,33.303632],[102.764862,33.30347],[102.764615,33.303404],[102.764196,33.303356],[102.763904,33.303437],[102.763612,33.303517],[102.763473,33.303556],[102.763346,33.303581],[102.763178,33.303613],[102.762854,33.303584],[102.762473,33.303508],[102.762212,33.303423],[102.76195,33.303337],[102.761769,33.303223],[102.761636,33.303097],[102.761598,33.303061],[102.76148,33.302914],[102.761295,33.302844],[102.76114,33.302794],[102.760907,33.302813],[102.760675,33.302833],[102.760351,33.302804],[102.760027,33.30268],[102.759732,33.302595],[102.759437,33.302509],[102.759171,33.302394],[102.759085,33.302357],[102.758762,33.302252],[102.758438,33.302147],[102.758124,33.302109],[102.75781,33.302223],[102.757496,33.302484],[102.757182,33.302744],[102.756867,33.303004],[102.756866,33.303004],[102.756865,33.303005],[102.756605,33.303123],[102.756344,33.303242],[102.755906,33.303318],[102.75564,33.303328],[102.755373,33.303337],[102.755021,33.303251],[102.75481,33.303166],[102.7546,33.303081],[102.754574,33.303071],[102.754269,33.302918],[102.753917,33.302658],[102.753566,33.302398],[102.753214,33.302137],[102.75306,33.302024],[102.75281,33.301849],[102.752559,33.301675],[102.752308,33.3015],[102.752213,33.301433],[102.752118,33.301272],[102.752099,33.30092],[102.75208,33.300567],[102.752054,33.300482],[102.751948,33.300129],[102.751842,33.299777],[102.751731,33.299489],[102.75162,33.2992],[102.751536,33.298981],[102.751509,33.298911],[102.751515,33.298699],[102.751518,33.298578],[102.75154,33.298207],[102.751562,33.297836],[102.751583,33.297479],[102.751604,33.297122],[102.751585,33.296694],[102.751573,33.296427],[102.751561,33.29616],[102.751477,33.295949],[102.751443,33.295901],[102.751362,33.295786],[102.751219,33.295702],[102.751187,33.295684],[102.750976,33.295561],[102.750701,33.295465],[102.750425,33.295368],[102.750285,33.295321],[102.750227,33.295254],[102.750195,33.295218],[102.750005,33.294971],[102.749848,33.294766],[102.749691,33.294562],[102.749482,33.294409],[102.74922,33.294309],[102.748958,33.294209],[102.748673,33.294117],[102.748387,33.294025],[102.748102,33.293933],[102.747883,33.293819],[102.74773,33.293667],[102.747678,33.293573],[102.747645,33.293515],[102.747645,33.293463],[102.747645,33.293018],[102.747645,33.292572],[102.747616,33.292334],[102.747501,33.291937],[102.747387,33.29154],[102.747272,33.291142],[102.747226,33.290983],[102.747116,33.290655],[102.747007,33.290326],[102.746769,33.290079],[102.746498,33.290017],[102.746227,33.289955],[102.745836,33.289879],[102.745541,33.289755],[102.745227,33.289527],[102.744994,33.289256],[102.744761,33.288985],[102.74458,33.288775],[102.744294,33.288613],[102.744018,33.288565],[102.743601,33.288615],[102.743557,33.288603],[102.743279,33.288588],[102.743094,33.288578],[102.743001,33.288573],[102.742638,33.288565],[102.742325,33.288539],[102.742013,33.288473],[102.741701,33.288406],[102.741364,33.288339],[102.741102,33.288194],[102.740914,33.287987],[102.740753,33.28768],[102.740674,33.287446],[102.740595,33.287211],[102.740485,33.286864],[102.74037,33.286558],[102.740257,33.286292],[102.740021,33.286086],[102.739773,33.285868],[102.739525,33.285651],[102.739364,33.285475],[102.739202,33.2853],[102.73904,33.285125],[102.738879,33.28495],[102.738717,33.284775],[102.738555,33.284599],[102.738393,33.284424],[102.738232,33.284249],[102.738042,33.284099],[102.737853,33.283948],[102.737664,33.283798],[102.737474,33.283647],[102.737285,33.283497],[102.737095,33.283346],[102.736906,33.283196],[102.736717,33.283045],[102.736473,33.282943],[102.73623,33.282842],[102.735942,33.282746],[102.735655,33.282649],[102.735392,33.282553],[102.735128,33.282457],[102.734816,33.28236],[102.734504,33.282263],[102.734203,33.282237],[102.733902,33.282212],[102.733712,33.282244],[102.733417,33.282387],[102.733121,33.282531],[102.732825,33.282674],[102.732464,33.282798],[102.73215,33.282817],[102.731921,33.282798],[102.731636,33.282702],[102.731322,33.282502],[102.731007,33.282303],[102.73077,33.282248],[102.730567,33.282232],[102.730254,33.282226],[102.73004,33.282235],[102.729796,33.282293],[102.729551,33.28235],[102.729199,33.282388],[102.729018,33.28235],[102.728733,33.282245],[102.728585,33.282118],[102.72839,33.28195],[102.728228,33.281779],[102.728162,33.281532],[102.728151,33.281488],[102.728095,33.281256],[102.728019,33.280865],[102.727762,33.28077],[102.727376,33.280713],[102.726991,33.280656],[102.726779,33.280578],[102.726705,33.280551],[102.726477,33.280437],[102.72623,33.280342],[102.725925,33.28018],[102.725738,33.279968],[102.725448,33.279638],[102.72544,33.279628],[102.725225,33.279433],[102.725011,33.279238],[102.724791,33.279128],[102.724571,33.279018],[102.724554,33.279009],[102.724269,33.278902],[102.723983,33.278794],[102.723698,33.278686],[102.723422,33.278643],[102.723146,33.2786],[102.722781,33.278575],[102.722416,33.278549],[102.722051,33.278524],[102.721623,33.278476],[102.721261,33.278305],[102.721004,33.278115],[102.720814,33.277734],[102.720647,33.277496],[102.720481,33.277258],[102.72029,33.277001],[102.720162,33.276778],[102.720148,33.276754],[102.720014,33.276525],[102.719795,33.276316],[102.71951,33.27604],[102.719509,33.276039],[102.719509,33.276038],[102.719301,33.275678],[102.71911,33.27545],[102.718882,33.275126],[102.718644,33.274917],[102.718463,33.274745],[102.718257,33.274498],[102.718051,33.274251],[102.717892,33.27406],[102.717678,33.27376],[102.717464,33.273461],[102.717424,33.273264],[102.717375,33.273193],[102.717264,33.27303],[102.71713,33.272937],[102.716907,33.272785],[102.716683,33.272632],[102.71646,33.272326],[102.716237,33.272019],[102.71615,33.2719],[102.716084,33.2717],[102.716055,33.271424],[102.716029,33.271202],[102.716007,33.271014],[102.715961,33.270858],[102.71595,33.270824],[102.715865,33.270634],[102.715722,33.270443],[102.715579,33.270253],[102.715403,33.27011],[102.715227,33.269967],[102.715181,33.269933],[102.714968,33.26977],[102.71483,33.269592],[102.714692,33.269413],[102.714462,33.269201],[102.714231,33.26899],[102.714114,33.268771],[102.713998,33.268552],[102.713931,33.268457],[102.713803,33.268361],[102.713741,33.268261],[102.713739,33.268248],[102.713717,33.268076],[102.713684,33.267766],[102.713677,33.267674],[102.71366,33.26741],[102.713555,33.267005],[102.713455,33.266798],[102.713355,33.266591],[102.713222,33.266443],[102.713046,33.266334],[102.712807,33.266241],[102.712665,33.266187],[102.71228,33.265996],[102.711894,33.265806],[102.711642,33.265634],[102.711494,33.265515],[102.71128,33.265187],[102.711214,33.265092],[102.71119,33.264973],[102.711171,33.264849],[102.711028,33.264649],[102.710909,33.26444],[102.7107,33.264354],[102.710533,33.264259],[102.710428,33.264164],[102.710338,33.26405],[102.710262,33.263974],[102.710133,33.263897],[102.709857,33.26384],[102.70947,33.263733],[102.709082,33.263626],[102.708782,33.263498],[102.708425,33.263257],[102.708068,33.263017],[102.707721,33.262765],[102.707602,33.262608],[102.707421,33.26237],[102.707383,33.262284],[102.707359,33.262118],[102.707349,33.262078],[102.707311,33.261932],[102.707235,33.261832],[102.707069,33.261737],[102.706975,33.261688],[102.706686,33.261539],[102.706398,33.26139],[102.706298,33.261294],[102.706274,33.261223],[102.706272,33.261209],[102.70626,33.261123],[102.706198,33.261014],[102.706074,33.260952],[102.705908,33.260937],[102.7059,33.260938],[102.705636,33.260971],[102.705432,33.260937],[102.705294,33.260876],[102.70507,33.260709],[102.704846,33.260542],[102.704632,33.260447],[102.704342,33.260352],[102.704144,33.260237],[102.704013,33.260162],[102.703785,33.259986],[102.703633,33.259795],[102.703452,33.259434],[102.703361,33.259348],[102.703138,33.259267],[102.702947,33.259196],[102.702729,33.259096],[102.702581,33.258967],[102.702315,33.258748],[102.702048,33.258529],[102.701846,33.258284],[102.701644,33.258039],[102.701501,33.257768],[102.701372,33.25772],[102.701229,33.25773],[102.70112,33.257801],[102.700977,33.257901],[102.700735,33.257977],[102.70071,33.25798],[102.700421,33.258009],[102.700363,33.258015],[102.700225,33.258039],[102.70013,33.258073],[102.70004,33.258149],[102.699887,33.258353],[102.699714,33.258701],[102.69954,33.259048],[102.699335,33.259265],[102.699131,33.259481],[102.698926,33.259614],[102.698769,33.259729],[102.698541,33.259781],[102.698312,33.25981],[102.698208,33.259857],[102.698096,33.260183],[102.697984,33.260509],[102.697872,33.260835],[102.69776,33.261161],[102.697629,33.261572],[102.697497,33.261983],[102.697365,33.262394],[102.69734,33.262465],[102.697212,33.262828],[102.697108,33.263122],[102.69698,33.263369],[102.696885,33.263502],[102.696516,33.263729],[102.696147,33.263955],[102.696071,33.263974],[102.695866,33.26395],[102.695505,33.263888],[102.695152,33.263737],[102.6948,33.263587],[102.694448,33.263436],[102.694086,33.263291],[102.693725,33.263146],[102.693472,33.263086],[102.69322,33.263027],[102.692898,33.262995],[102.692576,33.262963],[102.692254,33.262931],[102.691914,33.262858],[102.691878,33.262851],[102.691721,33.262822],[102.691517,33.262865],[102.691226,33.263036],[102.690967,33.263329],[102.690707,33.263622],[102.690448,33.263915],[102.690188,33.264207],[102.689894,33.264346],[102.689568,33.26433],[102.689242,33.264314],[102.688954,33.264248],[102.688686,33.264124],[102.68846,33.264019],[102.688121,33.263729],[102.687782,33.263439],[102.687444,33.263148],[102.687261,33.262959],[102.687079,33.262771],[102.686897,33.262582],[102.686715,33.262393],[102.686533,33.262204],[102.68635,33.262015],[102.686168,33.261826],[102.685986,33.261637],[102.685804,33.261448],[102.685622,33.26126],[102.685439,33.261071],[102.685257,33.260882],[102.685075,33.260693],[102.684893,33.260504],[102.68471,33.260315],[102.684528,33.260126],[102.684415,33.260009],[102.684379,33.259972],[102.684346,33.259937],[102.684164,33.259748],[102.684042,33.259622],[102.683982,33.25956],[102.683911,33.259486],[102.683799,33.259371],[102.68353,33.259111],[102.683261,33.258852],[102.682992,33.258592],[102.68278,33.258366],[102.682569,33.258139],[102.682418,33.257913],[102.682267,33.257687],[102.682117,33.257431],[102.681967,33.257174],[102.681814,33.256979],[102.681662,33.256783],[102.681416,33.256525],[102.68117,33.256267],[102.680963,33.256096],[102.680756,33.255925],[102.680549,33.255754],[102.680342,33.255583],[102.68014,33.255455],[102.679938,33.255327],[102.679736,33.255199],[102.679535,33.255071],[102.679333,33.254943],[102.679131,33.254815],[102.678929,33.254687],[102.678727,33.254559],[102.678498,33.254435],[102.678305,33.254331],[102.67827,33.254312],[102.678269,33.254311],[102.678247,33.254299],[102.678179,33.254262],[102.678041,33.254188],[102.677812,33.254064],[102.677584,33.25394],[102.677355,33.253816],[102.677127,33.253693],[102.676969,33.253607],[102.676899,33.253569],[102.676899,33.253569],[102.676898,33.253569],[102.67667,33.253445],[102.676441,33.253321],[102.676242,33.253204],[102.676043,33.253086],[102.675844,33.252969],[102.675645,33.252851],[102.675418,33.252766],[102.675191,33.25268],[102.674759,33.252591],[102.674519,33.252525],[102.67428,33.25246],[102.673872,33.252351],[102.673621,33.252266],[102.67337,33.25218],[102.673119,33.252063],[102.672868,33.251946],[102.67256,33.251739],[102.672322,33.251593],[102.672238,33.251559],[102.672107,33.251507],[102.671939,33.25144],[102.671893,33.251421],[102.671652,33.251367],[102.671412,33.251312],[102.671123,33.251266],[102.670834,33.25122],[102.670497,33.251194],[102.670147,33.251187],[102.669797,33.25118],[102.669674,33.251259],[102.669623,33.251379],[102.669594,33.251562],[102.669601,33.251767],[102.669607,33.251927],[102.66964,33.251985],[102.669816,33.252294],[102.66998,33.252481],[102.670144,33.252667],[102.670304,33.252968],[102.670351,33.253055],[102.670351,33.253056],[102.670351,33.253056],[102.670319,33.253339],[102.670098,33.253497],[102.669829,33.253633],[102.669797,33.253661],[102.669705,33.253741],[102.669671,33.253771],[102.669557,33.25387],[102.669532,33.253892],[102.669502,33.254094],[102.669554,33.254439],[102.669564,33.254499],[102.669644,33.254669],[102.669747,33.254889],[102.669908,33.255195],[102.669962,33.25543],[102.670016,33.255664],[102.670033,33.255949],[102.670025,33.256242],[102.670017,33.256536],[102.669961,33.256819],[102.669877,33.257014],[102.669698,33.257229],[102.669684,33.257246],[102.669627,33.257314],[102.669553,33.257393],[102.669532,33.257407],[102.669481,33.257441],[102.669233,33.25761],[102.668915,33.257767],[102.668524,33.257942],[102.668255,33.258058],[102.668156,33.258158],[102.668129,33.258259],[102.668172,33.258442],[102.668334,33.258729],[102.668373,33.258803],[102.668402,33.258859],[102.668464,33.258977],[102.668477,33.259001],[102.668495,33.259036],[102.668497,33.259042],[102.668529,33.259172],[102.668581,33.259382],[102.668575,33.259686],[102.668525,33.259726],[102.668427,33.259764],[102.668395,33.259769],[102.668268,33.259789],[102.668245,33.259792],[102.668185,33.259801],[102.66799,33.259847],[102.667869,33.259875],[102.667567,33.25987],[102.667495,33.259868],[102.667423,33.259867],[102.667359,33.259866],[102.667224,33.259863],[102.666976,33.259859],[102.666529,33.259851],[102.666388,33.259848],[102.666319,33.259847],[102.666082,33.259842],[102.665719,33.259886],[102.665355,33.25993],[102.665303,33.259939],[102.665101,33.259976],[102.664846,33.260021],[102.66458,33.260046],[102.664313,33.260072],[102.664059,33.260067],[102.663805,33.260063],[102.663384,33.260005],[102.662963,33.259947],[102.66253,33.259867],[102.662098,33.259787],[102.661784,33.259781],[102.661351,33.259753],[102.660965,33.259746],[102.660531,33.259658],[102.660196,33.259549],[102.659861,33.259441],[102.659623,33.259317],[102.659384,33.259194],[102.659146,33.25907],[102.658908,33.258947],[102.65867,33.258823],[102.658431,33.258699],[102.658193,33.258576],[102.657955,33.258452],[102.657658,33.258237],[102.657352,33.257947],[102.657045,33.257657],[102.656809,33.25745],[102.65655,33.257203],[102.656336,33.257077],[102.656003,33.256868],[102.655693,33.25673],[102.655384,33.256592],[102.655169,33.256492],[102.654954,33.256392],[102.654739,33.256291],[102.654524,33.256191],[102.654225,33.256094],[102.653926,33.255997],[102.653661,33.255911],[102.653303,33.255783],[102.652993,33.255655],[102.652635,33.255466],[102.652495,33.255302],[102.652235,33.255113],[102.652045,33.254928],[102.651788,33.254659],[102.651482,33.254349],[102.651285,33.254051],[102.651088,33.253753],[102.650862,33.2534],[102.650636,33.253046],[102.65041,33.252692],[102.650184,33.252338],[102.649918,33.252038],[102.649716,33.251923],[102.649514,33.251808],[102.649154,33.251699],[102.648746,33.25163],[102.648337,33.251562],[102.64817,33.251519],[102.647881,33.251432],[102.647585,33.251244],[102.647288,33.251056],[102.647103,33.250907],[102.646918,33.250758],[102.646733,33.25061],[102.646548,33.250461],[102.646363,33.250312],[102.646178,33.250163],[102.646109,33.250122],[102.645797,33.249933],[102.645462,33.249805],[102.64521,33.249759],[102.644957,33.249714],[102.644729,33.249679],[102.6445,33.249645],[102.644117,33.249516],[102.64371,33.249387],[102.643499,33.249243],[102.643288,33.249099],[102.643077,33.248955],[102.642866,33.248811],[102.642642,33.248656],[102.642419,33.248501],[102.642195,33.248346],[102.641972,33.248192],[102.641748,33.248037],[102.641525,33.247882],[102.641301,33.247727],[102.641078,33.247572],[102.640854,33.247417],[102.640631,33.247263],[102.640407,33.247108],[102.640184,33.246953],[102.63996,33.246798],[102.639737,33.246643],[102.639545,33.246507],[102.639521,33.24649],[102.639304,33.246336],[102.639088,33.246182],[102.638872,33.246029],[102.638655,33.245875],[102.638439,33.245722],[102.638223,33.245568],[102.638007,33.245415],[102.637669,33.245265],[102.637641,33.245252],[102.637344,33.24512],[102.637305,33.245103],[102.637275,33.24509],[102.637194,33.245053],[102.637148,33.245033],[102.636988,33.244962],[102.63691,33.244927],[102.636563,33.244789],[102.636217,33.244651],[102.635792,33.244516],[102.635367,33.244381],[102.634942,33.244247],[102.634516,33.244112],[102.634115,33.243939],[102.633713,33.243767],[102.633311,33.243595],[102.633074,33.243428],[102.632863,33.243201],[102.632841,33.243162],[102.632755,33.24301],[102.632748,33.242996],[102.632734,33.242611],[102.632812,33.242389],[102.632891,33.242168],[102.633048,33.24187],[102.633081,33.241806],[102.633272,33.241445],[102.633376,33.241183],[102.633479,33.240922],[102.633537,33.240579],[102.633572,33.240194],[102.633583,33.240099],[102.633603,33.239931],[102.633634,33.239668],[102.633642,33.239371],[102.633644,33.239304],[102.633614,33.239081],[102.633584,33.238857],[102.633509,33.238637],[102.633469,33.238517],[102.633435,33.238416],[102.63336,33.238195],[102.633286,33.237975],[102.633211,33.237754],[102.633137,33.237533],[102.633027,33.237336],[102.632918,33.237139],[102.632808,33.236942],[102.632699,33.236745],[102.63259,33.236547],[102.63248,33.23635],[102.632371,33.236153],[102.632262,33.235956],[102.63209,33.235598],[102.631919,33.23524],[102.631794,33.234954],[102.631669,33.234669],[102.631578,33.234446],[102.631488,33.234224],[102.631397,33.234002],[102.631306,33.233779],[102.631216,33.233557],[102.631125,33.233335],[102.631034,33.233112],[102.630944,33.23289],[102.630843,33.232635],[102.630742,33.232381],[102.630632,33.231953],[102.630614,33.231694],[102.630638,33.231606],[102.630696,33.23139],[102.630809,33.23119],[102.630923,33.23099],[102.631111,33.23073],[102.631299,33.230469],[102.631454,33.230087],[102.631546,33.229816],[102.631639,33.229544],[102.631674,33.229119],[102.631638,33.228672],[102.631596,33.228418],[102.631555,33.228164],[102.631457,33.227787],[102.631359,33.22741],[102.631274,33.227149],[102.631189,33.226888],[102.631105,33.226627],[102.63102,33.226366],[102.630935,33.226105],[102.630851,33.225844],[102.630766,33.225583],[102.630681,33.225322],[102.630597,33.225061],[102.630512,33.224799],[102.630449,33.22458],[102.630386,33.22436],[102.630323,33.22414],[102.630261,33.22392],[102.630198,33.2237],[102.630135,33.223481],[102.630098,33.223074],[102.630044,33.22283],[102.629991,33.222585],[102.629902,33.2223],[102.629813,33.222015],[102.629591,33.221767],[102.629368,33.22152],[102.629146,33.221253],[102.628923,33.220985],[102.628779,33.220786],[102.628635,33.220586],[102.62849,33.220387],[102.628346,33.220187],[102.628202,33.219988],[102.628057,33.219789],[102.627913,33.219589],[102.627769,33.21939],[102.627625,33.21919],[102.62748,33.218991],[102.627288,33.218624],[102.627095,33.218258],[102.626903,33.217891],[102.626801,33.217666],[102.626698,33.217442],[102.626613,33.217054],[102.626571,33.216821],[102.62653,33.216587],[102.626439,33.216373],[102.626347,33.216159],[102.626185,33.215904],[102.626046,33.215686],[102.625812,33.215418],[102.625554,33.21515],[102.625244,33.214962],[102.625019,33.214836],[102.624793,33.21471],[102.624436,33.21446],[102.62413,33.214231],[102.623979,33.214045],[102.623827,33.21386],[102.623724,33.213634],[102.623621,33.213409],[102.623593,33.213145],[102.623564,33.212881],[102.623646,33.212526],[102.62375,33.212265],[102.623853,33.212003],[102.624077,33.211744],[102.624252,33.211524],[102.624427,33.211304],[102.624583,33.21111],[102.62474,33.210916],[102.624896,33.210721],[102.625052,33.210527],[102.625196,33.210332],[102.62534,33.210137],[102.625484,33.209942],[102.625628,33.209747],[102.625731,33.209545],[102.625821,33.209304],[102.625912,33.209063],[102.625965,33.20876],[102.626018,33.208457],[102.626054,33.208254],[102.626089,33.207871],[102.626097,33.207597],[102.626106,33.207324],[102.626053,33.206988],[102.626001,33.206652],[102.625885,33.20641],[102.625746,33.206163],[102.625631,33.205918],[102.625615,33.205634],[102.625716,33.205473],[102.625951,33.205129],[102.626186,33.204785],[102.626194,33.204773],[102.62646,33.204447],[102.626726,33.204122],[102.626992,33.203796],[102.627284,33.203497],[102.627576,33.203199],[102.627868,33.2029],[102.628159,33.202601],[102.628333,33.202363],[102.628489,33.201979],[102.62855,33.201758],[102.628611,33.201536],[102.628671,33.201314],[102.628732,33.201092],[102.628805,33.200827],[102.628879,33.200563],[102.628952,33.200298],[102.629026,33.200033],[102.629099,33.199769],[102.629173,33.199504],[102.629246,33.199239],[102.62932,33.198975],[102.629332,33.198573],[102.629289,33.19835],[102.629247,33.198127],[102.629162,33.19772],[102.629076,33.197312],[102.628917,33.196934],[102.628758,33.196556],[102.628631,33.196202],[102.628504,33.195848],[102.628377,33.195495],[102.628263,33.195249],[102.628149,33.195004],[102.628047,33.194759],[102.627945,33.194514],[102.627759,33.194185],[102.627573,33.193959],[102.627349,33.193793],[102.627124,33.193626],[102.626811,33.193424],[102.626498,33.193222],[102.626186,33.19302],[102.626057,33.192937],[102.625814,33.192758],[102.625648,33.192613],[102.625416,33.192305],[102.625301,33.19207],[102.625187,33.191835],[102.625121,33.1916],[102.625054,33.191366],[102.624968,33.190989],[102.624882,33.190613],[102.624749,33.190226],[102.624658,33.18999],[102.624567,33.189755],[102.624455,33.189449],[102.624342,33.189142],[102.624146,33.188824],[102.62395,33.188507],[102.623754,33.188148],[102.623558,33.18779],[102.623385,33.187496],[102.623211,33.187201],[102.623049,33.186934],[102.622861,33.186768],[102.622552,33.18656],[102.62222,33.186391],[102.621788,33.186292],[102.621355,33.186192],[102.621098,33.186152],[102.620842,33.186112],[102.620585,33.186071],[102.620328,33.186031],[102.620071,33.18599],[102.619815,33.18595],[102.619558,33.185909],[102.619301,33.185869],[102.619044,33.185829],[102.618788,33.185788],[102.618531,33.185748],[102.618274,33.185707],[102.618017,33.185667],[102.61776,33.185626],[102.617504,33.185586],[102.617247,33.185546],[102.616973,33.185514],[102.616698,33.185482],[102.616424,33.185451],[102.61615,33.185419],[102.615875,33.185388],[102.615601,33.185356],[102.615327,33.185325],[102.615053,33.185293],[102.614778,33.185262],[102.614504,33.18523],[102.61427,33.185192],[102.614195,33.185179],[102.614169,33.185175],[102.614036,33.185153],[102.613803,33.185115],[102.613569,33.185076],[102.613335,33.185038],[102.613101,33.185],[102.612868,33.184961],[102.612634,33.184923],[102.6124,33.184885],[102.612166,33.184846],[102.611933,33.184808],[102.611699,33.18477],[102.611435,33.184704],[102.611171,33.184638],[102.611034,33.184604],[102.610908,33.184572],[102.610644,33.184507],[102.61038,33.184441],[102.610117,33.184375],[102.609882,33.184338],[102.609786,33.184322],[102.6097,33.184308],[102.609648,33.1843],[102.609479,33.184273],[102.609414,33.184263],[102.609179,33.184225],[102.609081,33.184209],[102.609001,33.184196],[102.608945,33.184188],[102.608774,33.18416],[102.608711,33.18415],[102.608477,33.184113],[102.608242,33.184075],[102.608014,33.184054],[102.607968,33.184049],[102.607785,33.184032],[102.607557,33.184011],[102.607376,33.183994],[102.607328,33.183989],[102.6071,33.183968],[102.606871,33.183946],[102.606437,33.183939],[102.606098,33.183973],[102.605735,33.184047],[102.605371,33.184121],[102.605121,33.184197],[102.604872,33.184273],[102.604863,33.184276],[102.604622,33.184349],[102.604373,33.184426],[102.604123,33.184502],[102.604109,33.184506],[102.604085,33.184514],[102.603873,33.184578],[102.603624,33.184654],[102.603374,33.184731],[102.60313,33.184843],[102.602886,33.184954],[102.602641,33.185066],[102.602397,33.185178],[102.602152,33.18529],[102.601908,33.185402],[102.601842,33.185432],[102.601664,33.185514],[102.601419,33.185626],[102.60117,33.185713],[102.600922,33.185801],[102.600531,33.185915],[102.600313,33.185972],[102.600094,33.186029],[102.599744,33.186052],[102.599393,33.186076],[102.598966,33.186108],[102.598539,33.18614],[102.598112,33.186173],[102.597668,33.186168],[102.597224,33.186163],[102.59678,33.186158],[102.596655,33.186157],[102.596348,33.186154],[102.596301,33.186154],[102.595916,33.186151],[102.595688,33.186123],[102.595687,33.186123],[102.595687,33.186123],[102.59555,33.186107],[102.595459,33.186096],[102.595418,33.186091],[102.595231,33.186069],[102.595002,33.186042],[102.594774,33.186015],[102.594545,33.185987],[102.594316,33.18596],[102.594088,33.185933],[102.593835,33.185915],[102.593582,33.185896],[102.593329,33.185878],[102.593076,33.185859],[102.592824,33.185841],[102.592571,33.185822],[102.592341,33.18578],[102.592111,33.185738],[102.591881,33.185696],[102.591651,33.185653],[102.591421,33.185611],[102.591191,33.185569],[102.590961,33.185527],[102.590731,33.185485],[102.59047,33.185421],[102.590209,33.185357],[102.589948,33.185294],[102.589688,33.18523],[102.589427,33.185167],[102.589166,33.185103],[102.588906,33.185039],[102.588645,33.184976],[102.588384,33.184912],[102.588124,33.184848],[102.58801,33.184821],[102.587863,33.184785],[102.587662,33.184736],[102.587602,33.184721],[102.587452,33.184685],[102.587342,33.184658],[102.587081,33.184594],[102.587175,33.184202],[102.58727,33.18381],[102.587269,33.183796],[102.587251,33.1834],[102.587198,33.183066],[102.587115,33.182782],[102.58695,33.182623],[102.586923,33.182597],[102.586922,33.182595],[102.586785,33.182463],[102.58662,33.182303],[102.586456,33.182144],[102.586171,33.181972],[102.585887,33.1818],[102.585586,33.181679],[102.585284,33.181558],[102.584936,33.181449],[102.584588,33.18134],[102.584349,33.181284],[102.58411,33.181228],[102.584043,33.181212],[102.583989,33.1812],[102.583872,33.181172],[102.583633,33.181116],[102.583394,33.18106],[102.583156,33.181004],[102.582917,33.180949],[102.582678,33.180893],[102.582378,33.180747],[102.582373,33.180745],[102.582348,33.180733],[102.582017,33.180573],[102.581701,33.180387],[102.581386,33.180202],[102.581163,33.180005],[102.580939,33.179809],[102.580777,33.179601],[102.580615,33.179393],[102.580561,33.179157],[102.580506,33.178921],[102.580452,33.178684],[102.580398,33.178448],[102.580405,33.178141],[102.580444,33.177861],[102.580541,33.177631],[102.580638,33.17748],[102.58088,33.177242],[102.580919,33.177203],[102.581023,33.177009],[102.581123,33.176823],[102.581326,33.176443],[102.581469,33.176178],[102.581481,33.176155],[102.58153,33.176063],[102.581546,33.175853],[102.581554,33.175744],[102.58156,33.175671],[102.581572,33.175503],[102.581579,33.175424],[102.581583,33.175369],[102.581595,33.175242],[102.5816,33.175181],[102.581622,33.174939],[102.581753,33.174583],[102.581948,33.174227],[102.582134,33.174053],[102.582207,33.173939],[102.582238,33.173889],[102.582459,33.173746],[102.582572,33.17362],[102.582688,33.173403],[102.582664,33.173274],[102.58261,33.173017],[102.582583,33.172928],[102.582507,33.172677],[102.582242,33.172338],[102.582176,33.1722],[102.582069,33.171976],[102.581984,33.171758],[102.581898,33.171539],[102.581808,33.171437],[102.581692,33.171304],[102.581421,33.171171],[102.581086,33.171138],[102.580843,33.171082],[102.580658,33.171055],[102.580449,33.171024],[102.580087,33.170862],[102.579908,33.170705],[102.579733,33.170446],[102.579554,33.170059],[102.579376,33.169672],[102.579256,33.169431],[102.579135,33.169189],[102.579015,33.168948],[102.578894,33.168707],[102.578774,33.168466],[102.578653,33.168224],[102.578448,33.167965],[102.57818,33.167728],[102.577968,33.167648],[102.577756,33.167568],[102.577438,33.167497],[102.577121,33.167426],[102.576755,33.167336],[102.576726,33.167329],[102.576534,33.167282],[102.576332,33.167232],[102.576163,33.167177],[102.576,33.167123],[102.575667,33.167014],[102.575304,33.166905],[102.574941,33.166795],[102.574924,33.166791],[102.57454,33.166683],[102.574155,33.166575],[102.57373,33.166477],[102.573306,33.166378],[102.572897,33.166281],[102.572487,33.166184],[102.572064,33.166073],[102.57164,33.165962],[102.5714,33.165829],[102.57116,33.165697],[102.570921,33.1655],[102.570683,33.165303],[102.57052,33.165121],[102.570358,33.164939],[102.570182,33.164562],[102.570007,33.164185],[102.569832,33.163808],[102.569654,33.163599],[102.569491,33.163443],[102.569328,33.163287],[102.569091,33.163052],[102.568971,33.162985],[102.568957,33.162966],[102.568761,33.162752],[102.568642,33.16252],[102.568386,33.16236],[102.568095,33.162253],[102.567803,33.162276],[102.567473,33.162475],[102.56722,33.162627],[102.567095,33.162717],[102.566923,33.16274],[102.566739,33.162675],[102.566643,33.162449],[102.566582,33.162157],[102.56656,33.16205],[102.56653,33.161747],[102.566352,33.161467],[102.566123,33.161203],[102.565929,33.16098],[102.565784,33.160751],[102.565638,33.160522],[102.565538,33.160194],[102.565437,33.159867],[102.565412,33.159784],[102.565341,33.159683],[102.565263,33.159611],[102.565132,33.159582],[102.564919,33.159593],[102.564811,33.1596],[102.56446,33.159641],[102.564234,33.159611],[102.564074,33.159492],[102.563901,33.159356],[102.563776,33.15926],[102.563663,33.159254],[102.563366,33.159272],[102.56314,33.15935],[102.562908,33.159308],[102.562673,33.159189],[102.562438,33.15907],[102.562075,33.158969],[102.561712,33.158868],[102.561357,33.158746],[102.56114,33.15882],[102.560923,33.158895],[102.560521,33.159091],[102.560242,33.159253],[102.559963,33.159414],[102.559649,33.159715],[102.559463,33.159852],[102.559277,33.15999],[102.559242,33.160013],[102.559043,33.160151],[102.559011,33.160174],[102.558809,33.160313],[102.558532,33.160423],[102.558254,33.160533],[102.557827,33.160601],[102.557477,33.160568],[102.557127,33.160536],[102.556896,33.160504],[102.556679,33.160385],[102.55656,33.160319],[102.55634,33.16026],[102.556013,33.160319],[102.555922,33.160351],[102.555757,33.160408],[102.555531,33.160485],[102.555305,33.160563],[102.555011,33.160674],[102.554717,33.160785],[102.554423,33.160896],[102.554187,33.160986],[102.553848,33.161152],[102.553616,33.161164],[102.553431,33.161099],[102.553211,33.160956],[102.553033,33.160664],[102.552955,33.160441],[102.552878,33.160218],[102.552747,33.160099],[102.552609,33.160041],[102.55242,33.159962],[102.552345,33.159906],[102.552182,33.159784],[102.551926,33.159605],[102.551629,33.159397],[102.551492,33.159189],[102.55132,33.158817],[102.551147,33.158445],[102.550992,33.158083],[102.550927,33.157904],[102.550772,33.15772],[102.550736,33.157565],[102.550593,33.157486],[102.550201,33.15727],[102.549809,33.157053],[102.549613,33.156946],[102.549464,33.156964],[102.549291,33.156845],[102.548928,33.15675],[102.548637,33.156673],[102.548593,33.156656],[102.548256,33.15653],[102.548051,33.156408],[102.547846,33.156286],[102.547542,33.156012],[102.547358,33.155825],[102.547173,33.155638],[102.546878,33.155473],[102.546582,33.155308],[102.546477,33.155227],[102.546251,33.154864],[102.54621,33.154692],[102.546073,33.154507],[102.546002,33.154377],[102.545906,33.15418],[102.545847,33.153948],[102.545834,33.153855],[102.545787,33.153512],[102.54574,33.153169],[102.545752,33.152824],[102.545829,33.152527],[102.545829,33.152417],[102.545829,33.151993],[102.545829,33.151569],[102.545805,33.15142],[102.545696,33.151243],[102.54534,33.151018],[102.544948,33.150856],[102.544624,33.150778],[102.544374,33.150752],[102.544223,33.150736],[102.543946,33.150706],[102.54367,33.150677],[102.543414,33.150629],[102.543301,33.150558],[102.543174,33.150431],[102.543075,33.150332],[102.542849,33.150308],[102.542726,33.150324],[102.542533,33.150349],[102.542233,33.150445],[102.541933,33.15054],[102.541671,33.150546],[102.541377,33.15046],[102.541084,33.150375],[102.54079,33.15029],[102.540416,33.150236],[102.539987,33.150254],[102.539583,33.150314],[102.539268,33.150465],[102.538952,33.150617],[102.538875,33.150666],[102.538562,33.150864],[102.538248,33.151062],[102.537935,33.151259],[102.537656,33.151518],[102.537376,33.151777],[102.537351,33.151829],[102.537215,33.15211],[102.536971,33.152259],[102.536626,33.15239],[102.5365,33.15241],[102.536186,33.152461],[102.535832,33.152717],[102.535478,33.152973],[102.535303,33.153139],[102.535127,33.153306],[102.534954,33.153376],[102.534878,33.153407],[102.534741,33.153413],[102.534574,33.153365],[102.534342,33.153234],[102.534166,33.153212],[102.533994,33.153216],[102.533704,33.153223],[102.533606,33.153207],[102.533491,33.153211],[102.533242,33.153258],[102.532992,33.153306],[102.532778,33.153246],[102.53254,33.153145],[102.532236,33.153115],[102.532187,33.153119],[102.531964,33.153136],[102.531921,33.153139],[102.53186,33.153156],[102.531522,33.153246],[102.531195,33.153425],[102.530868,33.153603],[102.530621,33.153779],[102.530374,33.153955],[102.530136,33.154096],[102.529898,33.154236],[102.529897,33.154236],[102.529896,33.154237],[102.529638,33.154324],[102.529381,33.154412],[102.529149,33.154501],[102.528917,33.154589],[102.528662,33.154584],[102.528407,33.154579],[102.52811,33.154523],[102.527814,33.154467],[102.527551,33.154147],[102.527482,33.153881],[102.527413,33.153615],[102.527356,33.15322],[102.527299,33.152826],[102.527212,33.152588],[102.527125,33.15235],[102.526877,33.152031],[102.526764,33.151885],[102.526764,33.151885],[102.526763,33.151884],[102.526361,33.151698],[102.525958,33.151511],[102.525559,33.151403],[102.525159,33.151295],[102.52476,33.151187],[102.52445,33.15109],[102.524141,33.150993],[102.523832,33.150897],[102.523523,33.150786],[102.523215,33.150675],[102.522906,33.150563],[102.522716,33.150352],[102.522527,33.150141],[102.522457,33.149911],[102.522387,33.14968],[102.522402,33.149428],[102.522432,33.14909],[102.522462,33.148753],[102.522492,33.148416],[102.522546,33.148071],[102.522582,33.147785],[102.522617,33.1475],[102.52257,33.147238],[102.522522,33.146976],[102.522445,33.146759],[102.522368,33.146542],[102.522198,33.14626],[102.522028,33.145977],[102.521922,33.145791],[102.521755,33.1455],[102.521588,33.14521],[102.521474,33.144993],[102.521309,33.14468],[102.52113,33.144347],[102.520934,33.144062],[102.520708,33.143913],[102.520342,33.14372],[102.519976,33.143526],[102.519792,33.143306],[102.51972,33.143003],[102.519688,33.14278],[102.519655,33.142557],[102.519697,33.14211],[102.519738,33.141664],[102.51978,33.141218],[102.519756,33.140921],[102.519738,33.14065],[102.51972,33.140378],[102.519628,33.140072],[102.519616,33.140031],[102.519536,33.139765],[102.519278,33.139469],[102.51902,33.139173],[102.518762,33.138877],[102.518428,33.138656],[102.518161,33.138479],[102.517893,33.138301],[102.51748,33.138193],[102.517066,33.138085],[102.516768,33.138017],[102.516469,33.137949],[102.516171,33.137881],[102.516062,33.137847],[102.51606,33.137846],[102.516058,33.137846],[102.515742,33.137718],[102.515425,33.137589],[102.515211,33.137471],[102.514914,33.137195],[102.514616,33.136919],[102.514319,33.136644],[102.514105,33.136352],[102.514004,33.136025],[102.513962,33.135686],[102.513994,33.135377],[102.514026,33.135067],[102.514057,33.134758],[102.514016,33.134356],[102.513974,33.133955],[102.513967,33.133598],[102.51396,33.13324],[102.513956,33.133063],[102.513909,33.132694],[102.513825,33.132414],[102.513647,33.132081],[102.513638,33.132068],[102.513467,33.131822],[102.513296,33.131575],[102.513128,33.13137],[102.512961,33.131164],[102.512774,33.130934],[102.512517,33.130618],[102.512344,33.13035],[102.512172,33.130082],[102.511975,33.129847],[102.511779,33.129612],[102.511603,33.129458],[102.511428,33.129303],[102.511285,33.129],[102.511249,33.12875],[102.511291,33.128339],[102.511398,33.128066],[102.511505,33.127792],[102.511624,33.127572],[102.511725,33.127167],[102.511535,33.126906],[102.511336,33.1267],[102.511136,33.126495],[102.510904,33.126311],[102.510672,33.126126],[102.51039,33.125988],[102.510108,33.12585],[102.509766,33.125682],[102.509423,33.125514],[102.509106,33.125397],[102.508789,33.12528],[102.508471,33.125163],[102.508125,33.125022],[102.507778,33.124881],[102.507431,33.12474],[102.507129,33.124617],[102.506828,33.124494],[102.506526,33.124372],[102.506187,33.124215],[102.505848,33.124058],[102.505509,33.123902],[102.505268,33.123795],[102.505027,33.123687],[102.5047,33.123497],[102.504495,33.123334],[102.50429,33.12317],[102.504052,33.12298],[102.503703,33.122823],[102.503354,33.122666],[102.503005,33.12251],[102.502658,33.122361],[102.502311,33.122212],[102.501964,33.122064],[102.501658,33.121951],[102.501353,33.121838],[102.501252,33.121786],[102.500924,33.121574],[102.500596,33.121363],[102.500267,33.121151],[102.500176,33.121076],[102.499831,33.120791],[102.499486,33.120506],[102.499217,33.120271],[102.49892,33.120013],[102.498622,33.119754],[102.498325,33.119495],[102.498023,33.119332],[102.497722,33.119168],[102.49742,33.119005],[102.497119,33.118841],[102.496763,33.118629],[102.496408,33.118417],[102.496367,33.118384],[102.496163,33.118132],[102.495959,33.117879],[102.495715,33.117543],[102.495556,33.117185],[102.495507,33.116937],[102.495457,33.11669],[102.49546,33.116438],[102.495462,33.116185],[102.495465,33.115933],[102.495467,33.115681],[102.49547,33.115428],[102.495472,33.115176],[102.495511,33.114799],[102.495507,33.114697],[102.495495,33.114396],[102.495459,33.114135],[102.495424,33.113874],[102.495366,33.113448],[102.495308,33.113021],[102.49537,33.112809],[102.495404,33.112597],[102.495556,33.112221],[102.495763,33.11187],[102.495911,33.111613],[102.496002,33.111379],[102.496041,33.111001],[102.496019,33.110811],[102.495996,33.110679],[102.495994,33.110668],[102.495944,33.110455],[102.495767,33.110205],[102.49559,33.109955],[102.495497,33.109728],[102.495404,33.109501],[102.495304,33.109074],[102.495258,33.108695],[102.495271,33.108269],[102.49528,33.107914],[102.495289,33.107608],[102.495325,33.107324],[102.495449,33.106948],[102.495455,33.106711],[102.495376,33.106497],[102.495187,33.106233],[102.494911,33.106038],[102.494578,33.105889],[102.494342,33.105766],[102.494106,33.105644],[102.493787,33.105495],[102.493467,33.105347],[102.493204,33.105188],[102.492942,33.105029],[102.492763,33.104871],[102.492584,33.104714],[102.492338,33.104449],[102.492327,33.104204],[102.492315,33.103958],[102.4923,33.103509],[102.492211,33.103242],[102.492196,33.1032],[102.492093,33.10289],[102.491899,33.102744],[102.491851,33.102722],[102.491622,33.10262],[102.491491,33.102592],[102.491383,33.102569],[102.491259,33.102542],[102.491191,33.102499],[102.49112,33.102454],[102.491065,33.102419],[102.491054,33.102412],[102.490871,33.102297],[102.490655,33.101938],[102.490592,33.1017],[102.490528,33.101462],[102.49051,33.101411],[102.490484,33.10134],[102.490424,33.101177],[102.49018,33.100864],[102.489877,33.100621],[102.489517,33.100425],[102.489302,33.100357],[102.489196,33.100324],[102.489086,33.100289],[102.488875,33.100223],[102.488608,33.100194],[102.488341,33.100165],[102.488232,33.100168],[102.488185,33.10017],[102.488102,33.100172],[102.488087,33.100173],[102.487862,33.100179],[102.487814,33.100203],[102.487785,33.100218],[102.487591,33.100315],[102.487457,33.100383],[102.48732,33.100452],[102.487115,33.100731],[102.486944,33.100964],[102.486909,33.101011],[102.486705,33.101256],[102.486502,33.1015],[102.486273,33.101613],[102.486079,33.101539],[102.486032,33.101437],[102.485974,33.101313],[102.485945,33.101251],[102.485955,33.100897],[102.486053,33.100497],[102.486156,33.100286],[102.486157,33.100285],[102.486158,33.100284],[102.486241,33.100115],[102.48626,33.100075],[102.48632,33.099937],[102.486356,33.099852],[102.486451,33.09963],[102.486547,33.099407],[102.486642,33.099184],[102.486738,33.098961],[102.486834,33.098739],[102.486945,33.098511],[102.487057,33.098284],[102.487169,33.098057],[102.487281,33.09783],[102.487288,33.097592],[102.487212,33.097284],[102.487136,33.096998],[102.487059,33.096713],[102.486952,33.09651],[102.486846,33.096307],[102.486683,33.09609],[102.48652,33.095874],[102.486371,33.095694],[102.486221,33.095513],[102.486034,33.095155],[102.48599,33.094752],[102.485997,33.094492],[102.486004,33.094232],[102.486044,33.09383],[102.486112,33.093405],[102.486189,33.093171],[102.486266,33.092936],[102.486417,33.09256],[102.486569,33.092184],[102.486661,33.091925],[102.486674,33.091501],[102.486593,33.09131],[102.486406,33.090935],[102.486299,33.09072],[102.486193,33.090505],[102.486058,33.09029],[102.485924,33.090074],[102.485803,33.089882],[102.485682,33.08969],[102.485561,33.089464],[102.485518,33.089381],[102.485472,33.089294],[102.485441,33.089237],[102.485391,33.089011],[102.485382,33.08897],[102.485374,33.088931]]]]},"properties":{"cp":[102.6838973693402,33.13732598840634],"code":"513233204","name":"瓦切镇","level":"street","center":[102.6838973693402,33.13732598840634],"fullCode":"513233204000","fullName":"四川省阿坝藏族羌族自治州红原县瓦切镇","acreageMu":1486490.28,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.669,33.2578]}},{"id":"513233205","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.615039,32.961439],[102.615041,32.961423],[102.61506,32.961253],[102.615113,32.960767],[102.615237,32.959638],[102.615775,32.958729],[102.615969,32.958606],[102.616157,32.958487],[102.61641,32.958327],[102.616466,32.958292],[102.616657,32.958171],[102.616683,32.958155],[102.616813,32.958071],[102.616773,32.957989],[102.61714,32.957866],[102.617603,32.957574],[102.61982,32.956263],[102.620567,32.955685],[102.621524,32.954943],[102.622672,32.953755],[102.62291,32.953509],[102.623137,32.953362],[102.623227,32.953304],[102.62369,32.953007],[102.623828,32.952861],[102.623952,32.952768],[102.624102,32.95268],[102.624407,32.952583],[102.624521,32.952567],[102.624575,32.952549],[102.624634,32.95253],[102.624718,32.952503],[102.624784,32.952481],[102.624898,32.952443],[102.624993,32.952412],[102.625048,32.952413],[102.625092,32.952414],[102.625819,32.952428],[102.625966,32.95243],[102.626001,32.952431],[102.62601,32.952431],[102.626055,32.952432],[102.626411,32.952439],[102.626533,32.952441],[102.628126,32.95285],[102.629362,32.95283],[102.629667,32.952825],[102.629867,32.952653],[102.630014,32.952525],[102.630043,32.952501],[102.630072,32.952476],[102.630581,32.952036],[102.630586,32.952031],[102.631193,32.951022],[102.631212,32.950989],[102.631325,32.950801],[102.631305,32.95058],[102.631292,32.950435],[102.631289,32.950407],[102.631281,32.950321],[102.631268,32.950179],[102.631261,32.950096],[102.631253,32.950011],[102.631239,32.949864],[102.631226,32.949717],[102.631147,32.949632],[102.631026,32.949501],[102.630945,32.949414],[102.630797,32.949254],[102.630717,32.949168],[102.630664,32.949111],[102.630559,32.949094],[102.630223,32.94904],[102.630073,32.949016],[102.629896,32.948988],[102.629789,32.94897],[102.629708,32.948958],[102.629671,32.948952],[102.62965,32.948949],[102.629514,32.948927],[102.629305,32.949017],[102.629284,32.949026],[102.629275,32.949029],[102.629149,32.949084],[102.629124,32.949091],[102.629128,32.949072],[102.629128,32.949052],[102.629128,32.94903],[102.629132,32.94902],[102.62915,32.949005],[102.629183,32.948969],[102.629237,32.948921],[102.629284,32.948885],[102.62931,32.948845],[102.629287,32.948833],[102.629242,32.94884],[102.62918,32.948888],[102.629121,32.948941],[102.629036,32.948996],[102.628909,32.949071],[102.628805,32.949141],[102.628718,32.949208],[102.628679,32.949261],[102.628679,32.949286],[102.62867,32.94929],[102.627807,32.949785],[102.627695,32.949759],[102.627607,32.949758],[102.627511,32.949803],[102.627333,32.949871],[102.627195,32.949893],[102.627028,32.949901],[102.626858,32.949902],[102.626711,32.949872],[102.626617,32.949834],[102.626523,32.949756],[102.626241,32.949485],[102.62597,32.949274],[102.625912,32.949199],[102.625857,32.949129],[102.625849,32.949119],[102.625835,32.949102],[102.625803,32.949061],[102.625727,32.948963],[102.625684,32.948907],[102.625731,32.948804],[102.625736,32.948794],[102.625673,32.948727],[102.625545,32.948604],[102.625474,32.948537],[102.625371,32.948488],[102.625351,32.948476],[102.625221,32.948308],[102.624921,32.94792],[102.624661,32.947719],[102.624519,32.94761],[102.624337,32.947469],[102.62409,32.947278],[102.6239,32.947298],[102.623772,32.947322],[102.623654,32.947338],[102.623541,32.947333],[102.623575,32.947311],[102.623661,32.947282],[102.623752,32.947253],[102.623829,32.94723],[102.623969,32.947185],[102.62395,32.94717],[102.623915,32.947143],[102.623865,32.947114],[102.623832,32.947094],[102.623569,32.946939],[102.62325,32.946751],[102.622588,32.94636],[102.622215,32.94592],[102.622203,32.945672],[102.6222,32.945615],[102.622184,32.94527],[102.622188,32.945178],[102.622282,32.945131],[102.622399,32.94504],[102.622461,32.944995],[102.62253,32.944946],[102.622554,32.944902],[102.622627,32.944914],[102.624358,32.944947],[102.624897,32.944973],[102.624921,32.944974],[102.624962,32.944976],[102.625021,32.944979],[102.6252,32.944988],[102.625312,32.944994],[102.625517,32.945004],[102.625704,32.945013],[102.625829,32.945011],[102.625877,32.945011],[102.626547,32.945002],[102.626715,32.944999],[102.626771,32.944999],[102.626956,32.944996],[102.627475,32.944827],[102.627538,32.944807],[102.627781,32.944728],[102.627788,32.944485],[102.627799,32.944073],[102.6278,32.944038],[102.6278,32.94398],[102.627805,32.943247],[102.627806,32.943155],[102.627807,32.942856],[102.627808,32.94282],[102.627809,32.94268],[102.62781,32.942466],[102.62781,32.942438],[102.627811,32.942347],[102.627815,32.941644],[102.627778,32.941492],[102.627763,32.941406],[102.627746,32.941325],[102.627734,32.941265],[102.627706,32.941115],[102.627707,32.941113],[102.627744,32.94106],[102.627748,32.941041],[102.627755,32.941008],[102.627766,32.94096],[102.627786,32.940914],[102.627817,32.940889],[102.627836,32.940881],[102.627841,32.940702],[102.627853,32.940184],[102.627855,32.940176],[102.627857,32.940081],[102.627863,32.93986],[102.627846,32.939758],[102.627841,32.939733],[102.627815,32.93958],[102.627797,32.939471],[102.627788,32.939417],[102.627655,32.938638],[102.627586,32.938556],[102.627572,32.938538],[102.627485,32.938434],[102.62737,32.938296],[102.627091,32.937961],[102.627068,32.937934],[102.627002,32.937855],[102.626862,32.937789],[102.626004,32.937389],[102.625218,32.937134],[102.625103,32.937156],[102.62506,32.937158],[102.624961,32.937152],[102.624854,32.937123],[102.624805,32.937105],[102.624752,32.937074],[102.624729,32.936978],[102.623426,32.93661],[102.623307,32.936597],[102.622872,32.936552],[102.622375,32.936501],[102.62226,32.936489],[102.621987,32.936461],[102.621837,32.936446],[102.620499,32.936311],[102.620468,32.936312],[102.620401,32.936314],[102.620007,32.936327],[102.618958,32.936362],[102.618905,32.936357],[102.617919,32.936263],[102.617902,32.936261],[102.617001,32.935757],[102.616202,32.934903],[102.616183,32.934882],[102.616112,32.934807],[102.616086,32.933994],[102.616977,32.933038],[102.617518,32.933099],[102.617755,32.933125],[102.617769,32.933127],[102.617902,32.933142],[102.618273,32.933184],[102.618315,32.933188],[102.618538,32.933206],[102.618546,32.933207],[102.619521,32.933289],[102.619924,32.933347],[102.620041,32.933364],[102.620127,32.933377],[102.620815,32.933476],[102.621431,32.933512],[102.621677,32.933527],[102.621682,32.933559],[102.621699,32.933675],[102.621698,32.93368],[102.621696,32.93369],[102.621693,32.933708],[102.621769,32.93371],[102.621854,32.933686],[102.621881,32.933675],[102.621992,32.933632],[102.622146,32.933591],[102.622308,32.933513],[102.622452,32.933447],[102.622607,32.933378],[102.622749,32.933313],[102.622869,32.933262],[102.622959,32.933214],[102.623006,32.933178],[102.623085,32.933154],[102.623205,32.933127],[102.623314,32.933071],[102.623394,32.933046],[102.62347,32.932992],[102.623547,32.932913],[102.623691,32.932796],[102.623785,32.932719],[102.623863,32.932619],[102.623915,32.932574],[102.624021,32.932543],[102.624131,32.932516],[102.624212,32.932505],[102.62425,32.932496],[102.624268,32.932451],[102.624296,32.932367],[102.624322,32.932275],[102.62434,32.932118],[102.624352,32.932108],[102.624417,32.932049],[102.624694,32.931801],[102.62483,32.931679],[102.624812,32.931628],[102.624823,32.931597],[102.624853,32.931583],[102.624893,32.931572],[102.624945,32.931545],[102.62497,32.931512],[102.624988,32.931461],[102.624994,32.931421],[102.625017,32.931375],[102.625046,32.931365],[102.625083,32.931365],[102.625159,32.931349],[102.625181,32.931332],[102.625195,32.931307],[102.625206,32.931274],[102.625206,32.931252],[102.625197,32.931232],[102.625169,32.931228],[102.625177,32.931215],[102.625332,32.930966],[102.625345,32.930946],[102.625524,32.93066],[102.625606,32.930529],[102.625621,32.930505],[102.625668,32.93043],[102.625868,32.930111],[102.626012,32.929882],[102.626642,32.929153],[102.626655,32.929138],[102.626676,32.929114],[102.626806,32.928964],[102.627594,32.928481],[102.627833,32.928334],[102.628244,32.927368],[102.62809,32.926724],[102.628072,32.926649],[102.628035,32.926495],[102.627952,32.926149],[102.627941,32.926104],[102.627842,32.925932],[102.627826,32.925905],[102.627822,32.925898],[102.627717,32.925716],[102.627565,32.925452],[102.627544,32.925416],[102.627509,32.925355],[102.627443,32.925242],[102.62737,32.925116],[102.62724,32.924891],[102.627204,32.924827],[102.627159,32.92475],[102.627123,32.924718],[102.626866,32.924491],[102.626683,32.92433],[102.626609,32.924265],[102.626462,32.924135],[102.626306,32.923997],[102.626219,32.92392],[102.626133,32.923866],[102.625869,32.923702],[102.625858,32.923709],[102.625821,32.923754],[102.625802,32.923772],[102.625774,32.923775],[102.625746,32.923751],[102.625732,32.923722],[102.625703,32.92369],[102.625661,32.923676],[102.625633,32.923653],[102.625586,32.923629],[102.62553,32.923609],[102.625475,32.923596],[102.625424,32.923582],[102.625375,32.923548],[102.625368,32.923522],[102.625361,32.923485],[102.625316,32.923467],[102.625238,32.923459],[102.625196,32.923452],[102.625141,32.923431],[102.625101,32.923415],[102.625048,32.923421],[102.624994,32.923441],[102.624965,32.923437],[102.624953,32.923416],[102.624956,32.923393],[102.624992,32.923371],[102.625042,32.923351],[102.625088,32.923338],[102.625125,32.923322],[102.625135,32.923302],[102.625123,32.923279],[102.625064,32.923265],[102.624911,32.923211],[102.624853,32.923176],[102.62479,32.923129],[102.624716,32.923072],[102.624547,32.922905],[102.624522,32.922893],[102.62437,32.922788],[102.624427,32.922741],[102.624406,32.922721],[102.624385,32.922701],[102.62438,32.922696],[102.62423,32.922553],[102.62413,32.922457],[102.623484,32.921839],[102.622876,32.921123],[102.622695,32.920909],[102.6226,32.920797],[102.622552,32.92074],[102.622518,32.920701],[102.622504,32.920684],[102.622472,32.920638],[102.622378,32.920501],[102.622343,32.92045],[102.622252,32.920318],[102.622187,32.920224],[102.622164,32.92019],[102.622167,32.919965],[102.622119,32.919923],[102.62206,32.91986],[102.622022,32.919816],[102.622121,32.919364],[102.622252,32.918768],[102.622264,32.91871],[102.622268,32.918691],[102.622344,32.918642],[102.622456,32.91857],[102.622537,32.918518],[102.622575,32.918494],[102.622727,32.918396],[102.623325,32.91801],[102.624304,32.91738],[102.624471,32.917272],[102.624972,32.916551],[102.625006,32.916494],[102.625056,32.91641],[102.625147,32.916259],[102.625475,32.915709],[102.626131,32.914873],[102.62621,32.914864],[102.626231,32.91482],[102.626316,32.914762],[102.626331,32.914751],[102.626464,32.914602],[102.62657,32.914466],[102.626826,32.914228],[102.627014,32.914039],[102.627174,32.913921],[102.627188,32.913927],[102.627293,32.913989],[102.6273,32.913985],[102.62732,32.913971],[102.627406,32.913915],[102.627409,32.913899],[102.627408,32.913845],[102.627407,32.913819],[102.627407,32.913805],[102.627403,32.913797],[102.627386,32.913787],[102.627359,32.913775],[102.627343,32.913764],[102.627329,32.913749],[102.627312,32.913727],[102.627311,32.913725],[102.627301,32.913705],[102.627296,32.913693],[102.627294,32.913681],[102.627293,32.913665],[102.627293,32.913637],[102.627372,32.913652],[102.627486,32.913682],[102.627566,32.913712],[102.627622,32.913737],[102.627673,32.913766],[102.627717,32.913797],[102.627757,32.913764],[102.627804,32.913724],[102.627857,32.913679],[102.627826,32.913638],[102.627938,32.913564],[102.628346,32.913364],[102.628357,32.913358],[102.628468,32.913304],[102.628729,32.913174],[102.629248,32.912921],[102.629346,32.912872],[102.629352,32.912869],[102.629619,32.912738],[102.630083,32.91251],[102.630222,32.912471],[102.630646,32.912353],[102.63074,32.912327],[102.63089,32.912285],[102.63096,32.912265],[102.631066,32.912236],[102.631528,32.912107],[102.631709,32.912057],[102.632098,32.911948],[102.632122,32.911942],[102.632265,32.911902],[102.632352,32.911849],[102.632554,32.911727],[102.63295,32.911488],[102.633064,32.911482],[102.633099,32.911405],[102.633161,32.911223],[102.633158,32.911157],[102.633459,32.910423],[102.633451,32.909577],[102.633448,32.909315],[102.633446,32.909084],[102.633672,32.908455],[102.633697,32.908384],[102.633706,32.908358],[102.633669,32.908378],[102.633673,32.90837],[102.63376,32.908214],[102.633982,32.908013],[102.634106,32.907965],[102.634151,32.907921],[102.634259,32.907906],[102.634405,32.907885],[102.634408,32.907894],[102.634425,32.907924],[102.63444,32.907938],[102.63451,32.907935],[102.634578,32.90792],[102.634622,32.90792],[102.634669,32.907916],[102.634725,32.907908],[102.634773,32.907902],[102.63481,32.907899],[102.634866,32.90789],[102.634881,32.90788],[102.634845,32.907863],[102.634825,32.907857],[102.634803,32.907842],[102.6348,32.907831],[102.634893,32.907818],[102.634924,32.907813],[102.635186,32.907955],[102.635295,32.908014],[102.635437,32.90806],[102.635548,32.908071],[102.635648,32.908099],[102.635734,32.908135],[102.635777,32.908162],[102.635831,32.908216],[102.635759,32.908208],[102.635631,32.908196],[102.636014,32.908402],[102.636056,32.908415],[102.636157,32.908447],[102.636298,32.908491],[102.636569,32.908575],[102.636573,32.908576],[102.637189,32.908768],[102.637197,32.90877],[102.6372,32.908772],[102.637379,32.908827],[102.637467,32.908792],[102.637512,32.908781],[102.637542,32.908784],[102.637562,32.908815],[102.637562,32.90884],[102.637544,32.908877],[102.63776,32.908864],[102.637774,32.908863],[102.638553,32.908816],[102.638689,32.908634],[102.638712,32.908603],[102.638719,32.908595],[102.638775,32.908519],[102.63883,32.908446],[102.638818,32.908252],[102.638808,32.908094],[102.638816,32.907979],[102.638854,32.907902],[102.638858,32.907849],[102.638857,32.907807],[102.638875,32.907784],[102.638899,32.907758],[102.638926,32.907731],[102.638949,32.907703],[102.638974,32.907675],[102.638991,32.907659],[102.638979,32.90757],[102.638977,32.90756],[102.638906,32.907058],[102.638899,32.907013],[102.638848,32.906654],[102.638847,32.906642],[102.638846,32.906641],[102.63881,32.906386],[102.638776,32.906093],[102.638742,32.905803],[102.638736,32.905752],[102.638736,32.90575],[102.638653,32.905044],[102.638717,32.904836],[102.63872,32.904826],[102.638729,32.904799],[102.638725,32.904683],[102.638813,32.904022],[102.638917,32.903767],[102.639114,32.903378],[102.639166,32.903117],[102.639282,32.902909],[102.639399,32.90291],[102.639537,32.902585],[102.639571,32.902558],[102.639772,32.902395],[102.63978,32.902389],[102.640913,32.901475],[102.641605,32.901035],[102.64163,32.901019],[102.641649,32.901007],[102.641843,32.900884],[102.642057,32.900824],[102.642078,32.900818],[102.642113,32.900808],[102.6432,32.900504],[102.643417,32.900587],[102.643604,32.900659],[102.643616,32.900664],[102.643849,32.900753],[102.643867,32.90076],[102.644057,32.900946],[102.644144,32.901032],[102.644163,32.901051],[102.644176,32.901064],[102.644289,32.901174],[102.644939,32.902038],[102.645604,32.902375],[102.646228,32.902343],[102.646439,32.902333],[102.64648,32.90233],[102.64676,32.902316],[102.647604,32.901963],[102.64764,32.901948],[102.647781,32.901889],[102.647921,32.901721],[102.647949,32.901687],[102.647956,32.901679],[102.647988,32.90164],[102.648278,32.90129],[102.648493,32.900872],[102.64858,32.900704],[102.648589,32.900687],[102.648685,32.900502],[102.648717,32.900438],[102.648734,32.900406],[102.648746,32.900349],[102.64878,32.900186],[102.648955,32.899355],[102.648741,32.898383],[102.64874,32.898377],[102.648705,32.898318],[102.648697,32.898305],[102.648722,32.898283],[102.648726,32.898265],[102.648715,32.89824],[102.64869,32.898216],[102.648662,32.898199],[102.64862,32.898176],[102.648604,32.89815],[102.648575,32.8981],[102.648468,32.897922],[102.648421,32.897844],[102.648415,32.897833],[102.648333,32.897805],[102.648051,32.897713],[102.647969,32.897665],[102.64793,32.897624],[102.64786,32.897547],[102.647846,32.897512],[102.647823,32.897475],[102.647788,32.897445],[102.647752,32.897419],[102.647728,32.897394],[102.647717,32.897316],[102.647714,32.897294],[102.647879,32.896904],[102.647916,32.896819],[102.648151,32.89655],[102.648187,32.896508],[102.648212,32.89648],[102.64829,32.896338],[102.648418,32.896141],[102.648588,32.895963],[102.648795,32.895776],[102.649038,32.895568],[102.64909,32.895525],[102.649158,32.895495],[102.649227,32.895473],[102.649337,32.895435],[102.649552,32.895349],[102.649682,32.895287],[102.649687,32.895212],[102.649741,32.895177],[102.650277,32.894835],[102.650313,32.894808],[102.651363,32.894026],[102.651553,32.893885],[102.652916,32.893261],[102.65373,32.893353],[102.653779,32.893359],[102.654404,32.893727],[102.654774,32.893945],[102.654798,32.893966],[102.654896,32.894049],[102.654965,32.894054],[102.655054,32.894067],[102.655118,32.894094],[102.655163,32.894122],[102.655207,32.894169],[102.655241,32.89421],[102.655286,32.894246],[102.655358,32.894329],[102.655407,32.894417],[102.655436,32.894503],[102.655666,32.894697],[102.655688,32.894715],[102.655809,32.894817],[102.656172,32.895635],[102.65702,32.896301],[102.657266,32.89632],[102.657312,32.896324],[102.657283,32.896342],[102.657314,32.896348],[102.657345,32.896369],[102.657355,32.896381],[102.657375,32.896389],[102.657405,32.896396],[102.657512,32.896339],[102.657554,32.89631],[102.657595,32.896269],[102.657647,32.896223],[102.65768,32.896189],[102.657707,32.89615],[102.657719,32.896123],[102.657734,32.896075],[102.657742,32.896022],[102.657748,32.895951],[102.65776,32.895902],[102.657775,32.895842],[102.657791,32.89579],[102.657799,32.895756],[102.657788,32.895639],[102.657788,32.895596],[102.657781,32.895561],[102.657774,32.895521],[102.657763,32.89547],[102.657763,32.89542],[102.657769,32.895364],[102.657779,32.895304],[102.657807,32.895215],[102.657831,32.895167],[102.657837,32.895136],[102.657844,32.895084],[102.657853,32.895028],[102.657877,32.894944],[102.657896,32.894884],[102.657916,32.894839],[102.65794,32.894795],[102.657951,32.894777],[102.65794,32.894737],[102.657903,32.8946],[102.65772,32.893918],[102.657717,32.893906],[102.657666,32.893716],[102.657708,32.893378],[102.657727,32.89323],[102.658175,32.893014],[102.658214,32.892995],[102.659423,32.892734],[102.659453,32.892706],[102.660163,32.892018],[102.660845,32.891706],[102.661289,32.891693],[102.661711,32.891681],[102.662236,32.891849],[102.662522,32.89194],[102.662943,32.892394],[102.663252,32.89328],[102.663256,32.893293],[102.663256,32.893314],[102.663254,32.893365],[102.663282,32.893498],[102.663286,32.893564],[102.663283,32.89368],[102.663284,32.893795],[102.663309,32.893941],[102.663343,32.893988],[102.663323,32.89421],[102.66337,32.89451],[102.663371,32.89486],[102.663359,32.895057],[102.663396,32.895284],[102.663669,32.895898],[102.664223,32.89676],[102.664933,32.89722],[102.664967,32.897222],[102.664991,32.897223],[102.665116,32.897231],[102.665347,32.897244],[102.665707,32.897265],[102.665743,32.897268],[102.665941,32.897279],[102.666727,32.896685],[102.668332,32.895985],[102.668715,32.895839],[102.668775,32.895816],[102.668799,32.895807],[102.669116,32.895686],[102.669132,32.89568],[102.669277,32.895625],[102.66945,32.895559],[102.66958,32.895536],[102.66962,32.895528],[102.669704,32.895513],[102.670465,32.895375],[102.67052,32.895342],[102.670569,32.895312],[102.670716,32.895224],[102.671247,32.894903],[102.671862,32.894594],[102.671904,32.894503],[102.67193,32.894503],[102.671994,32.894497],[102.672181,32.894434],[102.672417,32.894316],[102.672699,32.894213],[102.673208,32.894028],[102.673582,32.893891],[102.673727,32.893784],[102.673732,32.89378],[102.673905,32.893652],[102.673934,32.893631],[102.67406,32.893538],[102.674171,32.893456],[102.674267,32.893385],[102.674244,32.893347],[102.674224,32.89325],[102.674259,32.893207],[102.674391,32.893184],[102.674546,32.89318],[102.67471,32.89306],[102.674932,32.893105],[102.674934,32.893105],[102.675121,32.893143],[102.675156,32.89315],[102.675214,32.893161],[102.67538,32.893194],[102.67542,32.893233],[102.675437,32.893248],[102.6766,32.894353],[102.67769,32.89476],[102.677699,32.894764],[102.677744,32.89478],[102.677992,32.89485],[102.678985,32.895128],[102.679132,32.895223],[102.67922,32.895247],[102.679411,32.895317],[102.679629,32.895423],[102.679745,32.895517],[102.679779,32.895555],[102.679814,32.895643],[102.67982,32.895665],[102.680026,32.895797],[102.680198,32.895948],[102.680475,32.896192],[102.68052,32.896233],[102.681483,32.897082],[102.682138,32.897476],[102.682161,32.89749],[102.682273,32.897558],[102.682409,32.89764],[102.682525,32.89771],[102.682605,32.89778],[102.682616,32.89779],[102.683137,32.898249],[102.683128,32.898592],[102.683182,32.898554],[102.683219,32.89852],[102.683253,32.898474],[102.683266,32.898424],[102.683302,32.898416],[102.683301,32.898442],[102.683301,32.89855],[102.683286,32.898632],[102.683259,32.898671],[102.683163,32.898703],[102.683124,32.898712],[102.683121,32.898865],[102.683117,32.898998],[102.683116,32.899033],[102.683115,32.89906],[102.683071,32.899073],[102.683051,32.899082],[102.683031,32.899093],[102.683013,32.899108],[102.682987,32.89914],[102.682675,32.899336],[102.682595,32.899352],[102.682578,32.899356],[102.682538,32.899364],[102.68195,32.899485],[102.681367,32.899717],[102.68106,32.9],[102.680776,32.900262],[102.680677,32.900354],[102.680458,32.900829],[102.680429,32.90089],[102.680419,32.900913],[102.680306,32.901158],[102.680333,32.90119],[102.680348,32.901209],[102.680387,32.901265],[102.680397,32.901294],[102.680399,32.901325],[102.680397,32.90136],[102.68039,32.9014],[102.680548,32.901609],[102.681053,32.901841],[102.681107,32.901866],[102.681351,32.901978],[102.681595,32.90209],[102.682116,32.902328],[102.683152,32.9032],[102.683054,32.903717],[102.683052,32.903728],[102.682995,32.904034],[102.682939,32.904074],[102.682898,32.904094],[102.68285,32.904113],[102.682817,32.904128],[102.682796,32.904149],[102.68277,32.904196],[102.682647,32.904257],[102.682643,32.904259],[102.681571,32.904794],[102.681325,32.905214],[102.681288,32.905277],[102.681218,32.905396],[102.681343,32.906169],[102.68191,32.906545],[102.682449,32.906578],[102.682606,32.906587],[102.682777,32.906597],[102.682784,32.906598],[102.682832,32.906601],[102.682871,32.906603],[102.683042,32.906606],[102.683315,32.906611],[102.683784,32.90662],[102.683806,32.906623],[102.684065,32.906654],[102.684176,32.906668],[102.684588,32.906717],[102.684669,32.906727],[102.685024,32.90677],[102.685174,32.906788],[102.685367,32.906812],[102.685487,32.906818],[102.68578,32.906834],[102.685877,32.906839],[102.686487,32.906872],[102.68652,32.906874],[102.686622,32.906833],[102.686633,32.906829],[102.686929,32.90671],[102.686953,32.906701],[102.687006,32.90668],[102.688349,32.906826],[102.688397,32.906859],[102.688524,32.906942],[102.689484,32.907578],[102.689666,32.907732],[102.689737,32.907793],[102.689756,32.907809],[102.690044,32.908054],[102.690057,32.908066],[102.690442,32.908393],[102.690785,32.908684],[102.690849,32.908739],[102.691092,32.908822],[102.691436,32.908938],[102.691508,32.908962],[102.691524,32.908967],[102.691541,32.908973],[102.691632,32.909004],[102.691648,32.909009],[102.692375,32.909255],[102.694242,32.909614],[102.695183,32.90955],[102.69524,32.909546],[102.696122,32.909486],[102.697161,32.909169],[102.697536,32.909054],[102.697544,32.909051],[102.697625,32.909027],[102.697734,32.908993],[102.69829,32.90882],[102.698352,32.908801],[102.698446,32.908772],[102.698983,32.908605],[102.700235,32.908392],[102.700258,32.908388],[102.700469,32.908352],[102.700916,32.908276],[102.701927,32.907981],[102.702094,32.907932],[102.702106,32.907929],[102.702224,32.907894],[102.702512,32.907857],[102.703616,32.907717],[102.703656,32.907712],[102.703674,32.90771],[102.703898,32.907681],[102.704457,32.90761],[102.704478,32.907608],[102.704734,32.907575],[102.704856,32.907609],[102.70505,32.907662],[102.705442,32.907771],[102.705574,32.907808],[102.705833,32.907879],[102.705886,32.907918],[102.705893,32.907924],[102.706339,32.908251],[102.706367,32.908272],[102.706412,32.908304],[102.706683,32.908504],[102.707575,32.908692],[102.707646,32.908707],[102.707735,32.908726],[102.708094,32.908687],[102.708159,32.90868],[102.708216,32.908674],[102.708361,32.908658],[102.7087,32.908622],[102.709571,32.908435],[102.710292,32.908524],[102.710722,32.908578],[102.710755,32.908581],[102.710802,32.908622],[102.710956,32.908706],[102.71108,32.908821],[102.711279,32.908959],[102.711516,32.909092],[102.711733,32.909211],[102.711933,32.909306],[102.712116,32.909376],[102.712227,32.909408],[102.712252,32.909414],[102.712418,32.909461],[102.712609,32.909589],[102.712665,32.909666],[102.712776,32.909808],[102.712907,32.910053],[102.713413,32.910575],[102.713932,32.910911],[102.714123,32.911034],[102.714274,32.911047],[102.714299,32.911049],[102.714365,32.911054],[102.714747,32.911086],[102.71487,32.911103],[102.714956,32.911162],[102.715039,32.911186],[102.715117,32.911207],[102.715182,32.911236],[102.715254,32.911274],[102.715321,32.911309],[102.715372,32.911327],[102.715443,32.911336],[102.715582,32.911339],[102.715599,32.911339],[102.716182,32.911853],[102.716183,32.911854],[102.716218,32.911884],[102.716229,32.911912],[102.71643,32.912388],[102.716465,32.91247],[102.71658,32.912743],[102.71758,32.913167],[102.718304,32.913058],[102.71978,32.912873],[102.719994,32.912846],[102.720509,32.912563],[102.720696,32.91246],[102.721067,32.912257],[102.722416,32.911998],[102.722522,32.911978],[102.722528,32.911977],[102.722541,32.911974],[102.722608,32.911961],[102.722614,32.91196],[102.722804,32.912009],[102.722942,32.912045],[102.72308,32.91208],[102.723202,32.912112],[102.723754,32.912254],[102.72387,32.912284],[102.724068,32.912336],[102.724086,32.91234],[102.724443,32.912432],[102.724455,32.912436],[102.724466,32.912438],[102.724754,32.912513],[102.724813,32.912528],[102.724963,32.912605],[102.72498,32.912613],[102.724997,32.912622],[102.726047,32.913159],[102.726388,32.913223],[102.726459,32.913236],[102.726484,32.913241],[102.726503,32.913245],[102.726707,32.913283],[102.726669,32.913316],[102.726672,32.913328],[102.726683,32.913328],[102.726769,32.913295],[102.727005,32.913339],[102.727323,32.913157],[102.727329,32.913152],[102.727385,32.913042],[102.727519,32.912918],[102.727617,32.912821],[102.727718,32.912715],[102.7278,32.912634],[102.72786,32.9126],[102.727891,32.912583],[102.728089,32.912489],[102.728131,32.912471],[102.728178,32.912451],[102.728273,32.91241],[102.728318,32.91239],[102.728723,32.912359],[102.728853,32.912364],[102.728923,32.912373],[102.728956,32.912386],[102.729003,32.912416],[102.729104,32.912447],[102.729271,32.91247],[102.729416,32.912485],[102.729546,32.912448],[102.729624,32.912485],[102.72991,32.912621],[102.730192,32.913232],[102.730268,32.913397],[102.730317,32.913503],[102.730318,32.913505],[102.730393,32.913668],[102.730416,32.913718],[102.730457,32.913807],[102.730451,32.914056],[102.73045,32.914098],[102.730431,32.914821],[102.730604,32.915148],[102.730611,32.915197],[102.730646,32.915269],[102.730666,32.915328],[102.730692,32.915396],[102.73071,32.915442],[102.730742,32.915484],[102.730774,32.915564],[102.730825,32.915564],[102.730844,32.9156],[102.7311,32.915744],[102.731291,32.915851],[102.732131,32.916324],[102.732409,32.916481],[102.732834,32.917172],[102.732956,32.917371],[102.733084,32.91758],[102.733241,32.917835],[102.733385,32.91797],[102.733601,32.918174],[102.733813,32.918373],[102.733821,32.918381],[102.733962,32.918514],[102.734196,32.918751],[102.734407,32.918941],[102.734604,32.919118],[102.734786,32.919267],[102.734929,32.919384],[102.735104,32.919528],[102.735408,32.919777],[102.735575,32.919913],[102.735707,32.920021],[102.735922,32.920198],[102.736177,32.920407],[102.736439,32.920621],[102.73663,32.920778],[102.736807,32.920895],[102.736945,32.920987],[102.737116,32.921101],[102.737241,32.921184],[102.737408,32.921296],[102.737582,32.921412],[102.737763,32.921532],[102.737933,32.921646],[102.738081,32.921744],[102.73822,32.921837],[102.738326,32.921907],[102.738424,32.921973],[102.738578,32.922075],[102.738677,32.922141],[102.738759,32.922196],[102.738913,32.922291],[102.739069,32.922388],[102.73921,32.922475],[102.739349,32.922569],[102.739501,32.92266],[102.739661,32.922755],[102.739811,32.922848],[102.739923,32.922917],[102.740037,32.922988],[102.740175,32.923074],[102.740282,32.92314],[102.740368,32.923194],[102.74047,32.923257],[102.740621,32.923268],[102.740795,32.923289],[102.740974,32.92334],[102.74112,32.923392],[102.741241,32.923447],[102.74136,32.923474],[102.742381,32.923703],[102.742473,32.923724],[102.742664,32.923748],[102.742859,32.923772],[102.742902,32.923777],[102.742914,32.923778],[102.742972,32.923786],[102.743241,32.923819],[102.74332,32.923671],[102.743392,32.923538],[102.743306,32.923128],[102.743254,32.923076],[102.743238,32.923032],[102.74322,32.922971],[102.743208,32.92291],[102.743198,32.922843],[102.743198,32.922799],[102.743221,32.922724],[102.743266,32.922591],[102.743284,32.92251],[102.743288,32.922482],[102.743265,32.922461],[102.743185,32.922477],[102.743209,32.92233],[102.743253,32.922069],[102.743256,32.922054],[102.74328,32.921913],[102.743304,32.921767],[102.743312,32.921719],[102.74334,32.921553],[102.743591,32.921428],[102.743748,32.92135],[102.74378,32.921278],[102.743816,32.921258],[102.743884,32.921212],[102.744126,32.921157],[102.744397,32.92113],[102.744411,32.921129],[102.744895,32.921081],[102.744916,32.92106],[102.744943,32.921059],[102.744962,32.921075],[102.745525,32.92102],[102.746005,32.921121],[102.746019,32.921124],[102.746121,32.921145],[102.746329,32.921189],[102.746567,32.921239],[102.746578,32.921241],[102.747119,32.921684],[102.747138,32.9217],[102.747181,32.921783],[102.747305,32.922024],[102.747367,32.922131],[102.747411,32.922251],[102.747439,32.922325],[102.747439,32.922335],[102.747441,32.92239],[102.748182,32.922896],[102.748981,32.923567],[102.749043,32.92362],[102.749067,32.92364],[102.749539,32.923916],[102.75014,32.924268],[102.750821,32.924666],[102.750897,32.92471],[102.752718,32.925775],[102.753762,32.926362],[102.754013,32.926339],[102.754486,32.926294],[102.755005,32.926005],[102.75512,32.92594],[102.755324,32.925675],[102.755343,32.92565],[102.755767,32.9251],[102.755851,32.925049],[102.75694,32.92439],[102.757962,32.923922],[102.759033,32.923413],[102.760483,32.923155],[102.76197,32.923076],[102.763326,32.923003],[102.763664,32.922917],[102.763759,32.922893],[102.763859,32.922868],[102.765263,32.922511],[102.768211,32.921995],[102.768917,32.921832],[102.769064,32.921799],[102.770498,32.921468],[102.770824,32.921393],[102.771647,32.921183],[102.772644,32.92093],[102.772761,32.9209],[102.774166,32.920519],[102.774659,32.920528],[102.775261,32.920538],[102.775272,32.920539],[102.775292,32.920549],[102.775406,32.92053],[102.775565,32.920533],[102.775685,32.920557],[102.775724,32.920578],[102.775837,32.920637],[102.775953,32.920716],[102.77599,32.920763],[102.776038,32.920889],[102.776038,32.920923],[102.776003,32.920942],[102.776782,32.921742],[102.777396,32.9222],[102.778451,32.92234],[102.779793,32.922567],[102.780707,32.922543],[102.780821,32.922521],[102.780877,32.92251],[102.781004,32.922486],[102.781198,32.922448],[102.781227,32.922443],[102.781286,32.922431],[102.781674,32.922357],[102.781909,32.922218],[102.781916,32.922214],[102.782113,32.922097],[102.782407,32.921923],[102.783091,32.921058],[102.783102,32.921043],[102.783114,32.921025],[102.783167,32.92094],[102.783366,32.92062],[102.783454,32.920564],[102.783543,32.920473],[102.783617,32.920393],[102.783675,32.920321],[102.78412,32.920115],[102.784185,32.920084],[102.78422,32.920068],[102.784388,32.919977],[102.784709,32.919681],[102.785332,32.919338],[102.785571,32.919205],[102.785616,32.919177],[102.785818,32.919049],[102.785914,32.918988],[102.786003,32.918932],[102.786149,32.918839],[102.786208,32.918801],[102.786525,32.918546],[102.786551,32.918524],[102.78661,32.918476],[102.786756,32.918358],[102.787174,32.918127],[102.78726,32.918079],[102.787287,32.918051],[102.787318,32.917956],[102.787394,32.917881],[102.787617,32.917841],[102.787644,32.917837],[102.787859,32.917819],[102.787935,32.917821],[102.788048,32.917806],[102.788186,32.917746],[102.788313,32.917692],[102.788329,32.917688],[102.788463,32.917656],[102.788542,32.91766],[102.788644,32.917719],[102.788656,32.91774],[102.78886,32.917735],[102.789098,32.91773],[102.789228,32.917726],[102.789246,32.917726],[102.789323,32.917724],[102.789727,32.917693],[102.790093,32.91736],[102.790161,32.917035],[102.790185,32.91692],[102.790195,32.916871],[102.790195,32.916856],[102.790184,32.916358],[102.790176,32.915935],[102.790175,32.915889],[102.790168,32.915826],[102.790066,32.914868],[102.790069,32.914745],[102.790084,32.91414],[102.79009,32.913887],[102.790291,32.913022],[102.790959,32.912533],[102.791086,32.91244],[102.791095,32.912434],[102.791248,32.912322],[102.791313,32.912243],[102.791388,32.912299],[102.791459,32.912257],[102.791503,32.91218],[102.791515,32.912118],[102.791531,32.912086],[102.791561,32.912038],[102.791593,32.911993],[102.79161,32.911953],[102.791637,32.911851],[102.791772,32.911688],[102.791795,32.91166],[102.792171,32.911206],[102.79235,32.910484],[102.792381,32.91036],[102.792427,32.910174],[102.79243,32.91016],[102.792448,32.91009],[102.792451,32.910076],[102.792469,32.910003],[102.792499,32.909857],[102.792674,32.908987],[102.792659,32.908868],[102.792589,32.908296],[102.792588,32.908293],[102.792562,32.908079],[102.79258,32.907362],[102.792598,32.906607],[102.792311,32.905583],[102.792201,32.904599],[102.792147,32.904164],[102.79194,32.902481],[102.791918,32.901574],[102.791897,32.90063],[102.792016,32.899424],[102.792136,32.898708],[102.792174,32.898483],[102.792529,32.897642],[102.792982,32.896572],[102.793136,32.895782],[102.793334,32.894993],[102.793577,32.894242],[102.794106,32.892741],[102.794852,32.891546],[102.795242,32.890232],[102.795807,32.887297],[102.796124,32.88534],[102.795936,32.884076],[102.795932,32.884053],[102.795721,32.883558],[102.794845,32.882788],[102.794064,32.88183],[102.792755,32.880486],[102.792195,32.879607],[102.792015,32.87783],[102.791732,32.876617],[102.791887,32.875789],[102.791954,32.874884],[102.791453,32.873441],[102.790717,32.872446],[102.790649,32.871614],[102.790525,32.871394],[102.789877,32.870242],[102.78952,32.869795],[102.789357,32.869591],[102.788486,32.868632],[102.787961,32.868131],[102.787511,32.86784],[102.787497,32.867831],[102.787411,32.867776],[102.787402,32.86777],[102.787301,32.867705],[102.786635,32.867461],[102.78658,32.867441],[102.786548,32.867429],[102.786326,32.867347],[102.785864,32.867321],[102.785395,32.867294],[102.785388,32.867293],[102.784325,32.866859],[102.784121,32.866063],[102.784091,32.865458],[102.78402,32.864739],[102.783364,32.862349],[102.782933,32.859888],[102.782824,32.858867],[102.782848,32.857923],[102.782782,32.856978],[102.78237,32.855536],[102.781341,32.853782],[102.780965,32.852718],[102.780298,32.850743],[102.77869,32.848865],[102.778394,32.84818],[102.778601,32.847051],[102.77866,32.844711],[102.778935,32.840828],[102.779019,32.839244],[102.778864,32.838297],[102.778723,32.836784],[102.777969,32.834732],[102.777469,32.833251],[102.777068,32.831432],[102.776906,32.830668],[102.776818,32.830249],[102.776788,32.830105],[102.776835,32.829659],[102.776963,32.828447],[102.777092,32.8281],[102.77749,32.827022],[102.777562,32.825929],[102.777201,32.824299],[102.776928,32.822671],[102.776819,32.82165],[102.77715,32.820938],[102.778082,32.819407],[102.778698,32.818021],[102.778842,32.815834],[102.778791,32.814285],[102.778952,32.813193],[102.778714,32.811981],[102.778086,32.810271],[102.778451,32.808201],[102.778828,32.807415],[102.779383,32.80667],[102.779207,32.806553],[102.777841,32.805774],[102.774801,32.803983],[102.772867,32.802665],[102.771281,32.801731],[102.77063,32.800927],[102.769432,32.798791],[102.7685,32.796736],[102.767758,32.794231],[102.767846,32.792496],[102.768283,32.791107],[102.768401,32.789977],[102.768603,32.789036],[102.768283,32.783934],[102.766972,32.782778],[102.764572,32.780432],[102.76358,32.779018],[102.762794,32.778286],[102.762059,32.777292],[102.760564,32.776321],[102.759334,32.775469],[102.757893,32.774121],[102.757023,32.7732],[102.756686,32.772363],[102.756347,32.77164],[102.755127,32.77041],[102.753668,32.76978],[102.751567,32.769817],[102.749698,32.769482],[102.749676,32.769478],[102.749675,32.769477],[102.74874,32.769307],[102.748725,32.769304],[102.748457,32.769256],[102.748441,32.769253],[102.74832,32.769231],[102.747987,32.769127],[102.747886,32.769096],[102.747007,32.768823],[102.746988,32.768817],[102.746903,32.768791],[102.746896,32.768786],[102.746884,32.768778],[102.745408,32.767744],[102.743606,32.766541],[102.74239,32.76516],[102.740571,32.764057],[102.739106,32.763074],[102.738288,32.762456],[102.736213,32.762066],[102.734195,32.761778],[102.733005,32.761706],[102.732346,32.761845],[102.731268,32.762077],[102.729958,32.762053],[102.728347,32.762125],[102.726982,32.761949],[102.725669,32.762026],[102.723295,32.761681],[102.722461,32.761665],[102.721722,32.761859],[102.721562,32.761901],[102.721528,32.761909],[102.721535,32.761574],[102.721403,32.760994],[102.721183,32.760042],[102.721268,32.758641],[102.721303,32.758239],[102.721475,32.756253],[102.72146,32.754933],[102.721534,32.753945],[102.720966,32.753233],[102.720301,32.75252],[102.719211,32.751263],[102.719018,32.751013],[102.718502,32.750343],[102.717787,32.749711],[102.717373,32.748714],[102.717,32.748006],[102.71673,32.745239],[102.716646,32.743862],[102.716626,32.743546],[102.716983,32.73914],[102.717228,32.737165],[102.717499,32.736098],[102.717708,32.735566],[102.716965,32.734109],[102.716123,32.732691],[102.715777,32.730953],[102.714921,32.728174],[102.71461,32.727312],[102.714009,32.725642],[102.713869,32.723495],[102.713414,32.722209],[102.713119,32.720389],[102.712902,32.719354],[102.712407,32.717695],[102.711905,32.716367],[102.711114,32.714868],[102.710765,32.713253],[102.709942,32.711094],[102.709183,32.710255],[102.709519,32.70857],[102.710358,32.706276],[102.710897,32.705149],[102.711045,32.704072],[102.710474,32.703337],[102.710017,32.702332],[102.709341,32.701549],[102.708339,32.700897],[102.707656,32.700386],[102.706591,32.70014],[102.705215,32.699435],[102.704211,32.698918],[102.703359,32.698676],[102.702284,32.698838],[102.70224,32.698831],[102.701003,32.698633],[102.699845,32.697841],[102.69933,32.697017],[102.698919,32.696329],[102.698738,32.695012],[102.698869,32.694109],[102.698802,32.692522],[102.698076,32.691602],[102.696438,32.690711],[102.695055,32.690323],[102.693941,32.690213],[102.693933,32.690212],[102.693482,32.690181],[102.693023,32.69015],[102.691877,32.691413],[102.68777,32.695936],[102.687705,32.696008],[102.683759,32.700354],[102.68316,32.700868],[102.682445,32.701482],[102.681951,32.701906],[102.680319,32.702827],[102.678915,32.703254],[102.678,32.703419],[102.676411,32.70271],[102.675476,32.70156],[102.675466,32.701628],[102.675395,32.701302],[102.675186,32.700339],[102.675227,32.698736],[102.674756,32.696418],[102.674282,32.694228],[102.673717,32.692614],[102.67323,32.690937],[102.672292,32.689059],[102.671802,32.687511],[102.671464,32.685901],[102.671496,32.684682],[102.67192,32.682958],[102.672356,32.681203],[102.672635,32.680083],[102.672656,32.679999],[102.672682,32.679893],[102.673309,32.679135],[102.674451,32.678964],[102.67544,32.678854],[102.676287,32.679232],[102.67635,32.67926],[102.676639,32.67939],[102.678383,32.679422],[102.680135,32.679134],[102.681366,32.678451],[102.681637,32.678265],[102.681667,32.678244],[102.681706,32.678218],[102.681757,32.678183],[102.681831,32.678132],[102.682246,32.677847],[102.682241,32.677779],[102.682238,32.677683],[102.682263,32.677557],[102.682279,32.677463],[102.68229,32.677449],[102.682321,32.677414],[102.682326,32.677409],[102.682385,32.677355],[102.682413,32.677294],[102.682416,32.677278],[102.682431,32.677204],[102.68247,32.677154],[102.682618,32.677107],[102.682743,32.677065],[102.682844,32.677026],[102.682918,32.677014],[102.682963,32.677006],[102.683032,32.677005],[102.683093,32.677005],[102.683215,32.676868],[102.683384,32.676676],[102.683689,32.675608],[102.683601,32.675309],[102.683561,32.675298],[102.683283,32.675222],[102.68256,32.675187],[102.682356,32.675177],[102.682117,32.675122],[102.681991,32.67516],[102.681835,32.675168],[102.681748,32.675149],[102.681649,32.6751],[102.681521,32.675014],[102.681482,32.674975],[102.681411,32.674893],[102.681323,32.674784],[102.681159,32.674621],[102.681082,32.674508],[102.681038,32.674407],[102.681001,32.674262],[102.681076,32.673936],[102.681534,32.673566],[102.682123,32.673486],[102.68224,32.67347],[102.682334,32.673489],[102.683125,32.673646],[102.683294,32.673679],[102.683994,32.673692],[102.684191,32.67371],[102.684761,32.673761],[102.685199,32.673653],[102.685276,32.673635],[102.685326,32.673616],[102.685475,32.673561],[102.685527,32.673541],[102.68576,32.673454],[102.685769,32.673103],[102.685713,32.672804],[102.685395,32.672717],[102.684462,32.672916],[102.684081,32.672828],[102.683798,32.672606],[102.683765,32.672199],[102.683765,32.672191],[102.68375,32.67201],[102.68374,32.671985],[102.683692,32.67186],[102.683682,32.671834],[102.683669,32.671799],[102.683542,32.67147],[102.68354,32.671465],[102.683467,32.671388],[102.683452,32.671372],[102.683415,32.671332],[102.683073,32.670969],[102.682674,32.670861],[102.682626,32.670848],[102.682328,32.670767],[102.682315,32.670764],[102.68225,32.670765],[102.682149,32.670761],[102.682008,32.670744],[102.681933,32.670728],[102.681834,32.670695],[102.681696,32.670622],[102.681564,32.670516],[102.681539,32.670496],[102.681376,32.670362],[102.681293,32.670263],[102.681219,32.670179],[102.681207,32.670113],[102.681199,32.670106],[102.680891,32.669823],[102.680857,32.669791],[102.68084,32.669776],[102.680831,32.669767],[102.680707,32.669653],[102.680427,32.669351],[102.679888,32.669178],[102.67976,32.669138],[102.679442,32.669037],[102.679356,32.66901],[102.679342,32.669005],[102.679253,32.668977],[102.67908,32.668782],[102.678911,32.668592],[102.678699,32.668128],[102.678713,32.667587],[102.67855,32.666735],[102.678393,32.666535],[102.678355,32.666486],[102.678324,32.666447],[102.678085,32.66614],[102.678058,32.666133],[102.677949,32.666105],[102.677937,32.666103],[102.677703,32.666043],[102.67728,32.665935],[102.677243,32.665925],[102.677131,32.665897],[102.677008,32.665897],[102.676871,32.665897],[102.675732,32.6659],[102.675723,32.6659],[102.675556,32.6659],[102.675492,32.6659],[102.675141,32.665901],[102.675118,32.665901],[102.674944,32.665901],[102.674897,32.665896],[102.674869,32.665893],[102.674833,32.665856],[102.674781,32.665836],[102.674713,32.665832],[102.674644,32.665833],[102.674558,32.665833],[102.674498,32.665851],[102.674354,32.665835],[102.674347,32.665834],[102.674246,32.665823],[102.674038,32.665799],[102.6739,32.665784],[102.673508,32.665739],[102.673251,32.665666],[102.673228,32.665659],[102.6732,32.665651],[102.672814,32.66554],[102.672603,32.665479],[102.672538,32.6654],[102.672506,32.665382],[102.672453,32.665356],[102.672368,32.665317],[102.672287,32.665292],[102.672161,32.665199],[102.671979,32.665064],[102.671966,32.665055],[102.671874,32.664987],[102.671203,32.664118],[102.670967,32.663856],[102.670925,32.663809],[102.670858,32.663736],[102.67085,32.663727],[102.670729,32.663593],[102.670713,32.663575],[102.670581,32.663429],[102.67017,32.662835],[102.669943,32.662767],[102.669939,32.662765],[102.669852,32.662739],[102.669561,32.662815],[102.669047,32.66295],[102.668465,32.663198],[102.668238,32.663295],[102.667752,32.663338],[102.667533,32.663334],[102.667305,32.663349],[102.6669,32.66324],[102.666766,32.663204],[102.666715,32.66319],[102.665581,32.662885],[102.664943,32.662681],[102.664908,32.66267],[102.664897,32.662666],[102.664682,32.662598],[102.664653,32.662576],[102.664645,32.662571],[102.66456,32.662507],[102.664054,32.662135],[102.664002,32.661992],[102.663999,32.661985],[102.663952,32.661856],[102.663873,32.661639],[102.663914,32.66163],[102.663935,32.661619],[102.664063,32.661558],[102.664012,32.661519],[102.663976,32.661466],[102.663946,32.661403],[102.66393,32.661365],[102.663909,32.661314],[102.663901,32.661238],[102.664145,32.660693],[102.664301,32.660276],[102.664308,32.660258],[102.664328,32.660206],[102.664431,32.659931],[102.664496,32.659481],[102.664352,32.659195],[102.664291,32.659076],[102.664166,32.658972],[102.663957,32.658847],[102.663842,32.65881],[102.663774,32.658798],[102.663745,32.658782],[102.663392,32.658874],[102.663113,32.659534],[102.663051,32.65968],[102.662612,32.660168],[102.662547,32.660146],[102.662537,32.660143],[102.662515,32.660135],[102.662432,32.660107],[102.662423,32.660104],[102.662194,32.660027],[102.662165,32.660017],[102.662145,32.66001],[102.661976,32.659953],[102.661766,32.659881],[102.661715,32.659887],[102.661588,32.659901],[102.661071,32.659959],[102.66048,32.660083],[102.660468,32.660086],[102.660331,32.660115],[102.660263,32.660129],[102.660221,32.660138],[102.660115,32.66016],[102.659891,32.660207],[102.659854,32.660197],[102.658885,32.659918],[102.658876,32.659914],[102.658804,32.659884],[102.658717,32.659846],[102.65828,32.65966],[102.658154,32.659607],[102.657777,32.659446],[102.657708,32.659398],[102.657242,32.659078],[102.657165,32.658991],[102.656969,32.658771],[102.656384,32.658111],[102.6562,32.657822],[102.655813,32.657212],[102.655451,32.656865],[102.655442,32.656856],[102.655278,32.656699],[102.655095,32.65655],[102.655075,32.656533],[102.655036,32.656501],[102.655026,32.656493],[102.654896,32.656387],[102.654696,32.656224],[102.654614,32.656204],[102.654515,32.656123],[102.654352,32.656076],[102.654241,32.656052],[102.654197,32.656099],[102.654116,32.656229],[102.653911,32.656557],[102.65393,32.657544],[102.65393,32.657563],[102.653927,32.657591],[102.65391,32.657751],[102.65394,32.657765],[102.654034,32.657839],[102.654096,32.657886],[102.654141,32.657929],[102.654177,32.65799],[102.654189,32.658071],[102.654178,32.658126],[102.654139,32.658164],[102.654065,32.658218],[102.653984,32.658258],[102.65393,32.658313],[102.653873,32.658375],[102.653794,32.658421],[102.65373,32.658464],[102.65366,32.658502],[102.653657,32.658504],[102.653635,32.658509],[102.653568,32.658526],[102.653463,32.658536],[102.653388,32.658525],[102.653297,32.658495],[102.653215,32.658451],[102.653212,32.658448],[102.653197,32.658435],[102.653175,32.658414],[102.653146,32.658386],[102.653084,32.658345],[102.653027,32.658352],[102.652912,32.658365],[102.652811,32.658376],[102.652703,32.658389],[102.652586,32.658402],[102.6524,32.658423],[102.65181,32.658258],[102.651782,32.658126],[102.651773,32.658083],[102.651744,32.657942],[102.651729,32.65787],[102.651863,32.65769],[102.651868,32.657683],[102.651958,32.657562],[102.652013,32.657488],[102.652065,32.657399],[102.652131,32.657286],[102.652137,32.657275],[102.652146,32.65726],[102.652178,32.657206],[102.652329,32.656947],[102.652348,32.656915],[102.652341,32.656723],[102.652334,32.65654],[102.652321,32.65618],[102.652298,32.65615],[102.652172,32.655985],[102.651953,32.6557],[102.651995,32.655655],[102.652012,32.655609],[102.652021,32.655556],[102.652023,32.655492],[102.652016,32.655442],[102.651995,32.655409],[102.651961,32.655391],[102.651932,32.65539],[102.65192,32.655396],[102.651906,32.655414],[102.651905,32.655441],[102.651905,32.655491],[102.651904,32.655534],[102.651904,32.655567],[102.651907,32.655641],[102.651844,32.655558],[102.651851,32.655516],[102.651856,32.655485],[102.651856,32.655457],[102.651846,32.655427],[102.651826,32.655408],[102.6518,32.655389],[102.651773,32.655371],[102.651747,32.655363],[102.651682,32.655348],[102.651658,32.655317],[102.651494,32.655286],[102.651474,32.655282],[102.650978,32.655188],[102.650023,32.654938],[102.649976,32.654918],[102.649797,32.654842],[102.6496,32.654759],[102.649299,32.654632],[102.649164,32.654574],[102.648968,32.654534],[102.64823,32.654383],[102.648138,32.654364],[102.647894,32.654314],[102.64771,32.654277],[102.647462,32.654346],[102.64723,32.654411],[102.647189,32.654423],[102.647065,32.654458],[102.64697,32.65444],[102.6469,32.654426],[102.646513,32.654353],[102.646156,32.654286],[102.646001,32.654009],[102.645981,32.653973],[102.645964,32.653355],[102.646166,32.652983],[102.646516,32.652746],[102.646582,32.652727],[102.646644,32.652708],[102.64667,32.6527],[102.646794,32.652663],[102.646825,32.652654],[102.646914,32.652627],[102.647089,32.652574],[102.647419,32.652475],[102.647597,32.652484],[102.647701,32.652483],[102.647775,32.652486],[102.647845,32.65248],[102.647933,32.652445],[102.647995,32.652416],[102.648144,32.652384],[102.648169,32.652376],[102.648164,32.652357],[102.648169,32.652348],[102.648201,32.652328],[102.648233,32.652318],[102.64829,32.652285],[102.648312,32.65226],[102.648334,32.652229],[102.648366,32.652188],[102.648393,32.652157],[102.648441,32.652112],[102.648468,32.652086],[102.648502,32.65205],[102.648537,32.652014],[102.64856,32.651958],[102.648568,32.651915],[102.648578,32.651865],[102.64858,32.651819],[102.648579,32.651759],[102.648575,32.651712],[102.64855,32.651674],[102.648505,32.651632],[102.64847,32.6516],[102.648426,32.65157],[102.648366,32.651541],[102.648281,32.651509],[102.648176,32.651471],[102.648223,32.651471],[102.648271,32.651475],[102.648312,32.651489],[102.648381,32.651514],[102.648417,32.651528],[102.648461,32.651549],[102.64852,32.651575],[102.648556,32.651602],[102.648582,32.651622],[102.648614,32.651649],[102.648631,32.651676],[102.64865,32.651705],[102.648686,32.651785],[102.648693,32.651852],[102.64869,32.651893],[102.648689,32.651941],[102.648679,32.651971],[102.648671,32.651991],[102.64865,32.652053],[102.648731,32.651947],[102.648825,32.651823],[102.64883,32.651649],[102.648832,32.651555],[102.648833,32.651528],[102.648838,32.651321],[102.648067,32.651187],[102.647838,32.651148],[102.646467,32.651122],[102.646263,32.651067],[102.646112,32.650997],[102.646097,32.651022],[102.646091,32.651021],[102.64607,32.651015],[102.646024,32.651003],[102.646015,32.651],[102.645972,32.651079],[102.64594,32.651134],[102.64584,32.651101],[102.645741,32.651096],[102.645628,32.651118],[102.645614,32.65112],[102.645556,32.651139],[102.645458,32.651296],[102.645486,32.651413],[102.645481,32.651488],[102.645476,32.651547],[102.645477,32.651662],[102.645463,32.651673],[102.645447,32.651715],[102.645425,32.651879],[102.645396,32.651912],[102.645371,32.651967],[102.645358,32.652007],[102.645341,32.652059],[102.645298,32.652125],[102.645292,32.652155],[102.64527,32.652195],[102.645229,32.652236],[102.645194,32.652271],[102.645171,32.652291],[102.645118,32.652329],[102.645079,32.652351],[102.645011,32.652382],[102.644947,32.652408],[102.644877,32.652428],[102.644819,32.652438],[102.64478,32.652438],[102.644741,32.652462],[102.644727,32.652471],[102.644661,32.65251],[102.64456,32.652469],[102.644537,32.652481],[102.644492,32.65248],[102.64442,32.652467],[102.644323,32.65244],[102.644241,32.652409],[102.644178,32.652405],[102.644126,32.652437],[102.644092,32.652477],[102.644052,32.652526],[102.64399,32.65255],[102.643908,32.652568],[102.643872,32.652504],[102.643885,32.652001],[102.643881,32.651991],[102.643868,32.651966],[102.643823,32.651874],[102.643845,32.651854],[102.643842,32.651837],[102.643825,32.651802],[102.643802,32.651766],[102.643774,32.65173],[102.643712,32.65165],[102.643629,32.651628],[102.643304,32.65154],[102.643265,32.65153],[102.643258,32.651528],[102.64294,32.651442],[102.642827,32.651464],[102.642411,32.651544],[102.642375,32.651551],[102.642338,32.651558],[102.642118,32.6516],[102.642042,32.651658],[102.642012,32.651676],[102.641971,32.651695],[102.641925,32.651696],[102.641851,32.651719],[102.641762,32.651737],[102.641696,32.651726],[102.641652,32.651713],[102.641614,32.651704],[102.641545,32.651695],[102.641479,32.651693],[102.641428,32.651698],[102.641348,32.651694],[102.64127,32.651691],[102.641198,32.65168],[102.641184,32.651674],[102.641069,32.65165],[102.640984,32.651616],[102.640909,32.651578],[102.640842,32.65154],[102.640778,32.651495],[102.640749,32.651456],[102.64075,32.651425],[102.640756,32.651378],[102.640767,32.651324],[102.640776,32.65128],[102.640792,32.651222],[102.640869,32.651121],[102.640918,32.65108],[102.640971,32.651057],[102.641024,32.651053],[102.641096,32.651054],[102.641233,32.650909],[102.641238,32.650903],[102.641464,32.650665],[102.641482,32.650646],[102.641594,32.650527],[102.6417,32.650316],[102.641725,32.650267],[102.641779,32.650159],[102.641854,32.65019],[102.641842,32.650144],[102.641847,32.650098],[102.641835,32.650049],[102.641836,32.650018],[102.641844,32.649988],[102.641878,32.64995],[102.641809,32.649892],[102.641788,32.649839],[102.641754,32.649773],[102.641713,32.649751],[102.641682,32.649738],[102.641637,32.64972],[102.641591,32.649711],[102.641516,32.649696],[102.641514,32.649688],[102.641502,32.649682],[102.641474,32.649688],[102.641448,32.649701],[102.641429,32.6497],[102.641406,32.649681],[102.641388,32.649639],[102.641373,32.649595],[102.641362,32.649555],[102.641355,32.649515],[102.641167,32.64936],[102.640851,32.649238],[102.640534,32.649116],[102.640256,32.649266],[102.640241,32.649274],[102.639978,32.649415],[102.639883,32.649521],[102.639815,32.649597],[102.63958,32.649859],[102.639559,32.649884],[102.639396,32.650066],[102.639383,32.65008],[102.639366,32.650099],[102.639039,32.650364],[102.638588,32.650123],[102.638462,32.649486],[102.638391,32.649507],[102.638388,32.649487],[102.638388,32.649476],[102.638381,32.649463],[102.638382,32.649447],[102.638393,32.649429],[102.638405,32.649414],[102.63844,32.649372],[102.638427,32.649308],[102.638406,32.649244],[102.638403,32.649235],[102.638398,32.649219],[102.638374,32.649146],[102.638258,32.648789],[102.638176,32.64872],[102.638128,32.64867],[102.638039,32.648598],[102.637989,32.648553],[102.637953,32.648494],[102.637928,32.648438],[102.637878,32.648376],[102.63779,32.648292],[102.637703,32.6482],[102.637607,32.648111],[102.637508,32.64809],[102.636909,32.647966],[102.636895,32.64797],[102.636676,32.648048],[102.636641,32.64806],[102.636494,32.648112],[102.636437,32.64868],[102.636436,32.648687],[102.636432,32.64873],[102.636395,32.648859],[102.636376,32.648927],[102.63628,32.649268],[102.636256,32.649282],[102.636118,32.649359],[102.636105,32.649366],[102.635796,32.649538],[102.63569,32.649598],[102.63568,32.649603],[102.635178,32.649768],[102.635153,32.649776],[102.635004,32.649825],[102.634991,32.649829],[102.634957,32.64984],[102.634894,32.64986],[102.634653,32.64992],[102.634284,32.650011],[102.63402,32.650076],[102.633705,32.649915],[102.633645,32.649691],[102.63359,32.64969],[102.633558,32.649691],[102.633564,32.6496],[102.633585,32.649578],[102.63359,32.64957],[102.633605,32.649544],[102.633615,32.649434],[102.633619,32.64936],[102.633595,32.649235],[102.633557,32.64912],[102.63354,32.649026],[102.633506,32.648948],[102.633469,32.648894],[102.633404,32.648827],[102.633373,32.648769],[102.633357,32.648718],[102.633338,32.648674],[102.633326,32.64866],[102.633296,32.648666],[102.633277,32.648675],[102.633258,32.648684],[102.63325,32.648698],[102.63322,32.648699],[102.633203,32.648688],[102.633183,32.648672],[102.633158,32.648647],[102.633136,32.648631],[102.633071,32.648598],[102.633005,32.648566],[102.632908,32.648529],[102.632804,32.648476],[102.632706,32.648412],[102.632522,32.648303],[102.632396,32.648214],[102.63231,32.648166],[102.632105,32.648184],[102.632104,32.648217],[102.632101,32.648348],[102.632096,32.648532],[102.632808,32.649241],[102.632558,32.649501],[102.632541,32.649519],[102.632512,32.649549],[102.63248,32.649583],[102.632467,32.649588],[102.631907,32.649842],[102.63174,32.649917],[102.631415,32.649935],[102.630687,32.649974],[102.630377,32.649879],[102.63037,32.649878],[102.629463,32.649603],[102.628923,32.649284],[102.628938,32.648743],[102.629165,32.648404],[102.62919,32.648367],[102.629271,32.648247],[102.629329,32.648163],[102.629346,32.648138],[102.62936,32.648141],[102.629374,32.648141],[102.629399,32.648129],[102.629418,32.648096],[102.629461,32.648035],[102.629481,32.647999],[102.629498,32.647951],[102.629543,32.647885],[102.629574,32.647841],[102.629597,32.647817],[102.629628,32.647802],[102.629659,32.647782],[102.629718,32.647744],[102.629771,32.647687],[102.629857,32.647492],[102.629887,32.647434],[102.629909,32.647389],[102.629915,32.647365],[102.629915,32.647354],[102.62991,32.647343],[102.629906,32.647337],[102.629891,32.647289],[102.629792,32.647173],[102.629766,32.647138],[102.629731,32.647103],[102.629681,32.647056],[102.629548,32.646963],[102.629532,32.646956],[102.629469,32.646928],[102.629217,32.646815],[102.628614,32.646829],[102.628551,32.646831],[102.628425,32.646834],[102.628404,32.646834],[102.628302,32.646837],[102.628276,32.646863],[102.627867,32.647264],[102.627784,32.647345],[102.627824,32.647393],[102.627842,32.64742],[102.627854,32.647442],[102.627855,32.647458],[102.627853,32.647466],[102.627844,32.647475],[102.627818,32.647486],[102.627799,32.647495],[102.627785,32.647505],[102.62777,32.647517],[102.62776,32.647528],[102.627754,32.647544],[102.62775,32.647559],[102.627746,32.647577],[102.627735,32.647597],[102.627723,32.647608],[102.6277,32.647623],[102.627673,32.647635],[102.627609,32.647639],[102.627595,32.647639],[102.627567,32.647637],[102.627493,32.647633],[102.627459,32.647624],[102.627409,32.647608],[102.627375,32.647589],[102.627176,32.647669],[102.627165,32.647674],[102.627145,32.647682],[102.627092,32.647703],[102.626417,32.64769],[102.626356,32.647689],[102.626224,32.647686],[102.626168,32.647672],[102.626156,32.647669],[102.626006,32.647629],[102.625589,32.64752],[102.625589,32.647488],[102.625602,32.64702],[102.625664,32.646948],[102.625811,32.646784],[102.625832,32.64676],[102.625842,32.64675],[102.625867,32.646721],[102.626103,32.646457],[102.626159,32.646395],[102.626178,32.646418],[102.626202,32.646444],[102.626213,32.64646],[102.626216,32.646457],[102.626223,32.646445],[102.626223,32.646432],[102.62622,32.646402],[102.62622,32.646374],[102.626216,32.646332],[102.626573,32.646042],[102.626583,32.646035],[102.626595,32.646025],[102.626614,32.64601],[102.626733,32.645913],[102.626742,32.645906],[102.626868,32.645804],[102.627083,32.645475],[102.627088,32.645468],[102.627124,32.645413],[102.627184,32.645323],[102.627197,32.645303],[102.6272,32.645298],[102.627344,32.645079],[102.627494,32.645015],[102.627505,32.64501],[102.627553,32.64499],[102.627697,32.644929],[102.627714,32.644922],[102.628129,32.644746],[102.628065,32.643701],[102.62774,32.643381],[102.627773,32.643365],[102.627792,32.643357],[102.627833,32.643358],[102.6278,32.643345],[102.627768,32.643337],[102.627736,32.64333],[102.627716,32.643315],[102.627683,32.643285],[102.627652,32.643251],[102.62762,32.643225],[102.627593,32.643198],[102.627548,32.643157],[102.627463,32.643137],[102.627452,32.643152],[102.627443,32.643145],[102.627155,32.642935],[102.627103,32.642935],[102.626987,32.642894],[102.626939,32.642875],[102.626893,32.642851],[102.626865,32.642816],[102.626845,32.642772],[102.626824,32.642728],[102.626794,32.642697],[102.626737,32.64267],[102.626647,32.642619],[102.626611,32.642578],[102.626596,32.642531],[102.626578,32.642495],[102.626576,32.642456],[102.626588,32.642396],[102.626415,32.642201],[102.626363,32.641808],[102.626358,32.64177],[102.626374,32.641763],[102.626391,32.641751],[102.626407,32.641713],[102.626462,32.641605],[102.626511,32.641553],[102.62656,32.641504],[102.626569,32.641496],[102.626634,32.641435],[102.626767,32.641306],[102.627,32.641052],[102.62712,32.640927],[102.627319,32.64076],[102.627601,32.640522],[102.62797,32.640143],[102.628064,32.640045],[102.628118,32.639991],[102.62806,32.639901],[102.628013,32.639828],[102.627959,32.639744],[102.627942,32.639717],[102.627741,32.639565],[102.627629,32.639479],[102.627123,32.639585],[102.626942,32.639769],[102.626928,32.639782],[102.626915,32.639796],[102.626824,32.639888],[102.626748,32.639965],[102.626732,32.639974],[102.626713,32.639973],[102.626673,32.639961],[102.626613,32.639958],[102.626546,32.639963],[102.62647,32.63998],[102.626389,32.64003],[102.62635,32.640055],[102.626332,32.640083],[102.626311,32.640101],[102.62629,32.640105],[102.626254,32.640108],[102.626168,32.64015],[102.626149,32.640171],[102.626143,32.640198],[102.626141,32.640219],[102.626136,32.640243],[102.626126,32.640256],[102.626099,32.640264],[102.626074,32.640276],[102.626022,32.640335],[102.626011,32.640364],[102.625999,32.640385],[102.625998,32.640401],[102.625997,32.640411],[102.62595,32.640439],[102.625866,32.640489],[102.625755,32.64051],[102.625683,32.640524],[102.625131,32.64063],[102.624709,32.640828],[102.624669,32.640847],[102.624653,32.640854],[102.62453,32.640866],[102.624426,32.640901],[102.624365,32.640937],[102.624306,32.640993],[102.624265,32.641052],[102.624211,32.641122],[102.624108,32.641187],[102.623956,32.641283],[102.623925,32.641303],[102.623331,32.64133],[102.622841,32.640819],[102.622849,32.640525],[102.62285,32.640505],[102.622852,32.640433],[102.622854,32.640355],[102.622942,32.640263],[102.622984,32.64022],[102.623183,32.640013],[102.623913,32.640027],[102.624517,32.639652],[102.624478,32.639223],[102.624446,32.638877],[102.624339,32.638636],[102.624188,32.638293],[102.623922,32.638299],[102.623867,32.6383],[102.623826,32.638301],[102.623522,32.638308],[102.623511,32.638309],[102.623273,32.638314],[102.622581,32.638572],[102.622298,32.638459],[102.622234,32.638433],[102.622226,32.638408],[102.622218,32.638381],[102.622209,32.638351],[102.622197,32.638314],[102.622178,32.63827],[102.622146,32.638221],[102.62212,32.638188],[102.622075,32.638137],[102.621974,32.637859],[102.621961,32.637825],[102.622061,32.637636],[102.622087,32.637586],[102.622202,32.637366],[102.622242,32.637317],[102.622579,32.636909],[102.622619,32.636891],[102.623227,32.636612],[102.623736,32.636598],[102.623709,32.636569],[102.623661,32.636536],[102.62384,32.636548],[102.623961,32.636569],[102.62406,32.636582],[102.624076,32.636571],[102.624422,32.636326],[102.624567,32.636049],[102.624609,32.635969],[102.624568,32.635921],[102.624521,32.635878],[102.624414,32.635802],[102.624326,32.635751],[102.624304,32.635733],[102.624297,32.635714],[102.624291,32.635699],[102.624273,32.635671],[102.624212,32.635638],[102.624154,32.635618],[102.624089,32.635615],[102.624033,32.635618],[102.623957,32.635651],[102.623899,32.63569],[102.623853,32.635693],[102.623799,32.635695],[102.623595,32.635824],[102.62358,32.63588],[102.623579,32.635904],[102.623549,32.635903],[102.623492,32.635916],[102.623472,32.635938],[102.623449,32.635967],[102.623423,32.635991],[102.623391,32.636009],[102.623358,32.636024],[102.623311,32.636038],[102.623236,32.636054],[102.623213,32.63605],[102.62319,32.636023],[102.623158,32.635977],[102.623155,32.635954],[102.623085,32.635952],[102.623025,32.635951],[102.623011,32.635951],[102.62297,32.63595],[102.622878,32.635882],[102.622872,32.635878],[102.622867,32.635874],[102.622701,32.635752],[102.622802,32.635406],[102.622929,32.635292],[102.622945,32.635277],[102.622952,32.635249],[102.622961,32.635228],[102.622988,32.635201],[102.623045,32.635153],[102.623142,32.635072],[102.623261,32.634973],[102.623259,32.634943],[102.623269,32.634927],[102.623291,32.634903],[102.623309,32.634889],[102.623364,32.634868],[102.623413,32.634838],[102.623455,32.634817],[102.623474,32.634804],[102.623512,32.634789],[102.623581,32.634765],[102.62364,32.63472],[102.623701,32.634688],[102.623756,32.634668],[102.623806,32.63465],[102.623857,32.634616],[102.623897,32.634583],[102.623929,32.634542],[102.623941,32.63451],[102.623969,32.634443],[102.624022,32.634379],[102.624045,32.634351],[102.624072,32.634278],[102.624101,32.634209],[102.624124,32.634171],[102.624132,32.634145],[102.624138,32.63412],[102.624144,32.634063],[102.624174,32.63402],[102.624231,32.633945],[102.624248,32.633897],[102.624256,32.633857],[102.624258,32.63382],[102.624254,32.633795],[102.624238,32.633779],[102.624231,32.633768],[102.624223,32.633759],[102.62421,32.633742],[102.624198,32.633719],[102.624192,32.633697],[102.624189,32.633673],[102.624188,32.633651],[102.624181,32.63361],[102.624173,32.633609],[102.62409,32.633596],[102.623628,32.633527],[102.623071,32.633865],[102.622798,32.634106],[102.622783,32.634119],[102.622692,32.634199],[102.622557,32.634319],[102.622451,32.634349],[102.622082,32.634455],[102.622065,32.634459],[102.62205,32.634464],[102.622031,32.63443],[102.621963,32.634307],[102.621964,32.634275],[102.621986,32.63425],[102.622042,32.63418],[102.622046,32.634175],[102.62207,32.634127],[102.62207,32.634117],[102.622076,32.634029],[102.622103,32.633843],[102.622148,32.633676],[102.622175,32.633609],[102.62218,32.633586],[102.622182,32.633571],[102.622179,32.633564],[102.622172,32.63356],[102.622267,32.633335],[102.62236,32.633117],[102.622331,32.632498],[102.622075,32.632303],[102.622017,32.63226],[102.621846,32.632138],[102.62184,32.632134],[102.621807,32.632111],[102.62168,32.632021],[102.621662,32.632008],[102.621344,32.631783],[102.621257,32.631659],[102.621237,32.63163],[102.621219,32.631604],[102.621124,32.63147],[102.621132,32.63116],[102.621273,32.631113],[102.621303,32.631102],[102.62132,32.631097],[102.621642,32.630987],[102.621737,32.630955],[102.621778,32.630941],[102.622201,32.630485],[102.62213,32.62971],[102.622103,32.629658],[102.622102,32.629657],[102.622088,32.62963],[102.622083,32.629619],[102.622036,32.629529],[102.622026,32.629509],[102.622001,32.629462],[102.621924,32.629313],[102.621826,32.629125],[102.622087,32.628956],[102.622102,32.628946],[102.622158,32.62891],[102.622224,32.628867],[102.622286,32.628878],[102.622343,32.628893],[102.622382,32.628908],[102.622437,32.628921],[102.622477,32.628922],[102.62256,32.628907],[102.622586,32.628892],[102.622627,32.628872],[102.622669,32.628869],[102.622691,32.62887],[102.622737,32.628865],[102.622773,32.628851],[102.622801,32.628841],[102.622837,32.628835],[102.622907,32.628829],[102.622941,32.628825],[102.623011,32.628821],[102.623081,32.628828],[102.62321,32.628868],[102.623298,32.628917],[102.623359,32.628922],[102.623886,32.62897],[102.624528,32.628867],[102.625035,32.628488],[102.625051,32.628476],[102.625078,32.628456],[102.625085,32.628451],[102.625134,32.628414],[102.625142,32.628097],[102.625147,32.627908],[102.625159,32.627448],[102.625101,32.626937],[102.625074,32.626704],[102.625048,32.62648],[102.624968,32.62631],[102.624943,32.626257],[102.624939,32.626249],[102.62493,32.626229],[102.624909,32.626185],[102.624597,32.625522],[102.624576,32.625477],[102.624561,32.625447],[102.624345,32.624987],[102.624313,32.624919],[102.624322,32.624879],[102.6244,32.624549],[102.624463,32.624281],[102.624486,32.624265],[102.624863,32.624273],[102.624876,32.624273],[102.624971,32.624253],[102.625082,32.624253],[102.625161,32.624285],[102.625295,32.624371],[102.625402,32.624458],[102.625533,32.624554],[102.625551,32.624586],[102.625921,32.625222],[102.625926,32.62523],[102.62593,32.625237],[102.625986,32.625333],[102.625994,32.625347],[102.626004,32.625364],[102.626079,32.625494],[102.626268,32.625571],[102.626576,32.625697],[102.626607,32.625687],[102.626673,32.625666],[102.626807,32.625624],[102.62684,32.625532],[102.626845,32.625518],[102.626961,32.625203],[102.626968,32.625182],[102.627102,32.624818],[102.627107,32.624623],[102.627108,32.624593],[102.62711,32.624529],[102.62711,32.624521],[102.627111,32.624469],[102.627112,32.624435],[102.62712,32.624122],[102.626967,32.623588],[102.626957,32.623553],[102.626953,32.623539],[102.626959,32.623484],[102.626971,32.623374],[102.626956,32.623352],[102.626953,32.62333],[102.626951,32.623303],[102.626954,32.623277],[102.626967,32.623244],[102.626988,32.623223],[102.627064,32.623118],[102.627155,32.623061],[102.627307,32.622987],[102.627439,32.622946],[102.627606,32.62301],[102.627689,32.62332],[102.627692,32.623327],[102.627731,32.623476],[102.627745,32.623485],[102.627846,32.623551],[102.627966,32.623628],[102.627983,32.623639],[102.628041,32.6237],[102.628085,32.623727],[102.628151,32.623761],[102.628334,32.623809],[102.628397,32.623817],[102.628444,32.623818],[102.628508,32.623811],[102.628561,32.623796],[102.628588,32.623785],[102.628717,32.623675],[102.628803,32.623708],[102.628935,32.623537],[102.629142,32.62327],[102.6292,32.623195],[102.629267,32.622988],[102.62935,32.622734],[102.629314,32.622685],[102.629246,32.622589],[102.629232,32.62257],[102.629041,32.622303],[102.628513,32.622107],[102.628496,32.622101],[102.628477,32.622093],[102.628362,32.622051],[102.628335,32.622086],[102.628316,32.62211],[102.628308,32.622136],[102.628293,32.62217],[102.628282,32.622188],[102.628255,32.622197],[102.628187,32.622181],[102.628165,32.622161],[102.628151,32.62213],[102.628127,32.622091],[102.628104,32.622059],[102.628054,32.622022],[102.628022,32.622004],[102.627994,32.621985],[102.627975,32.621956],[102.627964,32.621917],[102.627948,32.62186],[102.627935,32.621842],[102.627927,32.621828],[102.627905,32.621813],[102.627891,32.621803],[102.627875,32.62179],[102.627858,32.621771],[102.62785,32.621752],[102.627851,32.621739],[102.627858,32.621721],[102.627867,32.621707],[102.627882,32.621691],[102.627898,32.621668],[102.627901,32.621655],[102.627902,32.62163],[102.627898,32.621606],[102.627881,32.621591],[102.627879,32.621572],[102.627888,32.621522],[102.627909,32.621483],[102.62792,32.621467],[102.627935,32.621453],[102.627948,32.621443],[102.627959,32.621436],[102.627975,32.621437],[102.627984,32.621442],[102.627998,32.621386],[102.628,32.62138],[102.628003,32.621367],[102.628067,32.621125],[102.628506,32.620979],[102.62862,32.620942],[102.628627,32.620947],[102.628634,32.620953],[102.628766,32.621054],[102.628787,32.621071],[102.628932,32.621183],[102.628969,32.621235],[102.629037,32.6213],[102.629104,32.62135],[102.629144,32.621379],[102.629176,32.621402],[102.629193,32.62141],[102.629226,32.621418],[102.629255,32.621422],[102.629277,32.621429],[102.629291,32.621447],[102.629301,32.621469],[102.629337,32.621496],[102.629422,32.621507],[102.629432,32.621508],[102.629701,32.621542],[102.62987,32.62133],[102.629905,32.621285],[102.62992,32.621268],[102.630058,32.621094],[102.630126,32.621009],[102.630125,32.620995],[102.630123,32.620981],[102.630053,32.620312],[102.630051,32.620293],[102.62995,32.620178],[102.629837,32.6201],[102.629772,32.620038],[102.629754,32.619986],[102.629754,32.619921],[102.629819,32.619935],[102.629952,32.61994],[102.630005,32.619941],[102.630003,32.619926],[102.629994,32.619862],[102.629992,32.619847],[102.629977,32.61973],[102.629827,32.619381],[102.629822,32.61937],[102.629809,32.619339],[102.629793,32.619302],[102.629778,32.61931],[102.629764,32.619314],[102.629753,32.619317],[102.629744,32.61932],[102.629733,32.619318],[102.629723,32.619315],[102.629706,32.619314],[102.629696,32.619316],[102.629685,32.619322],[102.629676,32.619332],[102.629667,32.619343],[102.629637,32.619291],[102.62964,32.619268],[102.629706,32.619233],[102.629742,32.619184],[102.629676,32.619029],[102.629823,32.618645],[102.629966,32.618136],[102.629805,32.617975],[102.629496,32.617618],[102.629476,32.617571],[102.629432,32.617523],[102.629352,32.617438],[102.629347,32.617432],[102.628642,32.616651],[102.628652,32.616278],[102.628664,32.616229],[102.628667,32.616217],[102.628674,32.616187],[102.628701,32.616074],[102.628707,32.616047],[102.628718,32.615648],[102.62832,32.615214],[102.628268,32.615004],[102.628255,32.614951],[102.628235,32.614866],[102.62831,32.614415],[102.628316,32.614403],[102.62847,32.614105],[102.628542,32.613967],[102.628628,32.613684],[102.628679,32.613517],[102.628681,32.613503],[102.628698,32.613319],[102.628723,32.613065],[102.628543,32.612715],[102.62836,32.612499],[102.62808,32.612387],[102.627877,32.612463],[102.62785,32.612473],[102.627798,32.612493],[102.627674,32.612539],[102.627626,32.612589],[102.62759,32.612638],[102.62755,32.612693],[102.627505,32.612733],[102.627436,32.612777],[102.627426,32.612784],[102.627376,32.6128],[102.6273,32.612826],[102.62729,32.612828],[102.627266,32.612851],[102.627185,32.612929],[102.626827,32.612922],[102.626681,32.61292],[102.626531,32.612777],[102.626375,32.612629],[102.626329,32.612585],[102.626312,32.612569],[102.626252,32.612512],[102.626302,32.612287],[102.626309,32.612255],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626338,32.61219],[102.626355,32.612185],[102.626406,32.612171],[102.626415,32.612168],[102.62666,32.612101],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.626707,32.612088],[102.626749,32.612076],[102.626761,32.612073],[102.626769,32.612071],[102.626957,32.612019],[102.626965,32.612018],[102.626966,32.612017],[102.626968,32.612017],[102.627017,32.612006],[102.627054,32.611997],[102.627071,32.611993],[102.627149,32.611975],[102.627812,32.611823],[102.628165,32.611536],[102.628317,32.611274],[102.628327,32.611257],[102.628333,32.611245],[102.628363,32.611194],[102.628372,32.611145],[102.628373,32.611142],[102.628373,32.61114],[102.628396,32.611017],[102.628436,32.610796],[102.628258,32.610537],[102.628234,32.610503],[102.628207,32.610464],[102.628194,32.610445],[102.628193,32.610445],[102.628191,32.610445],[102.628151,32.610442],[102.627534,32.610406],[102.627524,32.610411],[102.627463,32.61044],[102.627402,32.61047],[102.627375,32.610483],[102.627056,32.610636],[102.62685,32.610678],[102.626824,32.610684],[102.626729,32.610703],[102.626455,32.610758],[102.626225,32.610588],[102.626208,32.610576],[102.626208,32.610576],[102.626207,32.610575],[102.626181,32.610556],[102.62614,32.610526],[102.626128,32.610517],[102.626103,32.610498],[102.626085,32.610485],[102.6257,32.610144],[102.625316,32.609805],[102.625058,32.609693],[102.624476,32.609443],[102.623824,32.609111],[102.623239,32.608937],[102.622575,32.608741],[102.62212,32.608545],[102.622103,32.608538],[102.622085,32.60853],[102.621798,32.608406],[102.62152,32.608188],[102.621549,32.608132],[102.621653,32.607924],[102.621774,32.607819],[102.621802,32.607795],[102.621809,32.607789],[102.621892,32.607716],[102.621903,32.607706],[102.622072,32.607559],[102.622058,32.60732],[102.622056,32.60729],[102.622056,32.607289],[102.622056,32.607288],[102.62205,32.607188],[102.62205,32.607187],[102.62205,32.607186],[102.622031,32.60718],[102.62203,32.60718],[102.622028,32.607179],[102.621934,32.607151],[102.621904,32.607142],[102.621488,32.607016],[102.620828,32.607003],[102.620723,32.606822],[102.620723,32.606821],[102.620722,32.60682],[102.620718,32.606814],[102.620675,32.606739],[102.620675,32.606739],[102.620674,32.606738],[102.620407,32.606276],[102.620241,32.606042],[102.620065,32.605793],[102.620064,32.605792],[102.620064,32.605791],[102.620058,32.605784],[102.619896,32.605554],[102.619891,32.605547],[102.619869,32.605487],[102.619777,32.605235],[102.619773,32.605222],[102.619765,32.605202],[102.619734,32.605116],[102.619725,32.605092],[102.619722,32.605083],[102.619715,32.605065],[102.619885,32.604681],[102.619936,32.604566],[102.619949,32.604537],[102.620019,32.604272],[102.620037,32.604206],[102.620063,32.604105],[102.620076,32.604059],[102.620081,32.604039],[102.620124,32.603876],[102.620124,32.603875],[102.620124,32.603874],[102.620229,32.603796],[102.620236,32.603791],[102.620353,32.603704],[102.620366,32.603694],[102.620609,32.603513],[102.620611,32.603512],[102.620613,32.60351],[102.620627,32.6035],[102.620713,32.603436],[102.620715,32.603434],[102.620717,32.603433],[102.620927,32.603277],[102.620996,32.603038],[102.620595,32.602738],[102.620164,32.602357],[102.61981,32.601806],[102.619805,32.601797],[102.619784,32.601759],[102.619753,32.601704],[102.619655,32.601528],[102.619599,32.601428],[102.619576,32.601376],[102.619321,32.600799],[102.61933,32.600758],[102.619337,32.600725],[102.61934,32.60071],[102.619352,32.60065],[102.619357,32.600628],[102.619374,32.600544],[102.619385,32.600493],[102.619406,32.600395],[102.619852,32.600247],[102.619875,32.600045],[102.619878,32.600022],[102.619879,32.600015],[102.619889,32.599925],[102.619891,32.599908],[102.619899,32.599843],[102.619776,32.599746],[102.619574,32.599587],[102.619614,32.59954],[102.619624,32.599528],[102.619941,32.599153],[102.619979,32.599108],[102.619988,32.599097],[102.620093,32.598973],[102.62012,32.598941],[102.620145,32.598912],[102.62056,32.598545],[102.620541,32.598506],[102.620541,32.598505],[102.620541,32.598504],[102.620521,32.598461],[102.620521,32.598461],[102.62052,32.598459],[102.620462,32.598333],[102.620451,32.598311],[102.620386,32.598168],[102.620143,32.597602],[102.620125,32.597578],[102.62011,32.597558],[102.620046,32.59747],[102.620002,32.597411],[102.619648,32.596927],[102.619609,32.596874],[102.619548,32.59682],[102.61935,32.596645],[102.619282,32.596584],[102.619244,32.596551],[102.619213,32.596524],[102.618953,32.596433],[102.618919,32.596421],[102.618556,32.596293],[102.618557,32.596287],[102.618602,32.595951],[102.618908,32.595739],[102.61891,32.595738],[102.618912,32.595736],[102.618947,32.595711],[102.618996,32.595678],[102.619023,32.595659],[102.619127,32.595587],[102.619523,32.595354],[102.619539,32.595345],[102.619564,32.595186],[102.619571,32.595143],[102.619583,32.595066],[102.619583,32.595065],[102.619583,32.595065],[102.619536,32.59498],[102.619482,32.594884],[102.619447,32.594821],[102.619408,32.59475],[102.618823,32.594552],[102.618056,32.594319],[102.617771,32.593939],[102.617563,32.593467],[102.617866,32.59313],[102.618143,32.593025],[102.618246,32.592986],[102.618389,32.592931],[102.61849,32.592893],[102.618648,32.592833],[102.619144,32.592549],[102.619065,32.592209],[102.618865,32.592067],[102.618629,32.5919],[102.61797,32.591624],[102.617462,32.591174],[102.617441,32.591156],[102.617358,32.591082],[102.617339,32.591066],[102.617276,32.59101],[102.617265,32.590998],[102.617152,32.590885],[102.616627,32.590359],[102.61662,32.590286],[102.616616,32.590252],[102.616607,32.59016],[102.6166,32.5901],[102.616592,32.59002],[102.616779,32.589647],[102.616972,32.589585],[102.616999,32.589576],[102.617074,32.589552],[102.617122,32.589536],[102.617158,32.589524],[102.617546,32.589399],[102.617561,32.589394],[102.617608,32.589378],[102.617661,32.589361],[102.617676,32.589356],[102.617765,32.589328],[102.617815,32.589103],[102.617467,32.588833],[102.617208,32.588771],[102.617207,32.58877],[102.617206,32.58877],[102.617029,32.588727],[102.616999,32.58872],[102.616998,32.588719],[102.616997,32.588719],[102.616629,32.58863],[102.616564,32.588505],[102.616522,32.588425],[102.616519,32.588418],[102.616442,32.58827],[102.616396,32.588181],[102.616333,32.58806],[102.616166,32.587681],[102.616241,32.587512],[102.616241,32.587512],[102.616242,32.587511],[102.616247,32.587499],[102.616253,32.587485],[102.616298,32.587384],[102.616305,32.58737],[102.616342,32.587288],[102.616449,32.587048],[102.616514,32.586694],[102.616534,32.586583],[102.616552,32.586486],[102.616519,32.586401],[102.616478,32.586297],[102.616352,32.585974],[102.616344,32.585956],[102.616338,32.585925],[102.61628,32.585623],[102.616278,32.585615],[102.616227,32.585352],[102.616427,32.584529],[102.616407,32.584412],[102.616404,32.584397],[102.616401,32.584379],[102.616389,32.584305],[102.616384,32.584277],[102.616381,32.584261],[102.616365,32.584163],[102.616311,32.58385],[102.616342,32.583623],[102.616346,32.583592],[102.616351,32.583557],[102.61636,32.583488],[102.616361,32.583478],[102.616362,32.583477],[102.616362,32.583475],[102.616367,32.583438],[102.6166,32.583029],[102.617226,32.582808],[102.617249,32.582799],[102.617406,32.582744],[102.617414,32.582741],[102.617522,32.582697],[102.617679,32.582635],[102.617765,32.5826],[102.617767,32.582521],[102.617768,32.582485],[102.61777,32.582433],[102.617774,32.582262],[102.61777,32.582225],[102.617747,32.582039],[102.617738,32.581961],[102.617473,32.581881],[102.617388,32.581793],[102.61735,32.581753],[102.617246,32.581645],[102.617214,32.581612],[102.61721,32.581597],[102.617205,32.581575],[102.617094,32.581122],[102.617281,32.580749],[102.617533,32.580637],[102.617559,32.580626],[102.617559,32.580625],[102.617559,32.580625],[102.617655,32.580583],[102.617675,32.580574],[102.617912,32.580468],[102.61809,32.580389],[102.618139,32.580202],[102.618191,32.57994],[102.618089,32.579725],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618065,32.579674],[102.617943,32.579616],[102.6179,32.579595],[102.617835,32.579564],[102.617495,32.5794],[102.617244,32.578794],[102.617266,32.577979],[102.617266,32.577968],[102.617264,32.577963],[102.617158,32.577697],[102.617135,32.577638],[102.617007,32.57732],[102.616933,32.577135],[102.616962,32.576045],[102.617024,32.57537],[102.617128,32.574808],[102.617546,32.574269],[102.617547,32.574268],[102.617547,32.574268],[102.617564,32.574246],[102.617588,32.574215],[102.617617,32.574197],[102.617617,32.574197],[102.617618,32.574196],[102.617779,32.574093],[102.618041,32.573927],[102.618086,32.573899],[102.618204,32.573824],[102.618213,32.573818],[102.618213,32.573818],[102.618214,32.573818],[102.61822,32.573814],[102.618232,32.573802],[102.618447,32.573593],[102.618411,32.573291],[102.618068,32.572834],[102.617373,32.572257],[102.616982,32.571949],[102.617039,32.571461],[102.617046,32.571433],[102.617127,32.571108],[102.617188,32.570863],[102.617347,32.569889],[102.617331,32.56903],[102.61733,32.569001],[102.617329,32.568932],[102.617329,32.568911],[102.617303,32.568825],[102.617237,32.568605],[102.617235,32.568598],[102.617211,32.56852],[102.617125,32.568231],[102.616478,32.567504],[102.616138,32.567062],[102.616119,32.567038],[102.616069,32.566972],[102.616059,32.56696],[102.615962,32.566833],[102.61592,32.56678],[102.615901,32.566006],[102.6159,32.565956],[102.615899,32.565915],[102.615988,32.565587],[102.616011,32.565504],[102.616144,32.565017],[102.616205,32.564417],[102.616316,32.563555],[102.616504,32.563183],[102.616523,32.563175],[102.616705,32.563109],[102.617086,32.562968],[102.617187,32.562887],[102.617223,32.562857],[102.617449,32.562674],[102.617455,32.562449],[102.617435,32.562421],[102.617405,32.562378],[102.617371,32.562329],[102.61737,32.562328],[102.617369,32.562326],[102.617354,32.562305],[102.617228,32.562125],[102.617148,32.56201],[102.617147,32.56201],[102.617028,32.561839],[102.616994,32.561823],[102.616353,32.561508],[102.616302,32.561483],[102.616296,32.56148],[102.616151,32.561409],[102.615762,32.561012],[102.615734,32.560985],[102.615703,32.560952],[102.615287,32.560529],[102.615034,32.560035],[102.614831,32.559317],[102.614545,32.558372],[102.61425,32.557803],[102.614135,32.557124],[102.614149,32.556561],[102.614332,32.556062],[102.614348,32.556017],[102.614365,32.555971],[102.614384,32.55592],[102.614437,32.555777],[102.614949,32.554847],[102.615821,32.553774],[102.616057,32.553252],[102.616033,32.552462],[102.616357,32.55198],[102.616737,32.552072],[102.617168,32.552177],[102.617194,32.552183],[102.618168,32.552277],[102.61853,32.552021],[102.618628,32.551647],[102.618283,32.551302],[102.617712,32.551066],[102.617631,32.550764],[102.617824,32.550203],[102.618076,32.549043],[102.618233,32.548144],[102.61838,32.547621],[102.618569,32.547173],[102.619383,32.546587],[102.619578,32.54663],[102.619616,32.546638],[102.619653,32.546646],[102.619825,32.546684],[102.619927,32.546707],[102.620133,32.546752],[102.620412,32.546688],[102.62053,32.546661],[102.620532,32.546661],[102.620533,32.546661],[102.620648,32.546634],[102.620664,32.54663],[102.620892,32.546578],[102.621171,32.546301],[102.621211,32.546261],[102.621212,32.54626],[102.621213,32.546259],[102.621333,32.546139],[102.621385,32.546088],[102.62146,32.546013],[102.621485,32.545988],[102.621511,32.545969],[102.621587,32.545914],[102.621648,32.545869],[102.6217,32.545832],[102.621734,32.545806],[102.62239,32.545329],[102.622941,32.544625],[102.624279,32.54435],[102.624451,32.544246],[102.624691,32.5441],[102.624692,32.544099],[102.624693,32.544098],[102.624695,32.544097],[102.624776,32.544049],[102.625001,32.543912],[102.62528,32.54377],[102.62531,32.543755],[102.625351,32.543734],[102.62537,32.543724],[102.625855,32.543477],[102.62613,32.543144],[102.626329,32.543051],[102.626403,32.543016],[102.626426,32.543006],[102.626593,32.542927],[102.62662,32.542915],[102.626669,32.542891],[102.626966,32.542985],[102.627813,32.543251],[102.628128,32.543169],[102.628567,32.543054],[102.628618,32.543041],[102.628621,32.543023],[102.628655,32.54286],[102.628685,32.542719],[102.628705,32.542621],[102.628708,32.54261],[102.628719,32.542554],[102.629047,32.542384],[102.629104,32.542355],[102.629114,32.54235],[102.629207,32.542302],[102.62922,32.542295],[102.629265,32.542271],[102.629349,32.542228],[102.629441,32.541815],[102.62945,32.541779],[102.629508,32.54165],[102.629517,32.541628],[102.629563,32.541528],[102.629571,32.54151],[102.629664,32.541304],[102.629685,32.541257],[102.629861,32.54129],[102.62988,32.541294],[102.629969,32.541311],[102.629999,32.541316],[102.630568,32.541424],[102.630756,32.541421],[102.630765,32.541421],[102.630765,32.541421],[102.630813,32.54142],[102.630881,32.541419],[102.630883,32.541419],[102.630884,32.541419],[102.630886,32.541419],[102.630901,32.541419],[102.631635,32.541408],[102.631678,32.541407],[102.631678,32.541408],[102.631678,32.541408],[102.63176,32.541581],[102.631836,32.54174],[102.631845,32.541759],[102.63193,32.541938],[102.631892,32.542158],[102.631889,32.542171],[102.631869,32.542291],[102.631842,32.542444],[102.63184,32.542455],[102.631837,32.542473],[102.631826,32.542538],[102.631933,32.54269],[102.631934,32.542692],[102.631935,32.542694],[102.631989,32.54277],[102.632039,32.542842],[102.63213,32.542858],[102.632132,32.542858],[102.632135,32.542859],[102.632217,32.542873],[102.632235,32.542876],[102.632525,32.542927],[102.633512,32.542532],[102.634104,32.541942],[102.634044,32.541696],[102.634043,32.541694],[102.634043,32.541692],[102.634028,32.54163],[102.634025,32.541618],[102.634022,32.541607],[102.634002,32.541525],[102.633984,32.541451],[102.633966,32.541389],[102.633933,32.541275],[102.633928,32.541256],[102.633928,32.541255],[102.633902,32.541166],[102.633902,32.541164],[102.633902,32.541164],[102.633821,32.540884],[102.633956,32.5405],[102.633965,32.540473],[102.634144,32.540353],[102.634236,32.540291],[102.634704,32.540323],[102.634727,32.540324],[102.634989,32.540342],[102.635121,32.540338],[102.635162,32.540337],[102.635744,32.540319],[102.635927,32.540097],[102.635864,32.539923],[102.635849,32.539881],[102.635805,32.539763],[102.635803,32.539756],[102.635773,32.539748],[102.635763,32.539745],[102.635296,32.539612],[102.635234,32.539594],[102.635224,32.539591],[102.635099,32.539555],[102.635012,32.539569],[102.634853,32.539595],[102.634502,32.539652],[102.634475,32.539656],[102.634465,32.539644],[102.634336,32.539484],[102.634332,32.539479],[102.63426,32.539389],[102.63426,32.539366],[102.634261,32.539351],[102.634263,32.539258],[102.634267,32.539116],[102.634268,32.539088],[102.634269,32.539088],[102.63427,32.539088],[102.634369,32.539048],[102.634383,32.539042],[102.634716,32.538909],[102.635295,32.538845],[102.63535,32.538763],[102.635439,32.538632],[102.635443,32.538626],[102.635512,32.538524],[102.635523,32.538508],[102.635572,32.538437],[102.635849,32.537991],[102.636312,32.538],[102.636457,32.538002],[102.636483,32.538003],[102.636515,32.538003],[102.636583,32.538007],[102.636613,32.538009],[102.637073,32.538034],[102.637093,32.538035],[102.637269,32.538044],[102.637285,32.538045],[102.637513,32.538057],[102.637578,32.538061],[102.637599,32.538036],[102.637606,32.538026],[102.637616,32.538015],[102.637676,32.537942],[102.637682,32.537935],[102.637723,32.537886],[102.637853,32.537728],[102.637863,32.537711],[102.637927,32.537602],[102.637977,32.537517],[102.637999,32.537479],[102.638224,32.537096],[102.638283,32.537056],[102.638375,32.536993],[102.638376,32.536992],[102.638376,32.536992],[102.638493,32.536912],[102.638494,32.536911],[102.638505,32.536904],[102.638572,32.536858],[102.638586,32.536848],[102.638587,32.536848],[102.638587,32.536847],[102.638603,32.536836],[102.638676,32.536787],[102.638761,32.536728],[102.638812,32.536694],[102.638913,32.536207],[102.639317,32.536027],[102.639376,32.536028],[102.639527,32.536031],[102.63956,32.536031],[102.639724,32.536034],[102.639752,32.536035],[102.64012,32.536042],[102.64016,32.536042],[102.640215,32.536023],[102.640236,32.536015],[102.640397,32.535959],[102.640427,32.535948],[102.640563,32.5359],[102.640747,32.53564],[102.640694,32.535356],[102.640675,32.535254],[102.640672,32.535242],[102.640669,32.535225],[102.640967,32.535253],[102.641096,32.535265],[102.641211,32.535275],[102.641281,32.535282],[102.641299,32.535284],[102.641687,32.535319],[102.641735,32.535332],[102.641818,32.535354],[102.641818,32.535354],[102.641925,32.535382],[102.642035,32.535411],[102.642613,32.535562],[102.642891,32.535593],[102.642909,32.535594],[102.642943,32.535598],[102.643001,32.535604],[102.643002,32.535605],[102.643005,32.535605],[102.643453,32.535653],[102.643861,32.535323],[102.643814,32.535071],[102.643805,32.535024],[102.643783,32.534908],[102.643747,32.534607],[102.643747,32.534607],[102.643747,32.534606],[102.643595,32.534421],[102.643403,32.534187],[102.643167,32.534021],[102.643052,32.533827],[102.643625,32.533382],[102.643938,32.533334],[102.64408,32.533313],[102.64409,32.533311],[102.644091,32.533311],[102.644196,32.533295],[102.644196,32.533295],[102.644197,32.533295],[102.644393,32.533265],[102.64468,32.53348],[102.644681,32.53348],[102.644681,32.53348],[102.644682,32.533481],[102.644706,32.533494],[102.644769,32.533529],[102.644796,32.533544],[102.644856,32.533577],[102.645269,32.533806],[102.645627,32.533787],[102.64564,32.533307],[102.645557,32.533128],[102.645509,32.533089],[102.645294,32.532915],[102.645046,32.532714],[102.64499,32.532668],[102.645266,32.532445],[102.645275,32.532438],[102.645286,32.532429],[102.645329,32.532404],[102.645358,32.532387],[102.645388,32.532371],[102.645453,32.532333],[102.646118,32.531954],[102.646955,32.531316],[102.647929,32.530966],[102.649002,32.530496],[102.649638,32.53014],[102.649875,32.530032],[102.650146,32.529907],[102.650175,32.529894],[102.650259,32.529855],[102.650269,32.52985],[102.650322,32.529826],[102.650605,32.530077],[102.650546,32.530877],[102.650545,32.530898],[102.650536,32.531019],[102.650535,32.531031],[102.650534,32.531043],[102.65053,32.531097],[102.650693,32.531584],[102.650709,32.531631],[102.651536,32.531764],[102.651862,32.531816],[102.653072,32.531635],[102.653643,32.53144],[102.653944,32.531337],[102.654094,32.531286],[102.654879,32.53081],[102.655517,32.529994],[102.655534,32.52999],[102.655662,32.529965],[102.655669,32.529963],[102.656314,32.529834],[102.65641,32.529815],[102.656565,32.529784],[102.657123,32.529925],[102.65713,32.529926],[102.657237,32.529953],[102.657244,32.529955],[102.657263,32.52996],[102.657409,32.529996],[102.658259,32.529947],[102.659581,32.529579],[102.659938,32.529226],[102.659987,32.528834],[102.659803,32.528471],[102.659902,32.528379],[102.659942,32.528343],[102.659953,32.528333],[102.66003,32.528261],[102.660043,32.528249],[102.660071,32.528223],[102.66008,32.528215],[102.660501,32.528353],[102.660548,32.528369],[102.660566,32.528375],[102.660672,32.52841],[102.66068,32.528412],[102.660698,32.528418],[102.660922,32.528492],[102.66135,32.528369],[102.661704,32.528114],[102.661943,32.527824],[102.66307,32.527518],[102.664161,32.527146],[102.664518,32.52676],[102.664905,32.526735],[102.665566,32.526551],[102.665926,32.526067],[102.666055,32.525546],[102.666295,32.525224],[102.666917,32.525072],[102.66728,32.524732],[102.667395,32.524624],[102.6674,32.524619],[102.667431,32.524591],[102.667477,32.524574],[102.667492,32.524569],[102.66786,32.524435],[102.667951,32.524547],[102.667961,32.524558],[102.667961,32.524559],[102.667961,32.524559],[102.668012,32.524621],[102.668035,32.52465],[102.668065,32.524686],[102.668159,32.5248],[102.668617,32.525005],[102.669042,32.52498],[102.66932,32.524691],[102.66941,32.524202],[102.669075,32.523706],[102.668774,32.523406],[102.669132,32.522987],[102.669294,32.522965],[102.669367,32.522955],[102.669399,32.522951],[102.6694,32.522951],[102.669403,32.522951],[102.66951,32.522936],[102.669513,32.522936],[102.669515,32.522935],[102.669558,32.52293],[102.669892,32.523459],[102.670378,32.524057],[102.670431,32.524103],[102.670432,32.524104],[102.670432,32.524104],[102.670492,32.524157],[102.670513,32.524176],[102.670528,32.524189],[102.670553,32.524212],[102.670793,32.524424],[102.670986,32.524491],[102.671291,32.524597],[102.671554,32.524486],[102.67211,32.524252],[102.672697,32.523936],[102.673671,32.523595],[102.673758,32.523236],[102.673403,32.523078],[102.673382,32.523068],[102.673251,32.52301],[102.673237,32.523004],[102.673223,32.522998],[102.673136,32.52287],[102.673439,32.522784],[102.673464,32.522776],[102.67358,32.522743],[102.673602,32.522737],[102.67383,32.522671],[102.675023,32.522587],[102.676171,32.521759],[102.677006,32.520979],[102.677587,32.520299],[102.677981,32.520142],[102.678163,32.520069],[102.678266,32.520027],[102.678979,32.519741],[102.679013,32.519669],[102.679067,32.519549],[102.679245,32.519163],[102.679367,32.518942],[102.679507,32.51869],[102.680065,32.518912],[102.680557,32.519293],[102.680821,32.518767],[102.680585,32.518179],[102.680667,32.517438],[102.680855,32.517285],[102.680882,32.517263],[102.680957,32.517203],[102.680962,32.517198],[102.681017,32.517154],[102.681022,32.51715],[102.681434,32.516815],[102.681934,32.516877],[102.681933,32.516894],[102.681933,32.516899],[102.681929,32.517076],[102.681926,32.51717],[102.681919,32.517461],[102.682352,32.517681],[102.682923,32.517373],[102.68311,32.517089],[102.68351,32.516482],[102.684625,32.515951],[102.684905,32.515818],[102.685788,32.515569],[102.685954,32.515649],[102.68597,32.515657],[102.686083,32.515712],[102.686095,32.515718],[102.686179,32.515759],[102.686468,32.5159],[102.686606,32.51631],[102.686613,32.516331],[102.686625,32.516366],[102.686651,32.516445],[102.686655,32.516456],[102.686671,32.516504],[102.686701,32.516594],[102.687266,32.516551],[102.687724,32.515764],[102.688046,32.515451],[102.688716,32.51535],[102.689303,32.515262],[102.690046,32.514998],[102.690441,32.514858],[102.69077,32.514228],[102.691602,32.513553],[102.691931,32.513438],[102.692448,32.513257],[102.692613,32.5132],[102.692987,32.51326],[102.693362,32.513267],[102.693903,32.512961],[102.693915,32.512954],[102.693926,32.512948],[102.693926,32.512948],[102.693927,32.512948],[102.693998,32.512907],[102.694022,32.512914],[102.694049,32.512923],[102.694386,32.513025],[102.694498,32.513059],[102.694515,32.513064],[102.694688,32.513116],[102.69471,32.513123],[102.694744,32.513133],[102.694769,32.513134],[102.695495,32.513147],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695617,32.513298],[102.695663,32.513356],[102.695699,32.513401],[102.695798,32.513524],[102.695492,32.513878],[102.695447,32.513931],[102.695347,32.514046],[102.695347,32.514047],[102.695347,32.514047],[102.695344,32.514065],[102.695342,32.514081],[102.695268,32.514682],[102.695765,32.51485],[102.696356,32.514778],[102.696545,32.514754],[102.696895,32.514711],[102.697061,32.514684],[102.697136,32.514672],[102.697181,32.514664],[102.698342,32.514473],[102.699918,32.514077],[102.700242,32.513658],[102.700255,32.513128],[102.700016,32.512699],[102.699908,32.512007],[102.70036,32.511485],[102.701493,32.51124],[102.701513,32.511239],[102.70153,32.511237],[102.70162,32.51123],[102.701654,32.511227],[102.701667,32.511226],[102.702383,32.511168],[102.702384,32.511168],[102.702386,32.511168],[102.702421,32.511165],[102.702484,32.51116],[102.702492,32.511159],[102.70256,32.511154],[102.703558,32.511331],[102.704126,32.511129],[102.704323,32.510627],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704394,32.510444],[102.704444,32.51044],[102.704482,32.510437],[102.704959,32.510401],[102.705316,32.511151],[102.705536,32.511604],[102.70556,32.511652],[102.705612,32.51176],[102.705622,32.511781],[102.705622,32.511781],[102.705623,32.511782],[102.705623,32.511782],[102.705732,32.512007],[102.706044,32.512066],[102.706493,32.51165],[102.706572,32.511015],[102.706529,32.510218],[102.706532,32.510217],[102.706534,32.510216],[102.70656,32.510204],[102.706659,32.51016],[102.706669,32.510155],[102.70694,32.510034],[102.7071,32.509963],[102.707407,32.510181],[102.707499,32.510238],[102.707532,32.510258],[102.707622,32.510314],[102.70764,32.510325],[102.708024,32.510563],[102.708224,32.510567],[102.708462,32.510571],[102.709095,32.510318],[102.709417,32.509952],[102.709475,32.50948],[102.709487,32.509387],[102.70949,32.509363],[102.709494,32.50933],[102.709496,32.509317],[102.709529,32.509284],[102.709817,32.509004],[102.709887,32.509029],[102.709954,32.509053],[102.709979,32.509063],[102.710039,32.509084],[102.710063,32.509093],[102.710127,32.509116],[102.710493,32.509494],[102.710806,32.5095],[102.710882,32.50897],[102.71083,32.508545],[102.710504,32.50832],[102.710292,32.508174],[102.71031,32.508154],[102.710723,32.508037],[102.71116,32.507914],[102.711915,32.507729],[102.711916,32.507729],[102.711917,32.507729],[102.711945,32.507722],[102.711979,32.507714],[102.712118,32.507679],[102.712168,32.507667],[102.712609,32.507569],[102.712821,32.507706],[102.712847,32.507723],[102.712937,32.507781],[102.713025,32.507837],[102.713047,32.507852],[102.713073,32.507868],[102.713074,32.507869],[102.713075,32.507869],[102.713287,32.508006],[102.713785,32.508121],[102.714349,32.508078],[102.714991,32.507453],[102.715568,32.506933],[102.715631,32.506963],[102.715692,32.506992],[102.71583,32.507058],[102.715862,32.507073],[102.715942,32.507111],[102.716046,32.50716],[102.71622,32.507243],[102.71638,32.507319],[102.716496,32.507374],[102.7166,32.507404],[102.716857,32.507477],[102.716892,32.507487],[102.717491,32.507658],[102.718252,32.5073],[102.718639,32.50683],[102.718745,32.50632],[102.718782,32.506142],[102.718915,32.505826],[102.719185,32.505702],[102.71919,32.5057],[102.719204,32.505693],[102.71921,32.505691],[102.719359,32.505622],[102.719934,32.505796],[102.719977,32.505809],[102.720006,32.505818],[102.720007,32.505818],[102.720007,32.505818],[102.720017,32.505821],[102.720048,32.505831],[102.720151,32.505862],[102.720291,32.505904],[102.720993,32.505386],[102.721051,32.505351],[102.721117,32.505311],[102.721208,32.505256],[102.721208,32.505255],[102.72121,32.505255],[102.721334,32.505179],[102.721414,32.50513],[102.721438,32.505116],[102.721542,32.505053],[102.721873,32.504851],[102.721875,32.50485],[102.721877,32.504849],[102.722037,32.504752],[102.722519,32.504459],[102.723365,32.503728],[102.723691,32.503446],[102.723805,32.503348],[102.723817,32.503337],[102.723842,32.503315],[102.723843,32.503314],[102.723844,32.503314],[102.72393,32.50324],[102.724398,32.502835],[102.724504,32.502743],[102.726435,32.500656],[102.727914,32.49909],[102.728166,32.498816],[102.728367,32.498597],[102.728395,32.498566],[102.728471,32.498483],[102.728485,32.498468],[102.728492,32.49846],[102.728511,32.49844],[102.72856,32.498386],[102.728629,32.498311],[102.728646,32.498293],[102.729782,32.497054],[102.730612,32.495811],[102.731148,32.495009],[102.732184,32.493648],[102.733208,32.492503],[102.734052,32.491559],[102.736673,32.48943],[102.738793,32.487293],[102.740527,32.485544],[102.740655,32.485416],[102.742389,32.483696],[102.743611,32.482391],[102.745918,32.480256],[102.746753,32.479422],[102.748555,32.477438],[102.750094,32.47598],[102.750684,32.475398],[102.750992,32.475094],[102.752602,32.473318],[102.754269,32.471703],[102.755668,32.470826],[102.757623,32.470277],[102.760208,32.469527],[102.761659,32.469075],[102.762228,32.468925],[102.763549,32.468578],[102.764686,32.468174],[102.766968,32.467029],[102.767291,32.466858],[102.767291,32.466858],[102.767291,32.466858],[102.767501,32.46702],[102.76771,32.467181],[102.768054,32.467329],[102.768399,32.467477],[102.768643,32.467581],[102.768995,32.467731],[102.769195,32.46781],[102.76928,32.467902],[102.769409,32.467974],[102.769609,32.468024],[102.769837,32.468124],[102.769894,32.468338],[102.769909,32.468588],[102.76998,32.468709],[102.770058,32.46883],[102.77008,32.468973],[102.770101,32.469405],[102.770123,32.469837],[102.770116,32.470037],[102.769923,32.470372],[102.769959,32.470629],[102.770044,32.471],[102.770098,32.471089],[102.770242,32.471326],[102.770387,32.471564],[102.77058,32.4718],[102.770672,32.472078],[102.770779,32.472278],[102.770979,32.472535],[102.771022,32.47261],[102.771186,32.472892],[102.771222,32.473071],[102.771251,32.473328],[102.771279,32.473585],[102.771251,32.47397],[102.771183,32.474402],[102.771115,32.474834],[102.771086,32.475159],[102.771058,32.475483],[102.770919,32.475847],[102.770779,32.476211],[102.770669,32.476579],[102.770558,32.476947],[102.770572,32.477089],[102.770658,32.477168],[102.770787,32.477254],[102.771097,32.477325],[102.771408,32.477396],[102.771734,32.477444],[102.77206,32.477492],[102.772236,32.477518],[102.772525,32.477625],[102.772814,32.477732],[102.773092,32.477832],[102.773371,32.477932],[102.773799,32.478053],[102.774049,32.478203],[102.774299,32.478353],[102.774391,32.478406],[102.774598,32.478524],[102.774798,32.478524],[102.775195,32.478453],[102.775591,32.478382],[102.775912,32.478336],[102.776233,32.478291],[102.776554,32.478246],[102.776933,32.478224],[102.777222,32.478142],[102.777511,32.47806],[102.777729,32.477946],[102.777946,32.477832],[102.778268,32.477632],[102.778632,32.477596],[102.77886,32.477582],[102.779146,32.47755],[102.779431,32.477518],[102.77971,32.477511],[102.779988,32.477504],[102.780213,32.477507],[102.780438,32.477511],[102.780677,32.477589],[102.780916,32.477668],[102.781166,32.477775],[102.781416,32.477882],[102.781698,32.47797],[102.781981,32.478059],[102.782008,32.478067],[102.782312,32.47811],[102.782615,32.478153],[102.782847,32.478192],[102.783079,32.478232],[102.783222,32.47821],[102.783621,32.478082],[102.783832,32.477971],[102.784043,32.47786],[102.784235,32.477714],[102.784428,32.477568],[102.784709,32.477406],[102.78499,32.477244],[102.78527,32.477082],[102.785531,32.477064],[102.785791,32.477047],[102.78617,32.477068],[102.786548,32.477089],[102.786934,32.477125],[102.787276,32.477318],[102.787612,32.477549],[102.787947,32.47778],[102.788283,32.47801],[102.788603,32.478216],[102.788922,32.478422],[102.789004,32.478474],[102.789289,32.478724],[102.789575,32.478974],[102.789867,32.479224],[102.790067,32.479395],[102.790126,32.479539],[102.790146,32.479588],[102.790274,32.479802],[102.790396,32.479959],[102.790681,32.480177],[102.790967,32.480395],[102.791202,32.480602],[102.791356,32.480826],[102.791509,32.481051],[102.791756,32.481397],[102.792002,32.481744],[102.79208,32.481886],[102.79208,32.482001],[102.791995,32.482101],[102.791659,32.482393],[102.791496,32.482604],[102.791388,32.482743],[102.791238,32.482957],[102.791152,32.483071],[102.790995,32.483107],[102.790767,32.483164],[102.790738,32.483171],[102.79036,32.483257],[102.790232,32.483321],[102.790053,32.483507],[102.789875,32.483757],[102.789718,32.483935],[102.789603,32.484042],[102.789518,32.484214],[102.789511,32.484328],[102.789546,32.484553],[102.789582,32.484778],[102.789482,32.484985],[102.78935,32.48517],[102.789218,32.485356],[102.789218,32.485356],[102.789217,32.485357],[102.789056,32.485639],[102.788989,32.485755],[102.788911,32.486051],[102.788832,32.486346],[102.788754,32.486641],[102.788691,32.486903],[102.788628,32.487166],[102.788568,32.487412],[102.788472,32.487811],[102.788376,32.488211],[102.788276,32.488514],[102.788176,32.488818],[102.788088,32.488952],[102.787957,32.489153],[102.787826,32.489353],[102.78764,32.489639],[102.787569,32.489856],[102.787498,32.490074],[102.787492,32.490101],[102.787405,32.490503],[102.787405,32.490838],[102.787405,32.491174],[102.787405,32.491438],[102.787365,32.491662],[102.787326,32.491887],[102.787324,32.491912],[102.787298,32.492151],[102.787291,32.492294],[102.787233,32.492551],[102.787169,32.492851],[102.787151,32.493276],[102.787133,32.4937],[102.787098,32.494122],[102.786976,32.494329],[102.786898,32.494557],[102.786877,32.494871],[102.786877,32.495128],[102.786905,32.495407],[102.786869,32.495564],[102.786812,32.495655],[102.786748,32.495756],[102.78647,32.495949],[102.786248,32.496045],[102.786027,32.496142],[102.785767,32.496164],[102.785692,32.49617],[102.78527,32.496206],[102.784963,32.496277],[102.784656,32.496349],[102.78435,32.49642],[102.78395,32.496531],[102.78355,32.496642],[102.783186,32.496763],[102.782912,32.496903],[102.782639,32.497044],[102.782365,32.497184],[102.782058,32.497373],[102.781751,32.497562],[102.781394,32.497805],[102.781037,32.498048],[102.780843,32.498153],[102.780558,32.498307],[102.780274,32.498462],[102.780071,32.498557],[102.779724,32.498719],[102.779453,32.498883],[102.779181,32.498919],[102.778953,32.498947],[102.778724,32.498976],[102.778697,32.498981],[102.778654,32.498989],[102.778408,32.499036],[102.778161,32.499083],[102.777889,32.499165],[102.777618,32.499247],[102.777261,32.49934],[102.776947,32.499554],[102.776769,32.499761],[102.776583,32.500161],[102.776441,32.50041],[102.776347,32.500575],[102.776069,32.500917],[102.775849,32.501231],[102.77563,32.501546],[102.77541,32.50186],[102.775191,32.502174],[102.774984,32.502395],[102.774777,32.502616],[102.774584,32.502859],[102.774391,32.503102],[102.774263,32.503237],[102.774042,32.503316],[102.773795,32.503395],[102.773548,32.503474],[102.77337,32.503531],[102.773085,32.503623],[102.772735,32.503773],[102.772386,32.503923],[102.772022,32.504105],[102.771657,32.504287],[102.7714,32.504447],[102.771144,32.504608],[102.770858,32.504851],[102.770826,32.504881],[102.770587,32.505108],[102.77043,32.505436],[102.770339,32.505684],[102.77022,32.506009],[102.770101,32.506335],[102.769994,32.506564],[102.769887,32.506792],[102.769616,32.507056],[102.769345,32.507321],[102.76906,32.507473],[102.768775,32.507626],[102.768545,32.507749],[102.768367,32.507892],[102.768317,32.507956],[102.768295,32.508042],[102.768324,32.508077],[102.768663,32.508231],[102.769002,32.508384],[102.769327,32.508498],[102.769652,32.508613],[102.77003,32.508727],[102.770255,32.508837],[102.77048,32.508948],[102.770815,32.509087],[102.771151,32.509226],[102.771536,32.509419],[102.771779,32.509562],[102.772067,32.509793],[102.772355,32.510024],[102.772643,32.510254],[102.772821,32.510472],[102.772999,32.51069],[102.773185,32.51109],[102.773264,32.511439],[102.773342,32.511789],[102.773406,32.512125],[102.773571,32.51246],[102.773689,32.512655],[102.773848,32.512914],[102.774006,32.513174],[102.774056,32.513506],[102.774106,32.513838],[102.77422,32.514148],[102.774334,32.514459],[102.774347,32.514488],[102.774448,32.514713],[102.774549,32.514937],[102.774602,32.515233],[102.774656,32.51553],[102.774756,32.515851],[102.774855,32.516079],[102.774955,32.516308],[102.775162,32.516636],[102.775344,32.5169],[102.775526,32.517164],[102.775634,32.517371],[102.775741,32.517578],[102.775791,32.517914],[102.775813,32.518135],[102.775841,32.518414],[102.775883,32.518671],[102.775926,32.518928],[102.776048,32.519263],[102.776172,32.519455],[102.776297,32.519647],[102.776326,32.519691],[102.776526,32.51992],[102.776597,32.520155],[102.776612,32.520498],[102.776597,32.520759],[102.776583,32.521019],[102.776644,32.521362],[102.776704,32.521704],[102.776751,32.521947],[102.776797,32.52219],[102.776859,32.522497],[102.776921,32.522804],[102.776983,32.523111],[102.777004,32.52341],[102.776963,32.523703],[102.776922,32.523997],[102.776881,32.524289],[102.77684,32.524581],[102.776729,32.524845],[102.776619,32.525109],[102.776612,32.525288],[102.776647,32.525473],[102.776738,32.525614],[102.776917,32.525891],[102.777096,32.526168],[102.777275,32.526444],[102.77749,32.526769],[102.777704,32.527094],[102.777875,32.527222],[102.777996,32.527279],[102.778325,32.527272],[102.778675,32.527229],[102.778903,32.527215],[102.779109,32.527215],[102.779153,32.527215],[102.77936,32.527258],[102.779667,32.527429],[102.779912,32.52761],[102.780168,32.527798],[102.780423,32.527986],[102.780766,32.528161],[102.781109,32.528336],[102.781401,32.528557],[102.781544,32.528757],[102.781798,32.528796],[102.782051,32.528836],[102.782322,32.528832],[102.782593,32.528828],[102.782915,32.528768],[102.783236,32.528707],[102.783644,32.528625],[102.783871,32.528579],[102.784292,32.528543],[102.784477,32.528554],[102.784792,32.528571],[102.785188,32.5285],[102.785584,32.528429],[102.785906,32.528354],[102.786227,32.528279],[102.786612,32.528207],[102.786948,32.528179],[102.787191,32.528172],[102.787483,32.5282],[102.787726,32.528272],[102.787922,32.528386],[102.788119,32.5285],[102.78849,32.5287],[102.788647,32.528821],[102.788847,32.529082],[102.789047,32.529342],[102.789314,32.529564],[102.789582,32.529785],[102.789921,32.530063],[102.79026,32.530342],[102.790588,32.530549],[102.790917,32.530756],[102.791139,32.530865],[102.791452,32.53102],[102.791458,32.531025],[102.791701,32.531233],[102.791945,32.531441],[102.792162,32.53162],[102.79238,32.531798],[102.792673,32.53198],[102.792966,32.532162],[102.793287,32.532401],[102.793608,32.53264],[102.793821,32.532942],[102.793915,32.533076],[102.794099,32.53344],[102.794243,32.533725],[102.794347,32.533975],[102.79445,32.534225],[102.794498,32.534335],[102.794485,32.534424],[102.794612,32.53465],[102.794622,32.534682],[102.79475,32.534775],[102.794776,32.534784],[102.794971,32.534853],[102.795014,32.534862],[102.795384,32.534921],[102.795522,32.534971],[102.795671,32.535003],[102.795819,32.535079],[102.795835,32.535084],[102.795841,32.535089],[102.796163,32.535253],[102.796485,32.535417],[102.796678,32.535589],[102.796929,32.535954],[102.797064,32.53615],[102.797199,32.536345],[102.797317,32.5366],[102.797418,32.536819],[102.79752,32.537038],[102.797547,32.537102],[102.79762,32.537273],[102.797741,32.537373],[102.798041,32.537602],[102.798255,32.537809],[102.798469,32.538016],[102.798612,32.538251],[102.798912,32.538351],[102.799304,32.538487],[102.799573,32.538581],[102.79959,32.538587],[102.799811,32.538665],[102.79999,32.538794],[102.800166,32.538946],[102.800342,32.539098],[102.800493,32.5392],[102.800702,32.539342],[102.800911,32.539483],[102.801021,32.539639],[102.801041,32.539794],[102.800921,32.540004],[102.80078,32.540208],[102.800638,32.540413],[102.800497,32.540618],[102.800355,32.540822],[102.800281,32.541013],[102.800276,32.541265],[102.80043,32.541478],[102.800727,32.541781],[102.800896,32.541953],[102.801066,32.542125],[102.801235,32.542297],[102.801404,32.542469],[102.801573,32.542641],[102.801742,32.542813],[102.801974,32.543067],[102.802207,32.543322],[102.802362,32.543497],[102.80247,32.54373],[102.802596,32.544162],[102.802722,32.544593],[102.802848,32.545025],[102.8029,32.545252],[102.802951,32.545479],[102.803003,32.545707],[102.803054,32.545934],[102.803048,32.546261],[102.802881,32.54649],[102.802608,32.546813],[102.802334,32.547136],[102.802061,32.547459],[102.801913,32.547673],[102.801766,32.547887],[102.801619,32.548101],[102.801471,32.548316],[102.801326,32.548673],[102.80118,32.54903],[102.801035,32.549387],[102.800926,32.549743],[102.800817,32.550099],[102.800708,32.550455],[102.800665,32.550781],[102.800626,32.551087],[102.800623,32.551107],[102.800637,32.551483],[102.800651,32.551859],[102.800733,32.552208],[102.800783,32.552418],[102.800816,32.552557],[102.800931,32.552734],[102.800953,32.552878],[102.801062,32.553169],[102.801203,32.553549],[102.801307,32.553759],[102.80141,32.55397],[102.801692,32.55432],[102.80176,32.554405],[102.802067,32.554648],[102.802374,32.554891],[102.802745,32.555142],[102.803116,32.555394],[102.803488,32.555646],[102.803859,32.555897],[102.804201,32.556115],[102.804544,32.556333],[102.804758,32.55649],[102.804944,32.556583],[102.805094,32.556697],[102.805158,32.556839],[102.805186,32.557002],[102.805188,32.55709],[102.805196,32.557363],[102.805118,32.55776],[102.805099,32.557855],[102.805062,32.558178],[102.805024,32.558501],[102.804987,32.558824],[102.804851,32.559238],[102.804818,32.559337],[102.804715,32.559638],[102.804595,32.559812],[102.804523,32.559916],[102.804316,32.560123],[102.804247,32.560195],[102.803992,32.560462],[102.803737,32.56073],[102.803537,32.560951],[102.803338,32.561172],[102.803211,32.561378],[102.803085,32.561583],[102.802938,32.561822],[102.802795,32.562093],[102.802652,32.562365],[102.802463,32.562682],[102.802274,32.563],[102.802103,32.563271],[102.801839,32.56361],[102.801574,32.563949],[102.80146,32.564149],[102.801377,32.564292],[102.801153,32.564677],[102.801004,32.564859],[102.800889,32.564999],[102.800889,32.565106],[102.800953,32.565249],[102.801253,32.565427],[102.80134,32.565504],[102.80151,32.565655],[102.801741,32.565879],[102.801972,32.566103],[102.802203,32.566326],[102.802213,32.566341],[102.802395,32.566605],[102.802542,32.56683],[102.802688,32.567055],[102.802834,32.567265],[102.802981,32.567476],[102.803273,32.56774],[102.803552,32.567958],[102.80383,32.568175],[102.804134,32.568325],[102.804437,32.568475],[102.804751,32.568539],[102.805151,32.568625],[102.805465,32.568561],[102.805779,32.568496],[102.806122,32.568447],[102.806432,32.568418],[102.806743,32.568389],[102.807088,32.568382],[102.807433,32.568375],[102.807778,32.568368],[102.80811,32.568404],[102.808442,32.568439],[102.808781,32.568504],[102.80912,32.568568],[102.809441,32.568621],[102.809762,32.568675],[102.810164,32.568851],[102.810402,32.568956],[102.81064,32.56906],[102.810658,32.569069],[102.811009,32.569247],[102.811359,32.569425],[102.81171,32.569603],[102.812061,32.569781],[102.812396,32.569956],[102.812732,32.570131],[102.813017,32.570414],[102.813303,32.570697],[102.813588,32.570981],[102.813831,32.571184],[102.814074,32.571388],[102.814381,32.571509],[102.814523,32.571559],[102.814895,32.571473],[102.815152,32.571259],[102.815409,32.571045],[102.815787,32.570809],[102.816165,32.570574],[102.816558,32.570502],[102.816951,32.570431],[102.817386,32.570364],[102.817821,32.570298],[102.818257,32.570231],[102.81857,32.5702],[102.818913,32.570165],[102.819256,32.570131],[102.819556,32.570174],[102.819857,32.570216],[102.820157,32.570259],[102.820363,32.570288],[102.820795,32.570388],[102.821226,32.570488],[102.821521,32.570559],[102.821817,32.570631],[102.822112,32.570702],[102.822461,32.570838],[102.822811,32.570973],[102.823128,32.571271],[102.823444,32.571568],[102.823761,32.571866],[102.824032,32.572206],[102.824303,32.572546],[102.824574,32.572887],[102.824769,32.573201],[102.824965,32.573515],[102.82516,32.573829],[102.825289,32.574103],[102.825418,32.574377],[102.825547,32.57465],[102.825567,32.574693],[102.825752,32.575092],[102.825913,32.575289],[102.826073,32.575485],[102.826395,32.575696],[102.826716,32.575906],[102.827111,32.576075],[102.827506,32.576244],[102.827901,32.576413],[102.828215,32.576538],[102.828529,32.576663],[102.828907,32.576877],[102.829286,32.577091],[102.8296,32.577227],[102.829914,32.577362],[102.830214,32.577562],[102.830242,32.577605],[102.830242,32.577606],[102.830242,32.577607],[102.830242,32.577684],[102.830157,32.577841],[102.829885,32.578055],[102.829718,32.578217],[102.8296,32.578333],[102.829478,32.57864],[102.829357,32.579068],[102.829236,32.579497],[102.829114,32.579925],[102.829014,32.580339],[102.828914,32.580753],[102.828879,32.581181],[102.828864,32.581446],[102.828972,32.581806],[102.829079,32.582166],[102.82916,32.582481],[102.82924,32.582795],[102.829321,32.583109],[102.829418,32.58338],[102.829514,32.583651],[102.829694,32.584014],[102.829875,32.584377],[102.830055,32.584739],[102.830206,32.585043],[102.830367,32.585432],[102.830528,32.585821],[102.830688,32.58621],[102.830849,32.586599],[102.831031,32.586994],[102.831106,32.587156],[102.831127,32.587313],[102.831085,32.587563],[102.830956,32.587749],[102.830737,32.588004],[102.830519,32.588259],[102.830485,32.588298],[102.830197,32.588627],[102.82991,32.588957],[102.829842,32.589034],[102.829734,32.589242],[102.829626,32.589451],[102.829564,32.589569],[102.829386,32.58994],[102.829207,32.590311],[102.829076,32.590663],[102.828946,32.591015],[102.828886,32.591175],[102.828907,32.591475],[102.828929,32.591775],[102.828872,32.592139],[102.828797,32.592481],[102.828722,32.592824],[102.828658,32.593115],[102.828595,32.593406],[102.828544,32.59364],[102.828493,32.593873],[102.828493,32.59428],[102.828496,32.59434],[102.828506,32.594577],[102.828516,32.594813],[102.828529,32.595143],[102.828543,32.595472],[102.828632,32.595772],[102.828722,32.596072],[102.828738,32.596151],[102.828822,32.596565],[102.828836,32.596789],[102.82885,32.597014],[102.828793,32.5974],[102.828679,32.59765],[102.828565,32.597899],[102.828364,32.598181],[102.82819,32.598426],[102.828015,32.59867],[102.82795,32.598777],[102.827614,32.599066],[102.827303,32.599387],[102.826992,32.599708],[102.826681,32.600028],[102.826371,32.600349],[102.826206,32.600549],[102.826041,32.600748],[102.825896,32.601112],[102.825843,32.601419],[102.825813,32.601766],[102.825806,32.601997],[102.8258,32.602228],[102.825761,32.602458],[102.825721,32.602688],[102.825659,32.602918],[102.825596,32.603149],[102.825522,32.603379],[102.825448,32.603609],[102.82534,32.603847],[102.825231,32.604086],[102.825181,32.604317],[102.82513,32.604547],[102.82506,32.604786],[102.824991,32.605024],[102.824922,32.605263],[102.824852,32.605501],[102.824731,32.605807],[102.824611,32.606113],[102.824509,32.606516],[102.8245,32.606921],[102.824582,32.607289],[102.824732,32.607657],[102.824928,32.608027],[102.825124,32.608396],[102.82532,32.608766],[102.825516,32.609135],[102.825579,32.609358],[102.825643,32.60958],[102.825749,32.60989],[102.825855,32.610201],[102.825938,32.610604],[102.826021,32.611007],[102.826059,32.611296],[102.825983,32.611602],[102.825817,32.611947],[102.825716,32.612186],[102.825615,32.612425],[102.825514,32.612664],[102.825414,32.612903],[102.825313,32.613142],[102.825233,32.613332],[102.825212,32.613381],[102.825113,32.613687],[102.824924,32.613954],[102.824715,32.614124],[102.824472,32.614255],[102.824229,32.614385],[102.823848,32.61459],[102.823667,32.614688],[102.823539,32.614725],[102.823232,32.614767],[102.822925,32.61481],[102.82254,32.614857],[102.822154,32.614903],[102.821826,32.614989],[102.821433,32.615117],[102.821085,32.615334],[102.820791,32.615517],[102.820505,32.615649],[102.82022,32.615781],[102.820179,32.615813],[102.819917,32.61602],[102.819613,32.616259],[102.819501,32.616394],[102.819328,32.616602],[102.819063,32.616909],[102.819006,32.617095],[102.819006,32.617344],[102.819091,32.617611],[102.819092,32.617616],[102.819263,32.617889],[102.819435,32.618163],[102.819606,32.618437],[102.819681,32.618686],[102.819756,32.618936],[102.819777,32.619074],[102.819799,32.619215],[102.819763,32.619572],[102.819699,32.619804],[102.819635,32.620036],[102.819583,32.62019],[102.81952,32.620378],[102.819456,32.620535],[102.819346,32.620669],[102.819292,32.620735],[102.819067,32.620906],[102.818842,32.621078],[102.818704,32.621131],[102.818348,32.621269],[102.817993,32.621406],[102.817707,32.621575],[102.817422,32.621744],[102.817136,32.621913],[102.816911,32.622064],[102.81671,32.622199],[102.816508,32.622334],[102.816322,32.622491],[102.816208,32.62262],[102.816237,32.622791],[102.816239,32.62287],[102.816244,32.623005],[102.81623,32.62321],[102.81623,32.623219],[102.81613,32.623533],[102.81593,32.623893],[102.81573,32.624252],[102.81553,32.624611],[102.81528,32.624915],[102.81503,32.625218],[102.814702,32.625518],[102.814374,32.625818],[102.814045,32.626118],[102.813753,32.626417],[102.813653,32.626482],[102.813467,32.626546],[102.81341,32.626565],[102.813296,32.626603],[102.813046,32.626717],[102.812832,32.626888],[102.812618,32.627045],[102.81251,32.627167],[102.812296,32.627324],[102.812196,32.627481],[102.812096,32.627738],[102.811954,32.627938],[102.811832,32.628045],[102.811718,32.628159],[102.81164,32.628316],[102.811618,32.628516],[102.811661,32.628896],[102.811668,32.628959],[102.811725,32.629401],[102.811781,32.629844],[102.811782,32.629851],[102.811782,32.630229],[102.811707,32.630618],[102.811632,32.631007],[102.811554,32.6314],[102.81144,32.631714],[102.811404,32.631892],[102.81144,32.632],[102.811604,32.632199],[102.811911,32.632464],[102.812218,32.632728],[102.812453,32.63302],[102.812689,32.633199],[102.812889,32.633263],[102.813131,32.633299],[102.813141,32.633302],[102.813223,32.633361],[102.813512,32.633655],[102.813682,32.633973],[102.813708,32.634024],[102.813906,32.634374],[102.81402,32.634574],[102.814135,32.634774],[102.81425,32.634973],[102.814365,32.635173],[102.814553,32.635388],[102.814741,32.635602],[102.814944,32.635731],[102.815111,32.635838],[102.815147,32.63586],[102.815392,32.636048],[102.815628,32.636228],[102.815638,32.636235],[102.815958,32.636504],[102.816279,32.636773],[102.816599,32.637042],[102.816824,32.63719],[102.817049,32.637338],[102.817377,32.637553],[102.817507,32.637682],[102.81751,32.637687],[102.81765,32.637932],[102.817832,32.638185],[102.818014,32.638438],[102.81825,32.63866],[102.818649,32.638831],[102.818985,32.639092],[102.81932,32.639352],[102.819556,32.639645],[102.819877,32.639887],[102.820141,32.64008],[102.820405,32.640273],[102.820712,32.640392],[102.821019,32.640511],[102.821326,32.64063],[102.821601,32.640786],[102.821875,32.640942],[102.822104,32.641072],[102.822291,32.641237],[102.822597,32.641508],[102.822861,32.641708],[102.823125,32.641908],[102.823389,32.642107],[102.823624,32.642257],[102.823859,32.642406],[102.824192,32.642617],[102.824524,32.642828],[102.82481,32.643071],[102.825095,32.643314],[102.825285,32.643507],[102.825474,32.643699],[102.825602,32.643956],[102.825816,32.644206],[102.826009,32.644285],[102.826384,32.644424],[102.826759,32.644563],[102.827073,32.644717],[102.827387,32.64487],[102.827662,32.645077],[102.827936,32.645284],[102.828163,32.645553],[102.828389,32.645822],[102.828615,32.646091],[102.828712,32.64618],[102.828872,32.646326],[102.829086,32.646433],[102.82945,32.646655],[102.829624,32.646755],[102.829735,32.646819],[102.82985,32.646954],[102.829892,32.647154],[102.829895,32.647186],[102.829921,32.647461],[102.829875,32.647861],[102.829828,32.648261],[102.829757,32.648614],[102.829685,32.648967],[102.829589,32.649207],[102.829493,32.649446],[102.829279,32.64981],[102.829209,32.649879],[102.829029,32.65006],[102.828857,32.650217],[102.828743,32.650452],[102.828686,32.650788],[102.828661,32.650906],[102.828593,32.65123],[102.828465,32.651559],[102.828336,32.651887],[102.828168,32.652187],[102.828001,32.652487],[102.827929,32.652658],[102.827737,32.652879],[102.827423,32.653116],[102.827109,32.653353],[102.827094,32.653365],[102.82683,32.6536],[102.826666,32.653836],[102.826644,32.654136],[102.826752,32.654336],[102.827019,32.65461],[102.827287,32.654885],[102.827555,32.65516],[102.827822,32.655435],[102.827978,32.655628],[102.828133,32.655821],[102.828236,32.655949],[102.828336,32.656142],[102.828429,32.656299],[102.828429,32.656491],[102.828386,32.656663],[102.828193,32.656955],[102.82812,32.657215],[102.828047,32.657474],[102.828018,32.657682],[102.827976,32.657981],[102.827953,32.658152],[102.827949,32.658176],[102.827938,32.658404],[102.827926,32.658633],[102.827922,32.658704],[102.827869,32.658943],[102.827815,32.659182],[102.827722,32.659418],[102.827672,32.659618],[102.82768,32.659854],[102.827887,32.66025],[102.828094,32.660646],[102.82826,32.660901],[102.828322,32.660996],[102.828436,32.661217],[102.828436,32.661345],[102.828543,32.661424],[102.828765,32.661538],[102.829139,32.661624],[102.829514,32.661709],[102.829889,32.661795],[102.830264,32.661881],[102.830606,32.662021],[102.830949,32.662162],[102.831292,32.662302],[102.83157,32.662454],[102.831848,32.662607],[102.832127,32.662759],[102.83234,32.662956],[102.832576,32.663175],[102.832812,32.663394],[102.832998,32.663682],[102.833183,32.66397],[102.833369,32.664258],[102.833643,32.664585],[102.83389,32.664879],[102.834068,32.665222],[102.834168,32.665386],[102.834325,32.665436],[102.834482,32.665393],[102.834732,32.665332],[102.834982,32.665272],[102.835239,32.665261],[102.835496,32.66525],[102.835808,32.665298],[102.836119,32.665346],[102.836162,32.665358],[102.836554,32.665558],[102.836946,32.665757],[102.837338,32.665957],[102.837663,32.666128],[102.837987,32.666299],[102.838348,32.666564],[102.838708,32.666828],[102.839008,32.667078],[102.839308,32.667327],[102.839672,32.66757],[102.839779,32.667749],[102.839929,32.667998],[102.840079,32.668248],[102.8401,32.668284],[102.840322,32.668512],[102.8405,32.668634],[102.84075,32.668748],[102.841064,32.668791],[102.841378,32.668834],[102.841685,32.668886],[102.841992,32.668938],[102.842299,32.668991],[102.842486,32.669046],[102.842784,32.669133],[102.843113,32.669355],[102.843434,32.669469],[102.843655,32.669569],[102.843827,32.669847],[102.844059,32.6702],[102.844225,32.670452],[102.84439,32.670704],[102.844559,32.670923],[102.844728,32.671142],[102.844945,32.671422],[102.845161,32.671703],[102.845347,32.67191],[102.845533,32.672117],[102.845694,32.672245],[102.845704,32.672253],[102.84574,32.67227],[102.845802,32.672302],[102.845825,32.672308],[102.845924,32.672334],[102.846118,32.672346],[102.846375,32.67231],[102.846561,32.672285],[102.847003,32.672224],[102.847267,32.672224],[102.84753,32.672224],[102.847596,32.672224],[102.847986,32.672286],[102.848244,32.672327],[102.848376,32.672348],[102.848766,32.67241],[102.849159,32.672481],[102.849552,32.672553],[102.849944,32.672624],[102.850183,32.672674],[102.850422,32.672724],[102.850601,32.672791],[102.851001,32.672939],[102.8514,32.673088],[102.8518,32.67325],[102.8522,32.673413],[102.8526,32.673575],[102.852999,32.673738],[102.853263,32.673905],[102.853528,32.674073],[102.853727,32.674252],[102.853927,32.674344],[102.854113,32.674355],[102.85417,32.674359],[102.85451,32.674249],[102.854851,32.67414],[102.855191,32.67403],[102.855278,32.67398],[102.855541,32.673827],[102.855805,32.673673],[102.856033,32.673449],[102.856262,32.673224],[102.856487,32.673073],[102.856519,32.673052],[102.856761,32.67296],[102.857068,32.672924],[102.857318,32.672938],[102.857568,32.672952],[102.857839,32.673013],[102.85811,32.673074],[102.858209,32.673122],[102.858452,32.673199],[102.858668,32.673285],[102.858885,32.673371],[102.859101,32.673457],[102.859317,32.673543],[102.859533,32.673629],[102.859749,32.673715],[102.859955,32.673849],[102.860161,32.673984],[102.860296,32.674072],[102.860581,32.674232],[102.860866,32.674392],[102.861151,32.674551],[102.861398,32.674753],[102.861645,32.674954],[102.861651,32.674958],[102.861777,32.675088],[102.861953,32.67527],[102.862129,32.675451],[102.862286,32.675644],[102.862579,32.675908],[102.862869,32.676067],[102.86316,32.676227],[102.86345,32.676386],[102.863714,32.67652],[102.863979,32.676653],[102.864278,32.676804],[102.864578,32.676956],[102.864878,32.677107],[102.865107,32.677208],[102.86519,32.677318],[102.865304,32.677458],[102.865312,32.677546],[102.865295,32.677613],[102.865074,32.677945],[102.864853,32.678277],[102.864781,32.678484],[102.864674,32.678798],[102.864696,32.679112],[102.864781,32.679384],[102.864938,32.679698],[102.865232,32.679999],[102.865488,32.680262],[102.865631,32.680476],[102.865773,32.68069],[102.865848,32.680943],[102.865923,32.681197],[102.865945,32.681425],[102.865816,32.681682],[102.865823,32.681868],[102.865909,32.682011],[102.865952,32.682196],[102.865995,32.68241],[102.865988,32.682646],[102.866016,32.682839],[102.866088,32.683046],[102.866173,32.683188],[102.866316,32.683281],[102.866687,32.683388],[102.866998,32.683428],[102.867308,32.683467],[102.867465,32.683545],[102.867697,32.683692],[102.867929,32.683838],[102.868136,32.683995],[102.868229,32.684145],[102.868251,32.684331],[102.868272,32.684538],[102.86835,32.684652],[102.868486,32.684752],[102.868832,32.684912],[102.869178,32.685073],[102.869236,32.685141],[102.8694,32.685337],[102.869568,32.685505],[102.869735,32.685673],[102.869887,32.685872],[102.870142,32.686208],[102.870385,32.686493],[102.870613,32.686743],[102.87091,32.686954],[102.871206,32.687164],[102.871225,32.68718],[102.871563,32.68745],[102.871834,32.687764],[102.871977,32.687989],[102.87212,32.688214],[102.872173,32.688612],[102.872198,32.688799],[102.872177,32.68911],[102.872155,32.68942],[102.872127,32.689583],[102.872062,32.689948],[102.871985,32.690345],[102.871907,32.690741],[102.871905,32.690748],[102.871913,32.690934],[102.872034,32.691162],[102.872079,32.691238],[102.872198,32.69144],[102.872323,32.691651],[102.872448,32.691862],[102.872499,32.691967],[102.872662,32.692304],[102.872719,32.692529],[102.872725,32.692553],[102.872776,32.692754],[102.872933,32.693054],[102.873078,32.693209],[102.873138,32.69329],[102.873315,32.693446],[102.873331,32.69346],[102.873637,32.693638],[102.873943,32.693816],[102.874084,32.693819],[102.874226,32.693797],[102.874496,32.693671],[102.874785,32.69354],[102.875074,32.693409],[102.875362,32.693278],[102.87564,32.69318],[102.875917,32.693082],[102.876263,32.693053],[102.87661,32.693023],[102.876667,32.693018],[102.877021,32.693008],[102.877376,32.692999],[102.87773,32.692989],[102.878059,32.692925],[102.878401,32.692775],[102.87866,32.692634],[102.878919,32.692493],[102.878951,32.692475],[102.879151,32.69234],[102.87954,32.692236],[102.879929,32.692133],[102.880286,32.692083],[102.880643,32.692033],[102.880886,32.691999],[102.88109,32.691948],[102.881454,32.691905],[102.881817,32.691862],[102.882169,32.691848],[102.882313,32.691891],[102.882335,32.69189],[102.882592,32.69194],[102.882849,32.69199],[102.88317,32.692126],[102.883484,32.692375],[102.883798,32.692625],[102.883962,32.692854],[102.884155,32.693196],[102.88425,32.693335],[102.884485,32.693493],[102.884719,32.69365],[102.884972,32.693763],[102.885225,32.693877],[102.885251,32.693885],[102.885481,32.693994],[102.885711,32.694103],[102.885979,32.694206],[102.886246,32.69431],[102.886599,32.694331],[102.886951,32.694353],[102.887303,32.694374],[102.887703,32.694474],[102.887981,32.694474],[102.888145,32.694353],[102.888171,32.694333],[102.888499,32.694072],[102.888828,32.693812],[102.888866,32.693782],[102.889188,32.693547],[102.889511,32.693312],[102.889523,32.693303],[102.88983,32.693089],[102.890227,32.693034],[102.890237,32.693032],[102.890451,32.693061],[102.890858,32.693096],[102.891161,32.693139],[102.891465,32.693182],[102.891842,32.693225],[102.892188,32.693264],[102.892535,32.693303],[102.892835,32.693313],[102.893135,32.693323],[102.893435,32.693332],[102.893627,32.693361],[102.893892,32.693432],[102.894093,32.693514],[102.894371,32.693626],[102.894648,32.693739],[102.894962,32.693867],[102.895276,32.693996],[102.895519,32.694067],[102.895748,32.694124],[102.895976,32.694182],[102.896267,32.694221],[102.896497,32.694253],[102.89674,32.694274],[102.896968,32.69436],[102.897197,32.694446],[102.897446,32.694681],[102.897604,32.694863],[102.897761,32.695045],[102.897937,32.695274],[102.898003,32.695359],[102.8982,32.695612],[102.898396,32.695866],[102.898549,32.696082],[102.898589,32.696137],[102.898731,32.696402],[102.898867,32.69663],[102.899088,32.696716],[102.899388,32.696762],[102.899688,32.696808],[102.900026,32.696844],[102.900364,32.69688],[102.900702,32.696916],[102.901087,32.697037],[102.901473,32.697158],[102.901687,32.697233],[102.901901,32.697308],[102.902229,32.697426],[102.902558,32.697544],[102.902797,32.697676],[102.903036,32.697808],[102.903375,32.698033],[102.903714,32.698258],[102.903925,32.698365],[102.904135,32.698472],[102.904378,32.698661],[102.904621,32.69885],[102.904856,32.698993],[102.905227,32.699128],[102.905366,32.699249],[102.90562,32.699471],[102.905756,32.699542],[102.905899,32.69957],[102.905972,32.699593],[102.906074,32.699581],[102.906177,32.699539],[102.90634,32.699435],[102.906635,32.699134],[102.906929,32.698833],[102.907224,32.698532],[102.907519,32.698231],[102.907787,32.698006],[102.908054,32.697782],[102.908277,32.697642],[102.908475,32.697531],[102.908672,32.69742],[102.908955,32.697318],[102.909237,32.697216],[102.909545,32.697148],[102.909853,32.69708],[102.910139,32.69713],[102.910306,32.697196],[102.910517,32.69728],[102.910827,32.697433],[102.911138,32.697587],[102.911452,32.697782],[102.911802,32.698001],[102.912134,32.69824],[102.912466,32.698479],[102.912644,32.698566],[102.913022,32.69875],[102.913262,32.698896],[102.913501,32.699043],[102.913822,32.69915],[102.913869,32.699175],[102.914143,32.699321],[102.914257,32.699421],[102.914285,32.69954],[102.914286,32.699541],[102.914286,32.699542],[102.914343,32.699735],[102.914436,32.699807],[102.9147,32.699821],[102.914814,32.699792],[102.915171,32.699814],[102.915457,32.699899],[102.915771,32.699878],[102.916024,32.699824],[102.916278,32.699771],[102.916645,32.699749],[102.917013,32.699728],[102.917248,32.699714],[102.917484,32.699699],[102.917789,32.699623],[102.918084,32.69955],[102.918394,32.699528],[102.918705,32.699507],[102.918972,32.699528],[102.91924,32.69955],[102.919612,32.699654],[102.919954,32.699749],[102.920351,32.699804],[102.920749,32.699859],[102.921146,32.699914],[102.921179,32.69992],[102.921484,32.699977],[102.921788,32.700035],[102.92221,32.700049],[102.92247,32.700021],[102.922731,32.699992],[102.923049,32.699895],[102.923368,32.699797],[102.923687,32.699699],[102.924078,32.699517],[102.924469,32.699334],[102.924805,32.699121],[102.924805,32.699121],[102.924806,32.69912],[102.925015,32.698987],[102.925224,32.698855],[102.925433,32.698722],[102.925642,32.698589],[102.925851,32.698456],[102.92606,32.698323],[102.926269,32.69819],[102.926478,32.698057],[102.926825,32.697921],[102.927173,32.697784],[102.927491,32.697691],[102.92781,32.697597],[102.928068,32.697552],[102.928326,32.697506],[102.928641,32.697531],[102.928957,32.697556],[102.929235,32.69765],[102.929513,32.697743],[102.92987,32.697996],[102.930227,32.698249],[102.930485,32.698543],[102.930678,32.698763],[102.930768,32.699014],[102.930938,32.699353],[102.930954,32.699385],[102.931118,32.699621],[102.931218,32.699792],[102.931368,32.700078],[102.931468,32.700378],[102.931639,32.700735],[102.931875,32.701113],[102.931996,32.701227],[102.932196,32.701377],[102.932481,32.701625],[102.932667,32.701787],[102.932753,32.701862],[102.932896,32.702005],[102.932981,32.702127],[102.933053,32.702266],[102.933081,32.702319],[102.93314,32.702599],[102.933198,32.702878],[102.933238,32.703265],[102.933278,32.703653],[102.933319,32.70404],[102.933339,32.704234],[102.933369,32.704521],[102.933399,32.704808],[102.933459,32.705029],[102.933519,32.705249],[102.933565,32.705421],[102.933706,32.705768],[102.933829,32.706082],[102.933952,32.706395],[102.934059,32.706624],[102.934166,32.706852],[102.934281,32.707038],[102.93453,32.707252],[102.934656,32.707324],[102.934903,32.707466],[102.935151,32.707609],[102.935432,32.707694],[102.935595,32.707743],[102.935623,32.707752],[102.935987,32.70798],[102.936269,32.708191],[102.936551,32.708401],[102.936746,32.708637],[102.936941,32.708872],[102.937136,32.709108],[102.937346,32.709479],[102.937557,32.70985],[102.937678,32.710134],[102.9377,32.710186],[102.937832,32.710497],[102.937964,32.710808],[102.938021,32.710942],[102.938085,32.711107],[102.938157,32.71121],[102.93831,32.711319],[102.93862,32.711454],[102.938929,32.711589],[102.939301,32.711725],[102.939673,32.711862],[102.940044,32.711999],[102.940416,32.712136],[102.940813,32.712337],[102.941205,32.712535],[102.941597,32.712734],[102.94199,32.712932],[102.942382,32.713131],[102.94239,32.713133],[102.942561,32.713181],[102.942826,32.713255],[102.943029,32.713312],[102.943089,32.713329],[102.943351,32.713402],[102.943614,32.713476],[102.943877,32.713549],[102.94414,32.713623],[102.944402,32.713696],[102.944665,32.71377],[102.944928,32.713843],[102.945315,32.713928],[102.945702,32.714013],[102.94609,32.714099],[102.946475,32.714174],[102.946859,32.71425],[102.947112,32.714267],[102.947366,32.714284],[102.947619,32.714302],[102.947872,32.714319],[102.948125,32.714336],[102.948378,32.714354],[102.948818,32.714374],[102.949259,32.714395],[102.949488,32.714406],[102.949699,32.714416],[102.949933,32.71442],[102.950142,32.714522],[102.950347,32.714723],[102.950471,32.714918],[102.950595,32.715112],[102.95065,32.715199],[102.950818,32.715361],[102.951057,32.715726],[102.951296,32.716092],[102.951457,32.71627],[102.951617,32.716449],[102.951831,32.716651],[102.952046,32.716853],[102.952176,32.717091],[102.95226,32.717376],[102.952323,32.717633],[102.952387,32.71789],[102.952415,32.718005],[102.952445,32.718127],[102.952522,32.718435],[102.952587,32.718697],[102.952652,32.718959],[102.952807,32.719209],[102.953069,32.719518],[102.95336,32.719831],[102.95339,32.719863],[102.953711,32.720049],[102.954032,32.720236],[102.954354,32.720422],[102.954556,32.720517],[102.95477,32.720636],[102.95483,32.720755],[102.954861,32.720923],[102.954865,32.720946],[102.954888,32.721244],[102.954889,32.721255],[102.954877,32.721636],[102.955032,32.721886],[102.95521,32.722052],[102.955282,32.72235],[102.955329,32.722695],[102.955591,32.72304],[102.955829,32.723295],[102.956067,32.723551],[102.956373,32.72369],[102.956567,32.723777],[102.956799,32.723849],[102.957031,32.72392],[102.957366,32.724001],[102.957667,32.724073],[102.957967,32.724145],[102.958268,32.724217],[102.958613,32.724467],[102.958684,32.724527],[102.958744,32.724753],[102.958732,32.724991],[102.95872,32.725229],[102.958714,32.72552],[102.958708,32.725812],[102.958803,32.726157],[102.959029,32.72643],[102.959351,32.72668],[102.959707,32.726859],[102.959815,32.726966],[102.959823,32.726983],[102.959922,32.72718],[102.959986,32.727502],[102.959993,32.727537],[102.959981,32.727838],[102.959969,32.72814],[102.959957,32.728441],[102.959962,32.728774],[102.959979,32.728813],[102.960143,32.729193],[102.960343,32.729412],[102.960619,32.729574],[102.961,32.729716],[102.961212,32.729778],[102.961428,32.72984],[102.961871,32.729894],[102.962294,32.729945],[102.96257,32.73005],[102.962722,32.730211],[102.962894,32.730392],[102.96291,32.730419],[102.963046,32.730639],[102.963183,32.73086],[102.963217,32.730916],[102.963465,32.73122],[102.963779,32.731392],[102.964093,32.731582],[102.964407,32.731772],[102.96455,32.731858],[102.964731,32.731991],[102.964864,32.732172],[102.964917,32.732264],[102.965007,32.732419],[102.965179,32.732592],[102.965197,32.73261],[102.965549,32.732857],[102.965755,32.732983],[102.965961,32.733108],[102.965987,32.733124],[102.966239,32.733343],[102.966491,32.733562],[102.966634,32.733761],[102.966758,32.733999],[102.966929,32.734171],[102.967072,32.734342],[102.967111,32.734414],[102.967186,32.734551],[102.967321,32.734969],[102.967367,32.735113],[102.967557,32.73547],[102.967629,32.735584],[102.96765,32.73577],[102.967586,32.73597],[102.967357,32.736277],[102.96715,32.736551],[102.966943,32.736826],[102.966747,32.737105],[102.966551,32.737383],[102.966551,32.737383],[102.966551,32.737383],[102.96636,32.737635],[102.966168,32.737886],[102.966144,32.737918],[102.965965,32.738254],[102.965659,32.738518],[102.96538,32.738789],[102.96508,32.739053],[102.964852,32.73925],[102.964773,32.739318],[102.964524,32.73956],[102.964523,32.739562],[102.964427,32.739781],[102.964424,32.739789],[102.964331,32.740133],[102.964295,32.740267],[102.964247,32.740533],[102.964198,32.740799],[102.964181,32.740895],[102.964167,32.74094],[102.964109,32.74112],[102.964038,32.741345],[102.963931,32.741559],[102.963738,32.741702],[102.963417,32.741745],[102.963146,32.741784],[102.962875,32.741823],[102.96276,32.741849],[102.962496,32.741909],[102.962132,32.741959],[102.961797,32.74198],[102.961497,32.741966],[102.961439,32.741961],[102.961254,32.741944],[102.96123,32.741944],[102.96099,32.741944],[102.960783,32.742041],[102.960576,32.742137],[102.960393,32.74239],[102.960254,32.742452],[102.96004,32.742547],[102.959825,32.742643],[102.95961,32.742738],[102.959395,32.742833],[102.959185,32.742926],[102.95918,32.742929],[102.958965,32.743024],[102.958751,32.743119],[102.958536,32.743215],[102.958165,32.743393],[102.957795,32.743571],[102.957424,32.74375],[102.957208,32.743911],[102.956991,32.744073],[102.956774,32.744235],[102.956557,32.744396],[102.956395,32.744576],[102.956233,32.744756],[102.956071,32.744936],[102.955909,32.745116],[102.955715,32.745449],[102.95552,32.745782],[102.955439,32.746013],[102.955357,32.746244],[102.955276,32.746474],[102.955194,32.746705],[102.955122,32.746953],[102.95505,32.747201],[102.954979,32.747449],[102.954907,32.747697],[102.954761,32.747942],[102.954614,32.748187],[102.954363,32.748449],[102.954112,32.748712],[102.953945,32.748867],[102.953777,32.749023],[102.95361,32.749178],[102.953442,32.749333],[102.953275,32.749489],[102.953107,32.749644],[102.953075,32.749672],[102.952832,32.74988],[102.952557,32.750116],[102.952533,32.750136],[102.952248,32.750381],[102.951904,32.750553],[102.951879,32.750566],[102.951561,32.750725],[102.951255,32.750818],[102.950948,32.750912],[102.950524,32.751014],[102.9501,32.751116],[102.949992,32.75113],[102.949684,32.751169],[102.949267,32.751221],[102.948851,32.751274],[102.948435,32.751326],[102.948189,32.751337],[102.947943,32.751348],[102.947697,32.751358],[102.947451,32.751369],[102.947207,32.75138],[102.947205,32.75138],[102.946959,32.751391],[102.946713,32.751401],[102.946467,32.751412],[102.946221,32.751423],[102.945975,32.751434],[102.945729,32.751444],[102.945483,32.751455],[102.945251,32.751473],[102.945019,32.751491],[102.944788,32.751509],[102.944556,32.751527],[102.94418,32.7516],[102.943803,32.751673],[102.943556,32.751748],[102.943309,32.751822],[102.943046,32.752035],[102.942829,32.752348],[102.942667,32.752528],[102.942504,32.752708],[102.942342,32.752888],[102.94218,32.753068],[102.942026,32.753285],[102.941983,32.753346],[102.941976,32.753355],[102.941872,32.753502],[102.941718,32.75372],[102.941563,32.753937],[102.941543,32.753966],[102.941485,32.754047],[102.941409,32.754154],[102.941395,32.754175],[102.941255,32.754372],[102.941101,32.754589],[102.940947,32.754806],[102.940816,32.755011],[102.940685,32.755215],[102.940555,32.755419],[102.940424,32.755623],[102.940293,32.755827],[102.940162,32.756031],[102.940047,32.756252],[102.939931,32.756472],[102.939815,32.756692],[102.939699,32.756912],[102.939527,32.757255],[102.939354,32.757598],[102.93926,32.757959],[102.939167,32.75832],[102.939073,32.758681],[102.939087,32.759089],[102.939101,32.759497],[102.939115,32.759906],[102.939144,32.760171],[102.939173,32.760437],[102.939202,32.760702],[102.939231,32.760968],[102.93926,32.761233],[102.939289,32.761498],[102.939246,32.761804],[102.939203,32.76211],[102.939032,32.762482],[102.93891,32.762707],[102.938788,32.762932],[102.938684,32.763024],[102.93846,32.763221],[102.938237,32.763418],[102.937973,32.763729],[102.937825,32.763904],[102.937709,32.76404],[102.937608,32.76435],[102.937553,32.764703],[102.937616,32.764972],[102.937643,32.765085],[102.93768,32.765241],[102.937769,32.765449],[102.937858,32.765658],[102.937947,32.765867],[102.938036,32.766076],[102.938147,32.766315],[102.938259,32.766554],[102.938323,32.766822],[102.938388,32.767089],[102.93841,32.767475],[102.938432,32.76786],[102.938454,32.768246],[102.938495,32.768493],[102.938536,32.768741],[102.938684,32.769157],[102.938712,32.769237],[102.938893,32.769517],[102.939052,32.769718],[102.939211,32.769918],[102.939324,32.770137],[102.939437,32.770355],[102.939476,32.770634],[102.939491,32.771029],[102.93946,32.771343],[102.939404,32.771719],[102.93942,32.772094],[102.939461,32.772247],[102.939528,32.772491],[102.939655,32.772707],[102.939782,32.772923],[102.939909,32.773139],[102.940036,32.773355],[102.940163,32.773571],[102.94029,32.773787],[102.940418,32.774003],[102.940545,32.774219],[102.940651,32.774443],[102.940757,32.774667],[102.940862,32.774891],[102.940968,32.775115],[102.941067,32.775413],[102.941166,32.775711],[102.941251,32.776068],[102.941336,32.776425],[102.941398,32.776791],[102.94146,32.777158],[102.941453,32.777444],[102.941446,32.77773],[102.941429,32.777987],[102.941411,32.778243],[102.94137,32.778509],[102.941337,32.778722],[102.941329,32.778775],[102.941265,32.779031],[102.941201,32.779287],[102.941107,32.779531],[102.941014,32.779775],[102.94092,32.78002],[102.940826,32.780264],[102.940608,32.780609],[102.940389,32.780954],[102.940171,32.781299],[102.939944,32.781664],[102.939717,32.782029],[102.93949,32.782394],[102.939221,32.782737],[102.938953,32.783081],[102.938684,32.783424],[102.938414,32.783769],[102.938143,32.784115],[102.937873,32.78446],[102.937766,32.784672],[102.93766,32.784883],[102.937553,32.785094],[102.937534,32.785132],[102.937486,32.785226],[102.937452,32.785294],[102.937446,32.785306],[102.93734,32.785517],[102.937233,32.785728],[102.937191,32.785833],[102.937139,32.785964],[102.937133,32.785979],[102.937122,32.786009],[102.937034,32.786229],[102.936934,32.786479],[102.936835,32.786729],[102.936724,32.787142],[102.936613,32.787555],[102.936524,32.787886],[102.936502,32.787968],[102.936457,32.788363],[102.936413,32.788758],[102.936404,32.789139],[102.936395,32.789521],[102.936387,32.789902],[102.936423,32.790326],[102.936459,32.79075],[102.936453,32.791027],[102.936447,32.791304],[102.936427,32.791544],[102.936406,32.791784],[102.936383,32.792054],[102.936327,32.792448],[102.936296,32.79267],[102.936271,32.792842],[102.936237,32.793024],[102.936193,32.793255],[102.936191,32.793268],[102.936111,32.793695],[102.936076,32.793879],[102.93603,32.794122],[102.93599,32.794375],[102.935968,32.79451],[102.935959,32.794566],[102.935949,32.794627],[102.935908,32.79488],[102.935867,32.795133],[102.935839,32.795311],[102.935829,32.79537],[102.935827,32.795386],[102.935786,32.795639],[102.93571,32.795874],[102.935645,32.796076],[102.935634,32.79611],[102.935602,32.796209],[102.935558,32.796346],[102.935482,32.796581],[102.935396,32.796818],[102.93531,32.797055],[102.935278,32.797143],[102.935224,32.797292],[102.935138,32.797529],[102.935053,32.797766],[102.934967,32.798003],[102.934881,32.79824],[102.934795,32.798477],[102.934709,32.798714],[102.934623,32.798952],[102.934537,32.799189],[102.934452,32.799426],[102.934395,32.799682],[102.934338,32.799938],[102.934281,32.800194],[102.934225,32.80045],[102.934168,32.800706],[102.934111,32.800962],[102.934074,32.801215],[102.934037,32.801468],[102.934,32.801721],[102.933963,32.801973],[102.933926,32.802226],[102.933889,32.802479],[102.93388,32.802884],[102.933871,32.803289],[102.9339,32.80371],[102.933929,32.80413],[102.933958,32.804551],[102.934029,32.804765],[102.9341,32.804978],[102.934172,32.805192],[102.934243,32.805406],[102.934399,32.805725],[102.934555,32.806043],[102.934797,32.806389],[102.935039,32.806736],[102.935281,32.807082],[102.935459,32.807248],[102.935637,32.807414],[102.935814,32.80758],[102.935992,32.807746],[102.936063,32.807793],[102.936013,32.80783],[102.934879,32.808317],[102.933789,32.808695],[102.933748,32.808709],[102.932941,32.809186],[102.932352,32.809534],[102.931927,32.809785],[102.931088,32.810276],[102.930562,32.810583],[102.929342,32.811574],[102.928809,32.811976],[102.927929,32.812814],[102.927908,32.812834],[102.92793,32.813059],[102.927881,32.813193],[102.927826,32.813299],[102.927769,32.813337],[102.927719,32.813338],[102.927605,32.813305],[102.927426,32.813288],[102.926973,32.813715],[102.92583,32.814612],[102.924806,32.815195],[102.923798,32.815581],[102.922549,32.81651],[102.921764,32.817317],[102.921287,32.818021],[102.920757,32.818833],[102.920502,32.819929],[102.920294,32.821177],[102.920074,32.821821],[102.919937,32.822229],[102.919542,32.823064],[102.919081,32.823862],[102.918583,32.824746],[102.917569,32.825852],[102.916515,32.827186],[102.916182,32.828332],[102.916115,32.829712],[102.916032,32.83184],[102.916081,32.832647],[102.916265,32.833514],[102.915939,32.83581],[102.915777,32.83693],[102.915502,32.837198],[102.915253,32.837439],[102.91442,32.838099],[102.913864,32.838538],[102.912854,32.839471],[102.912321,32.840383],[102.912231,32.841331],[102.912993,32.843704],[102.913418,32.844488],[102.913605,32.844679],[102.914017,32.845102],[102.914889,32.845721],[102.914945,32.84624],[102.914884,32.846419],[102.914653,32.847098],[102.914301,32.847809],[102.914116,32.848183],[102.913412,32.849121],[102.912774,32.850175],[102.912105,32.851084],[102.911271,32.851346],[102.910971,32.85144],[102.909854,32.851133],[102.909759,32.851113],[102.909691,32.851098],[102.909683,32.851097],[102.909637,32.851087],[102.90952,32.851062],[102.909397,32.851035],[102.909209,32.850995],[102.909152,32.850983],[102.909006,32.850952],[102.9089,32.850929],[102.908868,32.850922],[102.908844,32.850917],[102.908804,32.850908],[102.908682,32.850882],[102.908667,32.850879],[102.908656,32.850877],[102.908603,32.850866],[102.908585,32.850862],[102.908395,32.850821],[102.907379,32.850545],[102.906262,32.850181],[102.905111,32.849845],[102.904054,32.849827],[102.902658,32.849775],[102.901531,32.849871],[102.900031,32.849846],[102.899478,32.850182],[102.899453,32.851218],[102.899529,32.852341],[102.900031,32.854191],[102.900346,32.85529],[102.900999,32.85651],[102.901606,32.858247],[102.90189,32.85923],[102.901703,32.859946],[102.901726,32.860407],[102.901708,32.861155],[102.901659,32.861816],[102.901196,32.86552],[102.901096,32.866871],[102.900589,32.868129],[102.899904,32.871167],[102.899493,32.874124],[102.899108,32.875988],[102.899044,32.877282],[102.898907,32.878719],[102.898709,32.881334],[102.899057,32.882491],[102.899003,32.883325],[102.898817,32.883983],[102.89849,32.884389],[102.89829,32.884636],[102.8978,32.885175],[102.897787,32.885186],[102.897278,32.885626],[102.896146,32.887334],[102.895571,32.88859],[102.895698,32.888995],[102.895751,32.889629],[102.895731,32.890464],[102.895235,32.8927],[102.894937,32.893759],[102.894535,32.894904],[102.894308,32.895821],[102.894356,32.896685],[102.894163,32.897215],[102.894094,32.897403],[102.893845,32.898086],[102.893579,32.899262],[102.89373,32.90007],[102.893743,32.900962],[102.893818,32.902114],[102.893929,32.903181],[102.893877,32.903928],[102.893691,32.904587],[102.893298,32.905329],[102.893252,32.905846],[102.89303,32.906561],[102.892434,32.907242],[102.891588,32.908408],[102.891018,32.909434],[102.890012,32.910136],[102.887136,32.912016],[102.886416,32.912147],[102.885692,32.91248],[102.884545,32.913353],[102.883882,32.914004],[102.883036,32.91514],[102.882087,32.916275],[102.881664,32.916844],[102.880757,32.917692],[102.879803,32.917647],[102.879321,32.91756],[102.87904,32.917509],[102.877821,32.917289],[102.876403,32.917034],[102.8761,32.916979],[102.876038,32.917017],[102.871981,32.91947],[102.871968,32.919496],[102.870938,32.920345],[102.870533,32.921255],[102.870228,32.923298],[102.870064,32.924805],[102.869858,32.925394],[102.869007,32.926242],[102.868257,32.92817],[102.867081,32.929228],[102.865955,32.93088],[102.865398,32.932757],[102.86523,32.934426],[102.865707,32.935889],[102.866382,32.937033],[102.866716,32.937779],[102.866746,32.937848],[102.866625,32.938309],[102.866394,32.939189],[102.865904,32.94096],[102.864585,32.942662],[102.863643,32.944587],[102.862638,32.94651],[102.861969,32.947739],[102.861808,32.949137],[102.861775,32.950484],[102.861744,32.950788],[102.861691,32.951315],[102.86162,32.951313],[102.861651,32.951857],[102.86167,32.952186],[102.861624,32.953016],[102.861455,32.953297],[102.861363,32.953469],[102.861205,32.953713],[102.861087,32.953893],[102.860996,32.95408],[102.860905,32.954352],[102.860864,32.954539],[102.86083,32.954846],[102.860635,32.955175],[102.860484,32.955576],[102.860467,32.955601],[102.8603,32.955824],[102.860098,32.956054],[102.859863,32.956364],[102.859755,32.956557],[102.85963,32.956773],[102.859496,32.956982],[102.859387,32.957147],[102.859254,32.957377],[102.859153,32.957528],[102.85902,32.957772],[102.858932,32.957991],[102.858705,32.9583],[102.858044,32.95907],[102.854856,32.961091],[102.853988,32.961587],[102.853286,32.962597],[102.85298,32.963434],[102.851996,32.964319],[102.850872,32.965052],[102.84967,32.966084],[102.8473,32.968208],[102.845807,32.969445],[102.844901,32.970021],[102.843744,32.970467],[102.842155,32.970493],[102.840628,32.970574],[102.839288,32.970765],[102.839267,32.971268],[102.837553,32.971574],[102.835834,32.971694],[102.833971,32.971687],[102.832757,32.971716],[102.831339,32.971641],[102.830507,32.971776],[102.829415,32.971683],[102.828182,32.971287],[102.827426,32.97075],[102.826164,32.970354],[102.82438,32.969525],[102.824126,32.96954],[102.823699,32.969563],[102.823477,32.96975],[102.823218,32.969968],[102.822974,32.970174],[102.822335,32.971369],[102.822274,32.971483],[102.822168,32.971681],[102.821793,32.972472],[102.821336,32.973013],[102.820849,32.973626],[102.820311,32.973953],[102.820127,32.974064],[102.819401,32.974725],[102.818462,32.975606],[102.817708,32.976191],[102.817384,32.976424],[102.816384,32.977446],[102.815819,32.977463],[102.814265,32.977026],[102.813195,32.976644],[102.811809,32.975937],[102.810955,32.975558],[102.809487,32.975987],[102.807907,32.976597],[102.806382,32.977161],[102.805465,32.977145],[102.804862,32.977498],[102.803059,32.978376],[102.802073,32.979035],[102.801875,32.979166],[102.801797,32.979218],[102.80048,32.980105],[102.799009,32.98067],[102.798027,32.981063],[102.796524,32.980763],[102.795519,32.979927],[102.794242,32.979176],[102.792915,32.978288],[102.792179,32.977502],[102.791195,32.975847],[102.789884,32.974323],[102.789142,32.973764],[102.788022,32.973243],[102.787012,32.972634],[102.786111,32.971981],[102.781472,32.969715],[102.779723,32.968456],[102.77878,32.967302],[102.77741,32.966004],[102.776523,32.964805],[102.776066,32.96366],[102.776039,32.962568],[102.776077,32.961067],[102.776114,32.959593],[102.776118,32.959431],[102.776143,32.958432],[102.776151,32.958112],[102.776161,32.958036],[102.77635,32.956614],[102.775941,32.956354],[102.775548,32.956102],[102.775093,32.955812],[102.77481,32.955632],[102.774347,32.955432],[102.773923,32.955249],[102.773607,32.955113],[102.773346,32.955001],[102.773048,32.954872],[102.77269,32.954674],[102.772304,32.954447],[102.771908,32.95421],[102.77153,32.953991],[102.771028,32.953699],[102.77083,32.953415],[102.770611,32.9531],[102.770371,32.953438],[102.770164,32.953729],[102.769858,32.954077],[102.769561,32.954415],[102.769219,32.954804],[102.769094,32.954952],[102.768894,32.955187],[102.768538,32.955606],[102.768497,32.955655],[102.768272,32.955942],[102.767549,32.956867],[102.766063,32.958023],[102.76462,32.959262],[102.764298,32.959538],[102.764134,32.959673],[102.762149,32.961319],[102.76101,32.962656],[102.76097,32.962704],[102.760814,32.962887],[102.759974,32.9641],[102.759649,32.9644],[102.759517,32.964523],[102.758814,32.965171],[102.757757,32.966426],[102.757706,32.966483],[102.757537,32.966673],[102.757538,32.966744],[102.757526,32.966782],[102.757519,32.966804],[102.757499,32.966829],[102.757473,32.966848],[102.757429,32.966861],[102.757377,32.966849],[102.757316,32.96684],[102.757209,32.966816],[102.757174,32.966812],[102.757146,32.966812],[102.757133,32.966819],[102.757109,32.966842],[102.7571,32.966864],[102.7571,32.966894],[102.757137,32.966989],[102.757175,32.967062],[102.757178,32.967077],[102.756987,32.967291],[102.756973,32.967307],[102.756737,32.967572],[102.756723,32.967588],[102.756709,32.967604],[102.756662,32.967656],[102.75665,32.96767],[102.756631,32.967691],[102.756612,32.967712],[102.755924,32.968485],[102.754325,32.969821],[102.754014,32.970145],[102.753331,32.970853],[102.753006,32.97119],[102.752386,32.971833],[102.749954,32.974109],[102.749867,32.974226],[102.749773,32.974205],[102.74975,32.9742],[102.749638,32.974219],[102.74959,32.974253],[102.749566,32.974292],[102.749484,32.974377],[102.749338,32.974456],[102.749238,32.974513],[102.749236,32.974514],[102.749074,32.974619],[102.748886,32.974742],[102.74874,32.974867],[102.748577,32.975041],[102.748536,32.975063],[102.748423,32.975139],[102.748291,32.975306],[102.748229,32.975442],[102.748201,32.975555],[102.748206,32.975637],[102.74822,32.975692],[102.748302,32.97573],[102.748427,32.975771],[102.748514,32.975799],[102.748602,32.975817],[102.748677,32.97582],[102.748573,32.97596],[102.748527,32.976023],[102.747383,32.977566],[102.746421,32.979322],[102.74575,32.980266],[102.745721,32.981402],[102.745726,32.983313],[102.745489,32.984173],[102.74509,32.984984],[102.74496,32.985846],[102.744713,32.98707],[102.744401,32.988747],[102.743771,32.990192],[102.743522,32.991461],[102.742569,32.992854],[102.74248,32.993057],[102.742054,32.994027],[102.741919,32.995071],[102.741881,32.996571],[102.741226,32.996832],[102.740258,32.996724],[102.739037,32.995883],[102.737294,32.994396],[102.736182,32.993557],[102.735613,32.992591],[102.734674,32.991301],[102.73399,32.990606],[102.73255,32.989943],[102.731398,32.988557],[102.731337,32.988351],[102.73105,32.987368],[102.730921,32.986092],[102.730902,32.985731],[102.730894,32.985565],[102.73089,32.985484],[102.730877,32.98523],[102.730849,32.984681],[102.730261,32.984443],[102.729457,32.984246],[102.727843,32.984035],[102.72754,32.983958],[102.726878,32.98379],[102.723982,32.983055],[102.722161,32.982521],[102.721906,32.981925],[102.721838,32.980377],[102.721602,32.979054],[102.7216,32.978999],[102.7216,32.978993],[102.721718,32.978952],[102.721774,32.978931],[102.721713,32.978899],[102.721776,32.978873],[102.721773,32.97887],[102.72176,32.978861],[102.721737,32.978828],[102.721712,32.978813],[102.721721,32.978794],[102.721771,32.978788],[102.721823,32.97878],[102.72189,32.978782],[102.721918,32.978793],[102.721941,32.978816],[102.721961,32.978842],[102.721974,32.978862],[102.721986,32.97888],[102.722016,32.97888],[102.722032,32.978871],[102.722028,32.978843],[102.722027,32.978829],[102.722008,32.978806],[102.721986,32.978785],[102.721965,32.978768],[102.721949,32.978745],[102.72196,32.978739],[102.72199,32.978733],[102.722008,32.978724],[102.722023,32.978703],[102.722039,32.978682],[102.72205,32.978643],[102.722057,32.978607],[102.722056,32.97858],[102.722054,32.978557],[102.721995,32.978499],[102.721936,32.97843],[102.721924,32.978432],[102.721874,32.978432],[102.721845,32.978421],[102.721851,32.978402],[102.721871,32.978381],[102.721873,32.978358],[102.721873,32.978343],[102.721848,32.978324],[102.721843,32.978325],[102.721801,32.978332],[102.72176,32.97834],[102.721706,32.97834],[102.721687,32.978327],[102.72168,32.978298],[102.721664,32.97826],[102.721657,32.978226],[102.721607,32.978197],[102.721591,32.97819],[102.721591,32.978159],[102.721593,32.978136],[102.721599,32.978114],[102.721563,32.978086],[102.721369,32.977982],[102.721282,32.977901],[102.721188,32.977826],[102.721189,32.977813],[102.721189,32.97775],[102.721164,32.977697],[102.721106,32.977641],[102.721003,32.977576],[102.720936,32.977522],[102.720875,32.977466],[102.7208,32.977377],[102.72075,32.977303],[102.720646,32.977139],[102.720574,32.977035],[102.720489,32.976955],[102.720347,32.976896],[102.720233,32.976873],[102.72012,32.976841],[102.720045,32.976809],[102.719953,32.97675],[102.719931,32.976726],[102.719917,32.976684],[102.719902,32.976604],[102.719887,32.976517],[102.719858,32.976449],[102.719823,32.976401],[102.719759,32.976366],[102.719667,32.976334],[102.719532,32.976287],[102.719386,32.976219],[102.719279,32.97616],[102.719176,32.976113],[102.719013,32.976066],[102.718918,32.976058],[102.718776,32.976068],[102.718649,32.976068],[102.718468,32.976039],[102.718401,32.976016],[102.718309,32.975966],[102.71824,32.975859],[102.71819,32.975776],[102.718022,32.975586],[102.717933,32.975476],[102.717801,32.975354],[102.717655,32.975236],[102.717499,32.975141],[102.717218,32.975006],[102.717108,32.974968],[102.71697,32.974912],[102.716814,32.974844],[102.716675,32.974797],[102.716452,32.974739],[102.716239,32.974666],[102.716065,32.974607],[102.715951,32.974551],[102.715777,32.974477],[102.715685,32.974424],[102.715432,32.974247],[102.715319,32.974173],[102.715048,32.974001],[102.714963,32.973957],[102.714828,32.973904],[102.714697,32.973869],[102.714594,32.973861],[102.714527,32.973873],[102.714425,32.973969],[102.714387,32.974044],[102.714388,32.974089],[102.714346,32.974178],[102.714286,32.974262],[102.714198,32.974334],[102.714033,32.974407],[102.713804,32.974495],[102.713638,32.974546],[102.713465,32.974586],[102.713334,32.974629],[102.713024,32.97483],[102.712852,32.97495],[102.712683,32.975071],[102.712468,32.975191],[102.71213,32.975309],[102.71196,32.975352],[102.711836,32.975377],[102.711653,32.975396],[102.711476,32.975414],[102.711225,32.975434],[102.711006,32.975453],[102.7109,32.975471],[102.71072,32.975526],[102.710686,32.975545],[102.710505,32.975432],[102.710373,32.97535],[102.710224,32.975261],[102.710064,32.975178],[102.709911,32.975114],[102.709755,32.97507],[102.70956,32.975008],[102.709545,32.975005],[102.709358,32.974967],[102.7092,32.974968],[102.709075,32.974973],[102.708968,32.975],[102.708855,32.975044],[102.708742,32.975111],[102.708675,32.975162],[102.708599,32.975219],[102.708473,32.975335],[102.708383,32.975431],[102.708321,32.975493],[102.708262,32.97557],[102.708215,32.975644],[102.708153,32.975752],[102.708083,32.975847],[102.708021,32.975874],[102.70794,32.975956],[102.70789,32.976049],[102.707851,32.97613],[102.707797,32.976183],[102.707645,32.97626],[102.707563,32.976304],[102.707496,32.97638],[102.707446,32.976455],[102.707364,32.976534],[102.707246,32.976649],[102.7071,32.976786],[102.706993,32.976875],[102.706875,32.97694],[102.706776,32.976986],[102.706595,32.977039],[102.706395,32.977078],[102.706271,32.977108],[102.706146,32.977142],[102.706028,32.977181],[102.705929,32.977236],[102.705777,32.977349],[102.705701,32.977438],[102.705654,32.977498],[102.705592,32.977591],[102.705514,32.977692],[102.705455,32.977756],[102.705402,32.977816],[102.705345,32.977862],[102.705261,32.977908],[102.705176,32.977944],[102.705063,32.977983],[102.705015,32.978002],[102.704826,32.978018],[102.704448,32.978073],[102.704193,32.97812],[102.703748,32.978161],[102.703688,32.978167],[102.703451,32.978201],[102.703087,32.978242],[102.702012,32.978316],[102.701913,32.978323],[102.701882,32.978319],[102.701746,32.97832],[102.701665,32.978326],[102.701515,32.978352],[102.701421,32.978385],[102.701226,32.978445],[102.701082,32.978495],[102.700955,32.978536],[102.700754,32.978623],[102.70066,32.97867],[102.700581,32.978702],[102.700434,32.978724],[102.700314,32.978727],[102.700187,32.978722],[102.700037,32.978715],[102.699777,32.978697],[102.699627,32.978666],[102.699548,32.978648],[102.698725,32.978816],[102.697858,32.978936],[102.697309,32.97929],[102.697029,32.979737],[102.697098,32.979899],[102.697123,32.98001],[102.697083,32.98012],[102.697073,32.980172],[102.696966,32.980321],[102.696599,32.98065],[102.696396,32.98088],[102.696233,32.98102],[102.69608,32.981094],[102.695949,32.981122],[102.695866,32.981138],[102.695747,32.981262],[102.694762,32.98179],[102.693452,32.982357],[102.692481,32.982339],[102.690873,32.9819],[102.689113,32.981094],[102.688071,32.979665],[102.687721,32.978612],[102.686783,32.977321],[102.685795,32.975893],[102.685128,32.974561],[102.684403,32.973411],[102.683979,32.971037],[102.683574,32.970029],[102.68301,32.968881],[102.681946,32.968316],[102.680498,32.96797],[102.678685,32.967118],[102.678521,32.967068],[102.677882,32.966876],[102.676001,32.966568],[102.673966,32.965984],[102.673007,32.965511],[102.672389,32.964408],[102.670758,32.962785],[102.669856,32.962223],[102.668662,32.960426],[102.667381,32.958529],[102.66674,32.958814],[102.665795,32.95906],[102.664637,32.958888],[102.66317,32.958597],[102.661343,32.958374],[102.659473,32.958075],[102.65869,32.958026],[102.658295,32.958001],[102.657777,32.957968],[102.655903,32.95782],[102.653898,32.957593],[102.652834,32.957234],[102.651058,32.956786],[102.650025,32.956955],[102.649124,32.95724],[102.647238,32.957543],[102.646026,32.957747],[102.645697,32.958343],[102.644971,32.958744],[102.644205,32.958994],[102.643612,32.959435],[102.642505,32.960695],[102.641353,32.961992],[102.640033,32.962872],[102.638671,32.963675],[102.637224,32.964289],[102.635503,32.965123],[102.633611,32.965652],[102.631407,32.965986],[102.629563,32.965699],[102.628738,32.965587],[102.627837,32.965465],[102.625633,32.965272],[102.625517,32.965235],[102.625251,32.965149],[102.625202,32.965133],[102.62515,32.965116],[102.625129,32.96511],[102.624804,32.965004],[102.622854,32.964212],[102.622259,32.963988],[102.622228,32.963976],[102.622206,32.963968],[102.62215,32.963947],[102.621943,32.963869],[102.621695,32.963776],[102.621599,32.963739],[102.621186,32.963584],[102.619898,32.963098],[102.619545,32.963028],[102.619534,32.963026],[102.619415,32.963002],[102.619296,32.962979],[102.618494,32.962819],[102.618418,32.962804],[102.61794,32.962709],[102.615949,32.962087],[102.615916,32.962077],[102.615704,32.962011],[102.61569,32.962006],[102.615264,32.961873],[102.615128,32.961831],[102.615001,32.961791],[102.615024,32.961581],[102.615039,32.961439]]]]},"properties":{"cp":[102.84021326842111,32.73181473528267],"code":"513233205","name":"阿木乡","level":"street","center":[102.84021326842111,32.73181473528267],"fullCode":"513233205000","fullName":"四川省阿坝藏族羌族自治州红原县阿木乡","acreageMu":1338297.24,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.789,32.9154]}},{"id":"513233207","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.844495,33.079459],[102.844382,33.079401],[102.84443,33.079385],[102.844506,33.079376],[102.844569,33.078895],[102.844578,33.07883],[102.844641,33.07835],[102.844645,33.078323],[102.844646,33.078265],[102.844669,33.077341],[102.84467,33.077303],[102.844671,33.077231],[102.844935,33.07639],[102.844994,33.076401],[102.845031,33.0764],[102.845065,33.076391],[102.845099,33.076369],[102.845117,33.076336],[102.845115,33.076287],[102.845103,33.076236],[102.845079,33.076199],[102.84501,33.076158],[102.845141,33.075762],[102.845203,33.075757],[102.845243,33.075728],[102.845258,33.075685],[102.84528,33.075629],[102.845276,33.075575],[102.845265,33.075541],[102.845218,33.075529],[102.845455,33.074811],[102.845469,33.074509],[102.845517,33.07448],[102.845535,33.074447],[102.845541,33.074403],[102.845541,33.074363],[102.845527,33.074306],[102.84552,33.074258],[102.845519,33.074188],[102.845532,33.074119],[102.845563,33.07405],[102.845592,33.073981],[102.845605,33.073935],[102.845607,33.073897],[102.845582,33.073888],[102.845548,33.073897],[102.845496,33.073923],[102.8455,33.073836],[102.845469,33.073643],[102.845459,33.073577],[102.845259,33.072336],[102.845272,33.072264],[102.845273,33.072178],[102.845263,33.072102],[102.845242,33.072058],[102.845204,33.072041],[102.845118,33.072038],[102.84485,33.071477],[102.844725,33.070707],[102.844711,33.07062],[102.844589,33.069865],[102.844198,33.067669],[102.844189,33.06762],[102.844119,33.066488],[102.844117,33.066462],[102.843883,33.065075],[102.843901,33.064313],[102.844961,33.063485],[102.845547,33.062818],[102.84569,33.062453],[102.846066,33.062149],[102.84601,33.061697],[102.84563,33.060759],[102.845546,33.060108],[102.845335,33.059145],[102.845688,33.058389],[102.846445,33.057584],[102.846591,33.057107],[102.846806,33.056518],[102.846876,33.055023],[102.847498,33.054272],[102.848225,33.053325],[102.848508,33.052709],[102.849238,33.051621],[102.849892,33.050927],[102.850289,33.049748],[102.850368,33.049242],[102.850701,33.047977],[102.850947,33.047394],[102.851068,33.04711],[102.85111,33.04701],[102.851163,33.046885],[102.851659,33.045792],[102.852059,33.044501],[102.852986,33.04082],[102.852891,33.039182],[102.852846,33.038278],[102.853084,33.036786],[102.853592,33.035186],[102.85374,33.034468],[102.853801,33.034173],[102.854085,33.032796],[102.854443,33.031842],[102.854791,33.03134],[102.855469,33.030985],[102.856091,33.030234],[102.856445,33.02945],[102.856808,33.02827],[102.857282,33.026698],[102.857501,33.025968],[102.857227,33.024806],[102.85659,33.023469],[102.856544,33.022593],[102.856625,33.022002],[102.85701,33.021331],[102.857639,33.02027],[102.857759,33.01997],[102.857836,33.019781],[102.858102,33.01912],[102.858594,33.018169],[102.858539,33.017689],[102.857779,33.017224],[102.856349,33.016726],[102.856308,33.016712],[102.855598,33.016465],[102.855579,33.016458],[102.855544,33.016446],[102.855541,33.016445],[102.855534,33.016442],[102.855511,33.016434],[102.854623,33.016126],[102.85455,33.016089],[102.85453,33.016079],[102.853395,33.015513],[102.853221,33.01522],[102.852586,33.014663],[102.852178,33.014483],[102.85133,33.014245],[102.851089,33.014291],[102.849761,33.013586],[102.849572,33.013075],[102.849655,33.012427],[102.84989,33.01102],[102.850162,33.009757],[102.850117,33.009651],[102.850107,33.009517],[102.850136,33.009268],[102.850304,33.008986],[102.850449,33.008855],[102.850632,33.008782],[102.850754,33.008552],[102.851312,33.00763],[102.851562,33.007013],[102.851583,33.006139],[102.851285,33.004902],[102.851266,33.004823],[102.851248,33.00475],[102.851009,33.004252],[102.850895,33.004014],[102.850866,33.003953],[102.850544,33.003383],[102.850149,33.001653],[102.84996,33.001421],[102.849954,33.001414],[102.849953,33.001413],[102.849565,33.000939],[102.849522,33.000883],[102.849431,33.000768],[102.84943,33.000767],[102.849408,33.000739],[102.849273,33.000567],[102.848992,33.000135],[102.848753,32.999765],[102.848353,32.99915],[102.848335,32.999122],[102.84811,32.998776],[102.848012,32.998625],[102.846594,32.995025],[102.84578,32.993888],[102.845532,32.992523],[102.845557,32.992407],[102.845653,32.991957],[102.845761,32.991448],[102.84577,32.991403],[102.846145,32.990243],[102.846212,32.990035],[102.846226,32.989992],[102.846149,32.988913],[102.84629,32.988838],[102.846336,32.988793],[102.84637,32.988697],[102.846337,32.988587],[102.846298,32.988564],[102.84622,32.988564],[102.846126,32.98858],[102.846121,32.988511],[102.846271,32.986698],[102.846295,32.9864],[102.846309,32.986335],[102.846356,32.986117],[102.846456,32.985653],[102.846456,32.985653],[102.846467,32.985599],[102.846533,32.985295],[102.84693,32.984104],[102.846965,32.983908],[102.846999,32.983722],[102.847003,32.983697],[102.847006,32.983679],[102.847073,32.983306],[102.847078,32.983278],[102.847085,32.983243],[102.847091,32.983208],[102.847113,32.983087],[102.846892,32.981354],[102.846856,32.980936],[102.846845,32.980817],[102.846813,32.980434],[102.846785,32.980114],[102.846727,32.979443],[102.846553,32.979101],[102.846525,32.979047],[102.846332,32.978669],[102.846324,32.978653],[102.846225,32.978459],[102.84612,32.978163],[102.845784,32.977216],[102.845782,32.977209],[102.84538,32.976404],[102.845412,32.975118],[102.844927,32.973424],[102.843996,32.972277],[102.843972,32.972247],[102.844075,32.972171],[102.844142,32.972126],[102.844191,32.972072],[102.84419,32.971994],[102.844129,32.971926],[102.844076,32.971876],[102.843972,32.971822],[102.843797,32.971686],[102.84357,32.971563],[102.843563,32.97156],[102.843486,32.971518],[102.843218,32.971431],[102.843118,32.971444],[102.842919,32.97144],[102.84263,32.97147],[102.84238,32.971334],[102.841619,32.971021],[102.84064,32.971129],[102.839335,32.971256],[102.839267,32.971268],[102.839288,32.970765],[102.840628,32.970574],[102.842155,32.970493],[102.843744,32.970467],[102.844901,32.970021],[102.845807,32.969445],[102.8473,32.968208],[102.84967,32.966084],[102.850872,32.965052],[102.851996,32.964319],[102.85298,32.963434],[102.853286,32.962597],[102.853988,32.961587],[102.854856,32.961091],[102.858044,32.95907],[102.858705,32.9583],[102.858932,32.957991],[102.85902,32.957772],[102.859153,32.957528],[102.859254,32.957377],[102.859387,32.957147],[102.859496,32.956982],[102.85963,32.956773],[102.859755,32.956557],[102.859863,32.956364],[102.860098,32.956054],[102.8603,32.955824],[102.860467,32.955601],[102.860484,32.955576],[102.860635,32.955175],[102.86083,32.954846],[102.860864,32.954539],[102.860905,32.954352],[102.860996,32.95408],[102.861087,32.953893],[102.861205,32.953713],[102.861363,32.953469],[102.861455,32.953297],[102.861624,32.953016],[102.86167,32.952186],[102.861651,32.951857],[102.86162,32.951313],[102.861691,32.951315],[102.861744,32.950788],[102.861775,32.950484],[102.861808,32.949137],[102.861969,32.947739],[102.862638,32.94651],[102.863643,32.944587],[102.864585,32.942662],[102.865904,32.94096],[102.866394,32.939189],[102.866625,32.938309],[102.866746,32.937848],[102.866716,32.937779],[102.866382,32.937033],[102.865707,32.935889],[102.86523,32.934426],[102.865398,32.932757],[102.865955,32.93088],[102.867081,32.929228],[102.868257,32.92817],[102.869007,32.926242],[102.869858,32.925394],[102.870064,32.924805],[102.870228,32.923298],[102.870533,32.921255],[102.870938,32.920345],[102.871968,32.919496],[102.871693,32.92007],[102.871316,32.92156],[102.871284,32.922912],[102.871605,32.923752],[102.872158,32.924883],[102.87269,32.925439],[102.873804,32.925947],[102.874892,32.92611],[102.875972,32.926617],[102.876812,32.92715],[102.877686,32.927682],[102.878487,32.928444],[102.879622,32.929499],[102.880462,32.93006],[102.88147,32.930711],[102.882746,32.931567],[102.88366,32.931899],[102.884597,32.932663],[102.885266,32.933221],[102.886338,32.934045],[102.887179,32.934577],[102.888025,32.93485],[102.889218,32.934928],[102.89017,32.935088],[102.890806,32.935588],[102.891001,32.935994],[102.891224,32.93666],[102.891513,32.937442],[102.89211,32.938171],[102.892844,32.938845],[102.893542,32.939663],[102.893773,32.939983],[102.89386,32.940647],[102.893875,32.941453],[102.893751,32.942343],[102.893623,32.943434],[102.893464,32.944352],[102.8936,32.944383],[102.894722,32.944575],[102.89584,32.944939],[102.897195,32.945336],[102.898181,32.945496],[102.899676,32.945809],[102.900765,32.945914],[102.901924,32.945962],[102.902951,32.945864],[102.903707,32.945618],[102.904564,32.945489],[102.905414,32.945589],[102.906153,32.94612],[102.907391,32.947176],[102.907846,32.948134],[102.908545,32.948893],[102.909038,32.949679],[102.909909,32.950384],[102.911449,32.951647],[102.912465,32.951981],[102.912939,32.952161],[102.913242,32.952339],[102.912622,32.952587],[102.912574,32.952611],[102.912009,32.952887],[102.911482,32.953144],[102.910888,32.953738],[102.910227,32.954274],[102.909535,32.954665],[102.908971,32.955404],[102.908231,32.956428],[102.907793,32.957629],[102.907528,32.958718],[102.907099,32.959545],[102.907069,32.960811],[102.906946,32.961701],[102.906749,32.96423],[102.906522,32.965176],[102.906497,32.965334],[102.906495,32.965869],[102.906499,32.966255],[102.906439,32.966646],[102.90634,32.966847],[102.906244,32.967051],[102.906205,32.967212],[102.90613,32.967694],[102.906121,32.967749],[102.906063,32.968122],[102.906027,32.968355],[102.905999,32.968534],[102.906001,32.968584],[102.906008,32.968794],[102.906009,32.968813],[102.906011,32.968862],[102.906043,32.969763],[102.906044,32.969792],[102.906081,32.970837],[102.906163,32.971906],[102.906168,32.971965],[102.906193,32.972293],[102.906212,32.972537],[102.90621,32.972547],[102.906126,32.973054],[102.905943,32.97316],[102.905842,32.973237],[102.905686,32.973453],[102.905547,32.973693],[102.905436,32.973985],[102.905404,32.974157],[102.905462,32.974266],[102.905519,32.974347],[102.905554,32.974447],[102.905561,32.974561],[102.905513,32.974791],[102.90551,32.974799],[102.905355,32.975544],[102.90527,32.976262],[102.905155,32.976807],[102.904836,32.97732],[102.9047,32.978167],[102.904686,32.978259],[102.904675,32.978324],[102.904655,32.97847],[102.904633,32.978632],[102.904594,32.978913],[102.904561,32.979147],[102.904447,32.979969],[102.904366,32.980111],[102.904266,32.980259],[102.904233,32.980345],[102.904212,32.980503],[102.90423,32.980617],[102.904332,32.980799],[102.90433,32.98081],[102.904305,32.980994],[102.904256,32.981626],[102.904443,32.982349],[102.905163,32.983859],[102.905481,32.984526],[102.90555,32.98467],[102.906417,32.9869],[102.906576,32.987204],[102.906623,32.987326],[102.906681,32.987451],[102.906775,32.987602],[102.906836,32.987721],[102.90684,32.987808],[102.906877,32.987951],[102.906932,32.988087],[102.906997,32.988218],[102.907083,32.988337],[102.907148,32.988468],[102.907153,32.988593],[102.907112,32.988706],[102.907123,32.988829],[102.907153,32.98893],[102.907203,32.989031],[102.907229,32.989134],[102.907256,32.989241],[102.907257,32.989243],[102.907289,32.989367],[102.907377,32.989707],[102.907402,32.989805],[102.907673,32.989889],[102.907766,32.989945],[102.907883,32.990079],[102.907984,32.990283],[102.908002,32.990469],[102.907905,32.990584],[102.907786,32.990689],[102.907644,32.99074],[102.907704,32.990972],[102.907721,32.991037],[102.90796,32.99248],[102.908895,32.993387],[102.910068,32.994328],[102.910665,32.995057],[102.911393,32.996048],[102.911415,32.996074],[102.911493,32.996166],[102.91169,32.99629],[102.911844,32.996382],[102.911964,32.996527],[102.912034,32.996735],[102.912104,32.996916],[102.912156,32.996998],[102.912232,32.997048],[102.913258,32.998065],[102.913707,32.998406],[102.913747,32.998558],[102.913804,32.998675],[102.91386,32.998768],[102.91392,32.998843],[102.914031,32.998892],[102.914129,32.998931],[102.914209,32.998956],[102.914892,32.999732],[102.915434,32.999943],[102.916052,32.99978],[102.916126,32.999771],[102.916174,32.999764],[102.9162,32.999761],[102.917011,32.999653],[102.917514,32.999675],[102.918035,32.999698],[102.919982,32.999645],[102.920907,32.999516],[102.92169,32.999644],[102.922491,32.999642],[102.922543,32.999642],[102.923193,32.999641],[102.924316,32.999774],[102.925448,32.999592],[102.926467,32.99981],[102.926518,32.999816],[102.92683,32.999855],[102.927284,32.99991],[102.927557,32.999943],[102.928347,32.999726],[102.929353,32.999111],[102.929906,32.998774],[102.930204,32.998433],[102.930503,32.998093],[102.930961,32.997598],[102.930748,32.997514],[102.930684,32.997468],[102.930679,32.997396],[102.930704,32.997321],[102.930788,32.997263],[102.930902,32.997248],[102.931051,32.997236],[102.931208,32.997199],[102.93139,32.997147],[102.931714,32.997056],[102.932275,32.99677],[102.932608,32.996656],[102.932769,32.996601],[102.933285,32.996425],[102.933962,32.996193],[102.934749,32.996211],[102.935232,32.996222],[102.935324,32.99626],[102.935719,32.996425],[102.935852,32.996481],[102.936192,32.996622],[102.936612,32.996739],[102.936622,32.996741],[102.936887,32.996815],[102.936929,32.996827],[102.936943,32.997076],[102.93695,32.997206],[102.93694,32.997237],[102.936909,32.997338],[102.936905,32.997399],[102.936909,32.997525],[102.936929,32.997644],[102.936947,32.997751],[102.936954,32.99777],[102.936963,32.997787],[102.93698,32.997818],[102.937059,32.9979],[102.937139,32.997955],[102.937163,32.997974],[102.937142,32.998014],[102.937106,32.998043],[102.937052,32.998056],[102.936996,32.99804],[102.936958,32.998015],[102.936957,32.998075],[102.936956,32.998086],[102.936945,32.998557],[102.937224,32.99885],[102.93752,32.998759],[102.937586,32.998738],[102.937629,32.998709],[102.937689,32.99868],[102.937752,32.998662],[102.937807,32.99867],[102.938021,32.998604],[102.93804,32.998564],[102.93806,32.998523],[102.938081,32.998497],[102.938108,32.998472],[102.93813,32.998454],[102.938159,32.998434],[102.938193,32.998422],[102.938222,32.998415],[102.938256,32.998408],[102.938292,32.99841],[102.938331,32.998411],[102.938357,32.998413],[102.938389,32.998419],[102.938415,32.998425],[102.938434,32.998436],[102.938453,32.99845],[102.938469,32.998464],[102.938477,32.998497],[102.93883,32.998444],[102.93911,32.998689],[102.939105,32.998697],[102.9391,32.998709],[102.93907,32.998767],[102.939059,32.99879],[102.939043,32.998821],[102.938956,32.998995],[102.938944,32.999019],[102.938928,32.99905],[102.938898,32.999111],[102.938885,32.999137],[102.938751,32.999404],[102.938834,32.999835],[102.938853,32.999934],[102.938867,32.999974],[102.938875,32.999997],[102.938895,33.000053],[102.939019,33.000403],[102.939021,33.00041],[102.939024,33.000418],[102.939042,33.000467],[102.939069,33.000543],[102.939078,33.000571],[102.93931,33.001223],[102.939829,33.001618],[102.939572,33.002059],[102.940057,33.002453],[102.940541,33.002848],[102.940178,33.003287],[102.940114,33.003419],[102.939985,33.003684],[102.939919,33.003818],[102.939759,33.004002],[102.939731,33.004033],[102.93961,33.004071],[102.939537,33.004108],[102.939495,33.004134],[102.939403,33.004261],[102.939403,33.004286],[102.93889,33.004098],[102.938337,33.003766],[102.938229,33.003701],[102.938188,33.003968],[102.938272,33.004117],[102.938274,33.00412],[102.938383,33.004314],[102.938409,33.00436],[102.938425,33.004388],[102.938358,33.004432],[102.938342,33.004443],[102.938327,33.004453],[102.938262,33.004496],[102.938249,33.004505],[102.93823,33.004517],[102.937816,33.004794],[102.937788,33.004904],[102.937787,33.00491],[102.937786,33.004917],[102.93777,33.004977],[102.937741,33.005091],[102.937714,33.005202],[102.93766,33.005415],[102.93767,33.005428],[102.937918,33.005742],[102.937935,33.005764],[102.937969,33.005806],[102.93811,33.005948],[102.938167,33.006005],[102.93821,33.006048],[102.938205,33.006077],[102.938199,33.006109],[102.938197,33.006118],[102.938129,33.006492],[102.937805,33.006754],[102.937096,33.006951],[102.936373,33.007711],[102.936262,33.007878],[102.936249,33.007898],[102.936213,33.007952],[102.93608,33.008152],[102.935914,33.008704],[102.935908,33.008724],[102.935813,33.009039],[102.935438,33.009984],[102.934819,33.010806],[102.934762,33.010955],[102.934481,33.011691],[102.93449,33.011729],[102.934704,33.012705],[102.935033,33.013621],[102.935054,33.013682],[102.935069,33.013722],[102.935134,33.013858],[102.935164,33.013919],[102.935204,33.014003],[102.935674,33.01498],[102.93571,33.01506],[102.935717,33.015074],[102.935734,33.015114],[102.935742,33.01513],[102.935778,33.015212],[102.935942,33.015578],[102.936065,33.015696],[102.936191,33.015817],[102.936235,33.015859],[102.937046,33.016636],[102.93746,33.017342],[102.937508,33.017424],[102.937521,33.017447],[102.93782,33.017896],[102.938168,33.01842],[102.938174,33.01843],[102.938274,33.018581],[102.938279,33.018589],[102.938286,33.018599],[102.938339,33.018678],[102.938343,33.018702],[102.938345,33.018712],[102.93837,33.018701],[102.938446,33.018669],[102.938521,33.018625],[102.93852,33.018718],[102.938376,33.018899],[102.938525,33.019781],[102.938288,33.020847],[102.938445,33.021681],[102.938479,33.021746],[102.939121,33.02297],[102.939399,33.023421],[102.939937,33.024291],[102.940119,33.024354],[102.940279,33.024408],[102.940391,33.024447],[102.940623,33.024366],[102.940872,33.024278],[102.940879,33.024276],[102.941164,33.024176],[102.94128,33.024135],[102.942032,33.02392],[102.942559,33.02377],[102.943649,33.023907],[102.944453,33.024217],[102.945046,33.024524],[102.945566,33.024919],[102.945727,33.025575],[102.945435,33.026194],[102.945281,33.026518],[102.945072,33.026791],[102.944445,33.027604],[102.944594,33.027943],[102.944814,33.028442],[102.944982,33.028989],[102.945043,33.029189],[102.945058,33.030051],[102.944664,33.031827],[102.94418,33.032918],[102.943913,33.033805],[102.944072,33.034551],[102.944095,33.034921],[102.944123,33.035384],[102.944424,33.036102],[102.944406,33.036874],[102.944209,33.037241],[102.944185,33.037286],[102.943602,33.038079],[102.943658,33.038704],[102.943924,33.039421],[102.94475,33.040297],[102.945123,33.040957],[102.945112,33.041432],[102.944747,33.041931],[102.944704,33.042287],[102.944946,33.042499],[102.945685,33.04257],[102.946802,33.042783],[102.946879,33.042798],[102.947222,33.043098],[102.94723,33.043106],[102.947401,33.043255],[102.947433,33.043283],[102.947847,33.043646],[102.950089,33.046339],[102.950358,33.046662],[102.950379,33.046815],[102.950431,33.046911],[102.950535,33.047031],[102.950573,33.047075],[102.950715,33.047228],[102.950835,33.047306],[102.95104,33.047444],[102.951177,33.047521],[102.951336,33.04762],[102.951473,33.047748],[102.951564,33.047883],[102.951633,33.048022],[102.951643,33.048115],[102.951621,33.048179],[102.952035,33.048677],[102.952143,33.048753],[102.953077,33.049407],[102.954887,33.050447],[102.955224,33.051136],[102.954598,33.052421],[102.954577,33.052464],[102.954345,33.05294],[102.95424,33.053644],[102.954164,33.054391],[102.954105,33.054534],[102.954077,33.054667],[102.954007,33.054911],[102.953928,33.055083],[102.953828,33.055234],[102.953817,33.055363],[102.953789,33.055517],[102.953701,33.055665],[102.953639,33.05583],[102.95362,33.056019],[102.95363,33.056188],[102.953632,33.056324],[102.953616,33.056485],[102.953635,33.056631],[102.953696,33.056813],[102.953668,33.056932],[102.953601,33.057025],[102.953547,33.057108],[102.953527,33.057188],[102.953518,33.057226],[102.953515,33.057373],[102.953482,33.057455],[102.953438,33.057575],[102.953429,33.057599],[102.953401,33.057727],[102.953395,33.057754],[102.953401,33.058019],[102.953426,33.05914],[102.953439,33.059687],[102.953557,33.060173],[102.953721,33.060844],[102.954309,33.062117],[102.954944,33.063279],[102.955595,33.063773],[102.956519,33.063899],[102.957133,33.064058],[102.958356,33.064598],[102.959416,33.064541],[102.960792,33.064192],[102.962617,33.063516],[102.963865,33.06317],[102.96396,33.063143],[102.96426,33.06306],[102.965237,33.062816],[102.966028,33.06294],[102.966722,33.063472],[102.967116,33.06407],[102.967168,33.06407],[102.967212,33.06407],[102.967249,33.064082],[102.967288,33.064113],[102.9673,33.064167],[102.967297,33.064203],[102.96728,33.064215],[102.967228,33.064239],[102.967489,33.064636],[102.967934,33.065222],[102.968175,33.065539],[102.968292,33.06621],[102.968286,33.066451],[102.96828,33.06672],[102.968278,33.06679],[102.968298,33.066793],[102.968312,33.066798],[102.968323,33.066807],[102.96833,33.066818],[102.968346,33.066844],[102.968384,33.066858],[102.968404,33.066859],[102.968424,33.06686],[102.968462,33.066864],[102.96848,33.066872],[102.96849,33.066884],[102.968491,33.066904],[102.968473,33.066925],[102.968445,33.066929],[102.968403,33.066932],[102.96835,33.066937],[102.968321,33.066945],[102.968296,33.066961],[102.968281,33.066974],[102.96827,33.066993],[102.968269,33.067009],[102.968271,33.067024],[102.968278,33.067036],[102.96829,33.067047],[102.968302,33.067056],[102.968321,33.067071],[102.968356,33.067091],[102.968372,33.067101],[102.968392,33.067112],[102.968426,33.067137],[102.968447,33.067161],[102.968454,33.06718],[102.968445,33.067198],[102.968411,33.067212],[102.968398,33.067212],[102.968356,33.06722],[102.96835,33.067222],[102.968337,33.067232],[102.968324,33.06725],[102.968318,33.067277],[102.968322,33.0673],[102.968335,33.067312],[102.968363,33.067332],[102.968384,33.067336],[102.968404,33.067423],[102.968477,33.067736],[102.968553,33.067811],[102.969168,33.068416],[102.969685,33.068683],[102.969735,33.068709],[102.969749,33.068733],[102.969759,33.068742],[102.969795,33.068764],[102.969825,33.068783],[102.969864,33.068801],[102.969896,33.06882],[102.96992,33.068804],[102.969985,33.068838],[102.970433,33.069069],[102.971306,33.06967],[102.971649,33.069906],[102.971661,33.069933],[102.972195,33.071104],[102.972578,33.072109],[102.972614,33.072204],[102.972621,33.072223],[102.972648,33.072262],[102.972665,33.072291],[102.972677,33.072314],[102.972691,33.072337],[102.972705,33.072352],[102.972723,33.072365],[102.972746,33.07238],[102.972775,33.072413],[102.972803,33.072437],[102.972827,33.072459],[102.972831,33.072473],[102.972835,33.072484],[102.972837,33.072503],[102.972834,33.072516],[102.972809,33.072543],[102.972789,33.072563],[102.972789,33.072577],[102.972797,33.072602],[102.972803,33.072619],[102.972833,33.072668],[102.97286,33.072701],[102.972888,33.072742],[102.97291,33.072771],[102.972938,33.072801],[102.972978,33.072833],[102.972995,33.072855],[102.973046,33.072884],[102.973066,33.072893],[102.973059,33.072937],[102.973106,33.072967],[102.973176,33.073006],[102.973223,33.073032],[102.973267,33.073062],[102.973277,33.073082],[102.973282,33.073118],[102.973292,33.073146],[102.973322,33.073165],[102.97335,33.073177],[102.973391,33.07319],[102.973423,33.073214],[102.973442,33.07323],[102.973454,33.073252],[102.973466,33.073296],[102.973482,33.073314],[102.973529,33.073341],[102.973559,33.073361],[102.973583,33.073397],[102.973606,33.073428],[102.973636,33.073459],[102.97366,33.073485],[102.973776,33.073635],[102.973819,33.073704],[102.973849,33.07375],[102.973854,33.073756],[102.973904,33.07375],[102.97394,33.073796],[102.973967,33.07383],[102.973998,33.073857],[102.974025,33.073888],[102.974102,33.073961],[102.974151,33.074007],[102.974187,33.074036],[102.974217,33.074074],[102.974257,33.074135],[102.974299,33.074177],[102.974345,33.074214],[102.974391,33.074242],[102.974457,33.074265],[102.974485,33.07427],[102.974528,33.07428],[102.974546,33.074304],[102.974551,33.074329],[102.97453,33.074342],[102.9745,33.074373],[102.974482,33.074397],[102.974482,33.074409],[102.974503,33.074424],[102.974517,33.074424],[102.97453,33.074424],[102.974557,33.074417],[102.974592,33.074408],[102.974623,33.074427],[102.974632,33.074449],[102.97463,33.074478],[102.974618,33.0745],[102.974619,33.074523],[102.974631,33.074543],[102.974665,33.074558],[102.97468,33.074559],[102.974696,33.074559],[102.974716,33.074547],[102.974725,33.074528],[102.974725,33.0745],[102.974726,33.074486],[102.974729,33.074471],[102.974754,33.07446],[102.974774,33.074456],[102.974815,33.074466],[102.974832,33.074474],[102.974852,33.074486],[102.97486,33.074507],[102.974866,33.074527],[102.974873,33.074544],[102.974891,33.07456],[102.974915,33.074575],[102.974927,33.074586],[102.974935,33.074608],[102.974944,33.074623],[102.974963,33.074639],[102.974976,33.074656],[102.974975,33.074673],[102.974957,33.074692],[102.974947,33.074706],[102.974947,33.074717],[102.974953,33.074723],[102.974965,33.074727],[102.97498,33.074728],[102.974994,33.074725],[102.975017,33.074722],[102.975035,33.074711],[102.975037,33.074695],[102.97504,33.074675],[102.975047,33.074666],[102.975082,33.074672],[102.975101,33.074697],[102.97511,33.074721],[102.975128,33.074737],[102.975135,33.07474],[102.975155,33.07475],[102.975167,33.074772],[102.975148,33.074797],[102.975138,33.074808],[102.975132,33.074814],[102.975117,33.074839],[102.975114,33.07485],[102.975118,33.074861],[102.975127,33.074869],[102.975139,33.074872],[102.975161,33.074879],[102.975185,33.074894],[102.975209,33.074905],[102.97523,33.074922],[102.975258,33.074939],[102.975287,33.07496],[102.975302,33.074971],[102.975311,33.074994],[102.975308,33.075013],[102.975285,33.075026],[102.975268,33.075031],[102.975247,33.075035],[102.975233,33.07504],[102.975231,33.075048],[102.975234,33.07506],[102.975243,33.075066],[102.975253,33.075068],[102.975269,33.075069],[102.97529,33.075067],[102.975329,33.075072],[102.975356,33.075084],[102.975399,33.075081],[102.975412,33.075079],[102.975424,33.075074],[102.975457,33.075066],[102.975472,33.075075],[102.975479,33.075096],[102.975493,33.075107],[102.975505,33.075119],[102.975504,33.075149],[102.975497,33.075178],[102.975475,33.0752],[102.975454,33.075205],[102.975431,33.075194],[102.975432,33.075175],[102.975438,33.075152],[102.975437,33.075143],[102.975418,33.075143],[102.975409,33.075149],[102.975405,33.075162],[102.975405,33.07518],[102.975408,33.075202],[102.975409,33.075212],[102.975411,33.075229],[102.975412,33.075243],[102.97541,33.075255],[102.975403,33.075271],[102.975456,33.075352],[102.975708,33.075731],[102.975784,33.07606],[102.97587,33.076434],[102.9759,33.076565],[102.975931,33.076617],[102.975964,33.076668],[102.975994,33.076703],[102.976014,33.076721],[102.976044,33.076726],[102.976075,33.076731],[102.976139,33.076753],[102.976173,33.076777],[102.976197,33.076794],[102.976206,33.07682],[102.976207,33.076849],[102.976188,33.07689],[102.976152,33.076913],[102.976124,33.076942],[102.97611,33.076969],[102.976124,33.076997],[102.976134,33.077043],[102.976141,33.077065],[102.97615,33.077096],[102.976148,33.077127],[102.976137,33.077151],[102.976115,33.077176],[102.976067,33.077204],[102.976021,33.077226],[102.975987,33.077236],[102.975936,33.077246],[102.975916,33.077252],[102.975882,33.07774],[102.976311,33.078305],[102.977408,33.078583],[102.97755,33.078663],[102.978148,33.079003],[102.978661,33.079571],[102.978966,33.079908],[102.979567,33.080661],[102.980294,33.081676],[102.981612,33.081958],[102.982003,33.082224],[102.982649,33.082903],[102.983512,33.083772],[102.984031,33.084226],[102.984499,33.085014],[102.985049,33.086026],[102.985132,33.086162],[102.985363,33.086542],[102.985606,33.086943],[102.985688,33.087077],[102.985791,33.087132],[102.985844,33.087097],[102.985954,33.087109],[102.986004,33.08717],[102.986062,33.087192],[102.986151,33.087228],[102.986235,33.087244],[102.986326,33.087276],[102.986372,33.087311],[102.986403,33.08737],[102.986421,33.087408],[102.986387,33.087446],[102.98656,33.087537],[102.986654,33.087565],[102.987126,33.087706],[102.987181,33.087722],[102.987238,33.087739],[102.987875,33.08793],[102.988353,33.088182],[102.98871,33.08837],[102.988824,33.08843],[102.988965,33.088505],[102.988999,33.088951],[102.988992,33.089262],[102.988989,33.08941],[102.989081,33.089449],[102.989128,33.089493],[102.989139,33.089546],[102.989134,33.089602],[102.989111,33.089673],[102.989084,33.08971],[102.989027,33.089721],[102.988982,33.089715],[102.988919,33.08973],[102.988867,33.089752],[102.988813,33.08978],[102.988806,33.089824],[102.988826,33.089876],[102.98889,33.089939],[102.988927,33.089973],[102.988983,33.090017],[102.989034,33.090084],[102.989064,33.090145],[102.98911,33.090215],[102.989172,33.090273],[102.989269,33.090339],[102.989364,33.090465],[102.989491,33.090631],[102.990656,33.091231],[102.990756,33.091283],[102.990985,33.092048],[102.991003,33.092105],[102.991231,33.092496],[102.991257,33.092503],[102.991334,33.092519],[102.99138,33.092545],[102.99138,33.09259],[102.991339,33.092682],[102.99128,33.092725],[102.991255,33.092758],[102.991244,33.092806],[102.99125,33.092842],[102.991264,33.092873],[102.991287,33.092873],[102.99143,33.092838],[102.991706,33.093312],[102.991724,33.093342],[102.991725,33.093344],[102.991776,33.093355],[102.99183,33.093432],[102.991842,33.093494],[102.991864,33.093598],[102.991904,33.093685],[102.991958,33.093747],[102.992026,33.093815],[102.992094,33.093871],[102.992155,33.093915],[102.992219,33.093995],[102.992241,33.094058],[102.992209,33.094111],[102.992198,33.094183],[102.992208,33.094264],[102.992217,33.094338],[102.99226,33.094404],[102.992323,33.094442],[102.992435,33.094488],[102.992556,33.094709],[102.992569,33.094733],[102.992645,33.094872],[102.992657,33.094894],[102.992714,33.094999],[102.992724,33.095018],[102.992778,33.095116],[102.992791,33.09514],[102.992882,33.095307],[102.992893,33.095326],[102.992898,33.095336],[102.992957,33.095443],[102.992963,33.095448],[102.992987,33.095468],[102.993024,33.095499],[102.993059,33.095529],[102.993073,33.09554],[102.993191,33.09555],[102.993223,33.095552],[102.993248,33.09558],[102.993257,33.095624],[102.993266,33.095702],[102.993371,33.09579],[102.993453,33.095858],[102.993528,33.095921],[102.993551,33.09594],[102.993953,33.096277],[102.994552,33.097104],[102.995163,33.097344],[102.99534,33.097414],[102.995491,33.097303],[102.995513,33.097287],[102.995616,33.097212],[102.995789,33.097086],[102.995836,33.097096],[102.996039,33.097137],[102.996049,33.097139],[102.996102,33.09715],[102.99658,33.097248],[102.996695,33.097323],[102.996696,33.097265],[102.996695,33.097258],[102.996755,33.097256],[102.996838,33.097266],[102.996882,33.097285],[102.996913,33.097317],[102.996921,33.097354],[102.996911,33.097401],[102.996895,33.097455],[102.996909,33.097464],[102.997102,33.097591],[102.997232,33.097846],[102.99729,33.097841],[102.997343,33.097873],[102.997366,33.097918],[102.997368,33.097952],[102.99735,33.098004],[102.997308,33.098053],[102.997269,33.098059],[102.997233,33.09805],[102.997188,33.098032],[102.997137,33.098023],[102.997117,33.098035],[102.997103,33.098058],[102.997106,33.098094],[102.997135,33.098114],[102.997192,33.098145],[102.997242,33.098183],[102.997264,33.098226],[102.997264,33.098252],[102.997253,33.09827],[102.997227,33.098283],[102.997205,33.098296],[102.997209,33.098322],[102.997229,33.098339],[102.997277,33.09835],[102.997257,33.09855],[102.997256,33.098559],[102.997261,33.098615],[102.997271,33.098733],[102.997283,33.098875],[102.997206,33.098814],[102.997176,33.098787],[102.997123,33.098759],[102.99708,33.098754],[102.997051,33.098769],[102.997049,33.098811],[102.997095,33.098853],[102.997173,33.098898],[102.997243,33.098937],[102.997298,33.098966],[102.997385,33.099005],[102.997433,33.099035],[102.997437,33.099062],[102.997408,33.099089],[102.997359,33.099106],[102.997245,33.09913],[102.997172,33.099122],[102.99712,33.099096],[102.997095,33.099069],[102.997072,33.099044],[102.997038,33.099053],[102.997021,33.099073],[102.997039,33.099118],[102.997092,33.099162],[102.997137,33.099183],[102.997202,33.099217],[102.997226,33.099245],[102.997236,33.099284],[102.99724,33.099318],[102.997229,33.099362],[102.997202,33.099375],[102.997156,33.09938],[102.997122,33.099373],[102.9971,33.099379],[102.997073,33.099441],[102.997065,33.09949],[102.997027,33.099529],[102.996954,33.099554],[102.996924,33.099588],[102.996922,33.099634],[102.996923,33.099675],[102.996888,33.099719],[102.99685,33.09973],[102.996832,33.099749],[102.996854,33.099772],[102.99689,33.099779],[102.996915,33.099769],[102.996949,33.099732],[102.996991,33.099665],[102.997023,33.099625],[102.997057,33.099629],[102.997096,33.09965],[102.997132,33.099661],[102.997193,33.099649],[102.99725,33.099618],[102.997295,33.099615],[102.997341,33.099643],[102.997363,33.099695],[102.997361,33.099735],[102.997318,33.09976],[102.997232,33.099787],[102.997161,33.099794],[102.99711,33.09981],[102.997119,33.099837],[102.997156,33.099868],[102.997185,33.099874],[102.997206,33.099869],[102.997239,33.099837],[102.997281,33.099804],[102.997319,33.099782],[102.997366,33.099756],[102.997403,33.09975],[102.997437,33.099751],[102.997473,33.099767],[102.997485,33.099807],[102.99749,33.099873],[102.997499,33.099931],[102.997508,33.09996],[102.997532,33.100005],[102.99756,33.100042],[102.997607,33.100056],[102.997651,33.100049],[102.9978,33.099964],[102.997858,33.099933],[102.997886,33.099945],[102.997924,33.099988],[102.997929,33.100036],[102.997922,33.100064],[102.997913,33.10008],[102.997882,33.10011],[102.997876,33.100149],[102.997883,33.100164],[102.997911,33.100193],[102.997955,33.100218],[102.998054,33.100247],[102.99809,33.100244],[102.998117,33.100225],[102.998153,33.100255],[102.998188,33.100283],[102.998445,33.100478],[102.998839,33.100777],[102.999123,33.101199],[102.999213,33.101333],[102.999221,33.101345],[102.999211,33.101419],[102.999219,33.10149],[102.99924,33.101526],[102.999299,33.101548],[102.999332,33.101555],[102.999365,33.10156],[102.999383,33.101556],[102.999431,33.101555],[102.99948,33.101555],[102.99955,33.101557],[102.999567,33.101567],[102.99956,33.101582],[102.999525,33.101596],[102.999425,33.10163],[102.999457,33.101658],[102.99957,33.101757],[102.999784,33.101944],[103.000106,33.102294],[103.000462,33.10268],[103.000611,33.103062],[103.000655,33.103075],[103.000689,33.103106],[103.000712,33.103138],[103.000733,33.103183],[103.000763,33.103218],[103.000804,33.103233],[103.000831,33.103253],[103.000861,33.103282],[103.000853,33.103309],[103.000822,33.103328],[103.000788,33.10334],[103.00074,33.103394],[103.000745,33.103408],[103.000818,33.103578],[103.000854,33.103663],[103.001029,33.104074],[103.001466,33.104616],[103.00167,33.104724],[103.001836,33.104811],[103.002321,33.104818],[103.002523,33.104738],[103.002571,33.104718],[103.00256,33.104701],[103.002561,33.104674],[103.002573,33.104646],[103.002598,33.10461],[103.002622,33.104577],[103.002643,33.104541],[103.002658,33.104529],[103.002673,33.104527],[103.002698,33.104549],[103.002706,33.104574],[103.002712,33.104598],[103.002719,33.104615],[103.002728,33.104625],[103.002753,33.10463],[103.002788,33.104621],[103.002821,33.104602],[103.002833,33.104573],[103.002837,33.104544],[103.002842,33.104515],[103.002854,33.104493],[103.002885,33.104484],[103.002919,33.104494],[103.002962,33.104516],[103.002983,33.104539],[103.00299,33.104569],[103.003026,33.104565],[103.003063,33.104554],[103.003089,33.104541],[103.003113,33.104531],[103.003137,33.104528],[103.003157,33.104528],[103.003185,33.104535],[103.003215,33.104544],[103.003236,33.104542],[103.003675,33.104494],[103.003857,33.104717],[103.00381,33.105126],[103.003771,33.105182],[103.003661,33.105336],[103.003653,33.105348],[103.003608,33.105411],[103.003668,33.105385],[103.003688,33.105378],[103.003733,33.105374],[103.003761,33.105384],[103.003766,33.105404],[103.003751,33.105424],[103.003718,33.105444],[103.003664,33.105459],[103.003608,33.105478],[103.003584,33.105493],[103.003553,33.105529],[103.003535,33.105556],[103.003519,33.105584],[103.003495,33.105613],[103.003465,33.10564],[103.003447,33.105681],[103.003393,33.105798],[103.003386,33.105814],[103.003347,33.105898],[103.003344,33.105905],[103.003415,33.106097],[103.003428,33.106132],[103.003433,33.106145],[103.003433,33.106145],[103.003507,33.106343],[103.003516,33.106369],[103.003487,33.10638],[103.00347,33.106374],[103.003449,33.106364],[103.003438,33.106356],[103.003432,33.106401],[103.003435,33.106458],[103.003453,33.106491],[103.003558,33.10652],[103.003708,33.106527],[103.003742,33.106542],[103.003747,33.10657],[103.003729,33.106607],[103.003699,33.10671],[103.003699,33.106752],[103.003701,33.106825],[103.003722,33.106883],[103.003756,33.106942],[103.003803,33.106974],[103.003907,33.106978],[103.004004,33.106968],[103.004061,33.106946],[103.004131,33.106907],[103.004186,33.106848],[103.004233,33.106786],[103.004308,33.106712],[103.004325,33.106664],[103.004345,33.106648],[103.00437,33.106652],[103.004399,33.106657],[103.00444,33.10668],[103.004461,33.106699],[103.004482,33.106748],[103.004496,33.106799],[103.004506,33.106828],[103.004519,33.106844],[103.00455,33.106869],[103.004616,33.106874],[103.004659,33.106866],[103.004743,33.106819],[103.00483,33.106814],[103.004875,33.10685],[103.004908,33.10688],[103.004916,33.106908],[103.004904,33.106996],[103.004934,33.10703],[103.004985,33.107085],[103.005013,33.107163],[103.004992,33.107208],[103.004963,33.107274],[103.004968,33.107329],[103.004978,33.107358],[103.005021,33.107416],[103.005063,33.107478],[103.005115,33.10752],[103.005172,33.107558],[103.005246,33.107583],[103.005359,33.107587],[103.005458,33.107614],[103.005522,33.107672],[103.005559,33.107681],[103.005603,33.10769],[103.005652,33.107725],[103.005677,33.10776],[103.005706,33.107784],[103.005742,33.107806],[103.00579,33.107832],[103.005847,33.107851],[103.005915,33.107876],[103.005961,33.107893],[103.005998,33.107912],[103.006019,33.107956],[103.006044,33.107994],[103.006084,33.108065],[103.006087,33.108071],[103.006123,33.108138],[103.006175,33.108189],[103.006197,33.108208],[103.006188,33.108258],[103.006154,33.108294],[103.006129,33.108331],[103.006118,33.108386],[103.006117,33.108444],[103.006144,33.108498],[103.006168,33.108517],[103.00619,33.108526],[103.006234,33.108528],[103.006266,33.108524],[103.006357,33.108508],[103.00638,33.108531],[103.006379,33.10856],[103.006369,33.108576],[103.006348,33.108603],[103.006355,33.10864],[103.006369,33.10867],[103.006384,33.108684],[103.00641,33.108697],[103.006518,33.108739],[103.006557,33.108762],[103.006601,33.108786],[103.006632,33.108787],[103.006687,33.108786],[103.006695,33.10878],[103.006728,33.108793],[103.006768,33.10882],[103.006804,33.108836],[103.006842,33.108845],[103.006822,33.108886],[103.006861,33.108955],[103.006867,33.108965],[103.006869,33.108988],[103.006866,33.10903],[103.006872,33.109076],[103.006899,33.109105],[103.006951,33.109125],[103.00699,33.109143],[103.007032,33.109168],[103.007074,33.109199],[103.007127,33.109235],[103.00719,33.109263],[103.007251,33.109271],[103.007288,33.109267],[103.007331,33.109251],[103.007364,33.109229],[103.007389,33.109207],[103.007427,33.10919],[103.007481,33.109181],[103.007532,33.109172],[103.007569,33.109152],[103.0076,33.109133],[103.00762,33.109107],[103.007631,33.109081],[103.00765,33.109055],[103.007681,33.109035],[103.00774,33.109025],[103.007767,33.109031],[103.007805,33.109058],[103.007843,33.109091],[103.007875,33.109118],[103.007899,33.109136],[103.007941,33.109158],[103.007972,33.109163],[103.008006,33.109164],[103.008024,33.109151],[103.008034,33.10913],[103.008035,33.109108],[103.008104,33.109123],[103.008133,33.109129],[103.008298,33.10914],[103.00854,33.109156],[103.008569,33.109158],[103.008768,33.109171],[103.008904,33.10925],[103.008943,33.109273],[103.0091,33.109365],[103.009122,33.109384],[103.00918,33.109435],[103.009376,33.109607],[103.00943,33.109653],[103.009375,33.109836],[103.00936,33.109883],[103.009268,33.110186],[103.009288,33.110682],[103.009292,33.110784],[103.009659,33.111186],[103.009682,33.11121],[103.009723,33.111256],[103.00973,33.111263],[103.009893,33.111342],[103.009935,33.111325],[103.01,33.111311],[103.010083,33.111311],[103.010156,33.111314],[103.010265,33.11135],[103.010366,33.111375],[103.010445,33.111369],[103.010554,33.111331],[103.010665,33.111322],[103.010739,33.111335],[103.010801,33.111368],[103.010876,33.111395],[103.010967,33.111397],[103.011032,33.111365],[103.011101,33.111305],[103.011155,33.111273],[103.01121,33.111226],[103.011258,33.111167],[103.011289,33.111109],[103.011292,33.111046],[103.011297,33.110965],[103.011296,33.110948],[103.011294,33.110872],[103.011289,33.110846],[103.011283,33.110811],[103.011261,33.110768],[103.011244,33.110724],[103.011261,33.110682],[103.01129,33.110681],[103.011367,33.110686],[103.011415,33.110684],[103.011445,33.110668],[103.01145,33.110631],[103.01145,33.110589],[103.011445,33.110502],[103.011426,33.110441],[103.011399,33.110405],[103.011351,33.110362],[103.011326,33.110322],[103.011289,33.110261],[103.011244,33.110198],[103.011191,33.110137],[103.011166,33.110087],[103.011161,33.110039],[103.01121,33.110019],[103.011342,33.110021],[103.01139,33.11003],[103.011419,33.110059],[103.011431,33.110094],[103.011452,33.110135],[103.011465,33.110176],[103.011465,33.110202],[103.011477,33.110236],[103.011494,33.110262],[103.011517,33.110275],[103.011539,33.110286],[103.011574,33.110294],[103.011618,33.110295],[103.011663,33.110288],[103.011723,33.110264],[103.01176,33.110249],[103.011802,33.110238],[103.011854,33.110239],[103.011867,33.110243],[103.011884,33.11025],[103.011908,33.110262],[103.011949,33.110279],[103.011996,33.11031],[103.012034,33.110329],[103.012073,33.110335],[103.012119,33.110336],[103.01215,33.110323],[103.012179,33.110306],[103.012215,33.110292],[103.012249,33.110307],[103.012279,33.110326],[103.012294,33.110346],[103.012315,33.110363],[103.01233,33.110377],[103.012354,33.110384],[103.012387,33.110395],[103.012399,33.110411],[103.012417,33.110456],[103.012438,33.110483],[103.01246,33.110524],[103.012476,33.110539],[103.012514,33.110544],[103.012549,33.110541],[103.012582,33.110521],[103.012608,33.11049],[103.012624,33.110462],[103.012635,33.110433],[103.012645,33.110402],[103.012647,33.110383],[103.012651,33.110309],[103.012655,33.110247],[103.012664,33.110181],[103.012681,33.110114],[103.012711,33.110064],[103.012754,33.110042],[103.012834,33.110054],[103.012879,33.11008],[103.01294,33.110128],[103.012976,33.110158],[103.013011,33.110179],[103.013046,33.110188],[103.013076,33.11019],[103.013119,33.110184],[103.013163,33.110173],[103.013213,33.110147],[103.013263,33.110121],[103.013321,33.110092],[103.013499,33.110002],[103.013621,33.110004],[103.014019,33.11001],[103.014171,33.110012],[103.014503,33.110238],[103.01452,33.110348],[103.01456,33.110604],[103.014577,33.110714],[103.014617,33.110722],[103.01463,33.110731],[103.014637,33.110752],[103.014632,33.110773],[103.014622,33.110794],[103.014613,33.110827],[103.014606,33.110852],[103.014608,33.110882],[103.014616,33.110908],[103.014622,33.11093],[103.014623,33.11095],[103.014608,33.11097],[103.014606,33.110971],[103.01461,33.111045],[103.014627,33.111373],[103.014501,33.112],[103.014595,33.112058],[103.014631,33.112079],[103.014639,33.112084],[103.01468,33.112056],[103.014699,33.112052],[103.01473,33.112067],[103.01474,33.112083],[103.014753,33.112105],[103.01476,33.112128],[103.014799,33.112181],[103.014803,33.11219],[103.01483,33.112213],[103.014869,33.112235],[103.014891,33.112254],[103.0149,33.112265],[103.014899,33.112282],[103.014883,33.112291],[103.014869,33.112315],[103.01487,33.112339],[103.014885,33.112356],[103.014915,33.112368],[103.014983,33.11238],[103.015029,33.112371],[103.015072,33.112441],[103.015159,33.112584],[103.015171,33.112604],[103.015233,33.112705],[103.015147,33.113207],[103.015495,33.113537],[103.015586,33.113623],[103.015586,33.113623],[103.015607,33.113647],[103.015956,33.114065],[103.015987,33.114101],[103.016025,33.114142],[103.016091,33.114214],[103.016252,33.114387],[103.016462,33.114613],[103.016481,33.114728],[103.016576,33.115299],[103.016578,33.115309],[103.016582,33.115332],[103.016593,33.115402],[103.016594,33.115406],[103.016597,33.115423],[103.016625,33.115571],[103.016629,33.115591],[103.016629,33.115595],[103.016641,33.115655],[103.016642,33.11566],[103.016644,33.115674],[103.016688,33.11591],[103.016692,33.115932],[103.016736,33.116165],[103.01674,33.116186],[103.016794,33.116475],[103.017154,33.116731],[103.017179,33.116749],[103.017276,33.116817],[103.017298,33.116833],[103.017383,33.116893],[103.017663,33.116975],[103.017705,33.116953],[103.017729,33.116943],[103.017775,33.11694],[103.017807,33.116952],[103.01784,33.116968],[103.01788,33.116993],[103.017896,33.117014],[103.01791,33.117046],[103.018059,33.11709],[103.018113,33.117106],[103.018131,33.117111],[103.018339,33.117171],[103.018373,33.117162],[103.01848,33.11713],[103.018576,33.117134],[103.018644,33.117219],[103.018717,33.117248],[103.018781,33.117259],[103.01886,33.117251],[103.018922,33.117232],[103.018993,33.117217],[103.019029,33.117227],[103.019063,33.117257],[103.01909,33.117324],[103.019136,33.117383],[103.019171,33.117423],[103.019227,33.117455],[103.019271,33.117467],[103.01934,33.117468],[103.01941,33.117467],[103.019487,33.117487],[103.019513,33.1175],[103.019526,33.117542],[103.019522,33.117614],[103.019517,33.117658],[103.019664,33.117741],[103.019643,33.117793],[103.019632,33.117834],[103.019632,33.117883],[103.019655,33.117933],[103.019679,33.11796],[103.01971,33.117963],[103.019749,33.117945],[103.019803,33.117915],[103.01985,33.117903],[103.019911,33.117897],[103.019928,33.117944],[103.019958,33.118024],[103.019978,33.118007],[103.019996,33.11798],[103.020016,33.117962],[103.020043,33.117953],[103.020088,33.11795],[103.020128,33.117959],[103.020157,33.117976],[103.02019,33.117999],[103.020206,33.118021],[103.020221,33.118044],[103.020234,33.11808],[103.020226,33.118118],[103.020222,33.118142],[103.020238,33.118171],[103.02026,33.118182],[103.020298,33.118188],[103.020332,33.118208],[103.020321,33.118223],[103.020284,33.118238],[103.020264,33.11825],[103.020241,33.118255],[103.020212,33.118261],[103.020172,33.118265],[103.020138,33.11826],[103.020111,33.118242],[103.020092,33.118216],[103.020085,33.11819],[103.020078,33.118171],[103.020058,33.118124],[103.02004,33.118113],[103.020011,33.1181],[103.019985,33.118097],[103.020003,33.118145],[103.020047,33.118264],[103.020116,33.118448],[103.020461,33.118531],[103.020674,33.118582],[103.021023,33.118707],[103.021082,33.118727],[103.02123,33.11878],[103.021264,33.118818],[103.021668,33.119259],[103.021699,33.119563],[103.021709,33.119658],[103.021755,33.119696],[103.021771,33.119717],[103.0218,33.119749],[103.021803,33.119782],[103.021798,33.119809],[103.02179,33.119836],[103.021779,33.119871],[103.02177,33.119906],[103.021761,33.119946],[103.02174,33.119989],[103.021719,33.120008],[103.021712,33.120032],[103.021712,33.120054],[103.021732,33.120073],[103.021747,33.120079],[103.02175,33.120118],[103.02175,33.120128],[103.021751,33.120141],[103.021759,33.120236],[103.021818,33.120291],[103.021938,33.120401],[103.022415,33.120837],[103.022528,33.120941],[103.022644,33.121014],[103.022688,33.121041],[103.022719,33.12106],[103.022731,33.121077],[103.022764,33.121121],[103.022797,33.121165],[103.022819,33.121194],[103.022852,33.121206],[103.022891,33.121212],[103.023045,33.121264],[103.023128,33.121265],[103.023429,33.12127],[103.023567,33.121273],[103.023582,33.121267],[103.023599,33.121261],[103.023618,33.121256],[103.023699,33.121247],[103.023802,33.121254],[103.023859,33.121263],[103.024107,33.121217],[103.024118,33.121215],[103.024267,33.121187],[103.024305,33.121197],[103.024323,33.121202],[103.024347,33.121204],[103.024391,33.121216],[103.024421,33.121228],[103.024436,33.121242],[103.024437,33.121252],[103.024436,33.121282],[103.024428,33.121298],[103.024411,33.121327],[103.024412,33.121345],[103.024417,33.121366],[103.024447,33.12138],[103.024487,33.121386],[103.024533,33.121385],[103.024584,33.121375],[103.024615,33.121359],[103.024641,33.121332],[103.024656,33.121303],[103.024667,33.12127],[103.024676,33.121243],[103.02469,33.121208],[103.024697,33.121179],[103.024707,33.12115],[103.024712,33.121132],[103.024706,33.121106],[103.024694,33.121069],[103.024691,33.121055],[103.024673,33.121016],[103.024667,33.120986],[103.024668,33.120965],[103.024707,33.120954],[103.024752,33.120978],[103.024784,33.121002],[103.02483,33.121043],[103.024841,33.12108],[103.024842,33.1211],[103.024838,33.12112],[103.024832,33.121139],[103.024827,33.121157],[103.024818,33.121179],[103.02481,33.1212],[103.02481,33.12122],[103.024813,33.121242],[103.024828,33.121258],[103.024857,33.121269],[103.024913,33.12128],[103.024953,33.12128],[103.024998,33.121276],[103.025021,33.121267],[103.025046,33.121243],[103.025058,33.121226],[103.025074,33.121189],[103.025083,33.121166],[103.02508,33.121149],[103.025077,33.121132],[103.025074,33.121114],[103.02507,33.121097],[103.025068,33.12108],[103.025069,33.12106],[103.025233,33.121048],[103.025968,33.120996],[103.026047,33.121012],[103.027122,33.121234],[103.027291,33.121322],[103.027936,33.121656],[103.028157,33.122108],[103.028165,33.122123],[103.028195,33.122184],[103.028227,33.12225],[103.028294,33.122386],[103.028276,33.123172],[103.028262,33.123248],[103.02826,33.123263],[103.028233,33.123408],[103.028224,33.123457],[103.028215,33.123508],[103.028197,33.12361],[103.028191,33.123643],[103.02828,33.123744],[103.028341,33.123746],[103.028413,33.123757],[103.028481,33.123776],[103.028525,33.123794],[103.028573,33.123817],[103.028609,33.123843],[103.028641,33.123869],[103.028654,33.123896],[103.028675,33.123929],[103.028697,33.123947],[103.028743,33.123974],[103.028931,33.124001],[103.029399,33.123982],[103.029492,33.123979],[103.029903,33.124017],[103.030231,33.124303],[103.030184,33.124324],[103.030172,33.124341],[103.03015,33.12438],[103.03015,33.124395],[103.030169,33.124422],[103.030176,33.124426],[103.0302,33.124441],[103.030236,33.124452],[103.030261,33.124464],[103.030276,33.12446],[103.030311,33.124589],[103.030332,33.124666],[103.030344,33.124711],[103.030371,33.124811],[103.030514,33.125128],[103.030848,33.125228],[103.031089,33.125104],[103.031158,33.125069],[103.031265,33.125014],[103.031688,33.124485],[103.032065,33.124366],[103.032677,33.124505],[103.032726,33.124516],[103.032809,33.124535],[103.032961,33.124553],[103.033704,33.124643],[103.034095,33.12459],[103.034243,33.12457],[103.034517,33.124532],[103.034525,33.124553],[103.034536,33.124568],[103.034593,33.124613],[103.034631,33.124633],[103.034661,33.124638],[103.034692,33.124636],[103.034729,33.124615],[103.034762,33.124594],[103.034789,33.124577],[103.034813,33.124572],[103.034847,33.124581],[103.034875,33.124596],[103.034905,33.124603],[103.034955,33.1246],[103.034989,33.124583],[103.035013,33.124569],[103.035031,33.124554],[103.035045,33.124538],[103.035058,33.124523],[103.03507,33.124501],[103.03508,33.124475],[103.035076,33.124449],[103.035065,33.124432],[103.035036,33.124404],[103.035004,33.124382],[103.034983,33.124362],[103.034979,33.124341],[103.034987,33.12433],[103.035002,33.124321],[103.035036,33.124313],[103.03506,33.124312],[103.035083,33.124318],[103.035103,33.124328],[103.035114,33.124342],[103.035128,33.124365],[103.03514,33.124393],[103.035152,33.12442],[103.035161,33.124444],[103.035171,33.124467],[103.035184,33.124484],[103.035197,33.124492],[103.035224,33.124505],[103.035254,33.124513],[103.035282,33.124514],[103.035358,33.124509],[103.035388,33.124499],[103.035418,33.124485],[103.035435,33.12447],[103.035452,33.124452],[103.035468,33.124439],[103.03549,33.124428],[103.035528,33.124416],[103.035556,33.124417],[103.035585,33.124433],[103.035582,33.12446],[103.035569,33.124475],[103.035554,33.12448],[103.035521,33.124498],[103.035506,33.124507],[103.035488,33.124515],[103.035468,33.124537],[103.035457,33.124556],[103.03545,33.124578],[103.035469,33.124601],[103.035495,33.124618],[103.035524,33.124635],[103.0356,33.124646],[103.035688,33.124632],[103.035736,33.124615],[103.035986,33.124648],[103.036034,33.124659],[103.036544,33.124782],[103.037105,33.12476],[103.037527,33.124326],[103.037817,33.124189],[103.03798,33.124113],[103.038271,33.124135],[103.038306,33.124154],[103.038333,33.124163],[103.038373,33.124166],[103.038415,33.124173],[103.038444,33.124185],[103.038464,33.124202],[103.038484,33.124223],[103.038517,33.124245],[103.038539,33.124276],[103.038553,33.12431],[103.038555,33.124333],[103.038546,33.124362],[103.038518,33.124381],[103.038501,33.124398],[103.038481,33.124411],[103.038436,33.124434],[103.038411,33.124474],[103.038413,33.124513],[103.038425,33.124551],[103.038448,33.124571],[103.038513,33.124587],[103.038555,33.124586],[103.038605,33.124583],[103.038675,33.124583],[103.038688,33.124588],[103.0387,33.12462],[103.038692,33.124676],[103.03867,33.124712],[103.038656,33.124758],[103.038661,33.124809],[103.038684,33.124856],[103.038519,33.125097],[103.038596,33.125186],[103.038802,33.125427],[103.038847,33.12548],[103.038988,33.125489],[103.039482,33.125521],[103.039545,33.125507],[103.040122,33.125374],[103.040426,33.125425],[103.040679,33.125468],[103.040783,33.125486],[103.040853,33.125498],[103.040882,33.125522],[103.040899,33.125528],[103.040928,33.125534],[103.040956,33.125543],[103.040983,33.125552],[103.041059,33.125596],[103.041078,33.12561],[103.041119,33.125639],[103.041149,33.12566],[103.041236,33.125722],[103.041531,33.125931],[103.041659,33.126276],[103.041739,33.126492],[103.041742,33.126501],[103.041752,33.126598],[103.041773,33.126816],[103.042328,33.127077],[103.04289,33.127023],[103.043303,33.126866],[103.043569,33.126765],[103.043607,33.126751],[103.044159,33.126667],[103.044217,33.126658],[103.044232,33.126656],[103.044241,33.126667],[103.044264,33.126685],[103.044317,33.1267],[103.044374,33.12671],[103.04443,33.126712],[103.044487,33.126698],[103.044542,33.126679],[103.044581,33.126657],[103.044608,33.126639],[103.044652,33.126598],[103.044706,33.126591],[103.044869,33.12657],[103.045201,33.126527],[103.045221,33.126524],[103.045236,33.126522],[103.045671,33.126437],[103.046265,33.126666],[103.04653,33.126727],[103.047009,33.126836],[103.04773,33.126817],[103.047767,33.126806],[103.047826,33.12679],[103.047852,33.126782],[103.047872,33.126786],[103.048322,33.126667],[103.048922,33.126582],[103.048939,33.126581],[103.049416,33.126555],[103.049724,33.126539],[103.049737,33.126538],[103.049821,33.126533],[103.05046,33.126324],[103.051291,33.126053],[103.052377,33.125975],[103.053574,33.125963],[103.054513,33.12582],[103.055303,33.125741],[103.055351,33.125736],[103.0556,33.125711],[103.05683,33.12561],[103.057211,33.125579],[103.058862,33.125353],[103.06006,33.125308],[103.061785,33.125115],[103.062842,33.125031],[103.063434,33.124983],[103.064328,33.125155],[103.065495,33.128226],[103.065744,33.128796],[103.066639,33.128904],[103.067463,33.128854],[103.069706,33.128952],[103.070755,33.128874],[103.072174,33.12899],[103.073453,33.130363],[103.073888,33.131056],[103.073944,33.131144],[103.074176,33.131514],[103.074196,33.131545],[103.074197,33.131547],[103.074212,33.131571],[103.074849,33.133249],[103.074696,33.133199],[103.074522,33.1332],[103.074424,33.133219],[103.074404,33.133266],[103.074413,33.133348],[103.074453,33.133441],[103.074526,33.133497],[103.07465,33.13355],[103.07474,33.13361],[103.074899,33.133736],[103.074911,33.133848],[103.075345,33.134516],[103.075937,33.13484],[103.078205,33.135473],[103.080146,33.135692],[103.081307,33.135615],[103.082047,33.135973],[103.082068,33.135976],[103.082831,33.136079],[103.083459,33.136435],[103.083375,33.136533],[103.083405,33.136675],[103.083504,33.136861],[103.083655,33.137189],[103.083754,33.137388],[103.083836,33.137593],[103.083871,33.137692],[103.083958,33.137849],[103.084016,33.137963],[103.084086,33.138087],[103.084166,33.138143],[103.084226,33.138185],[103.084857,33.139622],[103.085072,33.140113],[103.085129,33.140151],[103.085224,33.140233],[103.085315,33.140379],[103.085354,33.14045],[103.085389,33.140536],[103.085421,33.140686],[103.085444,33.140803],[103.085465,33.141064],[103.085475,33.141297],[103.085472,33.141386],[103.085452,33.141455],[103.085415,33.141544],[103.085437,33.141634],[103.085523,33.141687],[103.085621,33.141764],[103.085691,33.14185],[103.085825,33.14194],[103.085881,33.142075],[103.08591,33.142201],[103.085918,33.142236],[103.08612,33.143117],[103.086857,33.144555],[103.086859,33.144561],[103.08696,33.144758],[103.087435,33.145684],[103.087456,33.145725],[103.08805,33.146885],[103.0884,33.146937],[103.088753,33.147005],[103.089233,33.147077],[103.089483,33.147159],[103.089447,33.147234],[103.089426,33.147278],[103.08918,33.147425],[103.089075,33.14754],[103.088967,33.147656],[103.088687,33.147881],[103.088571,33.147901],[103.088994,33.148728],[103.088996,33.148731],[103.089146,33.149024],[103.08933,33.149383],[103.089382,33.149484],[103.089539,33.14979],[103.089566,33.149843],[103.089882,33.150504],[103.090067,33.150889],[103.090161,33.15174],[103.090206,33.152182],[103.090263,33.152222],[103.090656,33.152496],[103.09081,33.152518],[103.090868,33.152624],[103.090998,33.152814],[103.091019,33.15284],[103.09107,33.152903],[103.091142,33.152998],[103.091137,33.153141],[103.091011,33.153279],[103.090636,33.153434],[103.090474,33.153492],[103.090573,33.153681],[103.090963,33.154428],[103.091088,33.154546],[103.09188,33.155292],[103.092615,33.155869],[103.093157,33.15679],[103.093466,33.157091],[103.093816,33.15743],[103.093868,33.157689],[103.093918,33.157935],[103.093917,33.157965],[103.093906,33.158476],[103.093905,33.158502],[103.093633,33.159001],[103.093483,33.159257],[103.09305,33.159999],[103.092612,33.160511],[103.09225,33.160935],[103.091754,33.161517],[103.09159,33.161708],[103.09157,33.162652],[103.091701,33.163844],[103.091756,33.164341],[103.091772,33.164486],[103.091883,33.165497],[103.091888,33.165537],[103.09182,33.1656],[103.091591,33.165584],[103.091443,33.165639],[103.091433,33.165645],[103.09152,33.165732],[103.091714,33.165909],[103.091808,33.166057],[103.091888,33.166253],[103.092005,33.166424],[103.092069,33.166813],[103.09211,33.167067],[103.092237,33.168139],[103.093096,33.169946],[103.093294,33.170724],[103.093337,33.170894],[103.09339,33.171894],[103.09339,33.171902],[103.093389,33.172164],[103.093385,33.172831],[103.093383,33.173386],[103.093379,33.174136],[103.093372,33.174438],[103.093362,33.174923],[103.093373,33.175038],[103.093422,33.175514],[103.093454,33.175837],[103.093441,33.175994],[103.093354,33.177032],[103.093047,33.17776],[103.092959,33.17797],[103.092198,33.178525],[103.091267,33.179046],[103.090721,33.179352],[103.090478,33.179431],[103.088874,33.179953],[103.087701,33.180367],[103.087594,33.180405],[103.087304,33.180507],[103.087252,33.180526],[103.086823,33.180677],[103.08563,33.181099],[103.085248,33.181439],[103.085214,33.181739],[103.085211,33.181768],[103.085202,33.181848],[103.085297,33.182636],[103.085289,33.182678],[103.085324,33.182877],[103.08527,33.183026],[103.085192,33.183183],[103.08519,33.183189],[103.08515,33.183397],[103.08506,33.183867],[103.085001,33.184174],[103.084871,33.18499],[103.084533,33.185342],[103.084335,33.185548],[103.083301,33.186533],[103.082806,33.187004],[103.082559,33.187315],[103.08246,33.187439],[103.082395,33.187642],[103.082383,33.187679],[103.082203,33.188242],[103.082092,33.188588],[103.082058,33.188692],[103.082014,33.188936],[103.081956,33.189255],[103.081952,33.189281],[103.081888,33.189634],[103.081577,33.190154],[103.081422,33.190414],[103.080772,33.191033],[103.080742,33.191309],[103.080725,33.191473],[103.080745,33.191523],[103.080751,33.191537],[103.080823,33.191713],[103.080836,33.191745],[103.08084,33.191756],[103.080867,33.191821],[103.081351,33.191955],[103.081721,33.191943],[103.081886,33.191938],[103.081899,33.191938],[103.081958,33.191902],[103.082066,33.19181],[103.082112,33.191757],[103.082329,33.19159],[103.082392,33.191547],[103.082398,33.191543],[103.082451,33.191505],[103.082488,33.191492],[103.082516,33.191495],[103.082555,33.191513],[103.082596,33.191542],[103.08263,33.191599],[103.082653,33.191658],[103.082677,33.191719],[103.082695,33.191768],[103.082716,33.191841],[103.082902,33.191816],[103.082976,33.191806],[103.083019,33.1918],[103.083076,33.191792],[103.083448,33.191924],[103.083553,33.19224],[103.082907,33.192671],[103.081883,33.19365],[103.081745,33.194453],[103.081953,33.194776],[103.08197,33.194802],[103.082122,33.195038],[103.082174,33.19506],[103.082217,33.195077],[103.082723,33.195284],[103.082857,33.195266],[103.082981,33.19525],[103.083076,33.195224],[103.083133,33.195194],[103.083142,33.195189],[103.083191,33.195164],[103.083254,33.195153],[103.08331,33.195161],[103.083358,33.195175],[103.083421,33.195206],[103.083501,33.195271],[103.083544,33.195327],[103.083584,33.19541],[103.083614,33.195485],[103.083626,33.195557],[103.083651,33.195652],[103.083755,33.195693],[103.083847,33.195835],[103.083875,33.195878],[103.083887,33.196067],[103.083859,33.196239],[103.083729,33.196406],[103.083663,33.196439],[103.083446,33.196549],[103.083383,33.196555],[103.083266,33.196556],[103.0831,33.196536],[103.082739,33.196522],[103.082591,33.196513],[103.082365,33.196522],[103.082357,33.196523],[103.08222,33.196539],[103.082137,33.196549],[103.081945,33.196573],[103.081785,33.196592],[103.081622,33.196605],[103.081491,33.196606],[103.081331,33.196609],[103.081241,33.1966],[103.081251,33.196628],[103.08127,33.196648],[103.081124,33.196732],[103.081085,33.196772],[103.080943,33.196909],[103.080742,33.197243],[103.080539,33.197582],[103.080587,33.198112],[103.080676,33.198268],[103.080688,33.19829],[103.080789,33.198467],[103.080895,33.198517],[103.081137,33.19863],[103.081144,33.198634],[103.081234,33.198676],[103.081715,33.198582],[103.081888,33.198513],[103.082099,33.198428],[103.08244,33.198291],[103.082489,33.198296],[103.082555,33.198217],[103.08262,33.198143],[103.082697,33.198082],[103.082699,33.198079],[103.082786,33.198074],[103.082865,33.19809],[103.082921,33.198124],[103.082945,33.19817],[103.082961,33.19822],[103.082971,33.198278],[103.082963,33.198341],[103.083068,33.198351],[103.083177,33.198456],[103.083157,33.198507],[103.08312,33.198664],[103.083084,33.198775],[103.083059,33.198872],[103.083042,33.198998],[103.083035,33.199121],[103.083008,33.199311],[103.083005,33.199443],[103.083003,33.199518],[103.082924,33.199781],[103.082907,33.199878],[103.082892,33.199956],[103.082862,33.199997],[103.082788,33.200041],[103.082741,33.20011],[103.082688,33.200272],[103.082583,33.200607],[103.082499,33.200811],[103.082465,33.200898],[103.082445,33.200929],[103.082419,33.200969],[103.082386,33.201009],[103.082332,33.201038],[103.08222,33.201098],[103.082175,33.20115],[103.082164,33.201173],[103.082127,33.201252],[103.082114,33.201326],[103.082113,33.201417],[103.082133,33.201491],[103.082138,33.201509],[103.082184,33.201616],[103.082276,33.20179],[103.082301,33.201884],[103.082302,33.201969],[103.082285,33.202088],[103.082246,33.202247],[103.0822,33.202403],[103.082153,33.202553],[103.082127,33.202666],[103.082116,33.202755],[103.082113,33.202857],[103.082111,33.202899],[103.082112,33.203],[103.082119,33.203097],[103.082164,33.203194],[103.082263,33.203352],[103.082379,33.203491],[103.082453,33.203514],[103.082527,33.203537],[103.082759,33.203546],[103.082942,33.20351],[103.083046,33.203846],[103.083152,33.204185],[103.083178,33.20427],[103.083508,33.204275],[103.084149,33.203898],[103.084175,33.203883],[103.084268,33.203856],[103.08441,33.203814],[103.084467,33.203797],[103.084665,33.203739],[103.084748,33.203715],[103.08492,33.204071],[103.084919,33.204119],[103.084809,33.204158],[103.084768,33.204206],[103.084741,33.204302],[103.08475,33.204377],[103.084751,33.204513],[103.084662,33.204581],[103.084546,33.204601],[103.084496,33.204653],[103.084471,33.20473],[103.084434,33.204851],[103.084458,33.204939],[103.084369,33.205068],[103.08418,33.20523],[103.083937,33.2055],[103.083681,33.205639],[103.083577,33.205667],[103.083534,33.205638],[103.083541,33.20545],[103.083512,33.205459],[103.083355,33.205349],[103.083251,33.205276],[103.083043,33.20513],[103.082716,33.2049],[103.082598,33.204817],[103.082133,33.204598],[103.082023,33.205058],[103.082209,33.20634],[103.082276,33.206795],[103.082283,33.20685],[103.082431,33.207171],[103.082703,33.207763],[103.083185,33.20825],[103.083445,33.208513],[103.083783,33.208807],[103.0838,33.208759],[103.083913,33.208796],[103.084071,33.208828],[103.084195,33.208844],[103.084357,33.20886],[103.084457,33.208862],[103.084523,33.208973],[103.084538,33.209077],[103.084512,33.209245],[103.084455,33.209414],[103.084403,33.209471],[103.084466,33.209557],[103.0845,33.209603],[103.084356,33.209695],[103.084287,33.209739],[103.084253,33.209761],[103.084202,33.209769],[103.084099,33.209766],[103.083986,33.209752],[103.083821,33.209821],[103.083671,33.209884],[103.083589,33.209832],[103.083535,33.209788],[103.08346,33.209738],[103.083403,33.209732],[103.083301,33.209763],[103.083195,33.209848],[103.083094,33.209968],[103.082996,33.210085],[103.082863,33.210232],[103.082793,33.210313],[103.082724,33.210421],[103.082694,33.210516],[103.082618,33.210733],[103.082548,33.211232],[103.082421,33.211445],[103.082177,33.21175],[103.082181,33.211758],[103.082168,33.211786],[103.082143,33.211857],[103.082129,33.211944],[103.082133,33.212066],[103.082149,33.212129],[103.082156,33.212156],[103.082211,33.21222],[103.082311,33.212262],[103.082484,33.212292],[103.082946,33.212355],[103.083309,33.212205],[103.08364,33.212147],[103.08384,33.212116],[103.084106,33.211842],[103.084296,33.211648],[103.084646,33.211327],[103.084655,33.211319],[103.084809,33.211178],[103.085233,33.21079],[103.085705,33.211133],[103.085768,33.21129],[103.085838,33.211467],[103.085894,33.211606],[103.085928,33.211682],[103.085923,33.211687],[103.085892,33.211741],[103.085868,33.211806],[103.085862,33.21189],[103.085868,33.211953],[103.085904,33.21204],[103.085956,33.212135],[103.086012,33.212196],[103.086132,33.212289],[103.08628,33.212369],[103.086416,33.212429],[103.086487,33.212438],[103.086579,33.212419],[103.086675,33.212388],[103.086749,33.21234],[103.086809,33.212274],[103.086863,33.212205],[103.086918,33.212132],[103.086974,33.212107],[103.087082,33.21206],[103.087138,33.212024],[103.087409,33.211845],[103.087483,33.211797],[103.088134,33.211368],[103.088166,33.211322],[103.088214,33.211253],[103.088284,33.211175],[103.088358,33.211118],[103.088428,33.211072],[103.088509,33.211018],[103.088594,33.210987],[103.088654,33.210987],[103.088718,33.211004],[103.0888,33.211058],[103.089103,33.21095],[103.08945,33.211051],[103.089505,33.211067],[103.089515,33.21107],[103.08963,33.211104],[103.089752,33.211139],[103.089768,33.211352],[103.089793,33.211677],[103.089357,33.212118],[103.089001,33.212424],[103.088595,33.212772],[103.088567,33.212796],[103.088552,33.212809],[103.088538,33.212821],[103.088515,33.212841],[103.088435,33.212909],[103.088319,33.213355],[103.088362,33.213803],[103.088473,33.213777],[103.088578,33.213753],[103.088595,33.213749],[103.088854,33.213688],[103.088898,33.213677],[103.089024,33.213628],[103.089207,33.213476],[103.089281,33.213397],[103.089287,33.213362],[103.08933,33.213327],[103.089548,33.21315],[103.089597,33.213132],[103.089609,33.213127],[103.089959,33.212995],[103.090418,33.212822],[103.090461,33.212806],[103.09061,33.21291],[103.090615,33.212914],[103.090723,33.212989],[103.090518,33.213398],[103.090501,33.213433],[103.090215,33.213892],[103.090059,33.214143],[103.090069,33.214208],[103.090071,33.214221],[103.090102,33.214434],[103.090105,33.214456],[103.090846,33.214692],[103.091044,33.214685],[103.091067,33.214685],[103.091566,33.214668],[103.091568,33.214682],[103.091641,33.215074],[103.091658,33.215388],[103.091622,33.215637],[103.091606,33.215711],[103.091756,33.215721],[103.091844,33.216224],[103.091862,33.216351],[103.091967,33.217109],[103.09238,33.217454],[103.092421,33.217488],[103.092437,33.217502],[103.092636,33.217668],[103.092713,33.217735],[103.092743,33.217743],[103.0928,33.21776],[103.092896,33.217811],[103.092979,33.217875],[103.093082,33.217944],[103.093176,33.218056],[103.093206,33.218121],[103.093223,33.218182],[103.093224,33.218229],[103.093224,33.218296],[103.093214,33.218354],[103.093201,33.218384],[103.093205,33.218526],[103.09321,33.218703],[103.092939,33.219019],[103.092929,33.219031],[103.092482,33.219551],[103.092484,33.219643],[103.092484,33.219656],[103.09249,33.219883],[103.092495,33.220173],[103.092511,33.220188],[103.09257,33.220251],[103.092636,33.220322],[103.092932,33.220641],[103.092978,33.220654],[103.093031,33.220665],[103.093087,33.220684],[103.093155,33.220711],[103.093251,33.220765],[103.093483,33.220904],[103.093548,33.220946],[103.093591,33.220984],[103.093632,33.22102],[103.093642,33.221031],[103.093765,33.221058],[103.094547,33.22123],[103.095763,33.221463],[103.096141,33.221538],[103.096285,33.221519],[103.096425,33.22151],[103.096561,33.221496],[103.09672,33.221477],[103.096929,33.221462],[103.096986,33.221467],[103.097043,33.221491],[103.097086,33.221531],[103.097135,33.221597],[103.09716,33.221682],[103.097175,33.221786],[103.097163,33.221866],[103.097342,33.221965],[103.097471,33.222561],[103.097457,33.222587],[103.0971,33.223158],[103.096815,33.223719],[103.096935,33.224042],[103.096969,33.22413],[103.09709,33.224442],[103.097097,33.224505],[103.097104,33.224577],[103.09712,33.224732],[103.096991,33.224807],[103.096842,33.224777],[103.096861,33.224728],[103.096861,33.224691],[103.096851,33.224655],[103.09679,33.224609],[103.096716,33.224561],[103.096663,33.224547],[103.096632,33.224553],[103.096611,33.224584],[103.096581,33.22463],[103.096538,33.22466],[103.096477,33.224672],[103.09609,33.224472],[103.096048,33.224451],[103.09594,33.224397],[103.095932,33.224394],[103.095875,33.224422],[103.095818,33.22444],[103.09572,33.224456],[103.095604,33.224454],[103.095539,33.224448],[103.095476,33.224429],[103.09542,33.224401],[103.095369,33.224345],[103.09537,33.224363],[103.095378,33.224614],[103.095442,33.225012],[103.095644,33.225207],[103.09578,33.225338],[103.095913,33.225464],[103.095934,33.225483],[103.096224,33.225756],[103.096264,33.225744],[103.096297,33.22573],[103.096315,33.225718],[103.096334,33.225706],[103.096384,33.22567],[103.096491,33.225626],[103.096537,33.225627],[103.0966,33.225634],[103.096638,33.225651],[103.096667,33.225676],[103.096691,33.225713],[103.096719,33.225773],[103.096734,33.225832],[103.096735,33.225903],[103.096725,33.225978],[103.096709,33.226027],[103.09669,33.226065],[103.096745,33.226101],[103.096919,33.226408],[103.09683,33.226647],[103.096784,33.226809],[103.096704,33.226972],[103.096666,33.227085],[103.096622,33.227148],[103.096586,33.227188],[103.096527,33.227243],[103.096425,33.2273],[103.096347,33.227339],[103.096229,33.227373],[103.096149,33.227384],[103.096029,33.227385],[103.095937,33.227377],[103.095831,33.227359],[103.095741,33.227323],[103.095695,33.2273],[103.095665,33.227304],[103.095555,33.22732],[103.095094,33.227619],[103.095262,33.22781],[103.095272,33.22782],[103.095649,33.228009],[103.095724,33.228028],[103.095804,33.228019],[103.095927,33.228014],[103.096073,33.228025],[103.096131,33.228036],[103.096223,33.228053],[103.096376,33.228103],[103.096436,33.228135],[103.096444,33.228134],[103.096628,33.228131],[103.096658,33.228128],[103.096794,33.228165],[103.097034,33.228201],[103.097134,33.2282],[103.097209,33.228193],[103.097287,33.228165],[103.097357,33.228118],[103.097421,33.228052],[103.097723,33.228063],[103.097757,33.228052],[103.097831,33.228048],[103.097926,33.228043],[103.098002,33.228044],[103.098058,33.228058],[103.098091,33.228076],[103.098138,33.228078],[103.098486,33.228197],[103.098532,33.228213],[103.098932,33.22835],[103.099295,33.228594],[103.099292,33.228707],[103.099287,33.228849],[103.099295,33.228928],[103.099287,33.229126],[103.099325,33.22928],[103.099552,33.229709],[103.099744,33.230109],[103.100051,33.230478],[103.100121,33.230493],[103.100202,33.23052],[103.100289,33.230561],[103.100326,33.230579],[103.100366,33.230599],[103.100409,33.230632],[103.100463,33.230692],[103.100528,33.230765],[103.100568,33.230821],[103.100579,33.230837],[103.100614,33.230895],[103.100655,33.230996],[103.100684,33.231063],[103.100689,33.231081],[103.100689,33.231104],[103.100688,33.231119],[103.100718,33.231151],[103.10072,33.231157],[103.100749,33.231288],[103.100771,33.231443],[103.100749,33.231626],[103.10069,33.231778],[103.100632,33.23193],[103.100545,33.232049],[103.100442,33.232165],[103.100277,33.232264],[103.100119,33.232345],[103.099925,33.232418],[103.099787,33.232437],[103.099344,33.232369],[103.099155,33.23234],[103.098956,33.232232],[103.098755,33.232122],[103.098728,33.232107],[103.098594,33.232107],[103.098442,33.232104],[103.09829,33.232067],[103.098153,33.232022],[103.098016,33.231963],[103.097934,33.231907],[103.0979,33.231872],[103.097881,33.231868],[103.097324,33.231742],[103.097318,33.23174],[103.097265,33.231699],[103.09715,33.231639],[103.096787,33.231478],[103.09662,33.231412],[103.096522,33.231383],[103.09642,33.231365],[103.096359,33.231365],[103.096214,33.231302],[103.095845,33.231263],[103.095799,33.231303],[103.095737,33.231346],[103.095626,33.23137],[103.09555,33.231379],[103.095468,33.231383],[103.095388,33.231375],[103.09527,33.231347],[103.095188,33.231414],[103.095121,33.231468],[103.095046,33.231529],[103.094911,33.231893],[103.094936,33.232413],[103.095287,33.232969],[103.095344,33.233096],[103.095505,33.233459],[103.095547,33.233553],[103.095446,33.233682],[103.095427,33.233831],[103.095392,33.233918],[103.095369,33.233996],[103.095327,33.234115],[103.095307,33.234211],[103.095288,33.234339],[103.095314,33.234396],[103.095291,33.234466],[103.095281,33.234628],[103.095263,33.234939],[103.095433,33.235172],[103.095446,33.235188],[103.095601,33.235402],[103.095648,33.235405],[103.095684,33.235412],[103.095766,33.235437],[103.095816,33.235462],[103.095876,33.235499],[103.095926,33.235521],[103.095945,33.235528],[103.095987,33.235544],[103.096051,33.235563],[103.096155,33.235592],[103.096252,33.235624],[103.096329,33.235652],[103.096461,33.235733],[103.09651,33.235776],[103.09656,33.235827],[103.09677,33.235863],[103.096823,33.235886],[103.097226,33.236057],[103.097256,33.236069],[103.097298,33.236126],[103.097415,33.236286],[103.097153,33.236633],[103.096642,33.23702],[103.09658,33.237067],[103.096548,33.237115],[103.096541,33.237126],[103.096373,33.237385],[103.09642,33.23759],[103.096439,33.237676],[103.096569,33.23777],[103.096656,33.23776],[103.096791,33.237769],[103.096885,33.237802],[103.096928,33.237856],[103.096977,33.237861],[103.097072,33.237869],[103.097192,33.237772],[103.09722,33.237749],[103.097479,33.237539],[103.09754,33.237492],[103.09764,33.237417],[103.098183,33.237006],[103.09831,33.23691],[103.098607,33.236733],[103.098702,33.236676],[103.09891,33.236552],[103.099157,33.236404],[103.099791,33.236551],[103.100005,33.236738],[103.100003,33.237054],[103.099892,33.237211],[103.099339,33.237771],[103.09873,33.238018],[103.098694,33.238166],[103.098626,33.238444],[103.098623,33.238457],[103.098599,33.238467],[103.098535,33.238496],[103.098348,33.238579],[103.098347,33.238579],[103.098255,33.23862],[103.098144,33.238772],[103.09788,33.239134],[103.097791,33.239548],[103.097771,33.239638],[103.097739,33.239789],[103.097794,33.240092],[103.097852,33.240417],[103.097885,33.240519],[103.097887,33.240527],[103.098125,33.241276],[103.097955,33.241564],[103.097685,33.241568],[103.097427,33.241571],[103.097363,33.241517],[103.097327,33.241487],[103.097325,33.241485],[103.097318,33.241479],[103.096892,33.24112],[103.096243,33.240104],[103.096112,33.239932],[103.096064,33.239941],[103.095986,33.239892],[103.095795,33.239738],[103.095763,33.239739],[103.095589,33.239747],[103.095525,33.239749],[103.095508,33.23975],[103.095431,33.239753],[103.094674,33.240119],[103.09465,33.240131],[103.094604,33.240153],[103.094458,33.240168],[103.093711,33.240246],[103.093265,33.240223],[103.093203,33.24022],[103.093182,33.240235],[103.093065,33.240286],[103.092893,33.240343],[103.092764,33.240367],[103.092608,33.240354],[103.092525,33.240332],[103.092486,33.240345],[103.092473,33.24035],[103.092267,33.240606],[103.092307,33.24074],[103.092327,33.240806],[103.092386,33.241005],[103.092683,33.241544],[103.093072,33.242039],[103.093301,33.242525],[103.093305,33.242533],[103.09342,33.242778],[103.093421,33.242783],[103.093453,33.242923],[103.093569,33.243437],[103.093523,33.24391],[103.093321,33.24409],[103.093037,33.244345],[103.092837,33.244526],[103.092437,33.244641],[103.092251,33.244694],[103.092233,33.2447],[103.091934,33.244669],[103.091544,33.244628],[103.090967,33.244466],[103.090912,33.244451],[103.0906,33.24443],[103.090583,33.244461],[103.090563,33.244491],[103.09053,33.244517],[103.090472,33.244538],[103.09038,33.244557],[103.090299,33.244561],[103.09025,33.244564],[103.090176,33.244558],[103.090102,33.244548],[103.090046,33.244537],[103.089991,33.244511],[103.089965,33.244502],[103.089934,33.244497],[103.089894,33.244499],[103.089852,33.2445],[103.089812,33.244501],[103.089776,33.244494],[103.089752,33.24448],[103.08974,33.244463],[103.08973,33.244436],[103.08942,33.244487],[103.089341,33.2445],[103.089328,33.244502],[103.08932,33.244508],[103.088878,33.244814],[103.088572,33.245025],[103.088561,33.245036],[103.088527,33.245073],[103.08848,33.245123],[103.088445,33.245086],[103.088406,33.245035],[103.088365,33.24502],[103.08834,33.245031],[103.088307,33.245079],[103.088296,33.24512],[103.088294,33.245131],[103.088296,33.245173],[103.088306,33.245224],[103.08834,33.245273],[103.08805,33.245582],[103.087851,33.245679],[103.087788,33.24571],[103.087607,33.245798],[103.087614,33.245824],[103.087593,33.24584],[103.087561,33.245853],[103.0875,33.245888],[103.087463,33.245911],[103.087416,33.245933],[103.087372,33.245959],[103.087356,33.245968],[103.087303,33.245946],[103.087076,33.246056],[103.087027,33.246056],[103.086943,33.246081],[103.086814,33.246122],[103.086683,33.246157],[103.086539,33.246182],[103.086428,33.246182],[103.0863,33.246182],[103.086194,33.24617],[103.086052,33.246147],[103.085975,33.246138],[103.085801,33.246174],[103.085379,33.246351],[103.084995,33.246483],[103.0845,33.246658],[103.084142,33.246792],[103.08395,33.246864],[103.083719,33.247186],[103.08376,33.247533],[103.083928,33.247652],[103.084217,33.247855],[103.084235,33.247868],[103.084261,33.247887],[103.085003,33.248306],[103.085645,33.248507],[103.085822,33.248563],[103.086052,33.248559],[103.086387,33.248554],[103.086477,33.248552],[103.086523,33.248548],[103.086823,33.24852],[103.087035,33.2485],[103.087184,33.248481],[103.087235,33.248413],[103.087267,33.248361],[103.087309,33.248372],[103.087344,33.248379],[103.087366,33.248406],[103.08738,33.248455],[103.087594,33.248427],[103.087619,33.248493],[103.087686,33.248673],[103.087685,33.248704],[103.087685,33.248725],[103.087673,33.249284],[103.087682,33.249314],[103.087619,33.249334],[103.087603,33.249357],[103.087608,33.24938],[103.087635,33.249395],[103.08767,33.249402],[103.087711,33.249408],[103.087783,33.249642],[103.087784,33.249646],[103.087786,33.249652],[103.088002,33.249757],[103.088269,33.249741],[103.088346,33.249678],[103.08859,33.249481],[103.088721,33.24935],[103.088728,33.249343],[103.088729,33.249343],[103.088816,33.249256],[103.088817,33.249256],[103.08883,33.249243],[103.089247,33.248829],[103.089358,33.248719],[103.089398,33.248706],[103.089704,33.248606],[103.089895,33.248544],[103.090329,33.248632],[103.090575,33.248813],[103.090608,33.248838],[103.090861,33.249024],[103.090882,33.24904],[103.090949,33.24909],[103.091106,33.249389],[103.091229,33.249624],[103.091336,33.25027],[103.091286,33.251084],[103.09112,33.251642],[103.091077,33.251787],[103.091058,33.252656],[103.091151,33.252795],[103.091204,33.252875],[103.091277,33.252985],[103.091881,33.253429],[103.092194,33.253895],[103.092359,33.254247],[103.092367,33.254264],[103.092421,33.254379],[103.092564,33.254652],[103.092666,33.254847],[103.092823,33.255148],[103.093182,33.255414],[103.093252,33.255466],[103.093575,33.255705],[103.093655,33.255764],[103.093717,33.255731],[103.093745,33.255719],[103.09378,33.255712],[103.093804,33.255707],[103.093842,33.255707],[103.093769,33.255827],[103.09397,33.255932],[103.094051,33.25584],[103.094098,33.255785],[103.094187,33.255693],[103.094362,33.255544],[103.09443,33.255476],[103.094524,33.255409],[103.0946,33.255361],[103.094616,33.255352],[103.09468,33.255315],[103.094766,33.255283],[103.094871,33.255247],[103.094972,33.255226],[103.095045,33.255226],[103.095123,33.255228],[103.095227,33.25524],[103.095352,33.255273],[103.095397,33.255293],[103.095583,33.255369],[103.095668,33.255422],[103.095859,33.255611],[103.095962,33.25579],[103.096067,33.256109],[103.096083,33.256266],[103.096084,33.256348],[103.096116,33.256321],[103.09613,33.256316],[103.09612,33.256447],[103.096106,33.256565],[103.096063,33.25668],[103.095973,33.25677],[103.095749,33.256918],[103.095601,33.257018],[103.095316,33.257127],[103.095308,33.257131],[103.095097,33.257227],[103.094745,33.25737],[103.094507,33.257493],[103.094269,33.257598],[103.093969,33.257731],[103.093603,33.257865],[103.093255,33.257948],[103.092908,33.258031],[103.092798,33.258069],[103.09266,33.258084],[103.092575,33.258079],[103.092446,33.258036],[103.092342,33.258003],[103.092166,33.257993],[103.092042,33.257998],[103.091923,33.258041],[103.091828,33.258122],[103.091771,33.258207],[103.091747,33.258283],[103.091747,33.258341],[103.091766,33.25845],[103.091818,33.25855],[103.091894,33.258645],[103.092037,33.258755],[103.092166,33.25884],[103.09242,33.258931],[103.092675,33.259021],[103.092922,33.259064],[103.09317,33.259107],[103.093376,33.259156],[103.093565,33.259202],[103.093674,33.25925],[103.093812,33.259383],[103.093826,33.259497],[103.093779,33.259654],[103.093712,33.259749],[103.093652,33.259806],[103.093617,33.25984],[103.09338,33.259992],[103.093143,33.260145],[103.092987,33.260256],[103.09273,33.260456],[103.092427,33.260606],[103.092123,33.260756],[103.091724,33.260863],[103.091395,33.260927],[103.091117,33.260963],[103.09071,33.260963],[103.090372,33.260906],[103.090034,33.260849],[103.089696,33.260792],[103.089368,33.260728],[103.089061,33.260728],[103.08879,33.260749],[103.088618,33.260813],[103.088404,33.260956],[103.088247,33.261134],[103.08814,33.261334],[103.088062,33.261513],[103.088056,33.261535],[103.087997,33.261763],[103.087933,33.261905],[103.087812,33.262034],[103.087633,33.26212],[103.087455,33.262198],[103.087284,33.262212],[103.087119,33.262184],[103.086955,33.262127],[103.086691,33.261948],[103.08657,33.261663],[103.086391,33.261256],[103.086353,33.261155],[103.086299,33.261013],[103.086227,33.26087],[103.08612,33.260713],[103.085992,33.260628],[103.085877,33.260628],[103.085706,33.260685],[103.085606,33.260792],[103.085492,33.26097],[103.085374,33.261234],[103.085256,33.261498],[103.085092,33.261841],[103.085006,33.262048],[103.084892,33.262277],[103.084749,33.262455],[103.084478,33.262683],[103.084307,33.262812],[103.084286,33.262825],[103.084086,33.262948],[103.083893,33.263147],[103.083857,33.263326],[103.0839,33.263483],[103.083979,33.263669],[103.084093,33.263861],[103.084378,33.264061],[103.084585,33.26414],[103.084807,33.264161],[103.084921,33.264154],[103.085006,33.264083],[103.085174,33.263865],[103.085342,33.263647],[103.085417,33.26354],[103.085485,33.263444],[103.085628,33.26324],[103.085742,33.263076],[103.08592,33.262876],[103.086199,33.262691],[103.086406,33.262612],[103.086527,33.262583],[103.08667,33.262576],[103.087019,33.262583],[103.087405,33.262683],[103.087562,33.262748],[103.087691,33.262833],[103.087862,33.263005],[103.087905,33.263083],[103.087927,33.263104],[103.088019,33.26319],[103.088147,33.263255],[103.088297,33.263276],[103.088454,33.263269],[103.088633,33.263219],[103.08879,33.263112],[103.088795,33.263107],[103.088897,33.263005],[103.088997,33.262762],[103.089061,33.262612],[103.089082,33.262491],[103.089111,33.262376],[103.089218,33.262277],[103.089397,33.262205],[103.089438,33.262195],[103.089539,33.262169],[103.089704,33.262169],[103.08982,33.262178],[103.090003,33.262191],[103.090253,33.262341],[103.090382,33.262519],[103.090467,33.262691],[103.090471,33.262696],[103.090537,33.262805],[103.090624,33.262948],[103.090717,33.263205],[103.090717,33.263387],[103.090717,33.263404],[103.090689,33.263547],[103.090574,33.263776],[103.090417,33.264054],[103.090324,33.264232],[103.09026,33.264354],[103.090068,33.264468],[103.089868,33.264568],[103.089642,33.264632],[103.089589,33.264646],[103.089254,33.264675],[103.088861,33.264704],[103.088497,33.264768],[103.088119,33.264961],[103.08793,33.2651],[103.08774,33.265239],[103.087405,33.265482],[103.087069,33.265724],[103.086827,33.265917],[103.086684,33.26611],[103.08667,33.266267],[103.086677,33.266374],[103.086741,33.266502],[103.086884,33.266688],[103.087066,33.266984],[103.087248,33.267281],[103.087298,33.267566],[103.087434,33.267894],[103.087619,33.268173],[103.087876,33.268423],[103.088112,33.268608],[103.088362,33.26874],[103.088611,33.268872],[103.088875,33.268922],[103.089268,33.268894],[103.089561,33.268822],[103.089961,33.268808],[103.090332,33.268808],[103.090374,33.26881],[103.090564,33.268819],[103.090796,33.26883],[103.091106,33.26888],[103.091417,33.26893],[103.091595,33.268979],[103.091874,33.269101],[103.091945,33.269186],[103.091995,33.269308],[103.091999,33.269389],[103.092002,33.269458],[103.091959,33.269743],[103.091902,33.270022],[103.091816,33.270222],[103.091652,33.270414],[103.091445,33.270564],[103.091231,33.2707],[103.090931,33.270857],[103.09066,33.270971],[103.090389,33.271085],[103.090091,33.271221],[103.089794,33.271357],[103.089497,33.271492],[103.089254,33.271671],[103.08904,33.271871],[103.089025,33.271999],[103.089054,33.272149],[103.089161,33.272299],[103.089361,33.272434],[103.089618,33.27257],[103.089946,33.272646],[103.090275,33.272722],[103.090603,33.272799],[103.090913,33.272913],[103.091224,33.273027],[103.091253,33.273038],[103.091502,33.273134],[103.091709,33.273355],[103.091781,33.273519],[103.091838,33.273698],[103.091824,33.273862],[103.091774,33.273983],[103.091717,33.274041],[103.09151,33.274126],[103.091388,33.274169],[103.09106,33.274226],[103.090817,33.274226],[103.09046,33.274191],[103.090075,33.274133],[103.089778,33.274108],[103.089482,33.274083],[103.089132,33.274033],[103.088783,33.273983],[103.088404,33.273983],[103.088382,33.273984],[103.088133,33.273991],[103.087898,33.274041],[103.087698,33.274141],[103.087491,33.274326],[103.087391,33.274483],[103.087312,33.274626],[103.087298,33.274797],[103.087298,33.274997],[103.087326,33.275176],[103.08744,33.275524],[103.087604,33.275835],[103.087631,33.276088],[103.087561,33.276411],[103.087496,33.276564],[103.08737,33.276716],[103.0873,33.276784],[103.087238,33.276844],[103.087197,33.276884],[103.087024,33.277052],[103.086852,33.27722],[103.086824,33.277248],[103.086679,33.277388],[103.086603,33.277462],[103.086506,33.277557],[103.086333,33.277725],[103.08616,33.277893],[103.085987,33.278061],[103.085842,33.278234],[103.085831,33.278248],[103.085674,33.278436],[103.085518,33.278623],[103.085455,33.278697],[103.085403,33.27876],[103.085361,33.27881],[103.085205,33.278997],[103.085048,33.279184],[103.084892,33.279371],[103.084736,33.279559],[103.084579,33.279746],[103.084423,33.279933],[103.084266,33.28012],[103.08411,33.280307],[103.083934,33.280496],[103.083759,33.280685],[103.083583,33.280874],[103.083408,33.281064],[103.083233,33.281253],[103.083057,33.281442],[103.082882,33.281631],[103.082706,33.28182],[103.082505,33.281957],[103.082304,33.282094],[103.081905,33.282241],[103.081492,33.282312],[103.081079,33.282383],[103.080833,33.282412],[103.080587,33.282441],[103.080341,33.282471],[103.080095,33.2825],[103.079849,33.282529],[103.079603,33.282558],[103.079357,33.282587],[103.079112,33.282616],[103.078859,33.282666],[103.078607,33.282715],[103.078354,33.282765],[103.078102,33.282814],[103.07785,33.282863],[103.077597,33.282913],[103.077345,33.282962],[103.077093,33.283011],[103.07684,33.283061],[103.076588,33.28311],[103.076336,33.28316],[103.076083,33.283209],[103.075847,33.28326],[103.075611,33.283311],[103.075375,33.283362],[103.075139,33.283413],[103.074902,33.283464],[103.074666,33.283516],[103.07443,33.283567],[103.074194,33.283618],[103.073958,33.283669],[103.073722,33.28372],[103.073486,33.283771],[103.07325,33.283822],[103.073013,33.283873],[103.072777,33.283924],[103.072616,33.283965],[103.07244,33.284009],[103.072103,33.284093],[103.071886,33.284268],[103.071822,33.28442],[103.07182,33.284427],[103.07181,33.284481],[103.071753,33.284778],[103.071647,33.284981],[103.071541,33.285184],[103.071435,33.285386],[103.071328,33.285589],[103.071222,33.285792],[103.071116,33.285994],[103.070927,33.286299],[103.070738,33.286603],[103.070458,33.286871],[103.070178,33.287139],[103.069898,33.287408],[103.069744,33.287614],[103.06959,33.287821],[103.069436,33.288028],[103.069282,33.288234],[103.069173,33.28838],[103.069128,33.288441],[103.06906,33.288531],[103.069056,33.288537],[103.068973,33.288648],[103.068819,33.288854],[103.068665,33.289061],[103.068521,33.289269],[103.068376,33.289476],[103.068231,33.289683],[103.068087,33.289891],[103.067942,33.290098],[103.067797,33.290306],[103.067653,33.290513],[103.067564,33.29064],[103.067508,33.290721],[103.067364,33.290928],[103.067275,33.291055],[103.06725,33.29109],[103.067219,33.291136],[103.066996,33.291463],[103.066986,33.291478],[103.066773,33.29179],[103.066644,33.29198],[103.066515,33.29217],[103.066386,33.29236],[103.066256,33.29255],[103.066127,33.29274],[103.065998,33.29293],[103.065868,33.29312],[103.065739,33.29331],[103.06559,33.29353],[103.065441,33.29375],[103.065292,33.293969],[103.065143,33.294189],[103.065045,33.294334],[103.064994,33.294408],[103.064977,33.294434],[103.064845,33.294628],[103.064696,33.294848],[103.064547,33.295067],[103.064398,33.295287],[103.064249,33.295507],[103.06411,33.295704],[103.064078,33.29575],[103.063971,33.295901],[103.063832,33.296099],[103.063731,33.296241],[103.063693,33.296296],[103.063539,33.296514],[103.063385,33.296732],[103.063231,33.296951],[103.063077,33.297169],[103.062923,33.297387],[103.062769,33.297606],[103.062568,33.297781],[103.062366,33.297956],[103.061968,33.298079],[103.061539,33.298166],[103.06111,33.298252],[103.060682,33.298339],[103.060652,33.298344],[103.060246,33.298416],[103.05981,33.298492],[103.059374,33.298568],[103.058938,33.298644],[103.058693,33.298705],[103.058448,33.298765],[103.058203,33.298825],[103.057958,33.298885],[103.057799,33.29892],[103.057717,33.298938],[103.057476,33.29899],[103.057236,33.299042],[103.056995,33.299094],[103.056754,33.299146],[103.056513,33.299198],[103.056273,33.299251],[103.056266,33.299252],[103.056032,33.299303],[103.055791,33.299355],[103.05555,33.299407],[103.05531,33.299459],[103.055069,33.299511],[103.054811,33.299579],[103.054554,33.299646],[103.054296,33.299714],[103.054039,33.299782],[103.053781,33.299849],[103.053524,33.299917],[103.053266,33.299984],[103.053009,33.300052],[103.052751,33.300119],[103.052494,33.300187],[103.052251,33.300221],[103.052007,33.300256],[103.051764,33.30029],[103.051521,33.300325],[103.051277,33.300359],[103.051034,33.300394],[103.050791,33.300428],[103.050547,33.300462],[103.050304,33.300497],[103.050061,33.300531],[103.049817,33.300566],[103.049574,33.3006],[103.049331,33.300635],[103.049088,33.300669],[103.048844,33.300704],[103.048601,33.300738],[103.048344,33.30076],[103.04833,33.300761],[103.04828,33.300765],[103.048087,33.300781],[103.04783,33.300803],[103.047573,33.300824],[103.047316,33.300846],[103.047059,33.300867],[103.046802,33.300889],[103.046545,33.30091],[103.046458,33.300918],[103.046404,33.300922],[103.046288,33.300932],[103.046031,33.300953],[103.045774,33.300975],[103.045517,33.300997],[103.045283,33.301014],[103.045049,33.301031],[103.044815,33.301049],[103.044581,33.301066],[103.044347,33.301084],[103.044113,33.301101],[103.043894,33.301141],[103.043874,33.301144],[103.043634,33.301188],[103.043395,33.301231],[103.043155,33.301274],[103.042944,33.301312],[103.042916,33.301317],[103.042676,33.30136],[103.042257,33.301385],[103.041837,33.301411],[103.041417,33.301436],[103.040997,33.301461],[103.040733,33.301457],[103.040469,33.301453],[103.040205,33.301449],[103.039941,33.301444],[103.039677,33.30144],[103.039413,33.301436],[103.039151,33.301435],[103.038889,33.301433],[103.038627,33.301432],[103.038365,33.30143],[103.038103,33.301429],[103.037841,33.301427],[103.037579,33.301426],[103.037317,33.301424],[103.037055,33.301423],[103.036793,33.301421],[103.036474,33.301409],[103.036388,33.301406],[103.035982,33.301391],[103.035576,33.301376],[103.035171,33.301338],[103.035149,33.301336],[103.034722,33.301296],[103.034295,33.301256],[103.033868,33.301216],[103.033442,33.301157],[103.033015,33.301097],[103.032588,33.301037],[103.032162,33.300977],[103.0318,33.300879],[103.031439,33.30078],[103.031213,33.300741],[103.030987,33.300702],[103.030733,33.300689],[103.030376,33.300683],[103.030366,33.300682],[103.03008,33.300661],[103.029818,33.300639],[103.029524,33.300599],[103.029209,33.300541],[103.028894,33.300483],[103.028662,33.300431],[103.028586,33.300413],[103.028483,33.30039],[103.028431,33.300378],[103.028166,33.300343],[103.0279,33.300307],[103.027635,33.300272],[103.02737,33.300237],[103.027097,33.300195],[103.026824,33.300154],[103.026793,33.300149],[103.026552,33.300112],[103.026279,33.30007],[103.026047,33.300053],[103.025816,33.300036],[103.025489,33.300031],[103.025162,33.300026],[103.024935,33.300036],[103.024708,33.300045],[103.02439,33.30008],[103.024073,33.300115],[103.02384,33.300154],[103.023607,33.300193],[103.023374,33.300232],[103.023142,33.300271],[103.022909,33.30031],[103.022676,33.300349],[103.02228,33.300404],[103.021884,33.300459],[103.021586,33.300521],[103.021289,33.300584],[103.020896,33.300692],[103.020751,33.300754],[103.02068,33.300785],[103.020463,33.300877],[103.020314,33.300963],[103.020121,33.301132],[103.019928,33.301302],[103.019731,33.301564],[103.019653,33.301757],[103.019567,33.302039],[103.019482,33.302321],[103.01938,33.302603],[103.01925,33.302761],[103.019154,33.302864],[103.019045,33.30296],[103.01895,33.303003],[103.018811,33.30308],[103.018673,33.303131],[103.018365,33.303188],[103.018111,33.3032],[103.017858,33.303211],[103.017605,33.303223],[103.017352,33.303234],[103.016904,33.303223],[103.016457,33.303213],[103.016009,33.303202],[103.015567,33.303144],[103.015124,33.303086],[103.014682,33.303029],[103.014239,33.302971],[103.013977,33.302925],[103.013715,33.302878],[103.013454,33.302831],[103.013192,33.302785],[103.01293,33.302738],[103.012668,33.302692],[103.012484,33.302659],[103.012406,33.302645],[103.012144,33.302599],[103.011882,33.302552],[103.011621,33.302506],[103.011359,33.302459],[103.011097,33.302413],[103.010835,33.302366],[103.010573,33.30232],[103.010311,33.302273],[103.010049,33.302227],[103.009787,33.30218],[103.009526,33.302134],[103.009264,33.302087],[103.009024,33.302044],[103.009002,33.302041],[103.0088,33.302005],[103.00874,33.301994],[103.008478,33.301948],[103.008216,33.301901],[103.007954,33.301854],[103.007693,33.301808],[103.007431,33.301761],[103.007169,33.301715],[103.006907,33.301668],[103.006653,33.301629],[103.006398,33.30159],[103.006144,33.301551],[103.005889,33.301511],[103.005635,33.301472],[103.005381,33.301433],[103.005126,33.301394],[103.004872,33.301355],[103.004618,33.301315],[103.004363,33.301276],[103.004109,33.301237],[103.003855,33.301198],[103.0036,33.301158],[103.003346,33.301119],[103.003076,33.301076],[103.002807,33.301032],[103.002538,33.300988],[103.002269,33.300945],[103.001999,33.300901],[103.00173,33.300857],[103.001461,33.300814],[103.001191,33.30077],[103.000961,33.300733],[103.000731,33.300696],[103.000501,33.300658],[103.000271,33.300621],[103.000029,33.300608],[102.999786,33.300594],[102.999544,33.300581],[102.999301,33.300567],[102.999059,33.300554],[102.998816,33.30054],[102.998574,33.300527],[102.998332,33.300513],[102.998089,33.3005],[102.997847,33.300486],[102.997604,33.300472],[102.997362,33.300459],[102.997124,33.300415],[102.996887,33.300372],[102.99665,33.300328],[102.996412,33.300285],[102.996406,33.300283],[102.996184,33.300243],[102.996175,33.300241],[102.995938,33.300198],[102.995815,33.300175],[102.995733,33.30016],[102.995701,33.300154],[102.995463,33.30011],[102.995226,33.300067],[102.994989,33.300023],[102.994751,33.29998],[102.994514,33.299936],[102.994277,33.299893],[102.994039,33.299849],[102.993613,33.299825],[102.99342,33.299822],[102.993205,33.29989],[102.99287,33.300178],[102.992535,33.300466],[102.992201,33.300754],[102.99194,33.300937],[102.99168,33.301121],[102.991431,33.301243],[102.991181,33.301364],[102.990771,33.301528],[102.990361,33.301692],[102.990352,33.301696],[102.990108,33.301776],[102.989855,33.301859],[102.989601,33.301942],[102.989348,33.302025],[102.989095,33.302108],[102.988841,33.302191],[102.988461,33.302281],[102.988081,33.30237],[102.987701,33.302459],[102.987455,33.302482],[102.987209,33.302505],[102.986824,33.302499],[102.986439,33.302494],[102.98611,33.302398],[102.985781,33.302302],[102.98558,33.302198],[102.985379,33.302094],[102.985178,33.30199],[102.984977,33.301886],[102.984776,33.301782],[102.984575,33.301677],[102.984374,33.301573],[102.984174,33.301469],[102.983947,33.301322],[102.983721,33.301175],[102.983494,33.301028],[102.983268,33.30088],[102.983041,33.300733],[102.982815,33.300586],[102.982588,33.300439],[102.982362,33.300292],[102.981996,33.300082],[102.98163,33.299873],[102.981264,33.299664],[102.98091,33.29952],[102.980556,33.299376],[102.980168,33.29919],[102.97978,33.299004],[102.979392,33.298818],[102.979095,33.298697],[102.978799,33.298576],[102.978671,33.298558],[102.978372,33.298515],[102.978138,33.298476],[102.977903,33.298436],[102.977669,33.298396],[102.977441,33.298357],[102.977435,33.298356],[102.977201,33.298317],[102.976967,33.298277],[102.976714,33.298264],[102.976461,33.298251],[102.976209,33.298238],[102.975956,33.298225],[102.975703,33.298212],[102.97545,33.298199],[102.975197,33.298185],[102.974944,33.298172],[102.974692,33.298159],[102.974439,33.298146],[102.974186,33.298133],[102.973933,33.29812],[102.973665,33.298117],[102.973396,33.298114],[102.973127,33.298111],[102.972859,33.298108],[102.97259,33.298105],[102.972321,33.298102],[102.972053,33.298098],[102.971784,33.298095],[102.971515,33.298092],[102.971247,33.298089],[102.970978,33.298086],[102.970709,33.298083],[102.970441,33.29808],[102.970172,33.298077],[102.969907,33.298083],[102.969642,33.29809],[102.969377,33.298097],[102.969113,33.298104],[102.968848,33.298111],[102.968583,33.298117],[102.968318,33.298124],[102.968053,33.298131],[102.967661,33.298149],[102.967268,33.298167],[102.966876,33.298184],[102.966515,33.298168],[102.966484,33.298166],[102.966093,33.298148],[102.965701,33.29813],[102.965472,33.298112],[102.965242,33.298095],[102.965013,33.298078],[102.964784,33.29806],[102.964554,33.298043],[102.964325,33.298026],[102.964096,33.298009],[102.963867,33.297991],[102.963609,33.29799],[102.963351,33.297988],[102.963093,33.297987],[102.962836,33.297985],[102.962578,33.297984],[102.96232,33.297982],[102.962062,33.29798],[102.961805,33.297979],[102.961547,33.297977],[102.961289,33.297976],[102.961031,33.297974],[102.960774,33.297973],[102.960516,33.297971],[102.960258,33.297969],[102.960001,33.297968],[102.959743,33.297966],[102.959485,33.297965],[102.959227,33.297963],[102.95897,33.297962],[102.958712,33.29796],[102.958453,33.297957],[102.958195,33.297954],[102.957936,33.297951],[102.957678,33.297949],[102.957419,33.297946],[102.957161,33.297943],[102.956902,33.29794],[102.956643,33.297937],[102.956385,33.297934],[102.956126,33.297931],[102.955868,33.297928],[102.955609,33.297925],[102.955351,33.297923],[102.955092,33.29792],[102.954834,33.297917],[102.954575,33.297914],[102.954317,33.297911],[102.954058,33.297908],[102.953799,33.297905],[102.953541,33.297902],[102.953282,33.2979],[102.953024,33.297897],[102.952765,33.297894],[102.952507,33.297891],[102.952248,33.297888],[102.95199,33.297885],[102.951731,33.297882],[102.951473,33.297879],[102.951214,33.297864],[102.950955,33.297848],[102.950697,33.297832],[102.950438,33.297816],[102.950179,33.2978],[102.94992,33.297784],[102.949662,33.297768],[102.94946,33.297756],[102.949403,33.297753],[102.949322,33.297748],[102.949144,33.297737],[102.948886,33.297721],[102.948627,33.297705],[102.948368,33.297689],[102.94811,33.297673],[102.947851,33.297657],[102.947598,33.297657],[102.947345,33.297656],[102.947092,33.297655],[102.946839,33.297654],[102.946586,33.297654],[102.946333,33.297653],[102.94608,33.297652],[102.945968,33.297652],[102.945827,33.297651],[102.945573,33.29765],[102.94532,33.29765],[102.944872,33.297678],[102.944636,33.297728],[102.944336,33.297759],[102.94393,33.297752],[102.943502,33.297741],[102.943075,33.297729],[102.942647,33.297718],[102.942564,33.297716],[102.942219,33.297707],[102.941985,33.2977],[102.941979,33.2977],[102.941739,33.297694],[102.941498,33.297688],[102.941258,33.297681],[102.941018,33.297675],[102.940778,33.297669],[102.940537,33.297662],[102.940297,33.297656],[102.940083,33.297653],[102.939977,33.297615],[102.939871,33.297505],[102.939834,33.297307],[102.939865,33.296913],[102.939876,33.296465],[102.939837,33.296349],[102.939815,33.296284],[102.93967,33.29612],[102.939544,33.296029],[102.939352,33.296007],[102.939158,33.296004],[102.938966,33.296055],[102.93879,33.296213],[102.93869,33.296416],[102.938538,33.296724],[102.938387,33.297032],[102.938358,33.29711],[102.938341,33.297157],[102.938296,33.297211],[102.938257,33.297253],[102.938231,33.297281],[102.938122,33.297316],[102.937972,33.29733],[102.937674,33.297289],[102.937399,33.29716],[102.937273,33.297062],[102.937232,33.29703],[102.937125,33.297011],[102.936976,33.29701],[102.936903,33.297018],[102.936718,33.29704],[102.936483,33.297054],[102.936248,33.297037],[102.936162,33.297031],[102.93602,33.297012],[102.936014,33.297011],[102.935908,33.296937],[102.935869,33.296793],[102.935853,33.296541],[102.935927,33.296112],[102.935934,33.296077],[102.935977,33.295827],[102.936002,33.295683],[102.935985,33.295521],[102.935945,33.295359],[102.935929,33.295336],[102.935884,33.295268],[102.935849,33.295257],[102.935649,33.295193],[102.935308,33.295169],[102.934988,33.29524],[102.934977,33.295243],[102.93491,33.295258],[102.934513,33.295346],[102.934115,33.295434],[102.933834,33.295483],[102.933428,33.295513],[102.933065,33.295506],[102.932787,33.295511],[102.932509,33.295515],[102.932245,33.295531],[102.93198,33.295548],[102.931716,33.295565],[102.931452,33.295581],[102.931188,33.295598],[102.930924,33.295614],[102.930658,33.29562],[102.930392,33.295626],[102.930126,33.295632],[102.92986,33.295637],[102.929595,33.295643],[102.929329,33.295649],[102.929063,33.295655],[102.928797,33.295661],[102.928531,33.295666],[102.928265,33.295672],[102.927999,33.295678],[102.927733,33.295684],[102.927467,33.295689],[102.927202,33.295695],[102.926962,33.295714],[102.926723,33.295733],[102.926483,33.295752],[102.926244,33.295771],[102.926004,33.29579],[102.925765,33.295809],[102.925526,33.295828],[102.925286,33.295847],[102.925047,33.295866],[102.924807,33.295885],[102.924572,33.295906],[102.924336,33.295928],[102.9241,33.295949],[102.923865,33.29597],[102.923629,33.295991],[102.923393,33.296013],[102.923158,33.296034],[102.922922,33.296055],[102.922686,33.296076],[102.922451,33.296097],[102.922066,33.29609],[102.921766,33.296122],[102.921535,33.296118],[102.921303,33.296114],[102.921071,33.29611],[102.921019,33.296109],[102.920946,33.295986],[102.92071,33.295589],[102.920666,33.295516],[102.92063,33.295457],[102.92057,33.295515],[102.920493,33.295573],[102.920416,33.29558],[102.920307,33.295606],[102.92021,33.295614],[102.920094,33.295609],[102.920055,33.295598],[102.920026,33.295557],[102.920021,33.295494],[102.920028,33.295426],[102.920066,33.295363],[102.9201,33.295312],[102.920147,33.295233],[102.920174,33.295158],[102.920226,33.295043],[102.920329,33.294973],[102.92035,33.294943],[102.92039,33.294918],[102.920443,33.294912],[102.920476,33.294921],[102.920524,33.294925],[102.920547,33.294919],[102.920584,33.294903],[102.920621,33.294895],[102.920652,33.294904],[102.920664,33.294929],[102.920685,33.294959],[102.920713,33.294983],[102.920757,33.295015],[102.920799,33.295032],[102.920874,33.295036],[102.920962,33.29493],[102.92125,33.294756],[102.921339,33.294614],[102.921283,33.294565],[102.921041,33.294573],[102.920786,33.294569],[102.920603,33.294483],[102.920567,33.294497],[102.920537,33.294543],[102.920524,33.294569],[102.920504,33.294597],[102.92046,33.294618],[102.920409,33.294639],[102.920341,33.29463],[102.920188,33.294747],[102.920008,33.294696],[102.919901,33.294644],[102.919821,33.294617],[102.919662,33.294607],[102.919532,33.29459],[102.919364,33.29455],[102.91929,33.294488],[102.919245,33.294396],[102.91927,33.294281],[102.919316,33.294215],[102.919384,33.294087],[102.919388,33.29395],[102.919345,33.29385],[102.91929,33.293746],[102.919194,33.293638],[102.919071,33.293562],[102.918996,33.293508],[102.918977,33.293403],[102.918998,33.293294],[102.919032,33.293128],[102.919007,33.292947],[102.918917,33.292834],[102.918913,33.292696],[102.918741,33.29242],[102.897857,33.258822],[102.896783,33.257095],[102.896639,33.256863],[102.896195,33.256149],[102.895862,33.255613],[102.895851,33.255654],[102.895852,33.25568],[102.895853,33.255707],[102.895862,33.25574],[102.895877,33.255776],[102.895879,33.255821],[102.895875,33.255844],[102.895863,33.255849],[102.895843,33.255845],[102.89583,33.255811],[102.895805,33.255748],[102.895788,33.25571],[102.895782,33.255703],[102.895771,33.255693],[102.895762,33.255691],[102.89575,33.255705],[102.895744,33.255718],[102.895726,33.255718],[102.895713,33.2557],[102.895714,33.25568],[102.895716,33.25565],[102.895732,33.255602],[102.895741,33.255564],[102.895741,33.255526],[102.895739,33.255484],[102.895736,33.255445],[102.895721,33.255386],[102.894255,33.253026],[102.894194,33.252928],[102.894085,33.252752],[102.894068,33.252726],[102.894157,33.252639],[102.894164,33.252633],[102.8946,33.252208],[102.895065,33.251667],[102.895108,33.251635],[102.895215,33.251553],[102.895229,33.251543],[102.895287,33.251499],[102.895287,33.251103],[102.895342,33.250815],[102.895498,33.250669],[102.895741,33.250662],[102.895913,33.250906],[102.895998,33.251345],[102.896089,33.25161],[102.896213,33.25182],[102.89637,33.251827],[102.896494,33.251712],[102.896725,33.251494],[102.897016,33.251388],[102.897627,33.251277],[102.898378,33.251233],[102.899016,33.251156],[102.899726,33.251142],[102.899824,33.251013],[102.899654,33.250625],[102.899372,33.250204],[102.898974,33.249935],[102.898817,33.249805],[102.898936,33.249619],[102.899288,33.249309],[102.899403,33.2491],[102.899431,33.248606],[102.899398,33.248322],[102.899276,33.248081],[102.899047,33.247929],[102.898386,33.247744],[102.89805,33.247686],[102.897828,33.247606],[102.89772,33.247506],[102.897746,33.24737],[102.897862,33.247193],[102.898144,33.24697],[102.898129,33.246865],[102.897822,33.246552],[102.897529,33.24623],[102.897341,33.246041],[102.897115,33.245915],[102.896799,33.245863],[102.896189,33.245865],[102.895906,33.245939],[102.895818,33.246078],[102.895895,33.246229],[102.896273,33.246549],[102.896449,33.246828],[102.896394,33.246997],[102.896192,33.247056],[102.89582,33.246931],[102.895398,33.24658],[102.895153,33.246499],[102.894883,33.246468],[102.893818,33.246548],[102.893311,33.246555],[102.892784,33.24648],[102.892439,33.24628],[102.892141,33.245979],[102.892149,33.245779],[102.892226,33.245703],[102.89241,33.245672],[102.893459,33.245776],[102.894022,33.245742],[102.894264,33.245594],[102.89429,33.245438],[102.893923,33.244959],[102.893426,33.244428],[102.893113,33.244172],[102.892716,33.243995],[102.892504,33.243968],[102.892258,33.244044],[102.891645,33.244558],[102.891293,33.244869],[102.890887,33.245127],[102.890317,33.2452],[102.889802,33.245114],[102.889557,33.244944],[102.889654,33.244733],[102.889853,33.244604],[102.890562,33.244241],[102.891163,33.24389],[102.891935,33.243422],[102.892283,33.243067],[102.892435,33.242723],[102.892356,33.242473],[102.892056,33.242296],[102.891472,33.242111],[102.891057,33.242077],[102.890848,33.242154],[102.890742,33.242299],[102.890757,33.242475],[102.89107,33.242802],[102.891251,33.243046],[102.891266,33.243225],[102.891113,33.243297],[102.890846,33.243211],[102.890503,33.243012],[102.890284,33.242971],[102.889892,33.24299],[102.889383,33.243044],[102.889181,33.243007],[102.889042,33.242905],[102.889041,33.242784],[102.88931,33.242391],[102.889561,33.242176],[102.889737,33.241851],[102.889703,33.241628],[102.889574,33.241516],[102.889379,33.241501],[102.888687,33.241701],[102.887805,33.24201],[102.88727,33.242238],[102.887023,33.242332],[102.886869,33.242297],[102.886872,33.242161],[102.886906,33.241905],[102.886971,33.241722],[102.887066,33.241559],[102.887068,33.241412],[102.886962,33.241286],[102.886625,33.241094],[102.885931,33.240851],[102.884848,33.240541],[102.884194,33.240336],[102.883846,33.240162],[102.883863,33.239882],[102.884024,33.239736],[102.884398,33.239742],[102.88507,33.239879],[102.88529,33.239803],[102.885351,33.239348],[102.885333,33.238752],[102.885324,33.238343],[102.88524,33.23813],[102.885012,33.238159],[102.884742,33.23831],[102.884537,33.238525],[102.884197,33.238521],[102.883384,33.238282],[102.88296,33.238079],[102.882744,33.237793],[102.882795,33.237591],[102.883055,33.237506],[102.883727,33.237662],[102.884345,33.23784],[102.884622,33.237852],[102.885069,33.23768],[102.885254,33.237528],[102.885354,33.237343],[102.885294,33.237065],[102.885068,33.236788],[102.884594,33.236461],[102.884376,33.236331],[102.884382,33.236088],[102.884464,33.235773],[102.884645,33.235591],[102.884805,33.235541],[102.885037,33.235579],[102.885224,33.235722],[102.885424,33.235934],[102.885538,33.236025],[102.885654,33.235997],[102.88575,33.235887],[102.885894,33.235239],[102.886005,33.234933],[102.886336,33.234504],[102.886645,33.234228],[102.886818,33.234178],[102.886993,33.234245],[102.886945,33.234411],[102.886779,33.234708],[102.886697,33.234862],[102.886755,33.234968],[102.887152,33.235156],[102.887839,33.235474],[102.888223,33.235521],[102.888621,33.235487],[102.888952,33.235426],[102.889301,33.235258],[102.889469,33.235083],[102.889447,33.234878],[102.889308,33.23478],[102.888722,33.234691],[102.888403,33.234632],[102.888307,33.234524],[102.888388,33.234381],[102.888742,33.234203],[102.889417,33.233794],[102.889766,33.233494],[102.89004,33.233276],[102.890233,33.233132],[102.890171,33.232977],[102.889832,33.232529],[102.889523,33.232236],[102.889355,33.232205],[102.889187,33.232291],[102.889106,33.232582],[102.889023,33.232847],[102.888415,33.233116],[102.887654,33.233339],[102.887288,33.233387],[102.88697,33.23345],[102.886677,33.233472],[102.886338,33.233358],[102.886143,33.233207],[102.886112,33.233058],[102.886205,33.232957],[102.886515,33.232891],[102.88683,33.232844],[102.887074,33.232833],[102.887254,33.232817],[102.887353,33.232666],[102.887334,33.232467],[102.887173,33.231934],[102.887065,33.231665],[102.88693,33.231496],[102.886753,33.231426],[102.886469,33.231435],[102.885966,33.23162],[102.885497,33.231744],[102.885261,33.231703],[102.88518,33.231593],[102.885255,33.231377],[102.885533,33.230879],[102.886141,33.230177],[102.886318,33.23],[102.886355,33.22985],[102.886169,33.229821],[102.885683,33.229834],[102.885304,33.229768],[102.884872,33.22964],[102.884605,33.229554],[102.884403,33.229662],[102.88417,33.230331],[102.8839,33.230826],[102.883645,33.230958],[102.883432,33.230886],[102.883041,33.230494],[102.882805,33.229593],[102.88273,33.229128],[102.882816,33.228726],[102.882999,33.228686],[102.883219,33.22881],[102.883596,33.229144],[102.884144,33.229267],[102.884948,33.229353],[102.885909,33.229402],[102.886361,33.229416],[102.88671,33.229269],[102.88681,33.229111],[102.886771,33.228909],[102.886503,33.228746],[102.886237,33.228639],[102.886162,33.227884],[102.886061,33.226983],[102.885872,33.226623],[102.885606,33.226216],[102.885578,33.225929],[102.885743,33.225722],[102.886035,33.225567],[102.88636,33.225543],[102.886656,33.225617],[102.886748,33.225892],[102.886835,33.226434],[102.886993,33.22674],[102.887502,33.227143],[102.887689,33.227256],[102.887977,33.227336],[102.888141,33.227232],[102.888423,33.226394],[102.88868,33.225783],[102.888766,33.225625],[102.888722,33.225427],[102.888442,33.225208],[102.88793,33.224916],[102.887719,33.22489],[102.887335,33.224988],[102.886773,33.225222],[102.886652,33.225178],[102.886656,33.224978],[102.886881,33.224173],[102.887083,33.223284],[102.887351,33.222323],[102.88735,33.222165],[102.887182,33.222059],[102.886929,33.222156],[102.886486,33.222829],[102.886025,33.223404],[102.885738,33.223582],[102.885456,33.223606],[102.885301,33.223496],[102.885317,33.223368],[102.88569,33.223094],[102.88598,33.222849],[102.885982,33.22267],[102.885777,33.222554],[102.885279,33.222559],[102.884879,33.222571],[102.88469,33.222463],[102.884594,33.222066],[102.884611,33.221624],[102.884615,33.221397],[102.884587,33.221201],[102.884507,33.220964],[102.884458,33.220786],[102.884372,33.220649],[102.884236,33.22061],[102.884003,33.220622],[102.883763,33.220655],[102.883571,33.220592],[102.883136,33.220489],[102.882813,33.22048],[102.882516,33.220616],[102.882309,33.220678],[102.881724,33.220602],[102.881418,33.220599],[102.881144,33.220709],[102.880946,33.220894],[102.880773,33.221087],[102.88056,33.221167],[102.880412,33.221079],[102.880425,33.22094],[102.880496,33.220597],[102.880538,33.220309],[102.880419,33.219811],[102.880335,33.219572],[102.880109,33.219437],[102.879722,33.219436],[102.879485,33.219508],[102.879404,33.219671],[102.879434,33.220021],[102.87951,33.220405],[102.879482,33.220651],[102.879335,33.220916],[102.879037,33.221043],[102.878608,33.220927],[102.878093,33.220621],[102.877952,33.220433],[102.878032,33.220276],[102.878397,33.220148],[102.878605,33.220041],[102.878635,33.219896],[102.878208,33.219444],[102.87769,33.218967],[102.877591,33.218741],[102.877646,33.218529],[102.877835,33.218388],[102.878276,33.218302],[102.878636,33.218257],[102.878788,33.218144],[102.878813,33.21783],[102.878655,33.217627],[102.878452,33.217475],[102.878134,33.217403],[102.877422,33.217525],[102.876919,33.217639],[102.876517,33.21763],[102.876438,33.217628],[102.875901,33.217478],[102.875468,33.217255],[102.87526,33.217109],[102.87527,33.216943],[102.875401,33.216764],[102.876018,33.216626],[102.876501,33.216491],[102.876742,33.21636],[102.876791,33.216186],[102.876764,33.21598],[102.876598,33.215851],[102.875718,33.215945],[102.875222,33.215942],[102.87456,33.215623],[102.874043,33.215262],[102.873798,33.214896],[102.873742,33.214479],[102.873825,33.214297],[102.874007,33.214233],[102.874311,33.214335],[102.874663,33.214707],[102.875188,33.215411],[102.87548,33.215566],[102.87584,33.215588],[102.876453,33.215431],[102.876838,33.215236],[102.877047,33.214934],[102.876906,33.21466],[102.876602,33.214694],[102.876039,33.214946],[102.875677,33.214959],[102.875557,33.214765],[102.875865,33.214363],[102.876054,33.214189],[102.876171,33.213722],[102.876195,33.213451],[102.876081,33.213211],[102.876145,33.213003],[102.876289,33.212859],[102.876722,33.212873],[102.876725,33.213034],[102.876565,33.213449],[102.876528,33.213858],[102.876716,33.214141],[102.877072,33.214298],[102.877576,33.214323],[102.877638,33.214136],[102.877595,33.213788],[102.87748,33.213354],[102.877485,33.213115],[102.87759,33.212991],[102.87789,33.21295],[102.878588,33.213428],[102.878894,33.213612],[102.879436,33.213658],[102.879743,33.213542],[102.879914,33.213325],[102.879963,33.213079],[102.879793,33.212787],[102.879453,33.212491],[102.878935,33.212246],[102.878578,33.212178],[102.878098,33.212251],[102.87745,33.212346],[102.876911,33.212229],[102.876879,33.212038],[102.876957,33.211928],[102.877611,33.211889],[102.878261,33.211904],[102.878795,33.211747],[102.879264,33.211475],[102.879335,33.211228],[102.879219,33.210952],[102.878891,33.210734],[102.87822,33.211259],[102.877831,33.211528],[102.877482,33.211476],[102.877371,33.211157],[102.877402,33.21071],[102.87749,33.210271],[102.877638,33.210067],[102.878036,33.210041],[102.878486,33.210202],[102.878665,33.210143],[102.878609,33.209555],[102.878707,33.208739],[102.87839,33.208345],[102.878047,33.208411],[102.87784,33.208646],[102.877606,33.20926],[102.877352,33.20954],[102.877007,33.209719],[102.876614,33.209746],[102.876555,33.20959],[102.876723,33.209343],[102.877053,33.208925],[102.877327,33.208604],[102.877455,33.208384],[102.877392,33.208067],[102.877028,33.207618],[102.876904,33.207495],[102.876816,33.207255],[102.876899,33.207062],[102.877276,33.207013],[102.877598,33.20697],[102.877948,33.206934],[102.87815,33.206971],[102.878141,33.207131],[102.878058,33.207389],[102.878146,33.207542],[102.878347,33.207519],[102.878863,33.207368],[102.879435,33.207332],[102.880327,33.207389],[102.880866,33.207459],[102.88148,33.207627],[102.88177,33.207706],[102.881954,33.207666],[102.882086,33.207533],[102.882021,33.207197],[102.881807,33.206692],[102.881599,33.20656],[102.88097,33.206753],[102.880786,33.206708],[102.880653,33.206459],[102.880437,33.206174],[102.880042,33.205948],[102.879475,33.205672],[102.879447,33.205494],[102.879562,33.205345],[102.880021,33.205196],[102.88027,33.205071],[102.880229,33.204905],[102.879752,33.204771],[102.879455,33.204408],[102.879244,33.204007],[102.879305,33.203841],[102.879562,33.203741],[102.879794,33.203701],[102.879948,33.20361],[102.88006,33.203396],[102.880178,33.203187],[102.880336,33.203098],[102.880498,33.20312],[102.88073,33.203266],[102.881129,33.20364],[102.881377,33.203707],[102.881774,33.203669],[102.881906,33.203546],[102.881841,33.2034],[102.881566,33.20326],[102.881335,33.203136],[102.881126,33.202932],[102.880912,33.202619],[102.880859,33.202455],[102.880979,33.202245],[102.881229,33.202132],[102.881393,33.202143],[102.881501,33.202238],[102.881583,33.202584],[102.881688,33.202817],[102.881961,33.2029],[102.882372,33.202846],[102.88274,33.202735],[102.882941,33.2026],[102.883038,33.202385],[102.883051,33.202162],[102.882907,33.201918],[102.882693,33.201699],[102.882604,33.201581],[102.882159,33.20152],[102.881844,33.201388],[102.881786,33.201224],[102.881928,33.20102],[102.882102,33.200846],[102.882119,33.200652],[102.881942,33.200578],[102.881327,33.200729],[102.880923,33.200765],[102.880722,33.200646],[102.88065,33.2005],[102.880801,33.20031],[102.881012,33.200122],[102.881181,33.19999],[102.881179,33.199804],[102.880946,33.19957],[102.880336,33.199244],[102.879953,33.199189],[102.879372,33.199172],[102.879215,33.19896],[102.879259,33.19879],[102.87966,33.198478],[102.879742,33.198317],[102.879687,33.198165],[102.879058,33.198093],[102.878364,33.198178],[102.878042,33.198175],[102.877907,33.198012],[102.877974,33.197868],[102.878233,33.197725],[102.878398,33.197604],[102.878504,33.197386],[102.878419,33.197029],[102.878042,33.196635],[102.877707,33.196482],[102.877256,33.196444],[102.877068,33.196344],[102.877071,33.196216],[102.877212,33.196114],[102.877387,33.196029],[102.877485,33.195929],[102.87745,33.1958],[102.877286,33.195692],[102.877035,33.195574],[102.876999,33.195394],[102.87714,33.195287],[102.877598,33.195196],[102.877983,33.19503],[102.878249,33.194794],[102.878267,33.19459],[102.878099,33.194368],[102.877701,33.194402],[102.877191,33.194468],[102.876882,33.194419],[102.876879,33.194242],[102.877164,33.193916],[102.877537,33.19345],[102.877772,33.193017],[102.877897,33.192712],[102.877707,33.192285],[102.877449,33.192332],[102.877415,33.19263],[102.877451,33.192989],[102.877263,33.1933],[102.877043,33.193372],[102.876812,33.193258],[102.876817,33.192882],[102.876719,33.192525],[102.876395,33.192531],[102.87614,33.192925],[102.875919,33.193122],[102.875286,33.1932],[102.874933,33.193129],[102.874901,33.192999],[102.875157,33.192781],[102.875536,33.192611],[102.875701,33.192389],[102.875511,33.192157],[102.875228,33.19206],[102.874645,33.19205],[102.874508,33.191868],[102.874351,33.191556],[102.873942,33.191373],[102.87376,33.191274],[102.873756,33.19115],[102.874168,33.190886],[102.874562,33.19054],[102.874874,33.190339],[102.874902,33.190154],[102.874778,33.189949],[102.874436,33.189882],[102.874092,33.189954],[102.873812,33.189904],[102.873707,33.189662],[102.873724,33.189367],[102.873936,33.188647],[102.874013,33.188298],[102.873879,33.188068],[102.873641,33.188082],[102.87347,33.188385],[102.873336,33.188737],[102.873122,33.188904],[102.87286,33.188897],[102.872783,33.188895],[102.872461,33.188719],[102.872397,33.188704],[102.872182,33.188655],[102.872009,33.188515],[102.872055,33.188207],[102.872107,33.187895],[102.872124,33.187605],[102.872207,33.187451],[102.872172,33.187269],[102.872046,33.187197],[102.871766,33.187247],[102.871574,33.187525],[102.871402,33.187851],[102.871219,33.187862],[102.871106,33.187748],[102.870958,33.187566],[102.870774,33.18752],[102.870545,33.187568],[102.87034,33.187774],[102.870106,33.187997],[102.869903,33.188075],[102.869765,33.188021],[102.869735,33.187858],[102.869847,33.187687],[102.870022,33.187494],[102.870056,33.187295],[102.869943,33.187205],[102.869645,33.187264],[102.869403,33.187321],[102.869186,33.187254],[102.869012,33.187142],[102.86901,33.186978],[102.868996,33.186802],[102.868873,33.186657],[102.868261,33.186406],[102.867811,33.186257],[102.867636,33.186342],[102.867559,33.186512],[102.867654,33.18676],[102.867821,33.187109],[102.86795,33.187698],[102.868124,33.187929],[102.868295,33.188021],[102.868247,33.188182],[102.867978,33.188293],[102.867667,33.188406],[102.867612,33.188564],[102.867732,33.188688],[102.868062,33.188988],[102.868087,33.189224],[102.868,33.189369],[102.867759,33.18938],[102.867363,33.189134],[102.8669,33.188803],[102.866306,33.188392],[102.866066,33.188317],[102.86585,33.188391],[102.865865,33.188487],[102.866085,33.188669],[102.866163,33.188845],[102.866046,33.189096],[102.865637,33.18949],[102.865233,33.189854],[102.865188,33.190118],[102.865304,33.19031],[102.865726,33.190372],[102.866222,33.190423],[102.866556,33.190579],[102.866997,33.19073],[102.867154,33.190942],[102.867118,33.191274],[102.866913,33.191579],[102.866537,33.191707],[102.865916,33.191681],[102.865572,33.191543],[102.865437,33.191342],[102.865354,33.191015],[102.86515,33.19083],[102.864723,33.19076],[102.864323,33.19085],[102.864031,33.191048],[102.863653,33.19119],[102.863189,33.191131],[102.862945,33.190957],[102.86302,33.190831],[102.863271,33.190752],[102.863618,33.190695],[102.863695,33.190473],[102.863689,33.189923],[102.863899,33.18961],[102.864033,33.189344],[102.863892,33.189149],[102.863676,33.189272],[102.863532,33.189559],[102.863164,33.189458],[102.862897,33.189376],[102.862522,33.189389],[102.862218,33.189396],[102.861854,33.189231],[102.861396,33.188919],[102.860739,33.18882],[102.860373,33.188691],[102.860301,33.188496],[102.860288,33.188138],[102.860062,33.187779],[102.859741,33.187323],[102.859393,33.18688],[102.859235,33.186823],[102.858977,33.18702],[102.858746,33.187039],[102.858638,33.186848],[102.858553,33.186566],[102.858294,33.186339],[102.857964,33.186082],[102.857712,33.186129],[102.857578,33.186476],[102.857428,33.186812],[102.857288,33.186878],[102.857127,33.186833],[102.85706,33.186716],[102.856954,33.186002],[102.856835,33.185578],[102.856712,33.185359],[102.856502,33.185369],[102.856291,33.185584],[102.856065,33.185865],[102.855846,33.185837],[102.855861,33.185676],[102.856055,33.18546],[102.856193,33.185223],[102.856161,33.185002],[102.855977,33.184947],[102.85541,33.185052],[102.855164,33.185104],[102.854868,33.18493],[102.854544,33.184654],[102.854266,33.184372],[102.853971,33.184332],[102.853548,33.184514],[102.853386,33.184747],[102.853271,33.185035],[102.853149,33.185151],[102.852927,33.185096],[102.85259,33.184497],[102.852272,33.184126],[102.851538,33.184096],[102.851029,33.184095],[102.850819,33.183976],[102.850898,33.183715],[102.851108,33.18347],[102.851651,33.183053],[102.851841,33.182918],[102.851944,33.182979],[102.852051,33.18333],[102.85214,33.183616],[102.852448,33.183722],[102.852772,33.18371],[102.853136,33.183586],[102.853239,33.183504],[102.85319,33.183439],[102.852919,33.183342],[102.852804,33.18326],[102.852761,33.183031],[102.852691,33.18277],[102.852552,33.182487],[102.852549,33.182296],[102.852663,33.182093],[102.852848,33.181963],[102.853024,33.181977],[102.853154,33.182295],[102.853336,33.182695],[102.853636,33.182961],[102.853893,33.183215],[102.854064,33.183327],[102.854177,33.183334],[102.854236,33.183283],[102.85431,33.183057],[102.854372,33.182789],[102.854584,33.182508],[102.854597,33.182196],[102.854615,33.181885],[102.854627,33.181643],[102.854435,33.181477],[102.854056,33.181274],[102.853915,33.181135],[102.853887,33.181026],[102.853948,33.180836],[102.854027,33.180679],[102.854121,33.18066],[102.854372,33.180787],[102.854603,33.180874],[102.85484,33.180846],[102.854965,33.180722],[102.854971,33.180526],[102.854888,33.180189],[102.854819,33.179859],[102.854861,33.17962],[102.855038,33.179555],[102.855208,33.179613],[102.855286,33.179729],[102.8552,33.179943],[102.855175,33.180115],[102.855288,33.180313],[102.855445,33.180412],[102.855702,33.180375],[102.85608,33.18014],[102.856415,33.179975],[102.856454,33.179801],[102.856238,33.17942],[102.855804,33.179088],[102.855364,33.178674],[102.855138,33.178474],[102.854903,33.178352],[102.854849,33.178117],[102.854894,33.177926],[102.855164,33.177819],[102.855763,33.177666],[102.856151,33.177578],[102.856483,33.177428],[102.856698,33.177297],[102.85676,33.177042],[102.856723,33.176825],[102.856598,33.176491],[102.856289,33.176468],[102.855851,33.176542],[102.855665,33.176531],[102.855556,33.176287],[102.855606,33.176157],[102.856038,33.176036],[102.856167,33.175862],[102.856057,33.175644],[102.855541,33.175322],[102.855369,33.175146],[102.855425,33.17492],[102.855619,33.174788],[102.856024,33.174698],[102.856441,33.174547],[102.856567,33.174424],[102.856708,33.174051],[102.856968,33.173815],[102.857242,33.173623],[102.857395,33.173369],[102.857299,33.173132],[102.857016,33.173076],[102.856714,33.173269],[102.856494,33.173635],[102.856328,33.173994],[102.856179,33.174188],[102.85594,33.174207],[102.855776,33.174117],[102.855707,33.17396],[102.855719,33.173823],[102.855868,33.173689],[102.856137,33.173504],[102.856217,33.17329],[102.856086,33.173109],[102.855663,33.172954],[102.855221,33.172888],[102.854684,33.172877],[102.854534,33.17279],[102.854494,33.172654],[102.854404,33.172652],[102.85435,33.172652],[102.854332,33.173127],[102.854302,33.173219],[102.854238,33.173342],[102.853906,33.173709],[102.85351,33.174122],[102.853463,33.174094],[102.853418,33.174068],[102.852959,33.173695],[102.852582,33.173393],[102.852331,33.173199],[102.852301,33.173148],[102.852237,33.173137],[102.852192,33.173125],[102.85214,33.173095],[102.852099,33.173051],[102.852082,33.173006],[102.852073,33.172976],[102.852058,33.172935],[102.852044,33.172905],[102.85213,33.172768],[102.852718,33.172623],[102.853644,33.17233],[102.854049,33.172126],[102.85433,33.171874],[102.854426,33.171789],[102.854437,33.171779],[102.854511,33.171713],[102.854901,33.171467],[102.855005,33.171286],[102.855041,33.171202],[102.855157,33.171219],[102.855461,33.171429],[102.855469,33.171435],[102.855523,33.171488],[102.855532,33.171497],[102.855575,33.171539],[102.855642,33.171499],[102.855636,33.171369],[102.855686,33.171148],[102.855806,33.170955],[102.855947,33.17082],[102.856081,33.170778],[102.856186,33.170805],[102.856257,33.170989],[102.856113,33.171284],[102.856043,33.171431],[102.85606,33.171533],[102.856245,33.171608],[102.85629,33.17162],[102.856267,33.171576],[102.856317,33.171582],[102.856331,33.171578],[102.856337,33.171558],[102.856336,33.171525],[102.85633,33.171511],[102.85631,33.171476],[102.856287,33.171378],[102.85628,33.171261],[102.856289,33.171179],[102.856312,33.171128],[102.856314,33.171125],[102.856339,33.171101],[102.856363,33.171088],[102.856393,33.17108],[102.85643,33.17108],[102.856459,33.171087],[102.856492,33.171103],[102.856514,33.17112],[102.856562,33.171184],[102.856601,33.171244],[102.856675,33.171325],[102.856761,33.171403],[102.85679,33.171408],[102.856807,33.171396],[102.856807,33.171369],[102.856801,33.171337],[102.856786,33.171303],[102.856779,33.171275],[102.856777,33.171246],[102.856805,33.171211],[102.856845,33.171171],[102.856903,33.171114],[102.85694,33.171077],[102.856957,33.17105],[102.856946,33.170997],[102.856935,33.170937],[102.856924,33.170884],[102.856924,33.170825],[102.856938,33.170765],[102.856957,33.170714],[102.856962,33.170674],[102.856962,33.170616],[102.856957,33.170575],[102.85694,33.170544],[102.856898,33.17051],[102.856807,33.170497],[102.856712,33.170487],[102.856585,33.170469],[102.856386,33.170435],[102.856287,33.17043],[102.856173,33.170398],[102.856108,33.17036],[102.85609,33.170345],[102.856063,33.170315],[102.85605,33.170283],[102.856049,33.170249],[102.856064,33.170227],[102.856097,33.170204],[102.856143,33.170184],[102.856186,33.17017],[102.856207,33.170157],[102.856233,33.170104],[102.85626,33.170055],[102.856315,33.170021],[102.856364,33.170004],[102.856442,33.169986],[102.85653,33.169983],[102.856572,33.169987],[102.856613,33.170009],[102.85666,33.170041],[102.856697,33.17006],[102.856735,33.170068],[102.856783,33.170071],[102.856835,33.170071],[102.856879,33.170054],[102.856916,33.170026],[102.856942,33.169997],[102.856947,33.169976],[102.856944,33.169959],[102.856928,33.169946],[102.856891,33.169935],[102.856839,33.16992],[102.856788,33.169907],[102.856709,33.169865],[102.856671,33.169839],[102.856625,33.169799],[102.856601,33.169763],[102.856589,33.169718],[102.856585,33.169674],[102.856597,33.169639],[102.856641,33.169596],[102.856683,33.169562],[102.856704,33.169532],[102.856706,33.169484],[102.856692,33.169455],[102.856653,33.16942],[102.856612,33.169411],[102.856552,33.169407],[102.856501,33.169407],[102.856448,33.169426],[102.856363,33.169483],[102.856326,33.169505],[102.856274,33.169541],[102.856246,33.16956],[102.856212,33.16957],[102.856156,33.169578],[102.856104,33.169579],[102.856061,33.169569],[102.856027,33.169536],[102.855999,33.169492],[102.85598,33.169407],[102.855948,33.16934],[102.855918,33.169305],[102.85589,33.169255],[102.855874,33.169204],[102.855865,33.169169],[102.855842,33.169141],[102.85581,33.169145],[102.855764,33.169166],[102.855712,33.169172],[102.855675,33.169172],[102.855528,33.169169],[102.855521,33.16917],[102.855477,33.169174],[102.855413,33.16919],[102.855382,33.169193],[102.855341,33.169185],[102.855296,33.169159],[102.855252,33.169131],[102.85521,33.169108],[102.855195,33.169088],[102.855186,33.169059],[102.855192,33.169022],[102.855212,33.168993],[102.855245,33.168964],[102.855308,33.16893],[102.855409,33.168881],[102.855466,33.168844],[102.855513,33.168811],[102.855595,33.168758],[102.855594,33.168696],[102.855583,33.168693],[102.855547,33.168681],[102.855518,33.168681],[102.855457,33.168681],[102.855403,33.168671],[102.855358,33.168637],[102.855329,33.168594],[102.855319,33.168555],[102.85532,33.16852],[102.855337,33.168482],[102.855371,33.168453],[102.855406,33.168438],[102.855463,33.168429],[102.855538,33.16843],[102.855609,33.168429],[102.85572,33.168431],[102.855734,33.168435],[102.855756,33.168447],[102.855788,33.168459],[102.855817,33.168462],[102.855838,33.168458],[102.855857,33.168446],[102.85587,33.168433],[102.855949,33.168487],[102.855983,33.168388],[102.855992,33.168367],[102.856004,33.168361],[102.856021,33.168364],[102.856034,33.168371],[102.856094,33.168422],[102.856149,33.168464],[102.85618,33.168471],[102.856219,33.168475],[102.856263,33.168472],[102.856297,33.168464],[102.856326,33.168455],[102.856354,33.168429],[102.856371,33.168405],[102.856378,33.16838],[102.856379,33.168347],[102.856373,33.16831],[102.856368,33.1683],[102.856349,33.168261],[102.856335,33.168224],[102.85632,33.16818],[102.856309,33.168124],[102.856313,33.168071],[102.856313,33.168053],[102.856312,33.168014],[102.856306,33.167983],[102.856292,33.167954],[102.856258,33.167899],[102.856256,33.167881],[102.856262,33.167865],[102.856278,33.167848],[102.856333,33.167814],[102.856354,33.167807],[102.8565,33.16775],[102.856545,33.167745],[102.856569,33.167743],[102.856592,33.167748],[102.856599,33.167758],[102.856603,33.167773],[102.856603,33.167797],[102.856595,33.167834],[102.856582,33.167874],[102.856551,33.167918],[102.856521,33.167951],[102.856449,33.168129],[102.856441,33.168165],[102.856444,33.168215],[102.856458,33.168259],[102.856489,33.168322],[102.856517,33.168351],[102.856574,33.168388],[102.856622,33.168396],[102.856693,33.168403],[102.85676,33.168403],[102.85681,33.168398],[102.856843,33.168379],[102.856859,33.168364],[102.856863,33.168345],[102.85686,33.168311],[102.85685,33.168257],[102.856841,33.168213],[102.85684,33.168189],[102.856843,33.168161],[102.856856,33.168134],[102.856872,33.168127],[102.856884,33.168128],[102.856926,33.16813],[102.856987,33.168142],[102.856966,33.168075],[102.856943,33.168003],[102.856908,33.167892],[102.856597,33.167662],[102.856167,33.167472],[102.855957,33.167187],[102.85588,33.166919],[102.855953,33.166653],[102.85634,33.166533],[102.8566,33.166584],[102.856625,33.166589],[102.856673,33.166599],[102.856691,33.166602],[102.856692,33.166568],[102.856688,33.166519],[102.856711,33.166475],[102.856746,33.166441],[102.85679,33.166425],[102.856835,33.166424],[102.856868,33.166425],[102.856906,33.166414],[102.85696,33.166411],[102.857132,33.16644],[102.857208,33.166477],[102.857252,33.166501],[102.857284,33.166519],[102.857291,33.166525],[102.857302,33.166535],[102.857309,33.166554],[102.857307,33.166574],[102.857276,33.166588],[102.857175,33.166641],[102.857104,33.166699],[102.85706,33.16675],[102.857039,33.166796],[102.857034,33.166819],[102.85703,33.166857],[102.857039,33.166879],[102.857051,33.166896],[102.857076,33.166912],[102.8571,33.166922],[102.857122,33.166926],[102.857643,33.167564],[102.857711,33.167647],[102.857718,33.167656],[102.857736,33.167605],[102.857777,33.16751],[102.857799,33.167465],[102.857825,33.16744],[102.857857,33.167432],[102.857942,33.167426],[102.858038,33.16743],[102.858071,33.167444],[102.858093,33.167467],[102.858114,33.167501],[102.85813,33.167542],[102.858139,33.16759],[102.858135,33.167654],[102.858095,33.167748],[102.858029,33.167835],[102.857972,33.167881],[102.857922,33.167907],[102.857931,33.167917],[102.857959,33.167952],[102.858248,33.16842],[102.858524,33.168762],[102.858712,33.169257],[102.859056,33.169544],[102.859239,33.169561],[102.859343,33.169437],[102.8594,33.169228],[102.859404,33.169211],[102.859409,33.169194],[102.859416,33.169167],[102.859616,33.169344],[102.859826,33.169508],[102.859929,33.169577],[102.860084,33.169589],[102.860213,33.169551],[102.860249,33.169469],[102.860098,33.169344],[102.859809,33.169103],[102.859713,33.168954],[102.859743,33.168882],[102.859907,33.168838],[102.860066,33.168801],[102.860218,33.168672],[102.860316,33.168625],[102.860453,33.168635],[102.860573,33.16873],[102.860881,33.168954],[102.861059,33.16906],[102.861351,33.169146],[102.861687,33.169168],[102.861936,33.169123],[102.862153,33.169042],[102.862234,33.168919],[102.862206,33.168813],[102.862067,33.168776],[102.861749,33.168787],[102.861583,33.168773],[102.861505,33.168555],[102.861402,33.168229],[102.861444,33.168095],[102.861512,33.168096],[102.861593,33.168154],[102.861677,33.168331],[102.861776,33.168376],[102.861926,33.168373],[102.862051,33.168323],[102.862176,33.168216],[102.862212,33.168096],[102.862188,33.167935],[102.862176,33.167832],[102.862227,33.167727],[102.862307,33.167643],[102.862477,33.167608],[102.86265,33.167623],[102.862764,33.167736],[102.862836,33.167979],[102.862874,33.168211],[102.862941,33.168382],[102.86302,33.168427],[102.86317,33.168344],[102.863342,33.168191],[102.863466,33.168173],[102.863676,33.168258],[102.864056,33.168472],[102.864278,33.168436],[102.864555,33.168273],[102.864779,33.168146],[102.864866,33.168042],[102.864756,33.167881],[102.864747,33.167748],[102.864819,33.167533],[102.864892,33.167447],[102.865339,33.167433],[102.865508,33.167464],[102.865703,33.16752],[102.866066,33.167791],[102.866426,33.167984],[102.866879,33.16811],[102.86713,33.168122],[102.867306,33.168085],[102.8675,33.167968],[102.86763,33.167738],[102.86762,33.167553],[102.867519,33.167525],[102.867305,33.167618],[102.867033,33.167719],[102.866774,33.167739],[102.866645,33.167692],[102.866659,33.167582],[102.866786,33.167427],[102.866766,33.167386],[102.866764,33.167381],[102.86676,33.167373],[102.866544,33.166939],[102.866131,33.165877],[102.865702,33.165501],[102.86546,33.165128],[102.865616,33.16495],[102.865665,33.164893],[102.865868,33.164661],[102.866586,33.164357],[102.866885,33.164063],[102.86706,33.16375],[102.867022,33.163591],[102.866848,33.163563],[102.866805,33.163586],[102.866747,33.163615],[102.866604,33.163657],[102.86647,33.163684],[102.866401,33.163689],[102.866274,33.163688],[102.866189,33.163679],[102.866129,33.163664],[102.866087,33.163638],[102.866067,33.16362],[102.866049,33.163623],[102.866019,33.163627],[102.865602,33.163567],[102.865361,33.163177],[102.865747,33.162779],[102.866115,33.162514],[102.866124,33.162507],[102.866102,33.162461],[102.86609,33.162408],[102.866091,33.162355],[102.866104,33.162299],[102.866144,33.162241],[102.866243,33.162176],[102.866373,33.162138],[102.866468,33.162123],[102.866534,33.162126],[102.866565,33.162137],[102.866571,33.16213],[102.866684,33.162022],[102.86663,33.16167],[102.866535,33.161265],[102.866454,33.161227],[102.866143,33.161082],[102.865944,33.161058],[102.865943,33.161156],[102.865898,33.161269],[102.865759,33.16138],[102.865705,33.161424],[102.865589,33.161469],[102.865401,33.161506],[102.86525,33.161519],[102.864999,33.161521],[102.864873,33.161516],[102.864783,33.161509],[102.864754,33.161533],[102.864355,33.161631],[102.863879,33.161447],[102.863574,33.161108],[102.863502,33.160633],[102.863574,33.160248],[102.863895,33.159937],[102.864074,33.159931],[102.864087,33.15993],[102.864097,33.15993],[102.864172,33.159927],[102.864195,33.159734],[102.864263,33.159523],[102.864366,33.159369],[102.864538,33.159352],[102.86477,33.159426],[102.864819,33.159546],[102.864648,33.159691],[102.864468,33.159805],[102.864448,33.159918],[102.864519,33.159978],[102.864647,33.159967],[102.8648,33.159867],[102.864926,33.159835],[102.865059,33.159868],[102.865293,33.159982],[102.865668,33.15994],[102.865844,33.159867],[102.865913,33.159812],[102.865897,33.159707],[102.865596,33.159537],[102.865281,33.159241],[102.865248,33.159128],[102.865324,33.159033],[102.865406,33.159015],[102.865422,33.158975],[102.865555,33.158631],[102.86563,33.158123],[102.865664,33.157596],[102.865764,33.156895],[102.86569,33.156508],[102.865472,33.156047],[102.864896,33.155651],[102.864531,33.155241],[102.864187,33.15476],[102.864053,33.154249],[102.863919,33.153772],[102.863801,33.153472],[102.863529,33.153375],[102.863523,33.153372],[102.863483,33.153358],[102.863418,33.153405],[102.863339,33.153423],[102.863233,33.153429],[102.863146,33.153478],[102.86303,33.153675],[102.862897,33.153876],[102.862698,33.154113],[102.862604,33.154185],[102.862501,33.154205],[102.862377,33.154192],[102.862288,33.154155],[102.862199,33.154105],[102.8622,33.154043],[102.86223,33.153974],[102.862327,33.153945],[102.86244,33.153904],[102.86254,33.153853],[102.862582,33.153802],[102.862541,33.153721],[102.862478,33.153719],[102.862326,33.153777],[102.862241,33.153789],[102.862159,33.153744],[102.861951,33.153617],[102.861786,33.153597],[102.861669,33.153586],[102.861568,33.153538],[102.861445,33.153399],[102.86138,33.153301],[102.861378,33.153225],[102.861412,33.153129],[102.861445,33.153084],[102.861501,33.153072],[102.861592,33.153088],[102.861669,33.153154],[102.861797,33.153295],[102.861934,33.15344],[102.862053,33.153518],[102.862172,33.153568],[102.862262,33.153572],[102.862355,33.153554],[102.862383,33.153511],[102.862346,33.153449],[102.862139,33.153353],[102.861932,33.153235],[102.861884,33.153142],[102.861933,33.15307],[102.861989,33.153035],[102.862068,33.153041],[102.862212,33.153072],[102.862355,33.153086],[102.862453,33.153064],[102.862465,33.153008],[102.862458,33.15295],[102.862352,33.15288],[102.862113,33.152775],[102.862011,33.152698],[102.861962,33.152606],[102.862004,33.152495],[102.862058,33.152421],[102.862075,33.152367],[102.862069,33.152279],[102.862069,33.152217],[102.862039,33.152125],[102.861971,33.15208],[102.861823,33.152065],[102.861664,33.152065],[102.861555,33.152114],[102.861509,33.152158],[102.861504,33.152214],[102.861546,33.152268],[102.861624,33.152334],[102.861647,33.152404],[102.861616,33.152473],[102.861549,33.152506],[102.861424,33.152514],[102.861298,33.152558],[102.861222,33.152602],[102.861199,33.152716],[102.861229,33.152841],[102.86129,33.152994],[102.861275,33.15311],[102.861209,33.153191],[102.861123,33.153199],[102.861085,33.15315],[102.861046,33.153017],[102.860979,33.15291],[102.860837,33.152894],[102.860474,33.152937],[102.860215,33.152977],[102.860054,33.153038],[102.859935,33.153071],[102.859868,33.153076],[102.859809,33.153063],[102.859773,33.153084],[102.859765,33.153089],[102.859653,33.153154],[102.859383,33.153097],[102.859159,33.152865],[102.859028,33.152578],[102.858981,33.152475],[102.858995,33.152278],[102.858998,33.152237],[102.859004,33.152152],[102.859012,33.152037],[102.859012,33.151914],[102.859011,33.15167],[102.859011,33.151654],[102.859011,33.151537],[102.85901,33.151264],[102.85898,33.150789],[102.858822,33.1504],[102.858096,33.150194],[102.857882,33.150306],[102.857872,33.150312],[102.857839,33.150329],[102.857815,33.150341],[102.857804,33.150347],[102.857314,33.150602],[102.856594,33.151029],[102.855902,33.15114],[102.855704,33.151558],[102.855693,33.151609],[102.855689,33.151627],[102.855697,33.151634],[102.85571,33.151645],[102.855729,33.151658],[102.855752,33.151676],[102.855774,33.151695],[102.855803,33.15173],[102.855824,33.151769],[102.85583,33.151806],[102.855829,33.151844],[102.855822,33.151871],[102.855806,33.151899],[102.855789,33.151913],[102.855746,33.151933],[102.855704,33.151944],[102.855684,33.151956],[102.855643,33.151981],[102.855608,33.152005],[102.855547,33.152032],[102.855457,33.152109],[102.85541,33.152176],[102.85544,33.152273],[102.855508,33.152364],[102.855379,33.15251],[102.855372,33.152518],[102.855307,33.152592],[102.855174,33.152744],[102.854841,33.152703],[102.854557,33.152364],[102.854651,33.151927],[102.854685,33.151383],[102.85451,33.150835],[102.854155,33.149986],[102.853415,33.148458],[102.8534,33.148427],[102.853204,33.147897],[102.853194,33.14744],[102.853354,33.147254],[102.853364,33.147242],[102.853387,33.147215],[102.8534,33.147209],[102.853313,33.147122],[102.853303,33.147027],[102.853351,33.146871],[102.853444,33.146772],[102.853561,33.146715],[102.853679,33.146759],[102.853843,33.146878],[102.854015,33.14711],[102.854104,33.147179],[102.854224,33.14718],[102.854312,33.147169],[102.854387,33.147135],[102.854392,33.147019],[102.854388,33.146909],[102.854436,33.146795],[102.854548,33.146725],[102.854734,33.146718],[102.854999,33.146813],[102.855105,33.146836],[102.855157,33.146821],[102.855235,33.146732],[102.855236,33.146616],[102.855192,33.146522],[102.855086,33.14641],[102.855055,33.146318],[102.85511,33.146201],[102.855179,33.146183],[102.855352,33.146178],[102.85545,33.146149],[102.855534,33.146069],[102.855653,33.146024],[102.855822,33.146085],[102.855956,33.146215],[102.855979,33.146311],[102.855919,33.14642],[102.855659,33.146507],[102.855495,33.146601],[102.855453,33.146737],[102.855498,33.146889],[102.855579,33.146957],[102.855717,33.14691],[102.855852,33.146782],[102.856006,33.146612],[102.856168,33.146517],[102.856284,33.146505],[102.856384,33.146497],[102.856472,33.146434],[102.856421,33.146351],[102.856377,33.146316],[102.856424,33.146239],[102.856477,33.146163],[102.856461,33.146098],[102.856332,33.146023],[102.856272,33.145942],[102.856248,33.145822],[102.856245,33.145579],[102.856239,33.145446],[102.85616,33.145378],[102.856066,33.145388],[102.856045,33.145471],[102.856094,33.145585],[102.856089,33.14567],[102.855974,33.145804],[102.855789,33.145868],[102.855599,33.145876],[102.855516,33.145842],[102.85554,33.145764],[102.855598,33.145652],[102.855613,33.145539],[102.855509,33.145482],[102.855225,33.145487],[102.854947,33.145547],[102.854776,33.145569],[102.85455,33.145567],[102.85439,33.145581],[102.854226,33.145579],[102.854034,33.145519],[102.853896,33.145411],[102.853781,33.145297],[102.853699,33.145148],[102.8537,33.145038],[102.853755,33.144926],[102.853837,33.14487],[102.853821,33.144845],[102.853817,33.144838],[102.853756,33.144743],[102.853749,33.144732],[102.85365,33.144798],[102.85354,33.144859],[102.853486,33.14488],[102.853441,33.144889],[102.85342,33.144891],[102.853389,33.144883],[102.853364,33.144872],[102.853336,33.144851],[102.85331,33.144793],[102.853263,33.144665],[102.853239,33.144635],[102.853213,33.144591],[102.853198,33.144572],[102.853181,33.144557],[102.853164,33.144545],[102.853148,33.144523],[102.853139,33.144507],[102.853134,33.144491],[102.853135,33.144481],[102.853092,33.144486],[102.853061,33.1445],[102.853022,33.144513],[102.852993,33.144536],[102.852982,33.144554],[102.852969,33.144585],[102.852957,33.144616],[102.852938,33.144657],[102.852936,33.144686],[102.852939,33.144708],[102.852951,33.144732],[102.852965,33.144764],[102.852932,33.144777],[102.852482,33.144951],[102.85227,33.145088],[102.852083,33.145032],[102.852192,33.144876],[102.852429,33.144564],[102.852716,33.143919],[102.853168,33.143365],[102.853763,33.142953],[102.854334,33.142629],[102.855242,33.142224],[102.855628,33.141791],[102.855825,33.141443],[102.855855,33.14104],[102.855716,33.140756],[102.855567,33.14069],[102.85556,33.140705],[102.855553,33.14073],[102.855528,33.140789],[102.855493,33.140839],[102.855441,33.140877],[102.855349,33.1409],[102.855249,33.140936],[102.855172,33.140954],[102.855143,33.140953],[102.855073,33.140935],[102.855063,33.140926],[102.855043,33.140907],[102.855021,33.140868],[102.855005,33.140816],[102.854985,33.140758],[102.854965,33.140707],[102.854951,33.140664],[102.854952,33.140618],[102.854982,33.140539],[102.854987,33.140525],[102.854948,33.140517],[102.854846,33.140495],[102.85473,33.140365],[102.854561,33.140174],[102.854537,33.139898],[102.854528,33.139805],[102.854451,33.13954],[102.854293,33.139168],[102.854186,33.139134],[102.854173,33.139158],[102.854139,33.139216],[102.854106,33.139261],[102.854048,33.139305],[102.853982,33.139336],[102.853909,33.139338],[102.853866,33.139336],[102.853832,33.139319],[102.853798,33.139281],[102.853786,33.139245],[102.853791,33.139229],[102.853795,33.139206],[102.853816,33.139177],[102.853841,33.139155],[102.853863,33.139138],[102.853877,33.139125],[102.853881,33.139114],[102.853873,33.139094],[102.853864,33.139078],[102.853854,33.139064],[102.853848,33.139052],[102.85381,33.139045],[102.853567,33.138998],[102.853436,33.13895],[102.853423,33.138881],[102.853413,33.13886],[102.853393,33.138841],[102.853376,33.138832],[102.853345,33.138832],[102.853316,33.138835],[102.853286,33.138848],[102.853256,33.138865],[102.853244,33.138881],[102.85322,33.138914],[102.853205,33.138929],[102.853177,33.13895],[102.85316,33.138958],[102.853139,33.138962],[102.853122,33.138961],[102.853107,33.138956],[102.853098,33.138939],[102.853092,33.138913],[102.853089,33.13888],[102.853089,33.138839],[102.853088,33.138824],[102.853035,33.138805],[102.853026,33.138802],[102.853008,33.138794],[102.852986,33.138727],[102.852872,33.138371],[102.852869,33.138295],[102.852861,33.138121],[102.852832,33.137457],[102.852469,33.136941],[102.852266,33.13679],[102.852248,33.136776],[102.852215,33.136781],[102.852173,33.136778],[102.852128,33.136758],[102.852118,33.136748],[102.852105,33.136728],[102.852095,33.136698],[102.852091,33.136678],[102.852091,33.136659],[102.85209,33.136639],[102.852104,33.136603],[102.852123,33.136568],[102.852121,33.136544],[102.852112,33.136522],[102.852095,33.136494],[102.852053,33.136475],[102.852017,33.136465],[102.851979,33.136456],[102.851946,33.136454],[102.851923,33.136459],[102.851891,33.136467],[102.851868,33.136476],[102.851847,33.13649],[102.851832,33.136504],[102.851827,33.136512],[102.851798,33.136513],[102.851779,33.136511],[102.851751,33.136504],[102.851723,33.136495],[102.851702,33.136484],[102.851688,33.136473],[102.851671,33.136459],[102.851627,33.136446],[102.851521,33.136416],[102.851189,33.136322],[102.851047,33.136144],[102.851015,33.135757],[102.851089,33.135465],[102.851131,33.135302],[102.851124,33.135206],[102.8511,33.134863],[102.851046,33.134493],[102.850457,33.133798],[102.8502,33.133214],[102.850197,33.132493],[102.850642,33.131377],[102.850819,33.130941],[102.85087,33.130573],[102.850987,33.130066],[102.851337,33.129387],[102.852286,33.128138],[102.852825,33.127445],[102.853441,33.126173],[102.853662,33.125633],[102.85372,33.124966],[102.853622,33.123875],[102.853509,33.123364],[102.853504,33.122696],[102.85348,33.121958],[102.853571,33.120801],[102.853982,33.12021],[102.85412,33.119686],[102.854174,33.119177],[102.854178,33.11916],[102.854181,33.11914],[102.854166,33.119131],[102.854095,33.119045],[102.854038,33.118965],[102.853966,33.118863],[102.853949,33.118823],[102.853947,33.118778],[102.853954,33.118751],[102.853972,33.118723],[102.853997,33.118714],[102.854031,33.118709],[102.854077,33.118712],[102.854094,33.118716],[102.854139,33.118735],[102.854212,33.118761],[102.854248,33.118772],[102.854286,33.118788],[102.854301,33.118794],[102.854335,33.118801],[102.854376,33.118803],[102.854399,33.118796],[102.854413,33.118787],[102.85441,33.118759],[102.854394,33.118731],[102.854362,33.118723],[102.854306,33.118726],[102.854291,33.11872],[102.854252,33.118707],[102.854225,33.118689],[102.854211,33.118663],[102.854213,33.118627],[102.854217,33.118592],[102.854223,33.118562],[102.854222,33.118521],[102.854211,33.118491],[102.854193,33.118461],[102.854175,33.118441],[102.854151,33.11842],[102.854129,33.118395],[102.854114,33.118362],[102.854114,33.118314],[102.854131,33.118289],[102.854148,33.11827],[102.854176,33.118258],[102.854211,33.118248],[102.854234,33.11824],[102.854264,33.11824],[102.854298,33.118248],[102.854455,33.117953],[102.854543,33.117761],[102.854426,33.117408],[102.854206,33.117035],[102.854051,33.11654],[102.854168,33.116016],[102.854244,33.115437],[102.85473,33.114357],[102.855313,33.113541],[102.855896,33.112743],[102.856485,33.111682],[102.856583,33.111086],[102.856575,33.110577],[102.856712,33.110087],[102.857035,33.109324],[102.857044,33.109303],[102.857054,33.109278],[102.857133,33.109093],[102.857773,33.107899],[102.85779,33.107866],[102.85783,33.107792],[102.857804,33.10779],[102.857774,33.107783],[102.857748,33.107772],[102.857732,33.107759],[102.857725,33.107741],[102.857732,33.107722],[102.857747,33.107706],[102.857769,33.10769],[102.857799,33.107671],[102.857822,33.10766],[102.857842,33.107648],[102.857869,33.107631],[102.857891,33.107625],[102.857909,33.107607],[102.857915,33.107591],[102.85791,33.107566],[102.85789,33.107543],[102.857995,33.107105],[102.858042,33.1067],[102.858048,33.10665],[102.858049,33.106638],[102.858054,33.106595],[102.858056,33.106573],[102.8581,33.106194],[102.858459,33.10575],[102.858533,33.105658],[102.858535,33.105655],[102.858601,33.105574],[102.858591,33.105555],[102.858585,33.105536],[102.858585,33.105513],[102.858593,33.1055],[102.858625,33.105504],[102.858651,33.105511],[102.858744,33.10554],[102.858816,33.10557],[102.85888,33.105546],[102.858932,33.105501],[102.858947,33.105411],[102.858942,33.105392],[102.858927,33.105335],[102.858881,33.105272],[102.858861,33.105255],[102.858842,33.10523],[102.858841,33.105217],[102.858854,33.105195],[102.858874,33.105183],[102.85889,33.105181],[102.858917,33.105196],[102.85894,33.105212],[102.859009,33.105141],[102.859011,33.105138],[102.85943,33.104706],[102.859614,33.104024],[102.85946,33.102616],[102.859505,33.101633],[102.859586,33.100879],[102.860109,33.100093],[102.860259,33.099867],[102.860262,33.099833],[102.860267,33.099809],[102.860274,33.09978],[102.860286,33.099765],[102.860306,33.099764],[102.86032,33.099766],[102.860332,33.099777],[102.86055,33.099531],[102.860823,33.099223],[102.860808,33.099205],[102.8608,33.099188],[102.860783,33.099167],[102.860767,33.099153],[102.860743,33.099141],[102.860719,33.099122],[102.86071,33.099107],[102.860705,33.099086],[102.860713,33.099037],[102.860716,33.099011],[102.860725,33.098969],[102.860733,33.098949],[102.860737,33.098931],[102.860741,33.098919],[102.860755,33.098913],[102.860786,33.098915],[102.860807,33.098916],[102.860836,33.098903],[102.860862,33.09888],[102.860904,33.098841],[102.86093,33.098823],[102.86095,33.098794],[102.860968,33.098759],[102.860981,33.098735],[102.860991,33.098698],[102.861004,33.098666],[102.86101,33.098642],[102.861023,33.098613],[102.861033,33.098598],[102.861044,33.098582],[102.86106,33.098556],[102.861061,33.098539],[102.861061,33.098533],[102.861065,33.098389],[102.861071,33.098129],[102.85994,33.097442],[102.85889,33.096845],[102.858509,33.09655],[102.858194,33.096306],[102.857046,33.095461],[102.856554,33.095223],[102.855045,33.094495],[102.854324,33.094114],[102.852894,33.093258],[102.852889,33.093255],[102.852391,33.092957],[102.851535,33.092755],[102.851526,33.092753],[102.851453,33.092736],[102.851419,33.092728],[102.851355,33.092713],[102.850522,33.092517],[102.850378,33.092483],[102.850402,33.091519],[102.850403,33.09149],[102.850422,33.09071],[102.850374,33.089233],[102.850086,33.086506],[102.850318,33.085526],[102.850301,33.0844],[102.850301,33.084383],[102.8503,33.084349],[102.850294,33.083945],[102.850058,33.08164],[102.849713,33.080503],[102.849112,33.080743],[102.849001,33.080629],[102.848998,33.080643],[102.848969,33.080701],[102.848963,33.080715],[102.848931,33.080737],[102.848885,33.080757],[102.848817,33.080776],[102.848758,33.080799],[102.848731,33.080818],[102.848701,33.08087],[102.848697,33.080876],[102.848697,33.080876],[102.848658,33.080933],[102.84862,33.080975],[102.848577,33.081023],[102.84849,33.081112],[102.84839,33.081165],[102.848321,33.081192],[102.848238,33.081223],[102.84815,33.081248],[102.848028,33.081272],[102.847929,33.081285],[102.847819,33.0813],[102.847683,33.081317],[102.847586,33.081323],[102.847443,33.08131],[102.847221,33.081334],[102.846558,33.081086],[102.846283,33.080984],[102.845445,33.080591],[102.845398,33.080569],[102.845381,33.080562],[102.845363,33.080553],[102.845361,33.080552],[102.845298,33.080522],[102.845257,33.080503],[102.84525,33.080499],[102.844655,33.080159],[102.844559,33.079789],[102.844514,33.079618],[102.844512,33.07961],[102.84451,33.079602],[102.844508,33.079591],[102.844487,33.079513],[102.844495,33.079459]]]]},"properties":{"cp":[102.93341761730755,33.11135771891013],"code":"513233207","name":"麦洼乡","level":"street","center":[102.93341761730755,33.11135771891013],"fullCode":"513233207000","fullName":"四川省阿坝藏族羌族自治州红原县麦洼乡","acreageMu":838703.39,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.918,32.9156]}},{"id":"513233208","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.876403,32.917034],[102.877821,32.917289],[102.87904,32.917509],[102.879321,32.91756],[102.879803,32.917647],[102.880757,32.917692],[102.881664,32.916844],[102.882087,32.916275],[102.883036,32.91514],[102.883882,32.914004],[102.884545,32.913353],[102.885692,32.91248],[102.886416,32.912147],[102.887136,32.912016],[102.890012,32.910136],[102.891018,32.909434],[102.891588,32.908408],[102.892434,32.907242],[102.89303,32.906561],[102.893252,32.905846],[102.893298,32.905329],[102.893691,32.904587],[102.893877,32.903928],[102.893929,32.903181],[102.893818,32.902114],[102.893743,32.900962],[102.89373,32.90007],[102.893579,32.899262],[102.893845,32.898086],[102.894094,32.897403],[102.894163,32.897215],[102.894356,32.896685],[102.894308,32.895821],[102.894535,32.894904],[102.894937,32.893759],[102.895235,32.8927],[102.895731,32.890464],[102.895751,32.889629],[102.895698,32.888995],[102.895571,32.88859],[102.896146,32.887334],[102.897278,32.885626],[102.897787,32.885186],[102.8978,32.885175],[102.89829,32.884636],[102.89849,32.884389],[102.898817,32.883983],[102.899003,32.883325],[102.899057,32.882491],[102.898709,32.881334],[102.898907,32.878719],[102.899044,32.877282],[102.899108,32.875988],[102.899493,32.874124],[102.899904,32.871167],[102.900589,32.868129],[102.901096,32.866871],[102.901196,32.86552],[102.901659,32.861816],[102.901708,32.861155],[102.901726,32.860407],[102.901703,32.859946],[102.90189,32.85923],[102.901606,32.858247],[102.900999,32.85651],[102.900346,32.85529],[102.900031,32.854191],[102.899529,32.852341],[102.899453,32.851218],[102.899478,32.850182],[102.900031,32.849846],[102.901531,32.849871],[102.902658,32.849775],[102.904054,32.849827],[102.905111,32.849845],[102.906262,32.850181],[102.907379,32.850545],[102.908395,32.850821],[102.908585,32.850862],[102.908603,32.850866],[102.908656,32.850877],[102.908667,32.850879],[102.908682,32.850882],[102.908804,32.850908],[102.908844,32.850917],[102.908868,32.850922],[102.9089,32.850929],[102.909006,32.850952],[102.909152,32.850983],[102.909209,32.850995],[102.909397,32.851035],[102.90952,32.851062],[102.909637,32.851087],[102.909683,32.851097],[102.909691,32.851098],[102.909759,32.851113],[102.909854,32.851133],[102.910971,32.85144],[102.911271,32.851346],[102.912105,32.851084],[102.912774,32.850175],[102.913412,32.849121],[102.914116,32.848183],[102.914301,32.847809],[102.914653,32.847098],[102.914884,32.846419],[102.914945,32.84624],[102.914889,32.845721],[102.914017,32.845102],[102.913605,32.844679],[102.913418,32.844488],[102.912993,32.843704],[102.912231,32.841331],[102.912321,32.840383],[102.912854,32.839471],[102.913864,32.838538],[102.91442,32.838099],[102.915253,32.837439],[102.915502,32.837198],[102.915777,32.83693],[102.915939,32.83581],[102.916265,32.833514],[102.916081,32.832647],[102.916032,32.83184],[102.916115,32.829712],[102.916182,32.828332],[102.916515,32.827186],[102.917569,32.825852],[102.918583,32.824746],[102.919081,32.823862],[102.919542,32.823064],[102.919937,32.822229],[102.920074,32.821821],[102.920294,32.821177],[102.920502,32.819929],[102.920757,32.818833],[102.921287,32.818021],[102.921764,32.817317],[102.922549,32.81651],[102.923798,32.815581],[102.924806,32.815195],[102.92583,32.814612],[102.926973,32.813715],[102.927426,32.813288],[102.927605,32.813305],[102.927719,32.813338],[102.927769,32.813337],[102.927826,32.813299],[102.927881,32.813193],[102.92793,32.813059],[102.927908,32.812834],[102.927929,32.812814],[102.928809,32.811976],[102.929342,32.811574],[102.930562,32.810583],[102.931088,32.810276],[102.931927,32.809785],[102.932352,32.809534],[102.932941,32.809186],[102.933748,32.808709],[102.933789,32.808695],[102.934879,32.808317],[102.936013,32.80783],[102.936063,32.807793],[102.936182,32.807873],[102.936372,32.808],[102.936563,32.808126],[102.936753,32.808253],[102.937055,32.808366],[102.937357,32.80848],[102.937721,32.808585],[102.938085,32.808689],[102.93845,32.808794],[102.938684,32.808886],[102.938914,32.808975],[102.939144,32.809065],[102.939373,32.809155],[102.939603,32.809245],[102.939832,32.809335],[102.940062,32.809424],[102.940291,32.809514],[102.940521,32.809604],[102.940751,32.809694],[102.94098,32.809784],[102.941207,32.809896],[102.941434,32.810007],[102.941662,32.810119],[102.941889,32.810231],[102.942116,32.810343],[102.942343,32.810454],[102.942562,32.810599],[102.942781,32.810745],[102.943,32.81089],[102.94322,32.811035],[102.943439,32.81118],[102.943658,32.811325],[102.943877,32.81147],[102.944096,32.811616],[102.944315,32.811761],[102.944534,32.811906],[102.944753,32.812051],[102.944972,32.812196],[102.945342,32.812425],[102.945712,32.812653],[102.946081,32.812882],[102.946451,32.81311],[102.946787,32.813264],[102.947123,32.813417],[102.947425,32.813501],[102.947752,32.813556],[102.948078,32.81361],[102.94845,32.813735],[102.948798,32.813918],[102.949012,32.814078],[102.949226,32.814238],[102.94944,32.814397],[102.949654,32.814557],[102.949868,32.814716],[102.950083,32.814876],[102.950297,32.815036],[102.950511,32.815195],[102.950725,32.815355],[102.950939,32.815514],[102.951132,32.815656],[102.951325,32.815797],[102.951518,32.815939],[102.951711,32.81608],[102.951903,32.816222],[102.952096,32.816363],[102.952289,32.816505],[102.952482,32.816646],[102.952793,32.816951],[102.953105,32.817255],[102.953416,32.81756],[102.953727,32.817865],[102.954085,32.818098],[102.954444,32.818331],[102.954675,32.818433],[102.954907,32.818535],[102.955168,32.818615],[102.955428,32.818694],[102.955689,32.818773],[102.955949,32.818853],[102.95621,32.818932],[102.95647,32.819011],[102.956731,32.819091],[102.956991,32.81917],[102.957252,32.819249],[102.957512,32.819329],[102.957883,32.819499],[102.958254,32.81967],[102.958625,32.819841],[102.95889,32.820022],[102.959156,32.820204],[102.959454,32.820486],[102.959679,32.820846],[102.959756,32.821084],[102.959832,32.821323],[102.959909,32.821541],[102.959986,32.82176],[102.960082,32.822008],[102.960179,32.822256],[102.960275,32.822504],[102.960371,32.822752],[102.960467,32.823],[102.960563,32.823248],[102.96066,32.823497],[102.960756,32.823745],[102.960852,32.823993],[102.960948,32.824241],[102.96106,32.82448],[102.961171,32.824719],[102.961283,32.824958],[102.961394,32.825197],[102.961427,32.825243],[102.961621,32.825516],[102.961704,32.825577],[102.961899,32.825718],[102.96209,32.825839],[102.962282,32.825961],[102.962473,32.826083],[102.962665,32.826205],[102.962856,32.826326],[102.963048,32.826448],[102.963239,32.82657],[102.963431,32.826691],[102.963621,32.826812],[102.963622,32.826813],[102.963761,32.826901],[102.963814,32.826935],[102.964229,32.827093],[102.964644,32.827252],[102.965059,32.827411],[102.965475,32.82757],[102.96589,32.827728],[102.966084,32.827845],[102.966092,32.82785],[102.966178,32.827902],[102.966467,32.828075],[102.966742,32.828316],[102.96697,32.828636],[102.967049,32.828814],[102.967148,32.829035],[102.967178,32.829262],[102.967208,32.829489],[102.967257,32.829895],[102.967306,32.830301],[102.967318,32.830568],[102.967329,32.830834],[102.967341,32.831101],[102.967353,32.831368],[102.967336,32.831598],[102.967319,32.831829],[102.967302,32.832059],[102.967285,32.83229],[102.967262,32.832526],[102.967239,32.832762],[102.967216,32.832999],[102.967193,32.833235],[102.967174,32.833451],[102.967138,32.833853],[102.967103,32.834255],[102.967067,32.834656],[102.966978,32.834971],[102.966888,32.835285],[102.966755,32.835501],[102.966621,32.835717],[102.966476,32.835902],[102.966332,32.836087],[102.966176,32.836262],[102.966019,32.836437],[102.965863,32.836613],[102.965707,32.836788],[102.96555,32.836964],[102.965394,32.837139],[102.965099,32.837444],[102.964804,32.837749],[102.964508,32.838053],[102.964213,32.838358],[102.964213,32.838359],[102.964212,32.83836],[102.964139,32.838534],[102.964134,32.838691],[102.964223,32.838892],[102.964409,32.839183],[102.964455,32.839256],[102.964687,32.83962],[102.964919,32.839984],[102.965151,32.840348],[102.965275,32.840554],[102.965399,32.84076],[102.965524,32.840966],[102.965648,32.841173],[102.965772,32.841379],[102.965896,32.841585],[102.96602,32.841791],[102.966144,32.841997],[102.966269,32.842203],[102.966339,32.84232],[102.966393,32.842409],[102.966517,32.842615],[102.966641,32.842822],[102.966814,32.84298],[102.966987,32.843139],[102.967159,32.843298],[102.967258,32.843388],[102.967332,32.843456],[102.967505,32.843615],[102.967678,32.843774],[102.96785,32.843932],[102.968023,32.844091],[102.968196,32.84425],[102.968368,32.844409],[102.968493,32.844598],[102.968618,32.844788],[102.968721,32.844994],[102.968742,32.845037],[102.968865,32.845286],[102.968988,32.84569],[102.969112,32.846093],[102.969235,32.846497],[102.969253,32.846725],[102.969272,32.846953],[102.969287,32.847308],[102.969279,32.847664],[102.969214,32.847939],[102.969149,32.848215],[102.969008,32.848594],[102.968867,32.848974],[102.968726,32.849353],[102.968566,32.849716],[102.968406,32.850079],[102.968241,32.850253],[102.968076,32.850428],[102.967911,32.850602],[102.967746,32.850776],[102.967581,32.850951],[102.967416,32.851125],[102.967234,32.851409],[102.967051,32.851692],[102.966974,32.852007],[102.966991,32.852303],[102.967068,32.852542],[102.967144,32.85278],[102.967255,32.853058],[102.967366,32.853336],[102.967473,32.853773],[102.967488,32.854129],[102.967471,32.854386],[102.967453,32.854642],[102.967415,32.854866],[102.967377,32.85509],[102.967339,32.855314],[102.967301,32.855538],[102.967263,32.855762],[102.967225,32.855986],[102.967187,32.85621],[102.96715,32.856434],[102.967112,32.856657],[102.967074,32.856881],[102.967026,32.857276],[102.966978,32.857671],[102.966931,32.858065],[102.966936,32.858352],[102.966941,32.858639],[102.967005,32.858936],[102.967068,32.859234],[102.967168,32.859477],[102.967267,32.85972],[102.967367,32.859964],[102.967467,32.860207],[102.96757,32.860361],[102.967639,32.860462],[102.967811,32.860717],[102.968064,32.860937],[102.968435,32.861121],[102.968666,32.861254],[102.968898,32.861386],[102.969129,32.861518],[102.96936,32.861651],[102.969634,32.86195],[102.969816,32.86225],[102.969939,32.862499],[102.970063,32.862748],[102.970082,32.862793],[102.970151,32.862957],[102.970239,32.863166],[102.970326,32.863473],[102.970413,32.86378],[102.970511,32.864138],[102.970608,32.864496],[102.970876,32.864809],[102.971144,32.865121],[102.971412,32.865433],[102.97171,32.865754],[102.972007,32.866075],[102.972304,32.866396],[102.972602,32.866717],[102.972749,32.866936],[102.972896,32.867156],[102.973052,32.867494],[102.973116,32.867832],[102.973128,32.868266],[102.973118,32.868701],[102.973039,32.869085],[102.972961,32.869469],[102.972883,32.869784],[102.972806,32.870098],[102.972798,32.870493],[102.972815,32.87075],[102.972833,32.871008],[102.97285,32.871265],[102.972868,32.871522],[102.97291,32.871586],[102.973072,32.871828],[102.973396,32.871992],[102.973722,32.872076],[102.974168,32.872043],[102.974311,32.871967],[102.974696,32.871828],[102.975082,32.87169],[102.975468,32.871551],[102.975728,32.871471],[102.975988,32.871391],[102.976248,32.871312],[102.976508,32.871232],[102.976848,32.871178],[102.977188,32.871125],[102.977626,32.871118],[102.978064,32.871112],[102.978501,32.871105],[102.978774,32.87113],[102.979048,32.871154],[102.979321,32.871178],[102.979594,32.871203],[102.979867,32.871227],[102.98014,32.871251],[102.980384,32.871322],[102.980629,32.871392],[102.980873,32.871463],[102.981117,32.871533],[102.981362,32.871604],[102.981606,32.871675],[102.981851,32.871745],[102.982095,32.871816],[102.98232,32.871911],[102.982545,32.872006],[102.98277,32.872102],[102.982995,32.872197],[102.983219,32.872293],[102.983444,32.872388],[102.983669,32.872483],[102.983894,32.872579],[102.984134,32.872666],[102.984373,32.872753],[102.984447,32.872779],[102.984612,32.87284],[102.984852,32.872927],[102.985091,32.873013],[102.985331,32.8731],[102.98557,32.873187],[102.98581,32.873274],[102.986049,32.873361],[102.986289,32.873448],[102.986542,32.873649],[102.986887,32.873931],[102.986937,32.873947],[102.987283,32.874056],[102.98761,32.874101],[102.987882,32.874103],[102.988155,32.874105],[102.988427,32.874107],[102.988699,32.874108],[102.988972,32.87411],[102.989244,32.874112],[102.989516,32.874114],[102.989789,32.874116],[102.990043,32.874103],[102.990297,32.87409],[102.990321,32.874088],[102.99055,32.874077],[102.990804,32.874064],[102.991058,32.874051],[102.991312,32.874038],[102.991566,32.874025],[102.99182,32.874012],[102.992127,32.873973],[102.992231,32.873959],[102.992642,32.873906],[102.993066,32.873795],[102.99349,32.873683],[102.993711,32.873564],[102.993932,32.873445],[102.994153,32.873326],[102.994373,32.873207],[102.994594,32.873088],[102.994815,32.872969],[102.995035,32.87285],[102.995114,32.872808],[102.995256,32.872732],[102.995477,32.872613],[102.995697,32.872494],[102.995923,32.872372],[102.996068,32.872294],[102.996148,32.872251],[102.996374,32.872129],[102.996599,32.872008],[102.996825,32.871887],[102.997051,32.871765],[102.997408,32.871494],[102.997765,32.871223],[102.997893,32.870988],[102.998022,32.870753],[102.99815,32.870518],[102.998279,32.870283],[102.998492,32.869933],[102.998705,32.869583],[102.998917,32.869234],[102.99911,32.869],[102.999303,32.868765],[102.99959,32.868524],[102.999876,32.868282],[103.000272,32.868072],[103.000501,32.86791],[103.000729,32.867747],[103.000958,32.867582],[103.001187,32.867417],[103.001378,32.867279],[103.001568,32.867142],[103.001839,32.866968],[103.002172,32.866684],[103.002376,32.86655],[103.00258,32.866416],[103.002784,32.866282],[103.002988,32.866149],[103.003291,32.86587],[103.003594,32.865592],[103.003772,32.865337],[103.00395,32.865082],[103.004137,32.864759],[103.004325,32.864436],[103.004512,32.864113],[103.004619,32.863897],[103.004726,32.863681],[103.004833,32.863465],[103.00494,32.863248],[103.005047,32.863032],[103.005154,32.862816],[103.005304,32.862399],[103.005453,32.861982],[103.005603,32.861564],[103.005765,32.861214],[103.005926,32.860864],[103.006087,32.860514],[103.006192,32.860293],[103.006297,32.860073],[103.006402,32.859853],[103.006508,32.859632],[103.006667,32.859393],[103.006784,32.859314],[103.006879,32.859315],[103.006994,32.859333],[103.007068,32.859431],[103.007121,32.859593],[103.007114,32.859948],[103.007094,32.860392],[103.007075,32.860835],[103.00704,32.861099],[103.007005,32.861363],[103.006971,32.861628],[103.006936,32.861892],[103.006907,32.862328],[103.006911,32.862578],[103.006914,32.862828],[103.006981,32.863083],[103.007047,32.863339],[103.007114,32.863594],[103.00718,32.863849],[103.007242,32.864073],[103.007304,32.864297],[103.007366,32.864522],[103.007428,32.864746],[103.00749,32.86497],[103.007552,32.865194],[103.007709,32.865579],[103.007866,32.865963],[103.008023,32.866347],[103.008144,32.866606],[103.008206,32.86674],[103.008389,32.867133],[103.008573,32.867526],[103.008751,32.867907],[103.008756,32.867919],[103.008856,32.868149],[103.008956,32.868379],[103.009057,32.868608],[103.009157,32.868838],[103.009257,32.869068],[103.009357,32.869297],[103.009366,32.869317],[103.009398,32.869391],[103.009457,32.869527],[103.009557,32.869757],[103.009686,32.869992],[103.009815,32.870228],[103.009945,32.870464],[103.010074,32.870699],[103.010203,32.870935],[103.010332,32.87117],[103.010461,32.871406],[103.01059,32.871642],[103.0107,32.871885],[103.010809,32.872129],[103.010919,32.872373],[103.011028,32.872616],[103.011138,32.87286],[103.011247,32.873104],[103.011357,32.873348],[103.011466,32.873591],[103.011641,32.873973],[103.011815,32.874355],[103.01199,32.874736],[103.012164,32.875118],[103.012317,32.875452],[103.01247,32.875787],[103.012588,32.876002],[103.012705,32.876217],[103.012759,32.876315],[103.012823,32.876432],[103.012941,32.876647],[103.013017,32.876786],[103.013058,32.876862],[103.013176,32.877077],[103.013294,32.877293],[103.013412,32.877508],[103.01362,32.877893],[103.013828,32.878278],[103.014036,32.878663],[103.014156,32.879042],[103.014275,32.87942],[103.014395,32.879799],[103.014504,32.880023],[103.014614,32.880248],[103.014763,32.880482],[103.014841,32.880603],[103.015068,32.880957],[103.015294,32.881312],[103.015298,32.881318],[103.015521,32.881667],[103.015631,32.881911],[103.015758,32.882187],[103.01581,32.882462],[103.015843,32.882688],[103.015876,32.882915],[103.015885,32.883157],[103.015894,32.883399],[103.015903,32.883641],[103.015912,32.883884],[103.015921,32.884143],[103.01593,32.884403],[103.015939,32.884662],[103.015948,32.884922],[103.015958,32.885182],[103.015967,32.885441],[103.015976,32.885701],[103.015985,32.88596],[103.016026,32.886407],[103.016067,32.886854],[103.016108,32.887301],[103.01616,32.887552],[103.016211,32.887803],[103.016262,32.888135],[103.016313,32.888466],[103.016445,32.888816],[103.016577,32.889167],[103.016709,32.889517],[103.016917,32.889866],[103.016932,32.889892],[103.017099,32.890121],[103.017287,32.89027],[103.017514,32.890353],[103.017887,32.89051],[103.018261,32.890666],[103.018634,32.890822],[103.018889,32.890972],[103.019028,32.891053],[103.019144,32.891121],[103.019388,32.891352],[103.019594,32.891596],[103.019779,32.89189],[103.01989,32.892102],[103.02,32.892313],[103.020134,32.892727],[103.020268,32.893141],[103.020389,32.893528],[103.020509,32.893916],[103.02063,32.894304],[103.020731,32.894508],[103.020832,32.894711],[103.020979,32.894955],[103.021298,32.895267],[103.021582,32.895434],[103.021824,32.89553],[103.022066,32.895627],[103.022308,32.895723],[103.022549,32.89582],[103.02278,32.895911],[103.022825,32.895929],[103.023058,32.896022],[103.0231,32.896039],[103.02327,32.896185],[103.02338,32.896382],[103.023433,32.896591],[103.023428,32.896785],[103.023404,32.897043],[103.023358,32.897366],[103.02333,32.897736],[103.023324,32.898026],[103.023384,32.898201],[103.023571,32.898413],[103.023835,32.89858],[103.024138,32.898714],[103.024482,32.898768],[103.024703,32.898805],[103.024925,32.898843],[103.025147,32.898881],[103.025369,32.898919],[103.025591,32.898956],[103.025812,32.898994],[103.026034,32.899032],[103.026256,32.89907],[103.02657,32.899139],[103.026885,32.899209],[103.027069,32.89928],[103.027122,32.899301],[103.027359,32.899393],[103.027496,32.899464],[103.027681,32.89956],[103.028002,32.899727],[103.028267,32.8999],[103.028532,32.900073],[103.028737,32.900302],[103.028943,32.900532],[103.029087,32.900716],[103.029232,32.9009],[103.029376,32.901084],[103.029521,32.901268],[103.029737,32.901605],[103.029953,32.901942],[103.030168,32.902279],[103.030447,32.902539],[103.030725,32.902799],[103.031004,32.903059],[103.031279,32.903414],[103.031553,32.90377],[103.031828,32.904125],[103.032103,32.904481],[103.032388,32.904778],[103.032396,32.904786],[103.03252,32.904916],[103.032541,32.904938],[103.032689,32.905092],[103.032766,32.905172],[103.032918,32.905331],[103.032983,32.905398],[103.033003,32.905416],[103.033007,32.90542],[103.033183,32.905578],[103.033383,32.905759],[103.033583,32.90594],[103.033783,32.90612],[103.033984,32.906301],[103.034184,32.906482],[103.034276,32.90655],[103.034337,32.906596],[103.034492,32.906713],[103.034514,32.906729],[103.034845,32.906976],[103.035148,32.907236],[103.035286,32.907354],[103.035451,32.907496],[103.035641,32.907662],[103.035695,32.90771],[103.035721,32.907732],[103.035739,32.907748],[103.035761,32.907767],[103.03594,32.907923],[103.036167,32.908057],[103.036409,32.908088],[103.036434,32.908091],[103.036454,32.908094],[103.036787,32.908128],[103.036816,32.90813],[103.03683,32.908129],[103.03722,32.90808],[103.037623,32.90803],[103.038057,32.907916],[103.03849,32.907802],[103.038923,32.907688],[103.039357,32.907574],[103.039599,32.907465],[103.039841,32.907355],[103.039904,32.907216],[103.040001,32.907003],[103.040023,32.906809],[103.040032,32.906756],[103.040069,32.906536],[103.040094,32.9063],[103.040118,32.906064],[103.040143,32.905828],[103.040167,32.905593],[103.040211,32.905335],[103.040255,32.905078],[103.040376,32.904822],[103.040562,32.904491],[103.040749,32.90416],[103.040935,32.90383],[103.041054,32.903635],[103.041173,32.903441],[103.041273,32.903276],[103.041292,32.903246],[103.041298,32.903235],[103.041411,32.903052],[103.04153,32.902857],[103.041564,32.902801],[103.041595,32.902751],[103.041649,32.902662],[103.041792,32.902434],[103.041935,32.902206],[103.042079,32.901978],[103.042222,32.90175],[103.042366,32.901522],[103.042462,32.901368],[103.042509,32.901294],[103.042612,32.901169],[103.042661,32.901111],[103.042765,32.900985],[103.042812,32.900927],[103.042964,32.900744],[103.043115,32.900561],[103.043267,32.900378],[103.043303,32.900334],[103.043418,32.900195],[103.043543,32.900043],[103.04357,32.900011],[103.043721,32.899828],[103.043873,32.899645],[103.044024,32.899462],[103.044177,32.899296],[103.044329,32.899129],[103.044482,32.898963],[103.044634,32.898797],[103.044701,32.898725],[103.044787,32.898631],[103.044939,32.898465],[103.045092,32.898299],[103.045244,32.898132],[103.045406,32.89796],[103.045568,32.897788],[103.04573,32.897616],[103.045892,32.897444],[103.046054,32.897271],[103.046215,32.897099],[103.046377,32.896927],[103.046539,32.896755],[103.046701,32.896582],[103.046863,32.89641],[103.047025,32.896238],[103.047186,32.896066],[103.047373,32.895892],[103.047443,32.895826],[103.047559,32.895718],[103.047745,32.895544],[103.047932,32.89537],[103.047965,32.89534],[103.048118,32.895196],[103.048276,32.895049],[103.048304,32.895022],[103.048491,32.894849],[103.048677,32.894675],[103.048699,32.894653],[103.04884,32.894513],[103.048848,32.894504],[103.049002,32.89435],[103.049165,32.894188],[103.049327,32.894026],[103.04949,32.893864],[103.049559,32.893795],[103.049652,32.893702],[103.049815,32.89354],[103.049977,32.893378],[103.05014,32.893216],[103.050303,32.893053],[103.050574,32.892881],[103.050604,32.892874],[103.050844,32.892821],[103.05119,32.89281],[103.05155,32.892928],[103.051792,32.893033],[103.051879,32.89307],[103.052034,32.893137],[103.052275,32.893242],[103.052517,32.893346],[103.052763,32.893495],[103.053009,32.893644],[103.053309,32.893964],[103.053609,32.894283],[103.053898,32.894619],[103.054187,32.894955],[103.05446,32.8952],[103.054732,32.895446],[103.055009,32.895609],[103.055053,32.895635],[103.055054,32.895635],[103.055057,32.895636],[103.055287,32.895771],[103.055544,32.895896],[103.0558,32.896021],[103.056219,32.896109],[103.056545,32.896097],[103.056618,32.896074],[103.056833,32.896005],[103.056911,32.895966],[103.05722,32.89581],[103.0573,32.89577],[103.057513,32.895662],[103.057608,32.895614],[103.057995,32.895418],[103.058382,32.895222],[103.058627,32.895128],[103.058872,32.895034],[103.059118,32.89494],[103.059363,32.894846],[103.059608,32.894752],[103.059685,32.894723],[103.059853,32.894658],[103.060099,32.894564],[103.060344,32.89447],[103.060584,32.894397],[103.060825,32.894324],[103.061065,32.894251],[103.061305,32.894178],[103.061747,32.89417],[103.062186,32.894208],[103.062439,32.894245],[103.062692,32.894281],[103.062945,32.894317],[103.063198,32.894354],[103.063443,32.894418],[103.063688,32.894481],[103.0641,32.894589],[103.064511,32.894696],[103.064796,32.89483],[103.065081,32.894964],[103.065288,32.895144],[103.065494,32.895325],[103.065701,32.895506],[103.065907,32.895686],[103.065943,32.895717],[103.066114,32.895867],[103.066321,32.896048],[103.066505,32.896254],[103.06669,32.89646],[103.066875,32.896666],[103.06706,32.896873],[103.067257,32.897037],[103.067454,32.897202],[103.067651,32.897367],[103.067849,32.897531],[103.068037,32.897704],[103.068224,32.897876],[103.068412,32.898048],[103.0686,32.898221],[103.068788,32.898393],[103.068976,32.898566],[103.069249,32.89878],[103.069523,32.898994],[103.069594,32.899032],[103.069741,32.89911],[103.069958,32.899227],[103.070176,32.899343],[103.070394,32.89946],[103.070643,32.899546],[103.070892,32.899632],[103.071141,32.899718],[103.07139,32.899804],[103.071639,32.89989],[103.071888,32.899976],[103.072137,32.900062],[103.072386,32.900148],[103.072635,32.900234],[103.072884,32.90032],[103.07312,32.900391],[103.073355,32.900462],[103.073464,32.900495],[103.073591,32.900533],[103.073826,32.900604],[103.074062,32.900675],[103.074298,32.900746],[103.074533,32.900817],[103.074769,32.900888],[103.075005,32.900959],[103.07524,32.90103],[103.075476,32.901101],[103.075711,32.901172],[103.075947,32.901243],[103.076183,32.901314],[103.076429,32.901423],[103.076676,32.901531],[103.076923,32.90164],[103.07717,32.901749],[103.077483,32.901916],[103.077795,32.902083],[103.07798,32.902231],[103.078165,32.902379],[103.07835,32.902527],[103.078535,32.902675],[103.078721,32.902823],[103.078906,32.902971],[103.079083,32.903175],[103.079261,32.90338],[103.079568,32.90369],[103.079875,32.904],[103.080182,32.90431],[103.080489,32.90462],[103.080697,32.904744],[103.080905,32.904868],[103.081211,32.904954],[103.081535,32.904975],[103.081842,32.904914],[103.082132,32.90479],[103.082483,32.904521],[103.082493,32.904506],[103.082621,32.904314],[103.082704,32.90404],[103.082824,32.903783],[103.083004,32.903464],[103.083259,32.90321],[103.083531,32.902972],[103.083685,32.90291],[103.08384,32.902848],[103.084166,32.902853],[103.084479,32.902963],[103.084793,32.903072],[103.084926,32.90313],[103.085033,32.903176],[103.08506,32.903188],[103.085272,32.903281],[103.085335,32.903308],[103.085512,32.903385],[103.085752,32.90349],[103.085992,32.903594],[103.086231,32.903699],[103.086471,32.903803],[103.086711,32.903907],[103.086878,32.904104],[103.086967,32.904262],[103.087044,32.904398],[103.087179,32.904803],[103.087315,32.905209],[103.087377,32.905413],[103.087414,32.905533],[103.087513,32.905857],[103.087634,32.906083],[103.087755,32.906309],[103.087876,32.906536],[103.087998,32.906762],[103.088119,32.906988],[103.08824,32.907214],[103.088383,32.907426],[103.088525,32.907638],[103.088667,32.90785],[103.08881,32.908063],[103.088952,32.908275],[103.089095,32.908487],[103.089365,32.908809],[103.089636,32.909131],[103.089907,32.909454],[103.090177,32.909776],[103.090446,32.910076],[103.090714,32.910376],[103.090983,32.910677],[103.091161,32.910848],[103.09134,32.911019],[103.091519,32.911191],[103.091698,32.911362],[103.091981,32.911496],[103.092285,32.91163],[103.092542,32.911721],[103.092799,32.911812],[103.093055,32.911903],[103.093312,32.911994],[103.093568,32.912085],[103.093825,32.912176],[103.094082,32.912267],[103.094338,32.912358],[103.094429,32.91239],[103.094595,32.912449],[103.094851,32.91254],[103.09502,32.912597],[103.095086,32.912619],[103.09532,32.912698],[103.095555,32.912777],[103.09579,32.912856],[103.096024,32.912935],[103.096259,32.913014],[103.096602,32.913067],[103.096794,32.913038],[103.096882,32.912988],[103.096989,32.912928],[103.097145,32.912769],[103.097175,32.912726],[103.097276,32.912585],[103.097408,32.912402],[103.097539,32.912218],[103.097671,32.912034],[103.097803,32.911851],[103.097934,32.911667],[103.09809,32.911438],[103.098246,32.911209],[103.098403,32.91098],[103.098559,32.910751],[103.098679,32.910503],[103.0988,32.910255],[103.098876,32.909812],[103.098952,32.90937],[103.09903,32.909153],[103.099108,32.908937],[103.099186,32.90872],[103.099264,32.908503],[103.099342,32.908287],[103.09942,32.90807],[103.09964,32.907679],[103.09986,32.907288],[103.10008,32.906897],[103.1003,32.906506],[103.100435,32.906286],[103.100569,32.906065],[103.100704,32.905844],[103.100839,32.905624],[103.100974,32.905403],[103.101109,32.905182],[103.101244,32.904962],[103.101378,32.904741],[103.101513,32.90452],[103.101648,32.9043],[103.101867,32.903977],[103.102085,32.903653],[103.102304,32.90333],[103.102434,32.90309],[103.102563,32.90285],[103.102626,32.902601],[103.102688,32.902352],[103.102773,32.902006],[103.102857,32.90166],[103.102904,32.901241],[103.102952,32.900822],[103.103139,32.900435],[103.103326,32.900048],[103.103513,32.899661],[103.103723,32.899273],[103.103932,32.898885],[103.104142,32.898497],[103.104351,32.898109],[103.104508,32.897933],[103.104664,32.897758],[103.104821,32.897583],[103.104977,32.897407],[103.105281,32.897121],[103.105585,32.896836],[103.105815,32.896712],[103.105824,32.896707],[103.106063,32.896579],[103.106302,32.896451],[103.106448,32.896373],[103.106541,32.896323],[103.10685,32.896199],[103.107159,32.896075],[103.107419,32.896039],[103.107679,32.896003],[103.108083,32.895912],[103.108486,32.895821],[103.108686,32.895767],[103.108852,32.895721],[103.109218,32.895622],[103.109422,32.895512],[103.109626,32.895402],[103.109867,32.895192],[103.109908,32.895156],[103.11019,32.89491],[103.110364,32.894762],[103.110537,32.894613],[103.110711,32.894464],[103.110884,32.894316],[103.111057,32.894167],[103.111231,32.894019],[103.111404,32.89387],[103.111578,32.893721],[103.111769,32.893535],[103.11196,32.893349],[103.112152,32.893163],[103.112343,32.892977],[103.112535,32.892791],[103.112726,32.892606],[103.112917,32.89242],[103.113109,32.892234],[103.113313,32.89208],[103.113517,32.891927],[103.113722,32.891773],[103.113926,32.89162],[103.11413,32.891467],[103.114335,32.891313],[103.114539,32.89116],[103.114743,32.891006],[103.114948,32.890853],[103.115152,32.8907],[103.115325,32.890555],[103.115497,32.89041],[103.11567,32.890266],[103.115843,32.890121],[103.116016,32.889976],[103.116189,32.889832],[103.116361,32.889687],[103.116534,32.889542],[103.116755,32.88941],[103.116769,32.889402],[103.117003,32.889263],[103.117237,32.889123],[103.117472,32.888983],[103.11783,32.888779],[103.118189,32.888575],[103.11839,32.888452],[103.11859,32.888328],[103.118791,32.888205],[103.118991,32.888081],[103.119192,32.887958],[103.119393,32.887834],[103.119486,32.887731],[103.119637,32.887564],[103.119882,32.887293],[103.119947,32.887222],[103.120002,32.887195],[103.120189,32.887105],[103.120226,32.887086],[103.12043,32.886987],[103.12078,32.886775],[103.121129,32.886562],[103.121275,32.886424],[103.121431,32.886276],[103.121733,32.88599],[103.121962,32.885639],[103.12199,32.885595],[103.12219,32.885287],[103.1223,32.885063],[103.122306,32.885051],[103.12241,32.884838],[103.122546,32.884469],[103.122681,32.8841],[103.122817,32.883731],[103.122832,32.883478],[103.122847,32.883226],[103.122862,32.882973],[103.122877,32.882721],[103.122882,32.882472],[103.122885,32.882312],[103.122894,32.881904],[103.122897,32.881761],[103.122902,32.881495],[103.122883,32.881413],[103.122851,32.88127],[103.12284,32.881224],[103.122809,32.881085],[103.122715,32.880676],[103.122622,32.880266],[103.122555,32.880068],[103.122495,32.879892],[103.12245,32.879756],[103.122369,32.879519],[103.122317,32.879364],[103.122243,32.879145],[103.122121,32.878929],[103.121998,32.878713],[103.121803,32.87846],[103.121607,32.878207],[103.121483,32.877991],[103.121358,32.877775],[103.121234,32.877559],[103.121109,32.877344],[103.120981,32.877027],[103.120853,32.876709],[103.12083,32.876484],[103.120806,32.876259],[103.120819,32.876012],[103.120824,32.87592],[103.120834,32.87572],[103.120841,32.875582],[103.120883,32.87535],[103.120925,32.875117],[103.120965,32.874895],[103.121005,32.874673],[103.121045,32.87445],[103.121085,32.874228],[103.121125,32.874006],[103.121165,32.873784],[103.121316,32.873415],[103.121467,32.873047],[103.121685,32.87271],[103.121911,32.872415],[103.122137,32.87212],[103.12236,32.872035],[103.12242,32.872012],[103.122582,32.87195],[103.122843,32.87184],[103.123104,32.871731],[103.123382,32.871712],[103.12366,32.871692],[103.124081,32.871633],[103.124199,32.871555],[103.12424,32.871377],[103.124254,32.871349],[103.124402,32.871044],[103.124564,32.870711],[103.124698,32.870503],[103.124831,32.870295],[103.124965,32.870087],[103.125099,32.869879],[103.12531,32.869522],[103.125521,32.869165],[103.125733,32.868808],[103.125913,32.868614],[103.126094,32.86842],[103.126187,32.868366],[103.12641,32.868239],[103.126424,32.868231],[103.126655,32.868122],[103.126736,32.868102],[103.12704,32.868031],[103.127285,32.867982],[103.12753,32.867933],[103.127776,32.867884],[103.128021,32.867835],[103.128266,32.867786],[103.128511,32.867737],[103.128608,32.867718],[103.128757,32.867689],[103.129002,32.86764],[103.129234,32.867593],[103.129466,32.867547],[103.129699,32.867501],[103.129931,32.867455],[103.130163,32.867408],[103.130395,32.867362],[103.130628,32.867316],[103.13086,32.867269],[103.131092,32.867223],[103.131151,32.867211],[103.131182,32.867205],[103.131324,32.867177],[103.131556,32.867131],[103.131789,32.867084],[103.132057,32.867072],[103.132325,32.86706],[103.132594,32.867048],[103.132862,32.867036],[103.13313,32.867023],[103.133399,32.867011],[103.13357,32.86702],[103.133817,32.867033],[103.133862,32.867036],[103.134236,32.867055],[103.134655,32.867078],[103.135073,32.8671],[103.1353,32.867089],[103.135528,32.867078],[103.135755,32.867067],[103.135983,32.867057],[103.13621,32.867046],[103.136438,32.867035],[103.136665,32.867024],[103.136892,32.867014],[103.137122,32.867019],[103.137352,32.867025],[103.137581,32.86703],[103.137811,32.867036],[103.137887,32.867037],[103.138041,32.867041],[103.13827,32.867047],[103.1385,32.867052],[103.13873,32.867057],[103.139027,32.867038],[103.139324,32.867018],[103.139655,32.866971],[103.139737,32.866959],[103.140151,32.8669],[103.140377,32.866835],[103.140603,32.86677],[103.140829,32.866705],[103.141055,32.86664],[103.141293,32.866571],[103.14153,32.866502],[103.141767,32.866432],[103.142005,32.866363],[103.142242,32.866293],[103.142479,32.866224],[103.142717,32.866154],[103.142954,32.866085],[103.14318,32.866028],[103.143407,32.86597],[103.143633,32.865913],[103.143859,32.865856],[103.144225,32.865796],[103.14459,32.865737],[103.14483,32.865676],[103.145001,32.865633],[103.145001,32.865633],[103.14507,32.865615],[103.145311,32.865554],[103.145551,32.865493],[103.145722,32.865437],[103.145956,32.865359],[103.146361,32.865225],[103.146766,32.865092],[103.147004,32.864954],[103.147241,32.864816],[103.147478,32.864679],[103.147716,32.864541],[103.147953,32.864403],[103.148191,32.864266],[103.148428,32.864128],[103.148665,32.86399],[103.148982,32.863863],[103.148993,32.863858],[103.149321,32.863726],[103.149552,32.863713],[103.149934,32.863751],[103.1503,32.863893],[103.150666,32.864034],[103.150895,32.864069],[103.151105,32.864056],[103.151318,32.864018],[103.151355,32.864012],[103.15152,32.863972],[103.151701,32.863928],[103.152047,32.863844],[103.152298,32.863727],[103.15255,32.863609],[103.152801,32.863492],[103.153052,32.863375],[103.153304,32.863258],[103.153555,32.863141],[103.153806,32.863024],[103.154058,32.862906],[103.154309,32.862789],[103.15456,32.862672],[103.154925,32.862544],[103.154936,32.86254],[103.155312,32.862408],[103.155639,32.862332],[103.156063,32.86229],[103.156326,32.862286],[103.156589,32.862282],[103.156853,32.862278],[103.157116,32.862273],[103.157187,32.862274],[103.157342,32.862274],[103.157568,32.862275],[103.157794,32.862275],[103.157998,32.862276],[103.15802,32.862276],[103.158246,32.862277],[103.158472,32.862278],[103.158699,32.862278],[103.158925,32.862279],[103.159308,32.862244],[103.159691,32.86221],[103.159937,32.86217],[103.160184,32.862131],[103.16043,32.862092],[103.160677,32.862052],[103.160923,32.862013],[103.161169,32.861973],[103.161554,32.861906],[103.161939,32.861839],[103.1622,32.861722],[103.162461,32.861605],[103.162733,32.861362],[103.16274,32.861356],[103.162756,32.861341],[103.162837,32.861165],[103.162861,32.860939],[103.162862,32.860907],[103.162864,32.860783],[103.162867,32.860617],[103.162797,32.860309],[103.162652,32.859952],[103.162449,32.859553],[103.162247,32.859155],[103.162101,32.85883],[103.162012,32.85849],[103.16198,32.858215],[103.161948,32.85794],[103.161924,32.857714],[103.161899,32.857488],[103.161875,32.857262],[103.161851,32.857035],[103.161826,32.856809],[103.161802,32.856583],[103.161809,32.856182],[103.161815,32.855781],[103.161844,32.855552],[103.161873,32.855322],[103.161902,32.855093],[103.16193,32.854863],[103.161959,32.854634],[103.161988,32.854404],[103.162017,32.854175],[103.162045,32.853945],[103.162069,32.853519],[103.162092,32.853094],[103.162115,32.852668],[103.162139,32.852242],[103.162157,32.851823],[103.162175,32.851403],[103.162193,32.850984],[103.162212,32.850564],[103.162278,32.850126],[103.162345,32.849689],[103.162411,32.849251],[103.162466,32.849023],[103.162521,32.848796],[103.162576,32.848569],[103.162631,32.848342],[103.162686,32.848115],[103.162741,32.847888],[103.162791,32.84768],[103.162795,32.847661],[103.16285,32.847433],[103.162928,32.847037],[103.162932,32.84702],[103.163007,32.84664],[103.163085,32.846243],[103.163167,32.846032],[103.163249,32.845821],[103.16333,32.84561],[103.163412,32.845399],[103.163678,32.845072],[103.163943,32.844745],[103.164138,32.844575],[103.164333,32.844404],[103.164528,32.844233],[103.164722,32.844063],[103.164992,32.843891],[103.165033,32.843866],[103.165343,32.843668],[103.16559,32.843567],[103.165836,32.843465],[103.166083,32.843364],[103.166329,32.843263],[103.16656,32.84321],[103.16679,32.843157],[103.167021,32.843104],[103.167251,32.843051],[103.167482,32.842998],[103.167713,32.842944],[103.168098,32.842885],[103.168337,32.842897],[103.168576,32.842908],[103.168851,32.842969],[103.169054,32.843013],[103.169087,32.843021],[103.169127,32.843029],[103.169491,32.843068],[103.169758,32.843063],[103.17002,32.843059],[103.170026,32.843059],[103.170257,32.842959],[103.170303,32.84294],[103.170579,32.84282],[103.170794,32.842599],[103.170872,32.842518],[103.170992,32.842293],[103.171112,32.842069],[103.17131,32.841733],[103.171508,32.841397],[103.171657,32.841001],[103.171805,32.840605],[103.171954,32.840209],[103.172074,32.83997],[103.172195,32.839732],[103.172315,32.839493],[103.172436,32.839255],[103.172652,32.838951],[103.172963,32.838714],[103.173071,32.838648],[103.173195,32.838572],[103.173618,32.838465],[103.174021,32.838471],[103.174256,32.838517],[103.17449,32.838564],[103.174725,32.83861],[103.17496,32.838657],[103.175194,32.838703],[103.175429,32.83875],[103.175667,32.83884],[103.175904,32.83893],[103.176142,32.83902],[103.17638,32.839111],[103.176617,32.839201],[103.176855,32.839291],[103.177092,32.839381],[103.17733,32.839471],[103.177524,32.839587],[103.177718,32.839703],[103.177911,32.839819],[103.178105,32.839935],[103.178247,32.840042],[103.178287,32.840072],[103.178387,32.840148],[103.178669,32.840362],[103.17903,32.840545],[103.1793,32.840629],[103.179337,32.84064],[103.179439,32.840672],[103.179849,32.840798],[103.180189,32.840846],[103.18053,32.840894],[103.180931,32.8409],[103.181211,32.840799],[103.18149,32.840698],[103.181857,32.840494],[103.181977,32.840354],[103.182014,32.84031],[103.182172,32.840127],[103.182349,32.83988],[103.182527,32.839632],[103.182684,32.839457],[103.18284,32.839282],[103.182997,32.839107],[103.183153,32.838931],[103.183494,32.838729],[103.183512,32.838719],[103.18387,32.838506],[103.184112,32.838401],[103.184354,32.838295],[103.184596,32.83819],[103.184838,32.838084],[103.18508,32.837979],[103.185322,32.837873],[103.185564,32.837768],[103.185807,32.837662],[103.186049,32.837557],[103.186291,32.837451],[103.18653,32.837336],[103.18677,32.837222],[103.18701,32.837107],[103.18725,32.836993],[103.187489,32.836878],[103.187729,32.836764],[103.187969,32.836649],[103.188208,32.836535],[103.188448,32.83642],[103.188688,32.836306],[103.188917,32.836196],[103.189145,32.836087],[103.189374,32.835978],[103.189603,32.835868],[103.189831,32.835759],[103.19006,32.83565],[103.190446,32.835482],[103.190832,32.835314],[103.191218,32.835147],[103.191604,32.834979],[103.192008,32.834871],[103.192412,32.834764],[103.192817,32.834657],[103.193221,32.83455],[103.193463,32.834502],[103.193705,32.834454],[103.193947,32.834407],[103.194189,32.834359],[103.194536,32.834189],[103.194867,32.833927],[103.194878,32.833919],[103.195198,32.833666],[103.195295,32.833537],[103.195533,32.833313],[103.195771,32.833089],[103.196009,32.832865],[103.196178,32.832611],[103.196346,32.832358],[103.196526,32.832028],[103.196568,32.83195],[103.196706,32.831697],[103.196885,32.831367],[103.197065,32.831037],[103.197182,32.830782],[103.197287,32.830497],[103.197365,32.830282],[103.197391,32.830212],[103.197467,32.830005],[103.197496,32.829928],[103.197573,32.829607],[103.19765,32.829286],[103.197727,32.828965],[103.197749,32.828835],[103.197829,32.828571],[103.197894,32.828356],[103.19796,32.82814],[103.198043,32.827921],[103.198049,32.827908],[103.198096,32.827803],[103.198178,32.827657],[103.198416,32.827419],[103.198681,32.827316],[103.198945,32.827212],[103.199241,32.827116],[103.199537,32.827019],[103.199737,32.826998],[103.199994,32.827055],[103.200251,32.827112],[103.200529,32.827184],[103.200808,32.827255],[103.200921,32.827251],[103.201029,32.827248],[103.201429,32.827155],[103.201494,32.827135],[103.2019,32.827012],[103.202092,32.826991],[103.202127,32.826987],[103.202353,32.826961],[103.202771,32.826899],[103.202871,32.826884],[103.203162,32.82683],[103.203388,32.826699],[103.203638,32.826527],[103.203811,32.826339],[103.203983,32.826152],[103.20416,32.825835],[103.204337,32.825518],[103.204369,32.825468],[103.204475,32.8253],[103.204614,32.825081],[103.204762,32.824737],[103.20491,32.824394],[103.20513,32.824015],[103.205212,32.823969],[103.20534,32.823927],[103.205725,32.823883],[103.206164,32.823907],[103.206469,32.823958],[103.206707,32.82401],[103.206944,32.824063],[103.207147,32.824133],[103.207287,32.824181],[103.207629,32.824299],[103.207968,32.824513],[103.208289,32.824775],[103.208569,32.825118],[103.20869,32.825314],[103.20881,32.82551],[103.208864,32.825728],[103.208917,32.825947],[103.208946,32.826382],[103.208938,32.826762],[103.208931,32.827141],[103.208934,32.827566],[103.208937,32.827991],[103.208987,32.828346],[103.209096,32.828573],[103.20932,32.828852],[103.209613,32.829066],[103.209906,32.82928],[103.210091,32.829412],[103.210277,32.829543],[103.210462,32.829675],[103.210648,32.829807],[103.210833,32.829939],[103.211019,32.830071],[103.211243,32.830195],[103.211468,32.830319],[103.211693,32.830443],[103.211918,32.830567],[103.212142,32.830691],[103.212367,32.830815],[103.212592,32.83094],[103.212817,32.831064],[103.213161,32.831234],[103.213506,32.831403],[103.213851,32.831573],[103.21427,32.831692],[103.214391,32.831702],[103.214708,32.831731],[103.214957,32.831742],[103.215206,32.831754],[103.215474,32.831756],[103.215742,32.831757],[103.21601,32.831759],[103.216278,32.831761],[103.216546,32.831762],[103.216814,32.831764],[103.217082,32.831766],[103.21735,32.831767],[103.21779,32.831779],[103.21823,32.831791],[103.218502,32.831799],[103.218669,32.831803],[103.218898,32.831838],[103.219126,32.831874],[103.219506,32.832025],[103.219754,32.832189],[103.219932,32.832353],[103.22011,32.832518],[103.220412,32.832828],[103.220715,32.833139],[103.221017,32.833449],[103.221258,32.833696],[103.221499,32.833943],[103.221653,32.834107],[103.221808,32.834272],[103.221963,32.834436],[103.222117,32.8346],[103.222272,32.834765],[103.222426,32.834929],[103.222581,32.835093],[103.222736,32.835258],[103.22289,32.835422],[103.223045,32.835586],[103.223355,32.835888],[103.223664,32.83619],[103.223823,32.836419],[103.223981,32.836648],[103.224167,32.836933],[103.224352,32.837218],[103.224517,32.837422],[103.224682,32.837626],[103.224847,32.83783],[103.225012,32.838034],[103.225177,32.838238],[103.225342,32.838442],[103.225483,32.838664],[103.225625,32.838887],[103.225766,32.83911],[103.225908,32.839333],[103.226049,32.839555],[103.226191,32.839778],[103.226332,32.840001],[103.226474,32.840224],[103.226615,32.840447],[103.226757,32.840669],[103.22682,32.840888],[103.226882,32.841107],[103.226945,32.841325],[103.227008,32.841544],[103.227087,32.841884],[103.227166,32.842224],[103.227219,32.842467],[103.227272,32.84271],[103.227373,32.843103],[103.227474,32.843495],[103.227575,32.843888],[103.227702,32.844261],[103.227828,32.844634],[103.228032,32.844943],[103.228237,32.845221],[103.228415,32.845426],[103.228593,32.84563],[103.228853,32.84594],[103.229021,32.846217],[103.229189,32.846493],[103.229437,32.846868],[103.229684,32.847243],[103.229932,32.847618],[103.23006,32.847902],[103.230187,32.848186],[103.230302,32.8486],[103.230416,32.849015],[103.23053,32.849429],[103.230602,32.849689],[103.230673,32.849948],[103.230745,32.850207],[103.230816,32.850466],[103.230944,32.850775],[103.231169,32.850988],[103.231416,32.851119],[103.231757,32.851222],[103.232141,32.851243],[103.232428,32.851248],[103.232715,32.851253],[103.232945,32.851207],[103.233176,32.851161],[103.233579,32.851102],[103.233982,32.851044],[103.234211,32.851079],[103.23444,32.851115],[103.234697,32.851183],[103.234954,32.851251],[103.235239,32.851368],[103.235524,32.851485],[103.235921,32.851634],[103.236318,32.851782],[103.236715,32.851931],[103.237113,32.852079],[103.237532,32.852182],[103.23777,32.852234],[103.238009,32.852286],[103.238247,32.852338],[103.238485,32.85239],[103.238731,32.852404],[103.238976,32.852418],[103.239221,32.852432],[103.239467,32.852446],[103.239712,32.85246],[103.239957,32.852474],[103.240202,32.852482],[103.240447,32.852491],[103.240692,32.852499],[103.240937,32.852507],[103.241182,32.852515],[103.241426,32.852524],[103.241671,32.852532],[103.241916,32.85254],[103.242161,32.852549],[103.242406,32.852557],[103.242664,32.852581],[103.242922,32.852605],[103.243179,32.852628],[103.243437,32.852652],[103.243695,32.852676],[103.243953,32.8527],[103.244211,32.852724],[103.244469,32.852747],[103.244828,32.852827],[103.245187,32.852906],[103.24553,32.852992],[103.245873,32.853077],[103.245913,32.853095],[103.245991,32.853129],[103.246216,32.853228],[103.246574,32.853442],[103.24679,32.853542],[103.247006,32.853642],[103.247221,32.853742],[103.247437,32.853842],[103.247653,32.853942],[103.247869,32.854041],[103.248084,32.854141],[103.2483,32.854241],[103.248306,32.854244],[103.2487,32.854408],[103.249027,32.85445],[103.249119,32.854462],[103.249339,32.854465],[103.249371,32.854466],[103.249552,32.854468],[103.249623,32.854469],[103.249875,32.854473],[103.250127,32.854476],[103.250379,32.85448],[103.250631,32.854484],[103.25091,32.854454],[103.251188,32.854424],[103.251578,32.854382],[103.251968,32.85434],[103.252358,32.854298],[103.252799,32.854229],[103.253241,32.854159],[103.253683,32.85409],[103.253934,32.854041],[103.254184,32.853992],[103.254435,32.853943],[103.254686,32.853894],[103.254937,32.853845],[103.255188,32.853796],[103.255439,32.853747],[103.25569,32.853698],[103.255941,32.853649],[103.256191,32.8536],[103.256442,32.853551],[103.256693,32.853502],[103.256923,32.853489],[103.257153,32.853476],[103.257421,32.853512],[103.257649,32.853612],[103.257877,32.85376],[103.258075,32.853916],[103.258272,32.854073],[103.25847,32.854229],[103.258668,32.854385],[103.258827,32.854565],[103.258986,32.854744],[103.259145,32.854924],[103.259304,32.855104],[103.259464,32.855283],[103.259623,32.855463],[103.259782,32.855642],[103.259941,32.855822],[103.26013,32.85597],[103.260318,32.856119],[103.260698,32.856318],[103.260923,32.856411],[103.261149,32.856505],[103.261374,32.856599],[103.2616,32.856693],[103.261822,32.856786],[103.261825,32.856787],[103.26205,32.856881],[103.262276,32.856975],[103.262501,32.857068],[103.26279,32.857256],[103.263079,32.857444],[103.263419,32.857696],[103.263759,32.857948],[103.264099,32.8582],[103.264272,32.858348],[103.264444,32.858496],[103.264617,32.858643],[103.264789,32.858791],[103.264962,32.858939],[103.265134,32.859087],[103.265456,32.859268],[103.265664,32.859368],[103.265872,32.859469],[103.266101,32.85955],[103.266329,32.859631],[103.266557,32.859712],[103.266785,32.859793],[103.267013,32.859874],[103.267241,32.859955],[103.26746,32.860023],[103.267679,32.86009],[103.267898,32.860158],[103.268117,32.860225],[103.268336,32.860293],[103.268555,32.86036],[103.268774,32.860428],[103.268993,32.860495],[103.269212,32.860562],[103.269431,32.86063],[103.269696,32.860755],[103.269961,32.860881],[103.270284,32.861046],[103.270567,32.861243],[103.270774,32.861457],[103.270999,32.861701],[103.27114,32.861885],[103.271281,32.862069],[103.271423,32.862253],[103.271564,32.862437],[103.271705,32.862621],[103.271847,32.862804],[103.2721,32.863106],[103.272353,32.863408],[103.27255,32.863596],[103.272747,32.863784],[103.272939,32.863946],[103.27313,32.864107],[103.273321,32.864268],[103.273513,32.86443],[103.273704,32.864591],[103.273896,32.864753],[103.274122,32.864965],[103.274327,32.865307],[103.274437,32.865511],[103.274548,32.865714],[103.274689,32.865953],[103.274829,32.866191],[103.27497,32.866429],[103.27511,32.866667],[103.275256,32.866992],[103.275402,32.867318],[103.275493,32.867601],[103.275584,32.867885],[103.275757,32.868299],[103.275931,32.868713],[103.276089,32.868973],[103.276247,32.869233],[103.276445,32.869421],[103.276642,32.86961],[103.276865,32.869752],[103.277088,32.869894],[103.277311,32.870036],[103.277534,32.870178],[103.277748,32.870262],[103.277962,32.870345],[103.278176,32.870429],[103.278389,32.870512],[103.27879,32.870588],[103.279191,32.870664],[103.279591,32.87074],[103.279859,32.870774],[103.280126,32.870808],[103.280393,32.870841],[103.280661,32.870875],[103.280928,32.870909],[103.281195,32.870943],[103.281463,32.870977],[103.28173,32.871011],[103.282163,32.87107],[103.282596,32.87113],[103.28303,32.87119],[103.283267,32.871266],[103.283505,32.871342],[103.283743,32.871418],[103.283981,32.871494],[103.28423,32.871611],[103.284479,32.871729],[103.284728,32.871847],[103.284978,32.871965],[103.285215,32.872065],[103.285453,32.872165],[103.285688,32.872267],[103.285923,32.872369],[103.286158,32.872471],[103.286393,32.872573],[103.286628,32.872675],[103.286863,32.872777],[103.287098,32.872879],[103.287333,32.872981],[103.287546,32.873061],[103.287759,32.873142],[103.287972,32.873222],[103.288185,32.873303],[103.288398,32.873383],[103.288611,32.873464],[103.288824,32.873544],[103.289037,32.873625],[103.28925,32.873705],[103.289463,32.873786],[103.289709,32.873894],[103.289956,32.874002],[103.290203,32.87411],[103.29045,32.874218],[103.290696,32.874326],[103.290943,32.874434],[103.291205,32.874492],[103.291468,32.87455],[103.29173,32.874609],[103.291992,32.874667],[103.292254,32.874725],[103.292516,32.874783],[103.292779,32.874841],[103.293041,32.874899],[103.293464,32.87493],[103.293887,32.874961],[103.294311,32.874992],[103.294734,32.875022],[103.295096,32.875093],[103.29514,32.875115],[103.295514,32.875307],[103.295662,32.875519],[103.295848,32.875861],[103.295994,32.876202],[103.296141,32.876542],[103.296262,32.876897],[103.296383,32.877252],[103.296503,32.877607],[103.296515,32.877995],[103.296471,32.878316],[103.296254,32.878653],[103.296135,32.878853],[103.296016,32.879053],[103.295838,32.879349],[103.29566,32.879645],[103.295554,32.879855],[103.295447,32.880065],[103.295341,32.880275],[103.295234,32.880485],[103.295128,32.880694],[103.295021,32.880904],[103.294909,32.881282],[103.294796,32.88166],[103.294764,32.881886],[103.294731,32.882112],[103.294724,32.882442],[103.294717,32.882773],[103.294691,32.88312],[103.294665,32.883467],[103.294612,32.883736],[103.294559,32.884005],[103.294506,32.884275],[103.294453,32.884544],[103.294343,32.884796],[103.294232,32.885047],[103.294121,32.885298],[103.294011,32.88555],[103.293865,32.885741],[103.29372,32.885933],[103.293575,32.886125],[103.293429,32.886316],[103.293284,32.886508],[103.293139,32.8867],[103.292993,32.886891],[103.292848,32.887083],[103.292703,32.887275],[103.292557,32.887466],[103.292438,32.88774],[103.292449,32.888095],[103.292615,32.888436],[103.292745,32.888639],[103.292876,32.888842],[103.293178,32.889054],[103.293481,32.889265],[103.29385,32.889472],[103.294219,32.88968],[103.294432,32.88984],[103.294644,32.890001],[103.294857,32.890161],[103.29507,32.890322],[103.295263,32.890473],[103.295456,32.890625],[103.29565,32.890777],[103.295843,32.890929],[103.296036,32.89108],[103.29623,32.891232],[103.296423,32.891384],[103.296616,32.891535],[103.296795,32.891724],[103.296973,32.891912],[103.297151,32.8921],[103.29733,32.892288],[103.297418,32.892579],[103.29739,32.892745],[103.297375,32.892837],[103.297357,32.892895],[103.297357,32.892896],[103.297305,32.893068],[103.297236,32.893299],[103.297166,32.893531],[103.297097,32.893762],[103.297033,32.894035],[103.29697,32.894309],[103.296888,32.894678],[103.29686,32.895082],[103.296837,32.895308],[103.296814,32.895534],[103.296822,32.895887],[103.296824,32.895953],[103.296862,32.896193],[103.296892,32.89639],[103.296961,32.896777],[103.297,32.897003],[103.297039,32.897228],[103.297077,32.897453],[103.297083,32.897488],[103.297116,32.897678],[103.297244,32.898019],[103.297371,32.898359],[103.297528,32.898644],[103.297556,32.898695],[103.297686,32.898929],[103.297843,32.89923],[103.298,32.89953],[103.2981,32.899822],[103.2982,32.900114],[103.298318,32.900446],[103.298335,32.900494],[103.298436,32.900778],[103.298486,32.901183],[103.298491,32.90142],[103.298496,32.901657],[103.298501,32.901894],[103.298506,32.902131],[103.298499,32.902368],[103.298491,32.902604],[103.298483,32.902841],[103.298475,32.903078],[103.298468,32.903314],[103.29846,32.903551],[103.298453,32.903914],[103.298446,32.904277],[103.298459,32.904616],[103.298472,32.904955],[103.298504,32.905238],[103.298537,32.905521],[103.298542,32.905769],[103.298547,32.906017],[103.298552,32.906264],[103.298556,32.906512],[103.298561,32.90676],[103.298566,32.907008],[103.298571,32.907255],[103.298576,32.907503],[103.298552,32.907777],[103.298528,32.908051],[103.298503,32.908326],[103.298479,32.9086],[103.298474,32.908852],[103.298469,32.909103],[103.298464,32.909355],[103.298459,32.909607],[103.298455,32.909859],[103.29845,32.910111],[103.298445,32.910363],[103.29844,32.910615],[103.298452,32.910877],[103.298463,32.911139],[103.298475,32.9114],[103.298487,32.911662],[103.298499,32.911924],[103.29851,32.912186],[103.298522,32.912448],[103.298534,32.912709],[103.298582,32.913151],[103.298631,32.913593],[103.29868,32.914034],[103.298702,32.914438],[103.298723,32.914842],[103.298724,32.915277],[103.298726,32.915711],[103.298625,32.916016],[103.298408,32.91632],[103.298184,32.916518],[103.29796,32.916716],[103.297858,32.916782],[103.297494,32.917017],[103.297282,32.917103],[103.29707,32.917189],[103.296858,32.917275],[103.296645,32.917361],[103.2964,32.917455],[103.296154,32.91755],[103.295909,32.917645],[103.295663,32.917739],[103.295418,32.917834],[103.295173,32.917928],[103.294927,32.918023],[103.294682,32.918118],[103.294436,32.918212],[103.294191,32.918307],[103.293945,32.918402],[103.2937,32.918496],[103.293454,32.918591],[103.293209,32.918686],[103.292841,32.918882],[103.292474,32.919078],[103.29226,32.919253],[103.291987,32.919492],[103.291847,32.919781],[103.291792,32.920011],[103.291737,32.920241],[103.291729,32.920604],[103.291722,32.920967],[103.291708,32.921201],[103.291694,32.921434],[103.29168,32.921668],[103.291666,32.921902],[103.29166,32.922209],[103.291653,32.922515],[103.29161,32.922805],[103.291566,32.923094],[103.291444,32.92348],[103.291304,32.923786],[103.291137,32.924126],[103.29097,32.924465],[103.290803,32.924805],[103.290592,32.925163],[103.29038,32.925521],[103.290169,32.925878],[103.290026,32.926082],[103.289883,32.926286],[103.28974,32.92649],[103.289597,32.926694],[103.289476,32.926886],[103.289354,32.927078],[103.289232,32.92727],[103.28911,32.927462],[103.288989,32.927654],[103.288867,32.927846],[103.288706,32.928046],[103.288546,32.928247],[103.288385,32.928448],[103.288224,32.928648],[103.288064,32.928849],[103.287903,32.929049],[103.287742,32.92925],[103.287582,32.929451],[103.287421,32.929651],[103.28726,32.929852],[103.2871,32.930052],[103.286939,32.930253],[103.286627,32.930507],[103.286506,32.930605],[103.286315,32.930761],[103.286083,32.930895],[103.285851,32.931029],[103.285542,32.931113],[103.285233,32.931197],[103.284898,32.931217],[103.284563,32.931237],[103.284299,32.931231],[103.284036,32.931226],[103.283773,32.93122],[103.283509,32.931214],[103.283246,32.931209],[103.282982,32.931203],[103.282719,32.931197],[103.282456,32.931192],[103.282321,32.931255],[103.28228,32.931383],[103.282275,32.931625],[103.282384,32.931966],[103.282554,32.932162],[103.282761,32.932213],[103.283144,32.932291],[103.283526,32.932369],[103.283767,32.932425],[103.284007,32.932481],[103.284248,32.932536],[103.284489,32.932592],[103.284729,32.932648],[103.28497,32.932704],[103.285022,32.932716],[103.285211,32.93276],[103.285451,32.932815],[103.285857,32.932952],[103.286262,32.933089],[103.286667,32.933226],[103.287073,32.933363],[103.28711,32.933375],[103.28733,32.933447],[103.28744,32.933483],[103.287587,32.933531],[103.287844,32.933615],[103.288101,32.9337],[103.288463,32.933834],[103.288701,32.933912],[103.288748,32.933927],[103.289033,32.93402],[103.289397,32.934056],[103.289628,32.934045],[103.289646,32.934044],[103.289668,32.934035],[103.289955,32.93392],[103.290172,32.93378],[103.290389,32.933639],[103.290607,32.933498],[103.290735,32.933415],[103.290824,32.933357],[103.290998,32.933244],[103.291041,32.933217],[103.291155,32.933143],[103.291259,32.933076],[103.291476,32.932935],[103.291693,32.932794],[103.291911,32.932654],[103.292128,32.932513],[103.292325,32.932379],[103.292522,32.932245],[103.292718,32.932111],[103.292915,32.931977],[103.293112,32.931844],[103.293309,32.93171],[103.293506,32.931576],[103.293702,32.931442],[103.293899,32.931308],[103.294096,32.931174],[103.294277,32.931016],[103.294458,32.930857],[103.29464,32.930698],[103.294821,32.930539],[103.295002,32.93038],[103.295183,32.930221],[103.295365,32.930062],[103.295546,32.929904],[103.295727,32.929745],[103.295908,32.929586],[103.296092,32.929383],[103.296276,32.929179],[103.296459,32.928976],[103.296643,32.928773],[103.296826,32.928569],[103.29701,32.928366],[103.297194,32.928163],[103.297377,32.927959],[103.297531,32.92778],[103.297684,32.9276],[103.297838,32.92742],[103.297991,32.92724],[103.298145,32.927061],[103.298299,32.926881],[103.298452,32.926701],[103.298606,32.926521],[103.298759,32.926342],[103.298913,32.926162],[103.299103,32.925987],[103.299294,32.925812],[103.299484,32.925637],[103.299674,32.925462],[103.299964,32.925352],[103.300308,32.925309],[103.300559,32.92524],[103.30081,32.92517],[103.301032,32.925092],[103.301253,32.925014],[103.301548,32.924836],[103.301842,32.924658],[103.30201,32.924504],[103.302178,32.92435],[103.302346,32.924195],[103.302513,32.924041],[103.302681,32.923887],[103.302849,32.923732],[103.303016,32.923578],[103.303184,32.923424],[103.303352,32.923269],[103.30352,32.923115],[103.303723,32.922977],[103.303927,32.922838],[103.304131,32.9227],[103.304335,32.922561],[103.304538,32.922423],[103.304742,32.922284],[103.304946,32.922146],[103.30515,32.922007],[103.305526,32.921851],[103.305657,32.921797],[103.305902,32.921695],[103.305997,32.921687],[103.306209,32.921667],[103.306592,32.921672],[103.306801,32.921788],[103.306952,32.921919],[103.30707,32.922155],[103.307082,32.922179],[103.307116,32.922357],[103.307101,32.922457],[103.307073,32.922647],[103.307029,32.922937],[103.306966,32.923188],[103.306966,32.92319],[103.306965,32.923192],[103.306904,32.923439],[103.306841,32.923691],[103.306779,32.923942],[103.306716,32.924193],[103.306654,32.924445],[103.306592,32.924696],[103.306529,32.924947],[103.306572,32.925244],[103.306615,32.925541],[103.306696,32.925967],[103.306777,32.926393],[103.306858,32.926819],[103.306985,32.927176],[103.307112,32.927532],[103.307233,32.927756],[103.307354,32.927979],[103.307457,32.928171],[103.307469,32.928193],[103.307474,32.928203],[103.307474,32.928203],[103.307595,32.928426],[103.307694,32.928534],[103.307763,32.92861],[103.307857,32.928712],[103.30812,32.928999],[103.308298,32.929195],[103.308476,32.929391],[103.308655,32.929587],[103.308833,32.929784],[103.309151,32.930045],[103.309235,32.930115],[103.309468,32.930306],[103.309484,32.930319],[103.309785,32.930567],[103.309992,32.930763],[103.310103,32.931024],[103.310077,32.931346],[103.309977,32.931683],[103.309884,32.931964],[103.309792,32.932246],[103.309698,32.932504],[103.309603,32.932762],[103.309508,32.93302],[103.309414,32.933278],[103.309319,32.933536],[103.309224,32.933793],[103.309129,32.934051],[103.309035,32.934309],[103.308817,32.934699],[103.3086,32.935089],[103.308581,32.935123],[103.308531,32.935212],[103.308383,32.935478],[103.308101,32.935803],[103.308098,32.935807],[103.308056,32.935855],[103.307898,32.936037],[103.30782,32.936127],[103.307539,32.936452],[103.307133,32.936625],[103.307085,32.936636],[103.306863,32.93669],[103.306861,32.93669],[103.306859,32.936691],[103.306594,32.936754],[103.306325,32.936819],[103.306056,32.936884],[103.305681,32.936943],[103.305307,32.937002],[103.305046,32.937063],[103.304786,32.937125],[103.304526,32.937186],[103.304266,32.937247],[103.304042,32.93739],[103.303819,32.937532],[103.303661,32.937772],[103.303504,32.938012],[103.303436,32.938374],[103.303487,32.938731],[103.30354,32.938957],[103.303593,32.939184],[103.303689,32.939411],[103.303785,32.939638],[103.303882,32.939866],[103.303978,32.940093],[103.304109,32.94028],[103.304239,32.940468],[103.30437,32.940655],[103.3045,32.940843],[103.304792,32.941121],[103.305084,32.941399],[103.305233,32.941689],[103.305383,32.941979],[103.305578,32.942353],[103.305772,32.942727],[103.306025,32.943021],[103.306278,32.943315],[103.306398,32.943583],[103.306517,32.943851],[103.306647,32.944087],[103.306776,32.944322],[103.307,32.944672],[103.307223,32.945022],[103.307437,32.945348],[103.307651,32.945674],[103.307867,32.945919],[103.308082,32.946164],[103.308413,32.946445],[103.308744,32.946726],[103.309075,32.947007],[103.309406,32.947289],[103.309601,32.947481],[103.309796,32.947673],[103.309992,32.947866],[103.310187,32.948058],[103.310382,32.94825],[103.310578,32.948443],[103.310773,32.948635],[103.310968,32.948827],[103.311059,32.94907],[103.311035,32.949328],[103.310876,32.949617],[103.310695,32.9498],[103.310515,32.949983],[103.310334,32.950166],[103.310153,32.950349],[103.309955,32.950691],[103.309756,32.951034],[103.309635,32.951339],[103.309515,32.951644],[103.309444,32.951865],[103.309373,32.952086],[103.309302,32.952307],[103.309231,32.952528],[103.309089,32.952919],[103.308947,32.95331],[103.308805,32.953702],[103.30879,32.953992],[103.308775,32.954282],[103.308864,32.954622],[103.308953,32.954961],[103.309045,32.955181],[103.309137,32.9554],[103.30936,32.955767],[103.309583,32.956134],[103.309807,32.956501],[103.309918,32.956712],[103.310028,32.956923],[103.310139,32.957134],[103.31025,32.957345],[103.310369,32.957662],[103.310487,32.957978],[103.310594,32.958399],[103.310607,32.958449],[103.310681,32.958732],[103.310755,32.959015],[103.31077,32.959257],[103.310785,32.9595],[103.310867,32.959722],[103.310949,32.959945],[103.311031,32.960167],[103.311113,32.96039],[103.311219,32.960627],[103.311324,32.960865],[103.31143,32.961102],[103.311536,32.96134],[103.311641,32.961577],[103.311747,32.961815],[103.311853,32.962052],[103.311958,32.96229],[103.312073,32.962498],[103.312187,32.962707],[103.312301,32.962916],[103.312416,32.963124],[103.31253,32.963333],[103.312644,32.963542],[103.31286,32.963762],[103.313076,32.963983],[103.313186,32.964242],[103.313219,32.964533],[103.313158,32.96471],[103.313002,32.964837],[103.312656,32.964962],[103.312251,32.96502],[103.311885,32.965081],[103.311625,32.965198],[103.311514,32.965248],[103.311365,32.965315],[103.311184,32.965425],[103.31117,32.965433],[103.310976,32.965551],[103.310782,32.965669],[103.310588,32.965787],[103.310394,32.965906],[103.3102,32.966024],[103.310035,32.966234],[103.310089,32.966472],[103.310252,32.966844],[103.310396,32.96706],[103.31054,32.967277],[103.310777,32.967489],[103.310962,32.967654],[103.311013,32.967701],[103.311254,32.967946],[103.311495,32.968192],[103.311622,32.968323],[103.311735,32.968438],[103.312013,32.96871],[103.312291,32.968982],[103.31252,32.969224],[103.312748,32.969465],[103.313044,32.969782],[103.313291,32.970046],[103.313539,32.970311],[103.313746,32.970548],[103.313954,32.970786],[103.314133,32.970989],[103.314162,32.971023],[103.31454,32.971243],[103.314875,32.971474],[103.31521,32.971705],[103.315225,32.971717],[103.315468,32.971905],[103.315726,32.972106],[103.315969,32.972419],[103.316044,32.972515],[103.316181,32.972756],[103.316318,32.972996],[103.31642,32.973212],[103.316522,32.973428],[103.316588,32.97365],[103.316655,32.973871],[103.316702,32.974016],[103.316735,32.974117],[103.316815,32.974362],[103.316867,32.974631],[103.316902,32.974818],[103.316918,32.9749],[103.316977,32.975158],[103.317036,32.975415],[103.317065,32.975761],[103.317093,32.976107],[103.317002,32.97653],[103.316969,32.976678],[103.316837,32.976858],[103.316708,32.977032],[103.316446,32.977387],[103.316236,32.977664],[103.316026,32.977942],[103.315815,32.978201],[103.315605,32.978461],[103.315427,32.978603],[103.315261,32.978735],[103.314939,32.979009],[103.314739,32.97918],[103.314721,32.979199],[103.314572,32.979358],[103.314525,32.979573],[103.314535,32.979612],[103.314561,32.979713],[103.314596,32.979846],[103.314725,32.98013],[103.314854,32.980414],[103.314893,32.980501],[103.314941,32.980673],[103.314989,32.980846],[103.315036,32.981244],[103.315059,32.981432],[103.315084,32.981643],[103.315159,32.982055],[103.315234,32.982468],[103.31531,32.98288],[103.315402,32.983207],[103.315494,32.983534],[103.315586,32.983862],[103.315626,32.984001],[103.315679,32.984189],[103.315687,32.984434],[103.315696,32.984679],[103.315702,32.984855],[103.315691,32.985188],[103.315798,32.985474],[103.315952,32.985795],[103.316309,32.986021],[103.316635,32.986194],[103.31696,32.986368],[103.317304,32.98658],[103.317671,32.986805],[103.31788,32.986928],[103.31809,32.987052],[103.3183,32.987175],[103.31851,32.987298],[103.318719,32.987421],[103.318929,32.987545],[103.319155,32.987765],[103.319381,32.987986],[103.319559,32.988182],[103.319738,32.988378],[103.319917,32.988574],[103.320095,32.98877],[103.320249,32.98899],[103.320403,32.98921],[103.320558,32.98943],[103.320712,32.98965],[103.320823,32.989853],[103.320934,32.990056],[103.321045,32.99026],[103.321156,32.990463],[103.321267,32.990666],[103.321378,32.990869],[103.321489,32.991073],[103.3216,32.991276],[103.321788,32.991649],[103.321975,32.992021],[103.322144,32.992209],[103.322314,32.992397],[103.322615,32.992692],[103.322965,32.992915],[103.323315,32.993138],[103.323528,32.993232],[103.32374,32.993326],[103.323952,32.99342],[103.324165,32.993514],[103.324377,32.993609],[103.324589,32.993703],[103.324629,32.993718],[103.324853,32.993801],[103.325077,32.993885],[103.325423,32.994008],[103.325768,32.994131],[103.326113,32.994254],[103.326333,32.994409],[103.326553,32.994563],[103.326553,32.994564],[103.326554,32.994564],[103.326898,32.994843],[103.327243,32.995122],[103.327512,32.995388],[103.327782,32.995654],[103.328052,32.995919],[103.32826,32.996056],[103.328468,32.996193],[103.328568,32.996236],[103.328676,32.996283],[103.329075,32.996455],[103.329392,32.996681],[103.329709,32.996907],[103.330027,32.997133],[103.330356,32.997387],[103.330685,32.997641],[103.331014,32.997894],[103.33107,32.998009],[103.331173,32.99822],[103.331276,32.99843],[103.33147,32.998609],[103.331585,32.998715],[103.331865,32.998816],[103.332014,32.99887],[103.332138,32.998956],[103.332287,32.99906],[103.332442,32.999322],[103.33254,32.999627],[103.332638,32.999932],[103.332736,33.000236],[103.332763,33.000321],[103.332942,33.000619],[103.333153,33.000798],[103.333365,33.000977],[103.333552,33.001135],[103.33366,33.001227],[103.333955,33.001476],[103.33425,33.001725],[103.334464,33.001987],[103.334487,33.002208],[103.3345,33.002332],[103.334504,33.002366],[103.33452,33.0025],[103.334565,33.002895],[103.334589,33.003105],[103.334611,33.003291],[103.334657,33.003686],[103.334702,33.004081],[103.334792,33.004343],[103.334881,33.004605],[103.334994,33.004935],[103.335107,33.005265],[103.335112,33.005279],[103.33522,33.005595],[103.335333,33.005925],[103.335505,33.006306],[103.335678,33.006687],[103.335892,33.007055],[103.335999,33.0074],[103.33601,33.007439],[103.336071,33.007656],[103.336114,33.007811],[103.336142,33.007912],[103.336201,33.008178],[103.336209,33.008215],[103.336261,33.008447],[103.336404,33.008792],[103.336635,33.009159],[103.336749,33.00934],[103.336803,33.00941],[103.336875,33.009503],[103.33703,33.009704],[103.337257,33.009997],[103.33731,33.010052],[103.337492,33.010237],[103.337728,33.010476],[103.337963,33.010716],[103.338184,33.011],[103.338406,33.011285],[103.338627,33.011569],[103.338848,33.011854],[103.339069,33.012138],[103.339239,33.012395],[103.339409,33.012651],[103.339578,33.012908],[103.339629,33.013215],[103.33968,33.013522],[103.339731,33.013828],[103.339731,33.013829],[103.339731,33.013829],[103.339751,33.01391],[103.339781,33.014316],[103.339811,33.014721],[103.339827,33.014944],[103.339841,33.015127],[103.33981,33.015519],[103.33978,33.015912],[103.33975,33.016304],[103.339678,33.016587],[103.339605,33.016871],[103.339372,33.017229],[103.339176,33.017416],[103.338981,33.017603],[103.338691,33.017866],[103.3384,33.018128],[103.338109,33.01839],[103.337772,33.018604],[103.337434,33.018818],[103.337097,33.019032],[103.336877,33.019137],[103.336657,33.019241],[103.336437,33.019346],[103.336216,33.019451],[103.335996,33.019555],[103.335776,33.01966],[103.335489,33.019941],[103.335202,33.020221],[103.335046,33.020389],[103.33489,33.020556],[103.334734,33.020723],[103.334578,33.02089],[103.334421,33.021057],[103.334265,33.021224],[103.334255,33.021601],[103.334244,33.021978],[103.334234,33.022354],[103.334375,33.022591],[103.334515,33.022827],[103.334656,33.023064],[103.334797,33.0233],[103.334938,33.023537],[103.335078,33.023773],[103.335278,33.024142],[103.335456,33.024415],[103.335726,33.024669],[103.335906,33.024846],[103.336223,33.025081],[103.336438,33.025238],[103.336652,33.025395],[103.336867,33.025553],[103.337082,33.02571],[103.337307,33.025954],[103.337533,33.026198],[103.337664,33.026388],[103.337664,33.026388],[103.337665,33.026389],[103.337778,33.026554],[103.338024,33.026909],[103.338171,33.027122],[103.33827,33.027264],[103.338355,33.027477],[103.338401,33.027593],[103.338486,33.02798],[103.33848,33.028295],[103.338498,33.028382],[103.338535,33.028736],[103.338572,33.029089],[103.338608,33.029443],[103.338616,33.029514],[103.3386,33.029828],[103.338583,33.030143],[103.338567,33.030458],[103.338561,33.030586],[103.338559,33.030621],[103.338464,33.031021],[103.338455,33.031241],[103.338454,33.031278],[103.338492,33.031478],[103.338632,33.031766],[103.338771,33.032055],[103.338911,33.032344],[103.338988,33.032472],[103.339044,33.032563],[103.339082,33.032753],[103.339025,33.033125],[103.338882,33.033515],[103.338697,33.033862],[103.338511,33.03421],[103.338473,33.034514],[103.338435,33.034819],[103.338411,33.035247],[103.338387,33.035675],[103.338356,33.036082],[103.338324,33.036488],[103.338297,33.036831],[103.338292,33.036894],[103.338378,33.037227],[103.338502,33.037431],[103.338625,33.037636],[103.338638,33.0377],[103.338673,33.037874],[103.338595,33.038213],[103.338587,33.038245],[103.3386,33.038547],[103.338602,33.038574],[103.338616,33.038902],[103.33861,33.039207],[103.338603,33.039511],[103.338597,33.039816],[103.338644,33.040139],[103.338666,33.04037],[103.338688,33.0406],[103.338692,33.04062],[103.338753,33.040944],[103.33877,33.041035],[103.338868,33.041409],[103.338965,33.041782],[103.338987,33.041868],[103.339028,33.042026],[103.339092,33.04227],[103.339156,33.042514],[103.339219,33.042758],[103.339317,33.043078],[103.339414,33.043398],[103.339477,33.043659],[103.339541,33.043919],[103.339649,33.044288],[103.339849,33.044638],[103.339937,33.044849],[103.340025,33.04506],[103.340099,33.045369],[103.340174,33.045679],[103.340225,33.046017],[103.340277,33.046356],[103.340291,33.046771],[103.340306,33.047186],[103.340325,33.047437],[103.340343,33.047688],[103.340338,33.047942],[103.340333,33.048196],[103.340329,33.04845],[103.340324,33.048704],[103.340319,33.048958],[103.340314,33.049212],[103.340297,33.049501],[103.34028,33.049791],[103.34023,33.05005],[103.340179,33.05031],[103.340034,33.050683],[103.33989,33.051057],[103.339788,33.051296],[103.339686,33.051536],[103.339585,33.051775],[103.339483,33.052014],[103.339383,33.052444],[103.339284,33.052873],[103.339184,33.053303],[103.339177,33.053593],[103.339241,33.053901],[103.339372,33.054251],[103.339483,33.054464],[103.339653,33.054663],[103.339824,33.054862],[103.339994,33.055061],[103.340165,33.05526],[103.340335,33.055459],[103.340506,33.055658],[103.340676,33.055858],[103.340847,33.056057],[103.341017,33.056256],[103.341187,33.056455],[103.341361,33.056652],[103.341534,33.056849],[103.341708,33.057045],[103.341881,33.057242],[103.342055,33.057439],[103.342228,33.057636],[103.342401,33.057833],[103.342575,33.05803],[103.342748,33.058226],[103.342922,33.058423],[103.343144,33.058802],[103.343367,33.059181],[103.34346,33.059409],[103.343553,33.059637],[103.343646,33.059865],[103.343739,33.060093],[103.343793,33.060325],[103.343846,33.060557],[103.343852,33.060828],[103.343857,33.061098],[103.343829,33.061396],[103.343801,33.061695],[103.343784,33.062004],[103.343767,33.062313],[103.343759,33.062717],[103.343774,33.063142],[103.343812,33.063586],[103.343852,33.063866],[103.343893,33.064147],[103.344004,33.064359],[103.344116,33.064572],[103.344227,33.064785],[103.344339,33.064998],[103.344427,33.065172],[103.344421,33.065481],[103.344393,33.06577],[103.344388,33.066041],[103.344309,33.066281],[103.34423,33.066521],[103.344151,33.06676],[103.344072,33.067],[103.343965,33.067385],[103.343858,33.067769],[103.343752,33.068154],[103.343642,33.06849],[103.343533,33.068826],[103.343539,33.069087],[103.343546,33.069347],[103.343631,33.069734],[103.343696,33.069967],[103.34376,33.0702],[103.343936,33.070529],[103.344239,33.070861],[103.344542,33.071192],[103.344845,33.071523],[103.345148,33.071854],[103.345304,33.072088],[103.345414,33.07234],[103.345524,33.072591],[103.345588,33.072883],[103.34558,33.073288],[103.345518,33.073519],[103.345457,33.07375],[103.345429,33.07398],[103.345402,33.074211],[103.345489,33.074463],[103.345597,33.074819],[103.345705,33.075174],[103.345813,33.07553],[103.34591,33.075811],[103.346008,33.076092],[103.346073,33.076363],[103.346137,33.076634],[103.346134,33.076673],[103.346107,33.077018],[103.345962,33.077423],[103.345793,33.077825],[103.345626,33.07819],[103.345403,33.078559],[103.345181,33.078929],[103.345062,33.079127],[103.344959,33.079298],[103.344745,33.079668],[103.344532,33.080038],[103.344424,33.080226],[103.344319,33.080407],[103.344198,33.080734],[103.344033,33.080984],[103.34387,33.081146],[103.343706,33.081307],[103.343543,33.081469],[103.34346,33.08155],[103.343379,33.08163],[103.343223,33.081808],[103.343066,33.081986],[103.34291,33.082165],[103.342754,33.082343],[103.342597,33.082521],[103.342441,33.082699],[103.342253,33.082937],[103.342065,33.083175],[103.341934,33.083449],[103.341825,33.083674],[103.341752,33.083914],[103.341678,33.084155],[103.34164,33.084395],[103.341621,33.084511],[103.341601,33.084636],[103.341585,33.084863],[103.341571,33.085065],[103.34154,33.085494],[103.341507,33.08574],[103.341473,33.085986],[103.34144,33.086231],[103.341406,33.086477],[103.341309,33.086727],[103.341279,33.086804],[103.341212,33.086977],[103.341207,33.087247],[103.341207,33.087277],[103.341202,33.087517],[103.341222,33.087729],[103.341232,33.087772],[103.341257,33.087882],[103.341307,33.088097],[103.341309,33.088115],[103.341347,33.088425],[103.341386,33.088831],[103.341358,33.089043],[103.341263,33.089196],[103.34108,33.089333],[103.340897,33.089471],[103.340713,33.089608],[103.340651,33.089655],[103.34053,33.089746],[103.340347,33.089884],[103.340163,33.090021],[103.33998,33.090159],[103.339968,33.090168],[103.339894,33.090223],[103.339891,33.090225],[103.339797,33.090296],[103.339563,33.090414],[103.339556,33.090417],[103.339337,33.090527],[103.33932,33.090536],[103.339315,33.090539],[103.339194,33.090599],[103.339074,33.09066],[103.338999,33.090698],[103.338834,33.090781],[103.338671,33.090809],[103.338466,33.090844],[103.338098,33.090907],[103.337913,33.090917],[103.337811,33.090922],[103.337524,33.090937],[103.337457,33.090941],[103.337388,33.090945],[103.337248,33.090952],[103.336856,33.091044],[103.336598,33.091272],[103.33639,33.0915],[103.336288,33.091615],[103.336236,33.091672],[103.336083,33.091845],[103.335988,33.092075],[103.335911,33.092235],[103.335881,33.092298],[103.335868,33.092323],[103.335776,33.092514],[103.335748,33.092572],[103.335561,33.092801],[103.335333,33.093024],[103.335327,33.09303],[103.334991,33.093219],[103.334916,33.093261],[103.334655,33.093407],[103.334351,33.093711],[103.33433,33.093744],[103.334184,33.09398],[103.333973,33.094219],[103.333911,33.094288],[103.333762,33.094457],[103.33346,33.094684],[103.333229,33.094778],[103.332906,33.094851],[103.332469,33.094883],[103.332158,33.094927],[103.331848,33.094971],[103.331478,33.095159],[103.331303,33.095335],[103.331273,33.095365],[103.331149,33.09549],[103.331127,33.095512],[103.330993,33.095647],[103.330993,33.095647],[103.330952,33.095688],[103.330776,33.095864],[103.33042,33.096098],[103.330064,33.096331],[103.329707,33.096564],[103.329344,33.096705],[103.329047,33.09668],[103.328726,33.096618],[103.328409,33.09646],[103.328277,33.096402],[103.328044,33.0963],[103.327745,33.096334],[103.327535,33.096507],[103.327417,33.096716],[103.327346,33.096794],[103.327232,33.096819],[103.327024,33.096866],[103.326772,33.096862],[103.326472,33.096917],[103.326264,33.09699],[103.326239,33.097018],[103.326144,33.097123],[103.326143,33.097123],[103.326143,33.097123],[103.326125,33.097144],[103.326122,33.097157],[103.326115,33.097189],[103.3261,33.097259],[103.326097,33.097317],[103.32608,33.097644],[103.326065,33.097951],[103.326061,33.09803],[103.326059,33.098048],[103.326033,33.098281],[103.325914,33.09851],[103.325705,33.098661],[103.325382,33.098774],[103.325316,33.098768],[103.325263,33.098764],[103.325106,33.098751],[103.324742,33.098649],[103.324493,33.09859],[103.324325,33.098551],[103.324307,33.098546],[103.324015,33.09856],[103.323988,33.098561],[103.323756,33.098577],[103.323724,33.09862],[103.32365,33.098717],[103.323568,33.098826],[103.323474,33.099015],[103.323473,33.099018],[103.323329,33.099306],[103.32319,33.09938],[103.323098,33.099399],[103.32296,33.099359],[103.322688,33.099239],[103.322606,33.0992],[103.322549,33.099173],[103.322393,33.0991],[103.322364,33.099103],[103.322002,33.099153],[103.321746,33.099304],[103.321675,33.099417],[103.321462,33.099782],[103.32134,33.100147],[103.321313,33.10034],[103.321377,33.10063],[103.321392,33.10066],[103.321487,33.100844],[103.321692,33.100962],[103.321994,33.101019],[103.322126,33.101044],[103.322419,33.101319],[103.322488,33.101451],[103.322492,33.101551],[103.322502,33.101818],[103.322501,33.101877],[103.322496,33.102146],[103.322462,33.102293],[103.322461,33.102295],[103.322442,33.10238],[103.322388,33.102614],[103.322336,33.102837],[103.322335,33.102844],[103.322334,33.102846],[103.322334,33.102848],[103.32232,33.102908],[103.322309,33.102953],[103.32228,33.103082],[103.322255,33.103187],[103.322226,33.103316],[103.322172,33.10355],[103.322104,33.103805],[103.322036,33.10406],[103.321968,33.104315],[103.32192,33.104493],[103.3219,33.104569],[103.32178,33.104876],[103.321709,33.105056],[103.321659,33.105183],[103.321491,33.10544],[103.321471,33.10547],[103.321209,33.105814],[103.320907,33.106041],[103.320605,33.106269],[103.320604,33.106269],[103.320415,33.106412],[103.320351,33.10646],[103.320303,33.106497],[103.320082,33.106677],[103.319861,33.106858],[103.319641,33.106977],[103.319569,33.107015],[103.319514,33.107045],[103.319119,33.107176],[103.318806,33.107279],[103.318718,33.107278],[103.318555,33.107276],[103.318554,33.107276],[103.318553,33.107276],[103.318301,33.107272],[103.318048,33.107269],[103.317796,33.107265],[103.31736,33.10724],[103.317286,33.107225],[103.31718,33.107204],[103.317097,33.107179],[103.316777,33.107079],[103.316375,33.106954],[103.316072,33.106945],[103.315768,33.106936],[103.315613,33.106998],[103.315367,33.107097],[103.314952,33.107198],[103.314536,33.107298],[103.31435,33.107441],[103.314165,33.107583],[103.313975,33.107927],[103.313972,33.108061],[103.313968,33.108222],[103.313922,33.108478],[103.313876,33.108735],[103.313819,33.108885],[103.313782,33.108945],[103.313691,33.108966],[103.313655,33.108974],[103.313313,33.109031],[103.313276,33.109037],[103.312949,33.109033],[103.312862,33.109032],[103.312623,33.109029],[103.312414,33.109151],[103.312205,33.109274],[103.312128,33.109621],[103.312192,33.10993],[103.312246,33.11004],[103.312325,33.110201],[103.312504,33.110435],[103.312706,33.110651],[103.312708,33.110655],[103.312749,33.110747],[103.312763,33.110805],[103.312813,33.111018],[103.312743,33.111191],[103.312486,33.11138],[103.312337,33.111432],[103.31222,33.111473],[103.312217,33.111474],[103.312214,33.111475],[103.311954,33.111566],[103.311654,33.111639],[103.311355,33.111712],[103.310942,33.111746],[103.310621,33.111683],[103.310392,33.111584],[103.31028,33.111543],[103.310188,33.111524],[103.309955,33.111694],[103.309904,33.111924],[103.309784,33.112193],[103.309589,33.112391],[103.309395,33.112588],[103.309231,33.112759],[103.309067,33.11293],[103.308846,33.113034],[103.308628,33.113136],[103.308626,33.113137],[103.308282,33.11319],[103.308122,33.113148],[103.307939,33.11307],[103.307827,33.112932],[103.307741,33.11268],[103.307399,33.11258],[103.307075,33.112677],[103.307029,33.112691],[103.306658,33.112859],[103.30664,33.112867],[103.306427,33.112962],[103.306195,33.113064],[103.306037,33.113228],[103.305973,33.113293],[103.305751,33.113521],[103.305627,33.113717],[103.30551,33.113901],[103.305502,33.113913],[103.305415,33.114051],[103.305378,33.114109],[103.305278,33.114268],[103.305254,33.114306],[103.305052,33.11467],[103.304963,33.11483],[103.304851,33.115032],[103.304851,33.115032],[103.30485,33.115034],[103.304798,33.115303],[103.304843,33.115401],[103.304957,33.115402],[103.305058,33.115392],[103.30521,33.115377],[103.30537,33.11536],[103.305463,33.115351],[103.305783,33.115452],[103.305821,33.115493],[103.305875,33.115552],[103.305962,33.115647],[103.306027,33.115822],[103.306024,33.115976],[103.305895,33.116134],[103.305883,33.116148],[103.305723,33.116272],[103.305534,33.11642],[103.305185,33.116692],[103.304836,33.116963],[103.304642,33.117083],[103.304448,33.117203],[103.304255,33.117322],[103.304061,33.117442],[103.303868,33.117562],[103.303813,33.117595],[103.303684,33.117675],[103.303674,33.117681],[103.303374,33.117812],[103.303121,33.117847],[103.302987,33.117652],[103.302911,33.117419],[103.302834,33.117187],[103.302831,33.117155],[103.302805,33.116935],[103.302789,33.116796],[103.302776,33.116684],[103.302757,33.116452],[103.302739,33.116221],[103.302718,33.116066],[103.302605,33.115968],[103.302442,33.115949],[103.302423,33.115946],[103.302283,33.116002],[103.302136,33.11613],[103.302108,33.116154],[103.30201,33.116239],[103.301933,33.116306],[103.301766,33.116613],[103.301748,33.116706],[103.301721,33.116838],[103.301716,33.116863],[103.30164,33.117208],[103.301635,33.117479],[103.301579,33.117568],[103.301347,33.117719],[103.300954,33.117887],[103.30063,33.118037],[103.300521,33.118087],[103.300453,33.118119],[103.300381,33.118152],[103.300306,33.118187],[103.300119,33.118349],[103.299931,33.11851],[103.299821,33.118653],[103.299754,33.11874],[103.299681,33.118835],[103.29968,33.118835],[103.29968,33.118835],[103.299429,33.119159],[103.299178,33.119484],[103.299143,33.119524],[103.299087,33.119588],[103.298943,33.11975],[103.298689,33.119921],[103.298413,33.119936],[103.298314,33.119935],[103.298251,33.119934],[103.29793,33.11991],[103.297586,33.119925],[103.297574,33.119931],[103.297527,33.119953],[103.297425,33.12],[103.297283,33.120152],[103.297116,33.120497],[103.297027,33.120698],[103.297005,33.120746],[103.296997,33.120766],[103.296955,33.120874],[103.2969,33.121015],[103.296855,33.121087],[103.296824,33.121136],[103.296733,33.121284],[103.296617,33.121398],[103.296501,33.121453],[103.29634,33.121432],[103.296248,33.121372],[103.29616,33.121314],[103.29616,33.121314],[103.296159,33.121314],[103.29612,33.121291],[103.296063,33.121258],[103.296056,33.121254],[103.296009,33.121227],[103.295819,33.121116],[103.295523,33.120996],[103.295469,33.120982],[103.295295,33.120935],[103.295291,33.120936],[103.295041,33.12098],[103.294788,33.121025],[103.294618,33.121148],[103.294578,33.121176],[103.294507,33.121374],[103.294481,33.121445],[103.294484,33.121469],[103.294494,33.121589],[103.294501,33.121658],[103.294564,33.121909],[103.294743,33.122124],[103.295085,33.122284],[103.295186,33.122362],[103.295219,33.122388],[103.295312,33.122461],[103.295331,33.122634],[103.295213,33.122767],[103.294819,33.122935],[103.29452,33.123029],[103.29429,33.123093],[103.294093,33.123148],[103.29406,33.123157],[103.293985,33.123195],[103.293803,33.123289],[103.293732,33.123442],[103.293729,33.123596],[103.29373,33.123638],[103.293733,33.123734],[103.293734,33.123766],[103.293739,33.123921],[103.293775,33.124087],[103.293824,33.124308],[103.293829,33.124367],[103.293843,33.124502],[103.293838,33.124683],[103.293838,33.124695],[103.293812,33.124848],[103.293546,33.125118],[103.293532,33.125133],[103.293321,33.125363],[103.293087,33.125572],[103.292854,33.125723],[103.292506,33.12593],[103.292275,33.126024],[103.291999,33.126019],[103.291633,33.125995],[103.291313,33.125952],[103.291037,33.125929],[103.290764,33.12589],[103.29074,33.125886],[103.290488,33.125835],[103.290446,33.125826],[103.290237,33.125783],[103.290127,33.125753],[103.28994,33.125702],[103.289734,33.125605],[103.289644,33.125562],[103.289418,33.125406],[103.289406,33.125406],[103.289339,33.125405],[103.289323,33.125404],[103.289189,33.125402],[103.289096,33.12544],[103.288934,33.125496],[103.28882,33.125693],[103.288791,33.125744],[103.288774,33.125792],[103.288694,33.126013],[103.288672,33.126114],[103.288645,33.126243],[103.288501,33.126532],[103.288406,33.126685],[103.28813,33.126776],[103.287898,33.126813],[103.287624,33.126827],[103.287544,33.126826],[103.287301,33.126823],[103.286945,33.126866],[103.286589,33.126909],[103.286488,33.12695],[103.286311,33.127021],[103.286194,33.127156],[103.286121,33.127348],[103.286003,33.1275],[103.285793,33.127651],[103.285539,33.127783],[103.285193,33.127875],[103.28493,33.12792],[103.284668,33.127965],[103.284366,33.128134],[103.284135,33.128207],[103.284119,33.128205],[103.283884,33.128185],[103.283832,33.128167],[103.283655,33.128104],[103.283635,33.128055],[103.283569,33.127892],[103.283506,33.127542],[103.283441,33.127349],[103.283374,33.127252],[103.283306,33.127213],[103.283073,33.12729],[103.283029,33.127305],[103.282959,33.127361],[103.282915,33.127367],[103.28282,33.12738],[103.282727,33.127357],[103.282569,33.127317],[103.282388,33.127219],[103.282211,33.126908],[103.282144,33.126733],[103.282078,33.126617],[103.281873,33.126538],[103.28162,33.126532],[103.281413,33.126588],[103.281181,33.126682],[103.28103,33.126753],[103.280904,33.126813],[103.280672,33.126886],[103.280488,33.126923],[103.280167,33.126938],[103.279845,33.126953],[103.279731,33.126959],[103.279592,33.126967],[103.279314,33.126979],[103.279248,33.126982],[103.279201,33.126983],[103.278938,33.126988],[103.278795,33.126991],[103.278704,33.126993],[103.278628,33.126994],[103.278588,33.126978],[103.278423,33.126913],[103.278388,33.126909],[103.278215,33.126886],[103.278102,33.126871],[103.277734,33.126943],[103.277615,33.127114],[103.277568,33.127191],[103.277541,33.127384],[103.277607,33.127519],[103.277788,33.127677],[103.277886,33.127702],[103.277948,33.127718],[103.278008,33.127726],[103.278177,33.12775],[103.278406,33.127782],[103.278655,33.127939],[103.278741,33.128249],[103.278716,33.128364],[103.278461,33.128496],[103.278116,33.128569],[103.277961,33.12858],[103.277885,33.128585],[103.277866,33.128586],[103.277471,33.128618],[103.27742,33.128638],[103.27724,33.12871],[103.277154,33.12878],[103.277123,33.128805],[103.277076,33.12886],[103.276912,33.129054],[103.276772,33.129168],[103.276655,33.129262],[103.276516,33.129317],[103.276228,33.129314],[103.276172,33.129314],[103.276036,33.129319],[103.275805,33.129327],[103.275461,33.129323],[103.275181,33.129351],[103.275145,33.129354],[103.275116,33.129357],[103.275029,33.129375],[103.27477,33.129429],[103.274563,33.129426],[103.274381,33.129385],[103.274314,33.129249],[103.274316,33.129128],[103.27432,33.128941],[103.274328,33.128855],[103.274335,33.128775],[103.27435,33.128613],[103.274367,33.128521],[103.274386,33.128411],[103.274402,33.128324],[103.274453,33.128036],[103.274467,33.127978],[103.274503,33.127823],[103.2746,33.127574],[103.274601,33.127517],[103.274533,33.127477],[103.274403,33.127476],[103.274312,33.127474],[103.274265,33.127486],[103.274093,33.127529],[103.274039,33.127542],[103.273874,33.127584],[103.27369,33.127601],[103.273552,33.127599],[103.273484,33.127598],[103.273361,33.127557],[103.273301,33.127537],[103.273168,33.127343],[103.273196,33.127015],[103.273203,33.126686],[103.273136,33.126477],[103.273116,33.126416],[103.272863,33.126412],[103.272539,33.126582],[103.272409,33.12671],[103.272375,33.126743],[103.272212,33.126905],[103.272058,33.127105],[103.271904,33.127305],[103.271741,33.127506],[103.271623,33.127649],[103.271506,33.127702],[103.271415,33.127743],[103.271277,33.12776],[103.270842,33.127696],[103.270617,33.127442],[103.270544,33.127281],[103.270515,33.127216],[103.27044,33.127054],[103.270337,33.126775],[103.270332,33.126762],[103.270284,33.126731],[103.270151,33.126644],[103.269897,33.126738],[103.269618,33.126927],[103.26936,33.127136],[103.269358,33.127137],[103.269356,33.127139],[103.269271,33.127194],[103.269151,33.127273],[103.269129,33.127287],[103.268921,33.127303],[103.26876,33.127282],[103.268534,33.127323],[103.268485,33.127332],[103.268308,33.127365],[103.268117,33.127401],[103.268081,33.127407],[103.268034,33.127416],[103.267855,33.127449],[103.267628,33.127491],[103.267402,33.127533],[103.267145,33.127593],[103.267089,33.127607],[103.266887,33.127654],[103.266842,33.127665],[103.266688,33.127701],[103.26663,33.127715],[103.266372,33.127776],[103.266114,33.127836],[103.265967,33.127871],[103.265893,33.127889],[103.265857,33.127897],[103.265834,33.127907],[103.265674,33.127975],[103.265614,33.128],[103.265371,33.128103],[103.265266,33.128181],[103.265116,33.128292],[103.264996,33.128483],[103.264992,33.128711],[103.264991,33.128734],[103.265001,33.128794],[103.265032,33.128985],[103.265043,33.129033],[103.265052,33.129074],[103.265096,33.129276],[103.265143,33.129516],[103.265166,33.129631],[103.265176,33.129684],[103.26519,33.129755],[103.265232,33.129967],[103.265182,33.130179],[103.264951,33.13033],[103.264697,33.130346],[103.264587,33.130345],[103.264506,33.130343],[103.264468,33.130343],[103.264283,33.130417],[103.264281,33.130514],[103.264321,33.130823],[103.264318,33.130946],[103.264317,33.131017],[103.264316,33.131054],[103.264289,33.131305],[103.264146,33.131534],[103.264043,33.131666],[103.264004,33.131716],[103.263981,33.131744],[103.263953,33.132014],[103.264016,33.132294],[103.26408,33.132575],[103.264213,33.132809],[103.264141,33.133001],[103.264094,33.133019],[103.264025,33.133018],[103.26366,33.132936],[103.263407,33.132952],[103.263154,33.132967],[103.262969,33.133023],[103.26283,33.133117],[103.262782,33.133232],[103.262821,33.133503],[103.262977,33.133795],[103.262984,33.133809],[103.263121,33.134067],[103.263265,33.134339],[103.263383,33.134732],[103.263393,33.134765],[103.263402,33.134819],[103.263455,33.135152],[103.263358,33.135382],[103.263243,33.135477],[103.26299,33.135493],[103.262932,33.135497],[103.262737,33.135509],[103.262484,33.135525],[103.262231,33.13554],[103.261978,33.135556],[103.261871,33.135563],[103.261726,33.135572],[103.261473,33.135587],[103.26114,33.135583],[103.260806,33.135579],[103.260629,33.135589],[103.260531,33.135594],[103.260365,33.135603],[103.260256,33.135609],[103.259956,33.135661],[103.25975,33.135732],[103.259713,33.135745],[103.25947,33.135829],[103.259283,33.136058],[103.259188,33.136231],[103.259172,33.136359],[103.259159,33.136463],[103.259213,33.136759],[103.259215,33.136769],[103.259283,33.137029],[103.259289,33.13705],[103.259363,33.137331],[103.259337,33.137562],[103.259265,33.137676],[103.259173,33.137713],[103.258943,33.137711],[103.258799,33.137684],[103.258714,33.137668],[103.258678,33.137665],[103.25837,33.137644],[103.25812,33.137674],[103.258073,33.137679],[103.257864,33.137753],[103.25777,33.137868],[103.257769,33.137929],[103.257761,33.138293],[103.257744,33.138502],[103.25773,33.138678],[103.257729,33.138758],[103.257726,33.138909],[103.257722,33.13914],[103.257651,33.139431],[103.257647,33.139449],[103.257489,33.139608],[103.257459,33.139639],[103.257136,33.139749],[103.256896,33.139803],[103.256895,33.139804],[103.256894,33.139804],[103.256824,33.13982],[103.256665,33.139855],[103.256653,33.139858],[103.256272,33.139921],[103.255892,33.139984],[103.255872,33.13999],[103.255521,33.140093],[103.255255,33.140175],[103.255221,33.140185],[103.255058,33.14032],[103.255003,33.140408],[103.254986,33.140434],[103.254984,33.140587],[103.254997,33.140678],[103.255025,33.140878],[103.255025,33.140879],[103.255025,33.14088],[103.255109,33.141168],[103.255171,33.141536],[103.255162,33.141979],[103.255091,33.142152],[103.255086,33.142169],[103.254969,33.142537],[103.254926,33.142593],[103.254837,33.142709],[103.254779,33.142785],[103.254777,33.142895],[103.254898,33.143119],[103.254922,33.143163],[103.254926,33.14317],[103.25501,33.143324],[103.25502,33.143342],[103.255174,33.143633],[103.255306,33.143886],[103.255322,33.144252],[103.255312,33.144352],[103.255295,33.144523],[103.255167,33.144795],[103.25515,33.144829],[103.255067,33.145093],[103.255028,33.145214],[103.255004,33.145288],[103.254973,33.145385],[103.254905,33.145597],[103.254821,33.145818],[103.254737,33.146039],[103.254593,33.146268],[103.25443,33.146421],[103.254316,33.146439],[103.254132,33.146435],[103.253927,33.146317],[103.253704,33.146044],[103.25367,33.145997],[103.253569,33.145859],[103.253528,33.145802],[103.253435,33.145674],[103.253425,33.145661],[103.253418,33.145653],[103.253289,33.145489],[103.253276,33.145472],[103.253158,33.145322],[103.253143,33.145303],[103.252957,33.145131],[103.252772,33.14496],[103.252658,33.144856],[103.252586,33.144789],[103.252563,33.144768],[103.2524,33.144617],[103.252289,33.144527],[103.252224,33.144475],[103.252049,33.144333],[103.251874,33.14419],[103.251699,33.144048],[103.251495,33.143939],[103.251291,33.143829],[103.251191,33.143835],[103.250991,33.143845],[103.250877,33.143862],[103.250778,33.144228],[103.25077,33.144594],[103.250796,33.144841],[103.250809,33.144961],[103.250873,33.145194],[103.250937,33.145426],[103.251003,33.145682],[103.251023,33.145756],[103.251016,33.146103],[103.251009,33.14645],[103.250798,33.146679],[103.250428,33.146828],[103.25015,33.146901],[103.249898,33.146878],[103.249647,33.146836],[103.249269,33.146715],[103.24911,33.146616],[103.248859,33.146555],[103.248608,33.146494],[103.248216,33.146585],[103.247983,33.146716],[103.247862,33.146985],[103.24786,33.147074],[103.247857,33.147224],[103.247856,33.147264],[103.24785,33.147543],[103.247779,33.147736],[103.24764,33.147792],[103.247319,33.147789],[103.247127,33.14774],[103.246908,33.147684],[103.246851,33.147673],[103.246725,33.147646],[103.246614,33.147623],[103.246519,33.147603],[103.246175,33.147617],[103.245888,33.14774],[103.245882,33.147743],[103.245827,33.147767],[103.245572,33.147936],[103.245293,33.148087],[103.245131,33.148143],[103.244993,33.148102],[103.244974,33.147947],[103.24498,33.147869],[103.244995,33.147701],[103.245003,33.147602],[103.245009,33.14733],[103.244994,33.147033],[103.244994,33.147024],[103.244992,33.147002],[103.244927,33.146828],[103.244723,33.146728],[103.244458,33.14674],[103.244402,33.146743],[103.244245,33.14678],[103.244171,33.146798],[103.244086,33.146889],[103.244029,33.14695],[103.243698,33.147213],[103.24347,33.147346],[103.243429,33.14736],[103.243124,33.147458],[103.243044,33.147471],[103.242686,33.147529],[103.242343,33.147505],[103.242068,33.147462],[103.241793,33.14742],[103.241718,33.147411],[103.241564,33.147393],[103.241515,33.147387],[103.241345,33.147367],[103.241335,33.147366],[103.241106,33.147338],[103.240877,33.147311],[103.240602,33.147269],[103.240473,33.147249],[103.240327,33.147226],[103.240278,33.147231],[103.239938,33.147259],[103.239589,33.147447],[103.239333,33.147617],[103.239207,33.147696],[103.239123,33.147749],[103.239022,33.147804],[103.238845,33.147899],[103.238614,33.147935],[103.238566,33.147939],[103.238481,33.147946],[103.238304,33.14796],[103.237995,33.147984],[103.237761,33.148008],[103.237527,33.148032],[103.237293,33.148056],[103.237059,33.148079],[103.236833,33.148148],[103.236608,33.148217],[103.236382,33.148286],[103.236157,33.148355],[103.235787,33.148472],[103.235736,33.148489],[103.235418,33.148589],[103.235048,33.148706],[103.234701,33.148843],[103.234354,33.148979],[103.234007,33.149116],[103.233599,33.149303],[103.233191,33.14949],[103.232783,33.149677],[103.232375,33.149864],[103.231968,33.150051],[103.231723,33.150128],[103.231479,33.150205],[103.231234,33.150282],[103.23099,33.150359],[103.230745,33.150436],[103.230501,33.150513],[103.230256,33.15059],[103.230012,33.150667],[103.229767,33.150744],[103.229523,33.150821],[103.229279,33.150898],[103.229034,33.150975],[103.228792,33.151042],[103.228682,33.151073],[103.228549,33.15111],[103.228539,33.151113],[103.228307,33.151178],[103.228064,33.151246],[103.227822,33.151314],[103.227579,33.151382],[103.227495,33.151406],[103.227337,33.15145],[103.227094,33.151518],[103.226852,33.151586],[103.22661,33.151654],[103.226533,33.151681],[103.226389,33.151733],[103.226168,33.151811],[103.225947,33.15189],[103.225726,33.151969],[103.225505,33.152047],[103.225284,33.152126],[103.225063,33.152205],[103.224842,33.152284],[103.224621,33.152362],[103.2244,33.152441],[103.224207,33.152507],[103.224169,33.15252],[103.223937,33.152598],[103.223821,33.152638],[103.223706,33.152677],[103.223475,33.152756],[103.223244,33.152835],[103.223013,33.152913],[103.222782,33.152992],[103.222551,33.153071],[103.222319,33.153149],[103.222088,33.153228],[103.221857,33.153307],[103.221626,33.153385],[103.221434,33.153451],[103.221395,33.153464],[103.221164,33.153543],[103.220932,33.153621],[103.220701,33.1537],[103.220463,33.153788],[103.220226,33.153875],[103.219988,33.153963],[103.21975,33.15405],[103.219512,33.154138],[103.219274,33.154226],[103.219036,33.154313],[103.218798,33.154401],[103.21856,33.154488],[103.218323,33.154576],[103.218085,33.154664],[103.217847,33.154751],[103.217609,33.154839],[103.217371,33.154926],[103.217117,33.155013],[103.216863,33.1551],[103.216609,33.155187],[103.216355,33.155274],[103.216101,33.155361],[103.215847,33.155448],[103.215593,33.155535],[103.215339,33.155622],[103.215085,33.155709],[103.214831,33.155796],[103.21478,33.155813],[103.214577,33.155883],[103.214323,33.155969],[103.214069,33.156048],[103.213815,33.156126],[103.21356,33.156205],[103.213306,33.156283],[103.212906,33.1564],[103.212505,33.156516],[103.212105,33.156633],[103.211889,33.156733],[103.211672,33.156833],[103.211456,33.156932],[103.211239,33.157032],[103.211023,33.157132],[103.210807,33.157232],[103.210436,33.15738],[103.210066,33.157528],[103.209672,33.157717],[103.209369,33.157906],[103.209229,33.158039],[103.208971,33.158331],[103.208712,33.158622],[103.208453,33.158914],[103.208265,33.159153],[103.208076,33.159391],[103.207845,33.159504],[103.207639,33.159483],[103.207388,33.159382],[103.207024,33.159202],[103.206706,33.159006],[103.206498,33.158905],[103.20629,33.158804],[103.206081,33.158703],[103.205873,33.158602],[103.205664,33.158501],[103.205456,33.158399],[103.205247,33.158298],[103.205039,33.158197],[103.204831,33.158096],[103.204622,33.157995],[103.204414,33.157894],[103.204205,33.157793],[103.203976,33.15769],[103.203747,33.157588],[103.203518,33.157485],[103.203289,33.157383],[103.20306,33.15728],[103.202831,33.157178],[103.202602,33.157075],[103.202373,33.156973],[103.202066,33.156834],[103.201758,33.156695],[103.201552,33.156671],[103.201207,33.156686],[103.200919,33.156778],[103.20063,33.15687],[103.200236,33.157019],[103.199959,33.157132],[103.199749,33.157264],[103.199539,33.157396],[103.199236,33.157674],[103.198932,33.157952],[103.198628,33.15823],[103.198435,33.158416],[103.198241,33.158602],[103.198048,33.158788],[103.197854,33.158974],[103.197726,33.15916],[103.197597,33.159347],[103.197469,33.159534],[103.19734,33.15972],[103.197212,33.159907],[103.197083,33.160094],[103.196955,33.16028],[103.196826,33.160467],[103.196697,33.160654],[103.196569,33.160841],[103.196435,33.161036],[103.196301,33.161232],[103.196166,33.161428],[103.196032,33.161624],[103.195898,33.16182],[103.195764,33.162016],[103.19563,33.162212],[103.195495,33.162408],[103.195361,33.162603],[103.195227,33.162799],[103.195093,33.162995],[103.194959,33.163191],[103.194805,33.163391],[103.194652,33.163592],[103.194418,33.163743],[103.194176,33.163846],[103.193933,33.163948],[103.193679,33.164012],[103.193425,33.164076],[103.193171,33.16414],[103.192917,33.164203],[103.192537,33.164304],[103.192156,33.164405],[103.191774,33.164553],[103.191391,33.164702],[103.191129,33.164785],[103.190868,33.164868],[103.190606,33.164951],[103.190344,33.165034],[103.190082,33.165117],[103.18982,33.1652],[103.189444,33.165333],[103.189068,33.165466],[103.188692,33.165598],[103.188664,33.165608],[103.188247,33.165766],[103.18783,33.165924],[103.187447,33.166122],[103.187064,33.166319],[103.186706,33.166553],[103.186347,33.166788],[103.186144,33.16692],[103.185919,33.167],[103.185693,33.167081],[103.185468,33.167161],[103.185242,33.167241],[103.185017,33.167321],[103.184791,33.167402],[103.184566,33.167482],[103.18434,33.167562],[103.184115,33.167643],[103.18389,33.167723],[103.183664,33.167803],[103.183439,33.167883],[103.183136,33.168032],[103.182811,33.168242],[103.182718,33.168317],[103.18262,33.168566],[103.182612,33.168952],[103.182605,33.169338],[103.18262,33.169666],[103.182643,33.170058],[103.182652,33.170215],[103.182658,33.170328],[103.182666,33.170451],[103.182688,33.170844],[103.182684,33.171076],[103.182683,33.171119],[103.18268,33.171249],[103.182672,33.171654],[103.182664,33.172059],[103.18266,33.172089],[103.182636,33.172289],[103.182608,33.172519],[103.18258,33.172749],[103.182552,33.172979],[103.182527,33.173065],[103.182484,33.173219],[103.182416,33.173459],[103.182348,33.173699],[103.18228,33.17394],[103.182206,33.174168],[103.182132,33.174397],[103.182059,33.174625],[103.181985,33.174854],[103.181912,33.175082],[103.18184,33.175305],[103.181838,33.175311],[103.181765,33.175539],[103.181691,33.175768],[103.181617,33.175996],[103.181597,33.17606],[103.181562,33.176168],[103.181544,33.176225],[103.181493,33.176452],[103.181442,33.17668],[103.181392,33.176907],[103.181341,33.177134],[103.18129,33.177362],[103.181239,33.177589],[103.181143,33.1778],[103.181046,33.17801],[103.18095,33.178221],[103.180854,33.178432],[103.180757,33.178642],[103.180661,33.178853],[103.180564,33.179063],[103.180468,33.179274],[103.180371,33.179485],[103.180275,33.179695],[103.180179,33.179906],[103.180082,33.180117],[103.180034,33.180334],[103.180033,33.180336],[103.180033,33.180338],[103.179987,33.180544],[103.179892,33.180972],[103.179797,33.181399],[103.179702,33.181827],[103.179645,33.182053],[103.179615,33.182175],[103.179589,33.182279],[103.179532,33.182505],[103.179476,33.182731],[103.179398,33.183173],[103.179392,33.183511],[103.179385,33.183849],[103.17933,33.184292],[103.17929,33.184542],[103.179251,33.184792],[103.179242,33.185236],[103.179282,33.185488],[103.179389,33.185874],[103.179565,33.186239],[103.17974,33.186604],[103.179837,33.186914],[103.179934,33.187224],[103.179926,33.18761],[103.179803,33.188032],[103.179611,33.188436],[103.179515,33.188652],[103.179419,33.188867],[103.179322,33.189083],[103.179226,33.189298],[103.179129,33.189514],[103.179033,33.189729],[103.178936,33.189945],[103.17884,33.19016],[103.178659,33.190523],[103.178478,33.190886],[103.178385,33.191315],[103.178292,33.191744],[103.178199,33.192173],[103.178147,33.192443],[103.178096,33.192712],[103.178086,33.193155],[103.178084,33.193573],[103.178082,33.193991],[103.178081,33.194409],[103.178083,33.194655],[103.178086,33.194901],[103.178088,33.195146],[103.178091,33.195392],[103.178093,33.195637],[103.178096,33.195883],[103.178098,33.196128],[103.178101,33.196374],[103.178103,33.19662],[103.178106,33.196865],[103.178108,33.197111],[103.178111,33.197356],[103.178071,33.1976],[103.178032,33.197844],[103.177992,33.198088],[103.177952,33.198332],[103.177913,33.198576],[103.177873,33.19882],[103.177822,33.199089],[103.177771,33.199358],[103.177685,33.199598],[103.177599,33.199838],[103.177513,33.200097],[103.177481,33.200193],[103.177427,33.200357],[103.177272,33.200673],[103.177116,33.200989],[103.176979,33.201214],[103.176843,33.201438],[103.176706,33.201663],[103.176569,33.201887],[103.176433,33.202112],[103.176296,33.202337],[103.176159,33.202561],[103.176155,33.202567],[103.176023,33.202786],[103.175884,33.203005],[103.175745,33.203224],[103.175606,33.203444],[103.175467,33.203663],[103.175328,33.203882],[103.175189,33.204102],[103.174969,33.20448],[103.174748,33.204857],[103.174528,33.205235],[103.174308,33.205613],[103.174164,33.20591],[103.17402,33.206207],[103.173965,33.206631],[103.173959,33.20692],[103.174021,33.20721],[103.174062,33.207451],[103.174103,33.207693],[103.174095,33.208074],[103.174087,33.208455],[103.174081,33.20875],[103.174075,33.209044],[103.174058,33.209324],[103.174041,33.209603],[103.174009,33.210027],[103.173977,33.210451],[103.173949,33.210682],[103.173921,33.210913],[103.173894,33.211144],[103.173866,33.211375],[103.173827,33.211615],[103.173788,33.211855],[103.173665,33.212163],[103.173487,33.212479],[103.173309,33.212795],[103.173235,33.213015],[103.173161,33.213235],[103.173061,33.21362],[103.173008,33.213976],[103.172975,33.21419],[103.172954,33.214332],[103.172919,33.21457],[103.172883,33.214807],[103.172848,33.215044],[103.172812,33.215282],[103.172777,33.215519],[103.172741,33.215756],[103.17271,33.215997],[103.172678,33.216238],[103.172646,33.216479],[103.172614,33.21672],[103.172582,33.216961],[103.17255,33.217201],[103.172511,33.217427],[103.172472,33.217653],[103.172433,33.217879],[103.172394,33.218105],[103.172354,33.218331],[103.172315,33.218557],[103.172276,33.218783],[103.172237,33.219008],[103.172172,33.219335],[103.172108,33.219662],[103.172031,33.220008],[103.172005,33.220139],[103.171981,33.220259],[103.17201,33.22051],[103.172039,33.220761],[103.172076,33.22099],[103.172114,33.221219],[103.172151,33.221448],[103.172189,33.221677],[103.172226,33.221906],[103.172263,33.222135],[103.172292,33.222386],[103.172322,33.222636],[103.172315,33.223003],[103.172283,33.223312],[103.172187,33.223638],[103.172123,33.223937],[103.17206,33.224235],[103.17199,33.224626],[103.17192,33.225017],[103.17185,33.225409],[103.171786,33.225736],[103.171723,33.226063],[103.171585,33.226412],[103.171447,33.226762],[103.17131,33.227112],[103.171248,33.227328],[103.171186,33.227544],[103.171124,33.22776],[103.171063,33.227977],[103.171044,33.228216],[103.171025,33.228454],[103.171006,33.228693],[103.170987,33.228932],[103.170969,33.229171],[103.17095,33.22941],[103.170931,33.229649],[103.170912,33.229888],[103.170893,33.230127],[103.170874,33.230366],[103.170834,33.230674],[103.170793,33.230983],[103.170694,33.23127],[103.170457,33.231635],[103.170315,33.231844],[103.170083,33.231974],[103.169683,33.232169],[103.169283,33.232364],[103.169072,33.232473],[103.168861,33.232582],[103.168808,33.232609],[103.168649,33.232691],[103.168441,33.232798],[103.168438,33.2328],[103.168226,33.232908],[103.168015,33.233017],[103.167804,33.233126],[103.167592,33.233235],[103.167381,33.233344],[103.167169,33.233452],[103.166962,33.233604],[103.166755,33.233755],[103.166549,33.233905],[103.166548,33.233906],[103.16634,33.234057],[103.166133,33.234208],[103.165926,33.234359],[103.165719,33.234511],[103.165512,33.234662],[103.165184,33.234933],[103.164857,33.235205],[103.16453,33.235477],[103.164352,33.235744],[103.164173,33.236011],[103.164077,33.236271],[103.16398,33.23653],[103.163833,33.236953],[103.163817,33.237184],[103.1638,33.237415],[103.163818,33.237722],[103.163835,33.238029],[103.163867,33.238286],[103.163899,33.238542],[103.163931,33.238798],[103.163963,33.239054],[103.163995,33.23931],[103.164027,33.239566],[103.164059,33.239822],[103.164091,33.240078],[103.164124,33.240326],[103.164157,33.240575],[103.16419,33.240823],[103.164224,33.241071],[103.164257,33.241319],[103.16429,33.241567],[103.164359,33.241809],[103.164429,33.242051],[103.164498,33.242293],[103.164568,33.242535],[103.164745,33.242866],[103.164922,33.243196],[103.165031,33.243507],[103.165045,33.243913],[103.165004,33.244259],[103.164962,33.244605],[103.164876,33.245033],[103.16479,33.245461],[103.164704,33.245889],[103.164676,33.24612],[103.164648,33.246351],[103.164639,33.246789],[103.16463,33.247226],[103.164622,33.247663],[103.164661,33.247915],[103.164795,33.248187],[103.164833,33.248534],[103.164826,33.248901],[103.164819,33.249267],[103.164742,33.249695],[103.164665,33.250122],[103.164661,33.250143],[103.164595,33.250396],[103.164529,33.250648],[103.164464,33.2509],[103.164398,33.251152],[103.164332,33.251405],[103.164266,33.251657],[103.164201,33.251909],[103.164135,33.252161],[103.164066,33.25243],[103.163997,33.252699],[103.163928,33.252968],[103.163859,33.253237],[103.163791,33.253506],[103.163722,33.253775],[103.163653,33.254044],[103.163584,33.254313],[103.163439,33.254678],[103.163293,33.255043],[103.163144,33.255241],[103.162995,33.255438],[103.162846,33.255636],[103.162697,33.255834],[103.162532,33.256027],[103.162368,33.256219],[103.162281,33.256321],[103.162203,33.256412],[103.162038,33.256604],[103.161873,33.256796],[103.161708,33.256989],[103.161543,33.257181],[103.161378,33.257374],[103.161214,33.257566],[103.161049,33.257758],[103.160865,33.257949],[103.16068,33.258139],[103.160496,33.25833],[103.160366,33.258464],[103.160312,33.25852],[103.160128,33.258711],[103.159944,33.258901],[103.15978,33.259032],[103.159665,33.25907],[103.159436,33.259047],[103.159184,33.258947],[103.158972,33.258805],[103.158889,33.25875],[103.158685,33.258621],[103.158481,33.258493],[103.158093,33.258313],[103.157886,33.25824],[103.157866,33.258233],[103.157498,33.258169],[103.157064,33.258125],[103.156754,33.25812],[103.156444,33.258116],[103.156144,33.25813],[103.155845,33.258145],[103.15558,33.258189],[103.155314,33.258234],[103.15508,33.258299],[103.154845,33.258365],[103.154698,33.258406],[103.154611,33.25843],[103.154376,33.258496],[103.154125,33.258538],[103.153873,33.258581],[103.153622,33.258623],[103.15337,33.258666],[103.153357,33.258668],[103.153156,33.258702],[103.153119,33.258708],[103.152867,33.25875],[103.152793,33.258763],[103.152727,33.258774],[103.152616,33.258793],[103.152443,33.258822],[103.152364,33.258835],[103.152113,33.258878],[103.151861,33.25892],[103.151434,33.259001],[103.151008,33.259081],[103.150581,33.259162],[103.150154,33.259243],[103.149923,33.259292],[103.149692,33.259342],[103.149461,33.259392],[103.14923,33.259441],[103.148907,33.259514],[103.148665,33.259539],[103.148626,33.259543],[103.148423,33.259564],[103.148181,33.259589],[103.147938,33.259615],[103.147752,33.259619],[103.147678,33.259621],[103.147418,33.259627],[103.147157,33.259633],[103.146897,33.259639],[103.146636,33.259645],[103.146376,33.259651],[103.146116,33.259657],[103.145855,33.259663],[103.145598,33.259655],[103.145341,33.259648],[103.145084,33.25964],[103.144827,33.259633],[103.14457,33.259626],[103.144313,33.259618],[103.144056,33.259611],[103.143799,33.259603],[103.143542,33.259596],[103.143285,33.259588],[103.143028,33.259581],[103.142771,33.259573],[103.142514,33.259566],[103.142257,33.259559],[103.141999,33.259551],[103.141742,33.259544],[103.141497,33.259543],[103.141252,33.259543],[103.141007,33.259542],[103.140762,33.259542],[103.140517,33.259541],[103.140272,33.259541],[103.140027,33.259541],[103.139781,33.25954],[103.139536,33.25954],[103.139291,33.259539],[103.139046,33.259539],[103.138801,33.259538],[103.138551,33.259533],[103.138302,33.259529],[103.138053,33.259524],[103.137803,33.259519],[103.137554,33.259514],[103.137304,33.259509],[103.137061,33.259504],[103.137055,33.259504],[103.136805,33.2595],[103.136556,33.259495],[103.136433,33.259492],[103.136306,33.25949],[103.136052,33.259463],[103.135797,33.259437],[103.135542,33.25941],[103.135287,33.259383],[103.135032,33.259357],[103.134778,33.25933],[103.134523,33.259303],[103.134405,33.259291],[103.134268,33.259277],[103.134013,33.25925],[103.133759,33.259224],[103.13352,33.259218],[103.133282,33.259213],[103.133044,33.259207],[103.132806,33.259202],[103.132567,33.259196],[103.132329,33.259191],[103.132091,33.259185],[103.131853,33.25918],[103.131776,33.259178],[103.131615,33.259174],[103.131376,33.259169],[103.131138,33.259163],[103.1309,33.259158],[103.130662,33.259152],[103.130423,33.259147],[103.130275,33.259149],[103.130017,33.259154],[103.12961,33.25916],[103.129346,33.259176],[103.129148,33.259188],[103.129082,33.259192],[103.12899,33.25921],[103.128849,33.259236],[103.128617,33.259279],[103.128359,33.25935],[103.128224,33.259388],[103.127831,33.259496],[103.127475,33.259602],[103.127447,33.25961],[103.127362,33.259636],[103.127118,33.259708],[103.126926,33.259766],[103.126762,33.259815],[103.126477,33.259898],[103.126193,33.259982],[103.125954,33.260052],[103.125716,33.260122],[103.125477,33.260192],[103.125239,33.260262],[103.125,33.260332],[103.124762,33.260402],[103.124667,33.26043],[103.124523,33.260472],[103.124285,33.260542],[103.124046,33.260612],[103.123808,33.260682],[103.12357,33.260752],[103.123331,33.260822],[103.122898,33.260922],[103.122465,33.261023],[103.122032,33.261123],[103.121688,33.261203],[103.121599,33.261224],[103.121206,33.261285],[103.120814,33.261346],[103.120367,33.261353],[103.120314,33.261352],[103.120314,33.261352],[103.120136,33.261349],[103.119905,33.261346],[103.119846,33.261341],[103.119489,33.261313],[103.119124,33.261281],[103.11871,33.261207],[103.118297,33.261133],[103.118267,33.261128],[103.117899,33.26106],[103.117657,33.26098],[103.117415,33.260899],[103.117174,33.260819],[103.116932,33.260738],[103.116563,33.260576],[103.116463,33.260532],[103.116291,33.260457],[103.116194,33.260415],[103.115826,33.260253],[103.115508,33.260141],[103.115191,33.260029],[103.11492,33.259998],[103.114649,33.259967],[103.114285,33.259948],[103.114246,33.259955],[103.113981,33.260003],[103.113879,33.260022],[103.113676,33.260059],[103.113339,33.260134],[103.113044,33.260162],[103.112748,33.260191],[103.112349,33.260185],[103.111976,33.26018],[103.11195,33.26018],[103.111715,33.260166],[103.111479,33.260153],[103.111244,33.260139],[103.111009,33.260126],[103.110782,33.260079],[103.110556,33.260032],[103.110329,33.259984],[103.110103,33.259937],[103.109732,33.259874],[103.109361,33.25981],[103.10899,33.259746],[103.108748,33.259692],[103.108506,33.259638],[103.108263,33.259584],[103.108021,33.25953],[103.107792,33.259467],[103.107563,33.259404],[103.107333,33.25934],[103.107104,33.259277],[103.106874,33.259214],[103.106645,33.25915],[103.106416,33.259087],[103.106186,33.259024],[103.105946,33.258961],[103.105706,33.258899],[103.105466,33.258837],[103.105225,33.258774],[103.104985,33.258712],[103.104745,33.25865],[103.104505,33.258587],[103.104265,33.258525],[103.104047,33.258462],[103.103829,33.258398],[103.103611,33.258334],[103.103393,33.258271],[103.103172,33.258195],[103.103161,33.258191],[103.103086,33.258166],[103.103074,33.258161],[103.103045,33.258151],[103.102943,33.258117],[103.10288,33.258095],[103.102696,33.258032],[103.102418,33.257934],[103.102141,33.257836],[103.101726,33.257685],[103.101312,33.257535],[103.100898,33.257384],[103.100494,33.25722],[103.100091,33.257056],[103.099688,33.256892],[103.099284,33.256728],[103.098871,33.256628],[103.098459,33.256529],[103.098046,33.256429],[103.097633,33.256329],[103.09737,33.256289],[103.097106,33.25625],[103.096787,33.256219],[103.096488,33.256259],[103.096268,33.256288],[103.096188,33.256298],[103.09613,33.256316],[103.096116,33.256321],[103.096084,33.256348],[103.096083,33.256266],[103.096067,33.256109],[103.095962,33.25579],[103.095859,33.255611],[103.095668,33.255422],[103.095583,33.255369],[103.095397,33.255293],[103.095352,33.255273],[103.095227,33.25524],[103.095123,33.255228],[103.095045,33.255226],[103.094972,33.255226],[103.094871,33.255247],[103.094766,33.255283],[103.09468,33.255315],[103.094616,33.255352],[103.0946,33.255361],[103.094524,33.255409],[103.09443,33.255476],[103.094362,33.255544],[103.094187,33.255693],[103.094098,33.255785],[103.094051,33.25584],[103.09397,33.255932],[103.093769,33.255827],[103.093842,33.255707],[103.093804,33.255707],[103.09378,33.255712],[103.093745,33.255719],[103.093717,33.255731],[103.093655,33.255764],[103.093575,33.255705],[103.093252,33.255466],[103.093182,33.255414],[103.092823,33.255148],[103.092666,33.254847],[103.092564,33.254652],[103.092421,33.254379],[103.092367,33.254264],[103.092359,33.254247],[103.092194,33.253895],[103.091881,33.253429],[103.091277,33.252985],[103.091204,33.252875],[103.091151,33.252795],[103.091058,33.252656],[103.091077,33.251787],[103.09112,33.251642],[103.091286,33.251084],[103.091336,33.25027],[103.091229,33.249624],[103.091106,33.249389],[103.090949,33.24909],[103.090882,33.24904],[103.090861,33.249024],[103.090608,33.248838],[103.090575,33.248813],[103.090329,33.248632],[103.089895,33.248544],[103.089704,33.248606],[103.089398,33.248706],[103.089358,33.248719],[103.089247,33.248829],[103.08883,33.249243],[103.088817,33.249256],[103.088816,33.249256],[103.088729,33.249343],[103.088728,33.249343],[103.088721,33.24935],[103.08859,33.249481],[103.088346,33.249678],[103.088269,33.249741],[103.088002,33.249757],[103.087786,33.249652],[103.087784,33.249646],[103.087783,33.249642],[103.087711,33.249408],[103.08767,33.249402],[103.087635,33.249395],[103.087608,33.24938],[103.087603,33.249357],[103.087619,33.249334],[103.087682,33.249314],[103.087673,33.249284],[103.087685,33.248725],[103.087685,33.248704],[103.087686,33.248673],[103.087619,33.248493],[103.087594,33.248427],[103.08738,33.248455],[103.087366,33.248406],[103.087344,33.248379],[103.087309,33.248372],[103.087267,33.248361],[103.087235,33.248413],[103.087184,33.248481],[103.087035,33.2485],[103.086823,33.24852],[103.086523,33.248548],[103.086477,33.248552],[103.086387,33.248554],[103.086052,33.248559],[103.085822,33.248563],[103.085645,33.248507],[103.085003,33.248306],[103.084261,33.247887],[103.084235,33.247868],[103.084217,33.247855],[103.083928,33.247652],[103.08376,33.247533],[103.083719,33.247186],[103.08395,33.246864],[103.084142,33.246792],[103.0845,33.246658],[103.084995,33.246483],[103.085379,33.246351],[103.085801,33.246174],[103.085975,33.246138],[103.086052,33.246147],[103.086194,33.24617],[103.0863,33.246182],[103.086428,33.246182],[103.086539,33.246182],[103.086683,33.246157],[103.086814,33.246122],[103.086943,33.246081],[103.087027,33.246056],[103.087076,33.246056],[103.087303,33.245946],[103.087356,33.245968],[103.087372,33.245959],[103.087416,33.245933],[103.087463,33.245911],[103.0875,33.245888],[103.087561,33.245853],[103.087593,33.24584],[103.087614,33.245824],[103.087607,33.245798],[103.087788,33.24571],[103.087851,33.245679],[103.08805,33.245582],[103.08834,33.245273],[103.088306,33.245224],[103.088296,33.245173],[103.088294,33.245131],[103.088296,33.24512],[103.088307,33.245079],[103.08834,33.245031],[103.088365,33.24502],[103.088406,33.245035],[103.088445,33.245086],[103.08848,33.245123],[103.088527,33.245073],[103.088561,33.245036],[103.088572,33.245025],[103.088878,33.244814],[103.08932,33.244508],[103.089328,33.244502],[103.089341,33.2445],[103.08942,33.244487],[103.08973,33.244436],[103.08974,33.244463],[103.089752,33.24448],[103.089776,33.244494],[103.089812,33.244501],[103.089852,33.2445],[103.089894,33.244499],[103.089934,33.244497],[103.089965,33.244502],[103.089991,33.244511],[103.090046,33.244537],[103.090102,33.244548],[103.090176,33.244558],[103.09025,33.244564],[103.090299,33.244561],[103.09038,33.244557],[103.090472,33.244538],[103.09053,33.244517],[103.090563,33.244491],[103.090583,33.244461],[103.0906,33.24443],[103.090912,33.244451],[103.090967,33.244466],[103.091544,33.244628],[103.091934,33.244669],[103.092233,33.2447],[103.092251,33.244694],[103.092437,33.244641],[103.092837,33.244526],[103.093037,33.244345],[103.093321,33.24409],[103.093523,33.24391],[103.093569,33.243437],[103.093453,33.242923],[103.093421,33.242783],[103.09342,33.242778],[103.093305,33.242533],[103.093301,33.242525],[103.093072,33.242039],[103.092683,33.241544],[103.092386,33.241005],[103.092327,33.240806],[103.092307,33.24074],[103.092267,33.240606],[103.092473,33.24035],[103.092486,33.240345],[103.092525,33.240332],[103.092608,33.240354],[103.092764,33.240367],[103.092893,33.240343],[103.093065,33.240286],[103.093182,33.240235],[103.093203,33.24022],[103.093265,33.240223],[103.093711,33.240246],[103.094458,33.240168],[103.094604,33.240153],[103.09465,33.240131],[103.094674,33.240119],[103.095431,33.239753],[103.095508,33.23975],[103.095525,33.239749],[103.095589,33.239747],[103.095763,33.239739],[103.095795,33.239738],[103.095986,33.239892],[103.096064,33.239941],[103.096112,33.239932],[103.096243,33.240104],[103.096892,33.24112],[103.097318,33.241479],[103.097325,33.241485],[103.097327,33.241487],[103.097363,33.241517],[103.097427,33.241571],[103.097685,33.241568],[103.097955,33.241564],[103.098125,33.241276],[103.097887,33.240527],[103.097885,33.240519],[103.097852,33.240417],[103.097794,33.240092],[103.097739,33.239789],[103.097771,33.239638],[103.097791,33.239548],[103.09788,33.239134],[103.098144,33.238772],[103.098255,33.23862],[103.098347,33.238579],[103.098348,33.238579],[103.098535,33.238496],[103.098599,33.238467],[103.098623,33.238457],[103.098626,33.238444],[103.098694,33.238166],[103.09873,33.238018],[103.099339,33.237771],[103.099892,33.237211],[103.100003,33.237054],[103.100005,33.236738],[103.099791,33.236551],[103.099157,33.236404],[103.09891,33.236552],[103.098702,33.236676],[103.098607,33.236733],[103.09831,33.23691],[103.098183,33.237006],[103.09764,33.237417],[103.09754,33.237492],[103.097479,33.237539],[103.09722,33.237749],[103.097192,33.237772],[103.097072,33.237869],[103.096977,33.237861],[103.096928,33.237856],[103.096885,33.237802],[103.096791,33.237769],[103.096656,33.23776],[103.096569,33.23777],[103.096439,33.237676],[103.09642,33.23759],[103.096373,33.237385],[103.096541,33.237126],[103.096548,33.237115],[103.09658,33.237067],[103.096642,33.23702],[103.097153,33.236633],[103.097415,33.236286],[103.097298,33.236126],[103.097256,33.236069],[103.097226,33.236057],[103.096823,33.235886],[103.09677,33.235863],[103.09656,33.235827],[103.09651,33.235776],[103.096461,33.235733],[103.096329,33.235652],[103.096252,33.235624],[103.096155,33.235592],[103.096051,33.235563],[103.095987,33.235544],[103.095945,33.235528],[103.095926,33.235521],[103.095876,33.235499],[103.095816,33.235462],[103.095766,33.235437],[103.095684,33.235412],[103.095648,33.235405],[103.095601,33.235402],[103.095446,33.235188],[103.095433,33.235172],[103.095263,33.234939],[103.095281,33.234628],[103.095291,33.234466],[103.095314,33.234396],[103.095288,33.234339],[103.095307,33.234211],[103.095327,33.234115],[103.095369,33.233996],[103.095392,33.233918],[103.095427,33.233831],[103.095446,33.233682],[103.095547,33.233553],[103.095505,33.233459],[103.095344,33.233096],[103.095287,33.232969],[103.094936,33.232413],[103.094911,33.231893],[103.095046,33.231529],[103.095121,33.231468],[103.095188,33.231414],[103.09527,33.231347],[103.095388,33.231375],[103.095468,33.231383],[103.09555,33.231379],[103.095626,33.23137],[103.095737,33.231346],[103.095799,33.231303],[103.095845,33.231263],[103.096214,33.231302],[103.096359,33.231365],[103.09642,33.231365],[103.096522,33.231383],[103.09662,33.231412],[103.096787,33.231478],[103.09715,33.231639],[103.097265,33.231699],[103.097318,33.23174],[103.097324,33.231742],[103.097881,33.231868],[103.0979,33.231872],[103.097934,33.231907],[103.098016,33.231963],[103.098153,33.232022],[103.09829,33.232067],[103.098442,33.232104],[103.098594,33.232107],[103.098728,33.232107],[103.098755,33.232122],[103.098956,33.232232],[103.099155,33.23234],[103.099344,33.232369],[103.099787,33.232437],[103.099925,33.232418],[103.100119,33.232345],[103.100277,33.232264],[103.100442,33.232165],[103.100545,33.232049],[103.100632,33.23193],[103.10069,33.231778],[103.100749,33.231626],[103.100771,33.231443],[103.100749,33.231288],[103.10072,33.231157],[103.100718,33.231151],[103.100688,33.231119],[103.100689,33.231104],[103.100689,33.231081],[103.100684,33.231063],[103.100655,33.230996],[103.100614,33.230895],[103.100579,33.230837],[103.100568,33.230821],[103.100528,33.230765],[103.100463,33.230692],[103.100409,33.230632],[103.100366,33.230599],[103.100326,33.230579],[103.100289,33.230561],[103.100202,33.23052],[103.100121,33.230493],[103.100051,33.230478],[103.099744,33.230109],[103.099552,33.229709],[103.099325,33.22928],[103.099287,33.229126],[103.099295,33.228928],[103.099287,33.228849],[103.099292,33.228707],[103.099295,33.228594],[103.098932,33.22835],[103.098532,33.228213],[103.098486,33.228197],[103.098138,33.228078],[103.098091,33.228076],[103.098058,33.228058],[103.098002,33.228044],[103.097926,33.228043],[103.097831,33.228048],[103.097757,33.228052],[103.097723,33.228063],[103.097421,33.228052],[103.097357,33.228118],[103.097287,33.228165],[103.097209,33.228193],[103.097134,33.2282],[103.097034,33.228201],[103.096794,33.228165],[103.096658,33.228128],[103.096628,33.228131],[103.096444,33.228134],[103.096436,33.228135],[103.096376,33.228103],[103.096223,33.228053],[103.096131,33.228036],[103.096073,33.228025],[103.095927,33.228014],[103.095804,33.228019],[103.095724,33.228028],[103.095649,33.228009],[103.095272,33.22782],[103.095262,33.22781],[103.095094,33.227619],[103.095555,33.22732],[103.095665,33.227304],[103.095695,33.2273],[103.095741,33.227323],[103.095831,33.227359],[103.095937,33.227377],[103.096029,33.227385],[103.096149,33.227384],[103.096229,33.227373],[103.096347,33.227339],[103.096425,33.2273],[103.096527,33.227243],[103.096586,33.227188],[103.096622,33.227148],[103.096666,33.227085],[103.096704,33.226972],[103.096784,33.226809],[103.09683,33.226647],[103.096919,33.226408],[103.096745,33.226101],[103.09669,33.226065],[103.096709,33.226027],[103.096725,33.225978],[103.096735,33.225903],[103.096734,33.225832],[103.096719,33.225773],[103.096691,33.225713],[103.096667,33.225676],[103.096638,33.225651],[103.0966,33.225634],[103.096537,33.225627],[103.096491,33.225626],[103.096384,33.22567],[103.096334,33.225706],[103.096315,33.225718],[103.096297,33.22573],[103.096264,33.225744],[103.096224,33.225756],[103.095934,33.225483],[103.095913,33.225464],[103.09578,33.225338],[103.095644,33.225207],[103.095442,33.225012],[103.095378,33.224614],[103.09537,33.224363],[103.095369,33.224345],[103.09542,33.224401],[103.095476,33.224429],[103.095539,33.224448],[103.095604,33.224454],[103.09572,33.224456],[103.095818,33.22444],[103.095875,33.224422],[103.095932,33.224394],[103.09594,33.224397],[103.096048,33.224451],[103.09609,33.224472],[103.096477,33.224672],[103.096538,33.22466],[103.096581,33.22463],[103.096611,33.224584],[103.096632,33.224553],[103.096663,33.224547],[103.096716,33.224561],[103.09679,33.224609],[103.096851,33.224655],[103.096861,33.224691],[103.096861,33.224728],[103.096842,33.224777],[103.096991,33.224807],[103.09712,33.224732],[103.097104,33.224577],[103.097097,33.224505],[103.09709,33.224442],[103.096969,33.22413],[103.096935,33.224042],[103.096815,33.223719],[103.0971,33.223158],[103.097457,33.222587],[103.097471,33.222561],[103.097342,33.221965],[103.097163,33.221866],[103.097175,33.221786],[103.09716,33.221682],[103.097135,33.221597],[103.097086,33.221531],[103.097043,33.221491],[103.096986,33.221467],[103.096929,33.221462],[103.09672,33.221477],[103.096561,33.221496],[103.096425,33.22151],[103.096285,33.221519],[103.096141,33.221538],[103.095763,33.221463],[103.094547,33.22123],[103.093765,33.221058],[103.093642,33.221031],[103.093632,33.22102],[103.093591,33.220984],[103.093548,33.220946],[103.093483,33.220904],[103.093251,33.220765],[103.093155,33.220711],[103.093087,33.220684],[103.093031,33.220665],[103.092978,33.220654],[103.092932,33.220641],[103.092636,33.220322],[103.09257,33.220251],[103.092511,33.220188],[103.092495,33.220173],[103.09249,33.219883],[103.092484,33.219656],[103.092484,33.219643],[103.092482,33.219551],[103.092929,33.219031],[103.092939,33.219019],[103.09321,33.218703],[103.093205,33.218526],[103.093201,33.218384],[103.093214,33.218354],[103.093224,33.218296],[103.093224,33.218229],[103.093223,33.218182],[103.093206,33.218121],[103.093176,33.218056],[103.093082,33.217944],[103.092979,33.217875],[103.092896,33.217811],[103.0928,33.21776],[103.092743,33.217743],[103.092713,33.217735],[103.092636,33.217668],[103.092437,33.217502],[103.092421,33.217488],[103.09238,33.217454],[103.091967,33.217109],[103.091862,33.216351],[103.091844,33.216224],[103.091756,33.215721],[103.091606,33.215711],[103.091622,33.215637],[103.091658,33.215388],[103.091641,33.215074],[103.091568,33.214682],[103.091566,33.214668],[103.091067,33.214685],[103.091044,33.214685],[103.090846,33.214692],[103.090105,33.214456],[103.090102,33.214434],[103.090071,33.214221],[103.090069,33.214208],[103.090059,33.214143],[103.090215,33.213892],[103.090501,33.213433],[103.090518,33.213398],[103.090723,33.212989],[103.090615,33.212914],[103.09061,33.21291],[103.090461,33.212806],[103.090418,33.212822],[103.089959,33.212995],[103.089609,33.213127],[103.089597,33.213132],[103.089548,33.21315],[103.08933,33.213327],[103.089287,33.213362],[103.089281,33.213397],[103.089207,33.213476],[103.089024,33.213628],[103.088898,33.213677],[103.088854,33.213688],[103.088595,33.213749],[103.088578,33.213753],[103.088473,33.213777],[103.088362,33.213803],[103.088319,33.213355],[103.088435,33.212909],[103.088515,33.212841],[103.088538,33.212821],[103.088552,33.212809],[103.088567,33.212796],[103.088595,33.212772],[103.089001,33.212424],[103.089357,33.212118],[103.089793,33.211677],[103.089768,33.211352],[103.089752,33.211139],[103.08963,33.211104],[103.089515,33.21107],[103.089505,33.211067],[103.08945,33.211051],[103.089103,33.21095],[103.0888,33.211058],[103.088718,33.211004],[103.088654,33.210987],[103.088594,33.210987],[103.088509,33.211018],[103.088428,33.211072],[103.088358,33.211118],[103.088284,33.211175],[103.088214,33.211253],[103.088166,33.211322],[103.088134,33.211368],[103.087483,33.211797],[103.087409,33.211845],[103.087138,33.212024],[103.087082,33.21206],[103.086974,33.212107],[103.086918,33.212132],[103.086863,33.212205],[103.086809,33.212274],[103.086749,33.21234],[103.086675,33.212388],[103.086579,33.212419],[103.086487,33.212438],[103.086416,33.212429],[103.08628,33.212369],[103.086132,33.212289],[103.086012,33.212196],[103.085956,33.212135],[103.085904,33.21204],[103.085868,33.211953],[103.085862,33.21189],[103.085868,33.211806],[103.085892,33.211741],[103.085923,33.211687],[103.085928,33.211682],[103.085894,33.211606],[103.085838,33.211467],[103.085768,33.21129],[103.085705,33.211133],[103.085233,33.21079],[103.084809,33.211178],[103.084655,33.211319],[103.084646,33.211327],[103.084296,33.211648],[103.084106,33.211842],[103.08384,33.212116],[103.08364,33.212147],[103.083309,33.212205],[103.082946,33.212355],[103.082484,33.212292],[103.082311,33.212262],[103.082211,33.21222],[103.082156,33.212156],[103.082149,33.212129],[103.082133,33.212066],[103.082129,33.211944],[103.082143,33.211857],[103.082168,33.211786],[103.082181,33.211758],[103.082177,33.21175],[103.082421,33.211445],[103.082548,33.211232],[103.082618,33.210733],[103.082694,33.210516],[103.082724,33.210421],[103.082793,33.210313],[103.082863,33.210232],[103.082996,33.210085],[103.083094,33.209968],[103.083195,33.209848],[103.083301,33.209763],[103.083403,33.209732],[103.08346,33.209738],[103.083535,33.209788],[103.083589,33.209832],[103.083671,33.209884],[103.083821,33.209821],[103.083986,33.209752],[103.084099,33.209766],[103.084202,33.209769],[103.084253,33.209761],[103.084287,33.209739],[103.084356,33.209695],[103.0845,33.209603],[103.084466,33.209557],[103.084403,33.209471],[103.084455,33.209414],[103.084512,33.209245],[103.084538,33.209077],[103.084523,33.208973],[103.084457,33.208862],[103.084357,33.20886],[103.084195,33.208844],[103.084071,33.208828],[103.083913,33.208796],[103.0838,33.208759],[103.083783,33.208807],[103.083445,33.208513],[103.083185,33.20825],[103.082703,33.207763],[103.082431,33.207171],[103.082283,33.20685],[103.082276,33.206795],[103.082209,33.20634],[103.082023,33.205058],[103.082133,33.204598],[103.082598,33.204817],[103.082716,33.2049],[103.083043,33.20513],[103.083251,33.205276],[103.083355,33.205349],[103.083512,33.205459],[103.083541,33.20545],[103.083534,33.205638],[103.083577,33.205667],[103.083681,33.205639],[103.083937,33.2055],[103.08418,33.20523],[103.084369,33.205068],[103.084458,33.204939],[103.084434,33.204851],[103.084471,33.20473],[103.084496,33.204653],[103.084546,33.204601],[103.084662,33.204581],[103.084751,33.204513],[103.08475,33.204377],[103.084741,33.204302],[103.084768,33.204206],[103.084809,33.204158],[103.084919,33.204119],[103.08492,33.204071],[103.084748,33.203715],[103.084665,33.203739],[103.084467,33.203797],[103.08441,33.203814],[103.084268,33.203856],[103.084175,33.203883],[103.084149,33.203898],[103.083508,33.204275],[103.083178,33.20427],[103.083152,33.204185],[103.083046,33.203846],[103.082942,33.20351],[103.082759,33.203546],[103.082527,33.203537],[103.082453,33.203514],[103.082379,33.203491],[103.082263,33.203352],[103.082164,33.203194],[103.082119,33.203097],[103.082112,33.203],[103.082111,33.202899],[103.082113,33.202857],[103.082116,33.202755],[103.082127,33.202666],[103.082153,33.202553],[103.0822,33.202403],[103.082246,33.202247],[103.082285,33.202088],[103.082302,33.201969],[103.082301,33.201884],[103.082276,33.20179],[103.082184,33.201616],[103.082138,33.201509],[103.082133,33.201491],[103.082113,33.201417],[103.082114,33.201326],[103.082127,33.201252],[103.082164,33.201173],[103.082175,33.20115],[103.08222,33.201098],[103.082332,33.201038],[103.082386,33.201009],[103.082419,33.200969],[103.082445,33.200929],[103.082465,33.200898],[103.082499,33.200811],[103.082583,33.200607],[103.082688,33.200272],[103.082741,33.20011],[103.082788,33.200041],[103.082862,33.199997],[103.082892,33.199956],[103.082907,33.199878],[103.082924,33.199781],[103.083003,33.199518],[103.083005,33.199443],[103.083008,33.199311],[103.083035,33.199121],[103.083042,33.198998],[103.083059,33.198872],[103.083084,33.198775],[103.08312,33.198664],[103.083157,33.198507],[103.083177,33.198456],[103.083068,33.198351],[103.082963,33.198341],[103.082971,33.198278],[103.082961,33.19822],[103.082945,33.19817],[103.082921,33.198124],[103.082865,33.19809],[103.082786,33.198074],[103.082699,33.198079],[103.082697,33.198082],[103.08262,33.198143],[103.082555,33.198217],[103.082489,33.198296],[103.08244,33.198291],[103.082099,33.198428],[103.081888,33.198513],[103.081715,33.198582],[103.081234,33.198676],[103.081144,33.198634],[103.081137,33.19863],[103.080895,33.198517],[103.080789,33.198467],[103.080688,33.19829],[103.080676,33.198268],[103.080587,33.198112],[103.080539,33.197582],[103.080742,33.197243],[103.080943,33.196909],[103.081085,33.196772],[103.081124,33.196732],[103.08127,33.196648],[103.081251,33.196628],[103.081241,33.1966],[103.081331,33.196609],[103.081491,33.196606],[103.081622,33.196605],[103.081785,33.196592],[103.081945,33.196573],[103.082137,33.196549],[103.08222,33.196539],[103.082357,33.196523],[103.082365,33.196522],[103.082591,33.196513],[103.082739,33.196522],[103.0831,33.196536],[103.083266,33.196556],[103.083383,33.196555],[103.083446,33.196549],[103.083663,33.196439],[103.083729,33.196406],[103.083859,33.196239],[103.083887,33.196067],[103.083875,33.195878],[103.083847,33.195835],[103.083755,33.195693],[103.083651,33.195652],[103.083626,33.195557],[103.083614,33.195485],[103.083584,33.19541],[103.083544,33.195327],[103.083501,33.195271],[103.083421,33.195206],[103.083358,33.195175],[103.08331,33.195161],[103.083254,33.195153],[103.083191,33.195164],[103.083142,33.195189],[103.083133,33.195194],[103.083076,33.195224],[103.082981,33.19525],[103.082857,33.195266],[103.082723,33.195284],[103.082217,33.195077],[103.082174,33.19506],[103.082122,33.195038],[103.08197,33.194802],[103.081953,33.194776],[103.081745,33.194453],[103.081883,33.19365],[103.082907,33.192671],[103.083553,33.19224],[103.083448,33.191924],[103.083076,33.191792],[103.083019,33.1918],[103.082976,33.191806],[103.082902,33.191816],[103.082716,33.191841],[103.082695,33.191768],[103.082677,33.191719],[103.082653,33.191658],[103.08263,33.191599],[103.082596,33.191542],[103.082555,33.191513],[103.082516,33.191495],[103.082488,33.191492],[103.082451,33.191505],[103.082398,33.191543],[103.082392,33.191547],[103.082329,33.19159],[103.082112,33.191757],[103.082066,33.19181],[103.081958,33.191902],[103.081899,33.191938],[103.081886,33.191938],[103.081721,33.191943],[103.081351,33.191955],[103.080867,33.191821],[103.08084,33.191756],[103.080836,33.191745],[103.080823,33.191713],[103.080751,33.191537],[103.080745,33.191523],[103.080725,33.191473],[103.080742,33.191309],[103.080772,33.191033],[103.081422,33.190414],[103.081577,33.190154],[103.081888,33.189634],[103.081952,33.189281],[103.081956,33.189255],[103.082014,33.188936],[103.082058,33.188692],[103.082092,33.188588],[103.082203,33.188242],[103.082383,33.187679],[103.082395,33.187642],[103.08246,33.187439],[103.082559,33.187315],[103.082806,33.187004],[103.083301,33.186533],[103.084335,33.185548],[103.084533,33.185342],[103.084871,33.18499],[103.085001,33.184174],[103.08506,33.183867],[103.08515,33.183397],[103.08519,33.183189],[103.085192,33.183183],[103.08527,33.183026],[103.085324,33.182877],[103.085289,33.182678],[103.085297,33.182636],[103.085202,33.181848],[103.085211,33.181768],[103.085214,33.181739],[103.085248,33.181439],[103.08563,33.181099],[103.086823,33.180677],[103.087252,33.180526],[103.087304,33.180507],[103.087594,33.180405],[103.087701,33.180367],[103.088874,33.179953],[103.090478,33.179431],[103.090721,33.179352],[103.091267,33.179046],[103.092198,33.178525],[103.092959,33.17797],[103.093047,33.17776],[103.093354,33.177032],[103.093441,33.175994],[103.093454,33.175837],[103.093422,33.175514],[103.093373,33.175038],[103.093362,33.174923],[103.093372,33.174438],[103.093379,33.174136],[103.093383,33.173386],[103.093385,33.172831],[103.093389,33.172164],[103.09339,33.171902],[103.09339,33.171894],[103.093337,33.170894],[103.093294,33.170724],[103.093096,33.169946],[103.092237,33.168139],[103.09211,33.167067],[103.092069,33.166813],[103.092005,33.166424],[103.091888,33.166253],[103.091808,33.166057],[103.091714,33.165909],[103.09152,33.165732],[103.091433,33.165645],[103.091443,33.165639],[103.091591,33.165584],[103.09182,33.1656],[103.091888,33.165537],[103.091883,33.165497],[103.091772,33.164486],[103.091756,33.164341],[103.091701,33.163844],[103.09157,33.162652],[103.09159,33.161708],[103.091754,33.161517],[103.09225,33.160935],[103.092612,33.160511],[103.09305,33.159999],[103.093483,33.159257],[103.093633,33.159001],[103.093905,33.158502],[103.093906,33.158476],[103.093917,33.157965],[103.093918,33.157935],[103.093868,33.157689],[103.093816,33.15743],[103.093466,33.157091],[103.093157,33.15679],[103.092615,33.155869],[103.09188,33.155292],[103.091088,33.154546],[103.090963,33.154428],[103.090573,33.153681],[103.090474,33.153492],[103.090636,33.153434],[103.091011,33.153279],[103.091137,33.153141],[103.091142,33.152998],[103.09107,33.152903],[103.091019,33.15284],[103.090998,33.152814],[103.090868,33.152624],[103.09081,33.152518],[103.090656,33.152496],[103.090263,33.152222],[103.090206,33.152182],[103.090161,33.15174],[103.090067,33.150889],[103.089882,33.150504],[103.089566,33.149843],[103.089539,33.14979],[103.089382,33.149484],[103.08933,33.149383],[103.089146,33.149024],[103.088996,33.148731],[103.088994,33.148728],[103.088571,33.147901],[103.088687,33.147881],[103.088967,33.147656],[103.089075,33.14754],[103.08918,33.147425],[103.089426,33.147278],[103.089447,33.147234],[103.089483,33.147159],[103.089233,33.147077],[103.088753,33.147005],[103.0884,33.146937],[103.08805,33.146885],[103.087456,33.145725],[103.087435,33.145684],[103.08696,33.144758],[103.086859,33.144561],[103.086857,33.144555],[103.08612,33.143117],[103.085918,33.142236],[103.08591,33.142201],[103.085881,33.142075],[103.085825,33.14194],[103.085691,33.14185],[103.085621,33.141764],[103.085523,33.141687],[103.085437,33.141634],[103.085415,33.141544],[103.085452,33.141455],[103.085472,33.141386],[103.085475,33.141297],[103.085465,33.141064],[103.085444,33.140803],[103.085421,33.140686],[103.085389,33.140536],[103.085354,33.14045],[103.085315,33.140379],[103.085224,33.140233],[103.085129,33.140151],[103.085072,33.140113],[103.084857,33.139622],[103.084226,33.138185],[103.084166,33.138143],[103.084086,33.138087],[103.084016,33.137963],[103.083958,33.137849],[103.083871,33.137692],[103.083836,33.137593],[103.083754,33.137388],[103.083655,33.137189],[103.083504,33.136861],[103.083405,33.136675],[103.083375,33.136533],[103.083459,33.136435],[103.082831,33.136079],[103.082068,33.135976],[103.082047,33.135973],[103.081307,33.135615],[103.080146,33.135692],[103.078205,33.135473],[103.075937,33.13484],[103.075345,33.134516],[103.074911,33.133848],[103.074899,33.133736],[103.07474,33.13361],[103.07465,33.13355],[103.074526,33.133497],[103.074453,33.133441],[103.074413,33.133348],[103.074404,33.133266],[103.074424,33.133219],[103.074522,33.1332],[103.074696,33.133199],[103.074849,33.133249],[103.074212,33.131571],[103.074197,33.131547],[103.074196,33.131545],[103.074176,33.131514],[103.073944,33.131144],[103.073888,33.131056],[103.073453,33.130363],[103.072174,33.12899],[103.070755,33.128874],[103.069706,33.128952],[103.067463,33.128854],[103.066639,33.128904],[103.065744,33.128796],[103.065495,33.128226],[103.064328,33.125155],[103.063434,33.124983],[103.062842,33.125031],[103.061785,33.125115],[103.06006,33.125308],[103.058862,33.125353],[103.057211,33.125579],[103.05683,33.12561],[103.0556,33.125711],[103.055351,33.125736],[103.055303,33.125741],[103.054513,33.12582],[103.053574,33.125963],[103.052377,33.125975],[103.051291,33.126053],[103.05046,33.126324],[103.049821,33.126533],[103.049737,33.126538],[103.049724,33.126539],[103.049416,33.126555],[103.048939,33.126581],[103.048922,33.126582],[103.048322,33.126667],[103.047872,33.126786],[103.047852,33.126782],[103.047826,33.12679],[103.047767,33.126806],[103.04773,33.126817],[103.047009,33.126836],[103.04653,33.126727],[103.046265,33.126666],[103.045671,33.126437],[103.045236,33.126522],[103.045221,33.126524],[103.045201,33.126527],[103.044869,33.12657],[103.044706,33.126591],[103.044652,33.126598],[103.044608,33.126639],[103.044581,33.126657],[103.044542,33.126679],[103.044487,33.126698],[103.04443,33.126712],[103.044374,33.12671],[103.044317,33.1267],[103.044264,33.126685],[103.044241,33.126667],[103.044232,33.126656],[103.044217,33.126658],[103.044159,33.126667],[103.043607,33.126751],[103.043569,33.126765],[103.043303,33.126866],[103.04289,33.127023],[103.042328,33.127077],[103.041773,33.126816],[103.041752,33.126598],[103.041742,33.126501],[103.041739,33.126492],[103.041659,33.126276],[103.041531,33.125931],[103.041236,33.125722],[103.041149,33.12566],[103.041119,33.125639],[103.041078,33.12561],[103.041059,33.125596],[103.040983,33.125552],[103.040956,33.125543],[103.040928,33.125534],[103.040899,33.125528],[103.040882,33.125522],[103.040853,33.125498],[103.040783,33.125486],[103.040679,33.125468],[103.040426,33.125425],[103.040122,33.125374],[103.039545,33.125507],[103.039482,33.125521],[103.038988,33.125489],[103.038847,33.12548],[103.038802,33.125427],[103.038596,33.125186],[103.038519,33.125097],[103.038684,33.124856],[103.038661,33.124809],[103.038656,33.124758],[103.03867,33.124712],[103.038692,33.124676],[103.0387,33.12462],[103.038688,33.124588],[103.038675,33.124583],[103.038605,33.124583],[103.038555,33.124586],[103.038513,33.124587],[103.038448,33.124571],[103.038425,33.124551],[103.038413,33.124513],[103.038411,33.124474],[103.038436,33.124434],[103.038481,33.124411],[103.038501,33.124398],[103.038518,33.124381],[103.038546,33.124362],[103.038555,33.124333],[103.038553,33.12431],[103.038539,33.124276],[103.038517,33.124245],[103.038484,33.124223],[103.038464,33.124202],[103.038444,33.124185],[103.038415,33.124173],[103.038373,33.124166],[103.038333,33.124163],[103.038306,33.124154],[103.038271,33.124135],[103.03798,33.124113],[103.037817,33.124189],[103.037527,33.124326],[103.037105,33.12476],[103.036544,33.124782],[103.036034,33.124659],[103.035986,33.124648],[103.035736,33.124615],[103.035688,33.124632],[103.0356,33.124646],[103.035524,33.124635],[103.035495,33.124618],[103.035469,33.124601],[103.03545,33.124578],[103.035457,33.124556],[103.035468,33.124537],[103.035488,33.124515],[103.035506,33.124507],[103.035521,33.124498],[103.035554,33.12448],[103.035569,33.124475],[103.035582,33.12446],[103.035585,33.124433],[103.035556,33.124417],[103.035528,33.124416],[103.03549,33.124428],[103.035468,33.124439],[103.035452,33.124452],[103.035435,33.12447],[103.035418,33.124485],[103.035388,33.124499],[103.035358,33.124509],[103.035282,33.124514],[103.035254,33.124513],[103.035224,33.124505],[103.035197,33.124492],[103.035184,33.124484],[103.035171,33.124467],[103.035161,33.124444],[103.035152,33.12442],[103.03514,33.124393],[103.035128,33.124365],[103.035114,33.124342],[103.035103,33.124328],[103.035083,33.124318],[103.03506,33.124312],[103.035036,33.124313],[103.035002,33.124321],[103.034987,33.12433],[103.034979,33.124341],[103.034983,33.124362],[103.035004,33.124382],[103.035036,33.124404],[103.035065,33.124432],[103.035076,33.124449],[103.03508,33.124475],[103.03507,33.124501],[103.035058,33.124523],[103.035045,33.124538],[103.035031,33.124554],[103.035013,33.124569],[103.034989,33.124583],[103.034955,33.1246],[103.034905,33.124603],[103.034875,33.124596],[103.034847,33.124581],[103.034813,33.124572],[103.034789,33.124577],[103.034762,33.124594],[103.034729,33.124615],[103.034692,33.124636],[103.034661,33.124638],[103.034631,33.124633],[103.034593,33.124613],[103.034536,33.124568],[103.034525,33.124553],[103.034517,33.124532],[103.034243,33.12457],[103.034095,33.12459],[103.033704,33.124643],[103.032961,33.124553],[103.032809,33.124535],[103.032726,33.124516],[103.032677,33.124505],[103.032065,33.124366],[103.031688,33.124485],[103.031265,33.125014],[103.031158,33.125069],[103.031089,33.125104],[103.030848,33.125228],[103.030514,33.125128],[103.030371,33.124811],[103.030344,33.124711],[103.030332,33.124666],[103.030311,33.124589],[103.030276,33.12446],[103.030261,33.124464],[103.030236,33.124452],[103.0302,33.124441],[103.030176,33.124426],[103.030169,33.124422],[103.03015,33.124395],[103.03015,33.12438],[103.030172,33.124341],[103.030184,33.124324],[103.030231,33.124303],[103.029903,33.124017],[103.029492,33.123979],[103.029399,33.123982],[103.028931,33.124001],[103.028743,33.123974],[103.028697,33.123947],[103.028675,33.123929],[103.028654,33.123896],[103.028641,33.123869],[103.028609,33.123843],[103.028573,33.123817],[103.028525,33.123794],[103.028481,33.123776],[103.028413,33.123757],[103.028341,33.123746],[103.02828,33.123744],[103.028191,33.123643],[103.028197,33.12361],[103.028215,33.123508],[103.028224,33.123457],[103.028233,33.123408],[103.02826,33.123263],[103.028262,33.123248],[103.028276,33.123172],[103.028294,33.122386],[103.028227,33.12225],[103.028195,33.122184],[103.028165,33.122123],[103.028157,33.122108],[103.027936,33.121656],[103.027291,33.121322],[103.027122,33.121234],[103.026047,33.121012],[103.025968,33.120996],[103.025233,33.121048],[103.025069,33.12106],[103.025068,33.12108],[103.02507,33.121097],[103.025074,33.121114],[103.025077,33.121132],[103.02508,33.121149],[103.025083,33.121166],[103.025074,33.121189],[103.025058,33.121226],[103.025046,33.121243],[103.025021,33.121267],[103.024998,33.121276],[103.024953,33.12128],[103.024913,33.12128],[103.024857,33.121269],[103.024828,33.121258],[103.024813,33.121242],[103.02481,33.12122],[103.02481,33.1212],[103.024818,33.121179],[103.024827,33.121157],[103.024832,33.121139],[103.024838,33.12112],[103.024842,33.1211],[103.024841,33.12108],[103.02483,33.121043],[103.024784,33.121002],[103.024752,33.120978],[103.024707,33.120954],[103.024668,33.120965],[103.024667,33.120986],[103.024673,33.121016],[103.024691,33.121055],[103.024694,33.121069],[103.024706,33.121106],[103.024712,33.121132],[103.024707,33.12115],[103.024697,33.121179],[103.02469,33.121208],[103.024676,33.121243],[103.024667,33.12127],[103.024656,33.121303],[103.024641,33.121332],[103.024615,33.121359],[103.024584,33.121375],[103.024533,33.121385],[103.024487,33.121386],[103.024447,33.12138],[103.024417,33.121366],[103.024412,33.121345],[103.024411,33.121327],[103.024428,33.121298],[103.024436,33.121282],[103.024437,33.121252],[103.024436,33.121242],[103.024421,33.121228],[103.024391,33.121216],[103.024347,33.121204],[103.024323,33.121202],[103.024305,33.121197],[103.024267,33.121187],[103.024118,33.121215],[103.024107,33.121217],[103.023859,33.121263],[103.023802,33.121254],[103.023699,33.121247],[103.023618,33.121256],[103.023599,33.121261],[103.023582,33.121267],[103.023567,33.121273],[103.023429,33.12127],[103.023128,33.121265],[103.023045,33.121264],[103.022891,33.121212],[103.022852,33.121206],[103.022819,33.121194],[103.022797,33.121165],[103.022764,33.121121],[103.022731,33.121077],[103.022719,33.12106],[103.022688,33.121041],[103.022644,33.121014],[103.022528,33.120941],[103.022415,33.120837],[103.021938,33.120401],[103.021818,33.120291],[103.021759,33.120236],[103.021751,33.120141],[103.02175,33.120128],[103.02175,33.120118],[103.021747,33.120079],[103.021732,33.120073],[103.021712,33.120054],[103.021712,33.120032],[103.021719,33.120008],[103.02174,33.119989],[103.021761,33.119946],[103.02177,33.119906],[103.021779,33.119871],[103.02179,33.119836],[103.021798,33.119809],[103.021803,33.119782],[103.0218,33.119749],[103.021771,33.119717],[103.021755,33.119696],[103.021709,33.119658],[103.021699,33.119563],[103.021668,33.119259],[103.021264,33.118818],[103.02123,33.11878],[103.021082,33.118727],[103.021023,33.118707],[103.020674,33.118582],[103.020461,33.118531],[103.020116,33.118448],[103.020047,33.118264],[103.020003,33.118145],[103.019985,33.118097],[103.020011,33.1181],[103.02004,33.118113],[103.020058,33.118124],[103.020078,33.118171],[103.020085,33.11819],[103.020092,33.118216],[103.020111,33.118242],[103.020138,33.11826],[103.020172,33.118265],[103.020212,33.118261],[103.020241,33.118255],[103.020264,33.11825],[103.020284,33.118238],[103.020321,33.118223],[103.020332,33.118208],[103.020298,33.118188],[103.02026,33.118182],[103.020238,33.118171],[103.020222,33.118142],[103.020226,33.118118],[103.020234,33.11808],[103.020221,33.118044],[103.020206,33.118021],[103.02019,33.117999],[103.020157,33.117976],[103.020128,33.117959],[103.020088,33.11795],[103.020043,33.117953],[103.020016,33.117962],[103.019996,33.11798],[103.019978,33.118007],[103.019958,33.118024],[103.019928,33.117944],[103.019911,33.117897],[103.01985,33.117903],[103.019803,33.117915],[103.019749,33.117945],[103.01971,33.117963],[103.019679,33.11796],[103.019655,33.117933],[103.019632,33.117883],[103.019632,33.117834],[103.019643,33.117793],[103.019664,33.117741],[103.019517,33.117658],[103.019522,33.117614],[103.019526,33.117542],[103.019513,33.1175],[103.019487,33.117487],[103.01941,33.117467],[103.01934,33.117468],[103.019271,33.117467],[103.019227,33.117455],[103.019171,33.117423],[103.019136,33.117383],[103.01909,33.117324],[103.019063,33.117257],[103.019029,33.117227],[103.018993,33.117217],[103.018922,33.117232],[103.01886,33.117251],[103.018781,33.117259],[103.018717,33.117248],[103.018644,33.117219],[103.018576,33.117134],[103.01848,33.11713],[103.018373,33.117162],[103.018339,33.117171],[103.018131,33.117111],[103.018113,33.117106],[103.018059,33.11709],[103.01791,33.117046],[103.017896,33.117014],[103.01788,33.116993],[103.01784,33.116968],[103.017807,33.116952],[103.017775,33.11694],[103.017729,33.116943],[103.017705,33.116953],[103.017663,33.116975],[103.017383,33.116893],[103.017298,33.116833],[103.017276,33.116817],[103.017179,33.116749],[103.017154,33.116731],[103.016794,33.116475],[103.01674,33.116186],[103.016736,33.116165],[103.016692,33.115932],[103.016688,33.11591],[103.016644,33.115674],[103.016642,33.11566],[103.016641,33.115655],[103.016629,33.115595],[103.016629,33.115591],[103.016625,33.115571],[103.016597,33.115423],[103.016594,33.115406],[103.016593,33.115402],[103.016582,33.115332],[103.016578,33.115309],[103.016576,33.115299],[103.016481,33.114728],[103.016462,33.114613],[103.016252,33.114387],[103.016091,33.114214],[103.016025,33.114142],[103.015987,33.114101],[103.015956,33.114065],[103.015607,33.113647],[103.015586,33.113623],[103.015586,33.113623],[103.015495,33.113537],[103.015147,33.113207],[103.015233,33.112705],[103.015171,33.112604],[103.015159,33.112584],[103.015072,33.112441],[103.015029,33.112371],[103.014983,33.11238],[103.014915,33.112368],[103.014885,33.112356],[103.01487,33.112339],[103.014869,33.112315],[103.014883,33.112291],[103.014899,33.112282],[103.0149,33.112265],[103.014891,33.112254],[103.014869,33.112235],[103.01483,33.112213],[103.014803,33.11219],[103.014799,33.112181],[103.01476,33.112128],[103.014753,33.112105],[103.01474,33.112083],[103.01473,33.112067],[103.014699,33.112052],[103.01468,33.112056],[103.014639,33.112084],[103.014631,33.112079],[103.014595,33.112058],[103.014501,33.112],[103.014627,33.111373],[103.01461,33.111045],[103.014606,33.110971],[103.014608,33.11097],[103.014623,33.11095],[103.014622,33.11093],[103.014616,33.110908],[103.014608,33.110882],[103.014606,33.110852],[103.014613,33.110827],[103.014622,33.110794],[103.014632,33.110773],[103.014637,33.110752],[103.01463,33.110731],[103.014617,33.110722],[103.014577,33.110714],[103.01456,33.110604],[103.01452,33.110348],[103.014503,33.110238],[103.014171,33.110012],[103.014019,33.11001],[103.013621,33.110004],[103.013499,33.110002],[103.013321,33.110092],[103.013263,33.110121],[103.013213,33.110147],[103.013163,33.110173],[103.013119,33.110184],[103.013076,33.11019],[103.013046,33.110188],[103.013011,33.110179],[103.012976,33.110158],[103.01294,33.110128],[103.012879,33.11008],[103.012834,33.110054],[103.012754,33.110042],[103.012711,33.110064],[103.012681,33.110114],[103.012664,33.110181],[103.012655,33.110247],[103.012651,33.110309],[103.012647,33.110383],[103.012645,33.110402],[103.012635,33.110433],[103.012624,33.110462],[103.012608,33.11049],[103.012582,33.110521],[103.012549,33.110541],[103.012514,33.110544],[103.012476,33.110539],[103.01246,33.110524],[103.012438,33.110483],[103.012417,33.110456],[103.012399,33.110411],[103.012387,33.110395],[103.012354,33.110384],[103.01233,33.110377],[103.012315,33.110363],[103.012294,33.110346],[103.012279,33.110326],[103.012249,33.110307],[103.012215,33.110292],[103.012179,33.110306],[103.01215,33.110323],[103.012119,33.110336],[103.012073,33.110335],[103.012034,33.110329],[103.011996,33.11031],[103.011949,33.110279],[103.011908,33.110262],[103.011884,33.11025],[103.011867,33.110243],[103.011854,33.110239],[103.011802,33.110238],[103.01176,33.110249],[103.011723,33.110264],[103.011663,33.110288],[103.011618,33.110295],[103.011574,33.110294],[103.011539,33.110286],[103.011517,33.110275],[103.011494,33.110262],[103.011477,33.110236],[103.011465,33.110202],[103.011465,33.110176],[103.011452,33.110135],[103.011431,33.110094],[103.011419,33.110059],[103.01139,33.11003],[103.011342,33.110021],[103.01121,33.110019],[103.011161,33.110039],[103.011166,33.110087],[103.011191,33.110137],[103.011244,33.110198],[103.011289,33.110261],[103.011326,33.110322],[103.011351,33.110362],[103.011399,33.110405],[103.011426,33.110441],[103.011445,33.110502],[103.01145,33.110589],[103.01145,33.110631],[103.011445,33.110668],[103.011415,33.110684],[103.011367,33.110686],[103.01129,33.110681],[103.011261,33.110682],[103.011244,33.110724],[103.011261,33.110768],[103.011283,33.110811],[103.011289,33.110846],[103.011294,33.110872],[103.011296,33.110948],[103.011297,33.110965],[103.011292,33.111046],[103.011289,33.111109],[103.011258,33.111167],[103.01121,33.111226],[103.011155,33.111273],[103.011101,33.111305],[103.011032,33.111365],[103.010967,33.111397],[103.010876,33.111395],[103.010801,33.111368],[103.010739,33.111335],[103.010665,33.111322],[103.010554,33.111331],[103.010445,33.111369],[103.010366,33.111375],[103.010265,33.11135],[103.010156,33.111314],[103.010083,33.111311],[103.01,33.111311],[103.009935,33.111325],[103.009893,33.111342],[103.00973,33.111263],[103.009723,33.111256],[103.009682,33.11121],[103.009659,33.111186],[103.009292,33.110784],[103.009288,33.110682],[103.009268,33.110186],[103.00936,33.109883],[103.009375,33.109836],[103.00943,33.109653],[103.009376,33.109607],[103.00918,33.109435],[103.009122,33.109384],[103.0091,33.109365],[103.008943,33.109273],[103.008904,33.10925],[103.008768,33.109171],[103.008569,33.109158],[103.00854,33.109156],[103.008298,33.10914],[103.008133,33.109129],[103.008104,33.109123],[103.008035,33.109108],[103.008034,33.10913],[103.008024,33.109151],[103.008006,33.109164],[103.007972,33.109163],[103.007941,33.109158],[103.007899,33.109136],[103.007875,33.109118],[103.007843,33.109091],[103.007805,33.109058],[103.007767,33.109031],[103.00774,33.109025],[103.007681,33.109035],[103.00765,33.109055],[103.007631,33.109081],[103.00762,33.109107],[103.0076,33.109133],[103.007569,33.109152],[103.007532,33.109172],[103.007481,33.109181],[103.007427,33.10919],[103.007389,33.109207],[103.007364,33.109229],[103.007331,33.109251],[103.007288,33.109267],[103.007251,33.109271],[103.00719,33.109263],[103.007127,33.109235],[103.007074,33.109199],[103.007032,33.109168],[103.00699,33.109143],[103.006951,33.109125],[103.006899,33.109105],[103.006872,33.109076],[103.006866,33.10903],[103.006869,33.108988],[103.006867,33.108965],[103.006861,33.108955],[103.006822,33.108886],[103.006842,33.108845],[103.006804,33.108836],[103.006768,33.10882],[103.006728,33.108793],[103.006695,33.10878],[103.006687,33.108786],[103.006632,33.108787],[103.006601,33.108786],[103.006557,33.108762],[103.006518,33.108739],[103.00641,33.108697],[103.006384,33.108684],[103.006369,33.10867],[103.006355,33.10864],[103.006348,33.108603],[103.006369,33.108576],[103.006379,33.10856],[103.00638,33.108531],[103.006357,33.108508],[103.006266,33.108524],[103.006234,33.108528],[103.00619,33.108526],[103.006168,33.108517],[103.006144,33.108498],[103.006117,33.108444],[103.006118,33.108386],[103.006129,33.108331],[103.006154,33.108294],[103.006188,33.108258],[103.006197,33.108208],[103.006175,33.108189],[103.006123,33.108138],[103.006087,33.108071],[103.006084,33.108065],[103.006044,33.107994],[103.006019,33.107956],[103.005998,33.107912],[103.005961,33.107893],[103.005915,33.107876],[103.005847,33.107851],[103.00579,33.107832],[103.005742,33.107806],[103.005706,33.107784],[103.005677,33.10776],[103.005652,33.107725],[103.005603,33.10769],[103.005559,33.107681],[103.005522,33.107672],[103.005458,33.107614],[103.005359,33.107587],[103.005246,33.107583],[103.005172,33.107558],[103.005115,33.10752],[103.005063,33.107478],[103.005021,33.107416],[103.004978,33.107358],[103.004968,33.107329],[103.004963,33.107274],[103.004992,33.107208],[103.005013,33.107163],[103.004985,33.107085],[103.004934,33.10703],[103.004904,33.106996],[103.004916,33.106908],[103.004908,33.10688],[103.004875,33.10685],[103.00483,33.106814],[103.004743,33.106819],[103.004659,33.106866],[103.004616,33.106874],[103.00455,33.106869],[103.004519,33.106844],[103.004506,33.106828],[103.004496,33.106799],[103.004482,33.106748],[103.004461,33.106699],[103.00444,33.10668],[103.004399,33.106657],[103.00437,33.106652],[103.004345,33.106648],[103.004325,33.106664],[103.004308,33.106712],[103.004233,33.106786],[103.004186,33.106848],[103.004131,33.106907],[103.004061,33.106946],[103.004004,33.106968],[103.003907,33.106978],[103.003803,33.106974],[103.003756,33.106942],[103.003722,33.106883],[103.003701,33.106825],[103.003699,33.106752],[103.003699,33.10671],[103.003729,33.106607],[103.003747,33.10657],[103.003742,33.106542],[103.003708,33.106527],[103.003558,33.10652],[103.003453,33.106491],[103.003435,33.106458],[103.003432,33.106401],[103.003438,33.106356],[103.003449,33.106364],[103.00347,33.106374],[103.003487,33.10638],[103.003516,33.106369],[103.003507,33.106343],[103.003433,33.106145],[103.003433,33.106145],[103.003428,33.106132],[103.003415,33.106097],[103.003344,33.105905],[103.003347,33.105898],[103.003386,33.105814],[103.003393,33.105798],[103.003447,33.105681],[103.003465,33.10564],[103.003495,33.105613],[103.003519,33.105584],[103.003535,33.105556],[103.003553,33.105529],[103.003584,33.105493],[103.003608,33.105478],[103.003664,33.105459],[103.003718,33.105444],[103.003751,33.105424],[103.003766,33.105404],[103.003761,33.105384],[103.003733,33.105374],[103.003688,33.105378],[103.003668,33.105385],[103.003608,33.105411],[103.003653,33.105348],[103.003661,33.105336],[103.003771,33.105182],[103.00381,33.105126],[103.003857,33.104717],[103.003675,33.104494],[103.003236,33.104542],[103.003215,33.104544],[103.003185,33.104535],[103.003157,33.104528],[103.003137,33.104528],[103.003113,33.104531],[103.003089,33.104541],[103.003063,33.104554],[103.003026,33.104565],[103.00299,33.104569],[103.002983,33.104539],[103.002962,33.104516],[103.002919,33.104494],[103.002885,33.104484],[103.002854,33.104493],[103.002842,33.104515],[103.002837,33.104544],[103.002833,33.104573],[103.002821,33.104602],[103.002788,33.104621],[103.002753,33.10463],[103.002728,33.104625],[103.002719,33.104615],[103.002712,33.104598],[103.002706,33.104574],[103.002698,33.104549],[103.002673,33.104527],[103.002658,33.104529],[103.002643,33.104541],[103.002622,33.104577],[103.002598,33.10461],[103.002573,33.104646],[103.002561,33.104674],[103.00256,33.104701],[103.002571,33.104718],[103.002523,33.104738],[103.002321,33.104818],[103.001836,33.104811],[103.00167,33.104724],[103.001466,33.104616],[103.001029,33.104074],[103.000854,33.103663],[103.000818,33.103578],[103.000745,33.103408],[103.00074,33.103394],[103.000788,33.10334],[103.000822,33.103328],[103.000853,33.103309],[103.000861,33.103282],[103.000831,33.103253],[103.000804,33.103233],[103.000763,33.103218],[103.000733,33.103183],[103.000712,33.103138],[103.000689,33.103106],[103.000655,33.103075],[103.000611,33.103062],[103.000462,33.10268],[103.000106,33.102294],[102.999784,33.101944],[102.99957,33.101757],[102.999457,33.101658],[102.999425,33.10163],[102.999525,33.101596],[102.99956,33.101582],[102.999567,33.101567],[102.99955,33.101557],[102.99948,33.101555],[102.999431,33.101555],[102.999383,33.101556],[102.999365,33.10156],[102.999332,33.101555],[102.999299,33.101548],[102.99924,33.101526],[102.999219,33.10149],[102.999211,33.101419],[102.999221,33.101345],[102.999213,33.101333],[102.999123,33.101199],[102.998839,33.100777],[102.998445,33.100478],[102.998188,33.100283],[102.998153,33.100255],[102.998117,33.100225],[102.99809,33.100244],[102.998054,33.100247],[102.997955,33.100218],[102.997911,33.100193],[102.997883,33.100164],[102.997876,33.100149],[102.997882,33.10011],[102.997913,33.10008],[102.997922,33.100064],[102.997929,33.100036],[102.997924,33.099988],[102.997886,33.099945],[102.997858,33.099933],[102.9978,33.099964],[102.997651,33.100049],[102.997607,33.100056],[102.99756,33.100042],[102.997532,33.100005],[102.997508,33.09996],[102.997499,33.099931],[102.99749,33.099873],[102.997485,33.099807],[102.997473,33.099767],[102.997437,33.099751],[102.997403,33.09975],[102.997366,33.099756],[102.997319,33.099782],[102.997281,33.099804],[102.997239,33.099837],[102.997206,33.099869],[102.997185,33.099874],[102.997156,33.099868],[102.997119,33.099837],[102.99711,33.09981],[102.997161,33.099794],[102.997232,33.099787],[102.997318,33.09976],[102.997361,33.099735],[102.997363,33.099695],[102.997341,33.099643],[102.997295,33.099615],[102.99725,33.099618],[102.997193,33.099649],[102.997132,33.099661],[102.997096,33.09965],[102.997057,33.099629],[102.997023,33.099625],[102.996991,33.099665],[102.996949,33.099732],[102.996915,33.099769],[102.99689,33.099779],[102.996854,33.099772],[102.996832,33.099749],[102.99685,33.09973],[102.996888,33.099719],[102.996923,33.099675],[102.996922,33.099634],[102.996924,33.099588],[102.996954,33.099554],[102.997027,33.099529],[102.997065,33.09949],[102.997073,33.099441],[102.9971,33.099379],[102.997122,33.099373],[102.997156,33.09938],[102.997202,33.099375],[102.997229,33.099362],[102.99724,33.099318],[102.997236,33.099284],[102.997226,33.099245],[102.997202,33.099217],[102.997137,33.099183],[102.997092,33.099162],[102.997039,33.099118],[102.997021,33.099073],[102.997038,33.099053],[102.997072,33.099044],[102.997095,33.099069],[102.99712,33.099096],[102.997172,33.099122],[102.997245,33.09913],[102.997359,33.099106],[102.997408,33.099089],[102.997437,33.099062],[102.997433,33.099035],[102.997385,33.099005],[102.997298,33.098966],[102.997243,33.098937],[102.997173,33.098898],[102.997095,33.098853],[102.997049,33.098811],[102.997051,33.098769],[102.99708,33.098754],[102.997123,33.098759],[102.997176,33.098787],[102.997206,33.098814],[102.997283,33.098875],[102.997271,33.098733],[102.997261,33.098615],[102.997256,33.098559],[102.997257,33.09855],[102.997277,33.09835],[102.997229,33.098339],[102.997209,33.098322],[102.997205,33.098296],[102.997227,33.098283],[102.997253,33.09827],[102.997264,33.098252],[102.997264,33.098226],[102.997242,33.098183],[102.997192,33.098145],[102.997135,33.098114],[102.997106,33.098094],[102.997103,33.098058],[102.997117,33.098035],[102.997137,33.098023],[102.997188,33.098032],[102.997233,33.09805],[102.997269,33.098059],[102.997308,33.098053],[102.99735,33.098004],[102.997368,33.097952],[102.997366,33.097918],[102.997343,33.097873],[102.99729,33.097841],[102.997232,33.097846],[102.997102,33.097591],[102.996909,33.097464],[102.996895,33.097455],[102.996911,33.097401],[102.996921,33.097354],[102.996913,33.097317],[102.996882,33.097285],[102.996838,33.097266],[102.996755,33.097256],[102.996695,33.097258],[102.996696,33.097265],[102.996695,33.097323],[102.99658,33.097248],[102.996102,33.09715],[102.996049,33.097139],[102.996039,33.097137],[102.995836,33.097096],[102.995789,33.097086],[102.995616,33.097212],[102.995513,33.097287],[102.995491,33.097303],[102.99534,33.097414],[102.995163,33.097344],[102.994552,33.097104],[102.993953,33.096277],[102.993551,33.09594],[102.993528,33.095921],[102.993453,33.095858],[102.993371,33.09579],[102.993266,33.095702],[102.993257,33.095624],[102.993248,33.09558],[102.993223,33.095552],[102.993191,33.09555],[102.993073,33.09554],[102.993059,33.095529],[102.993024,33.095499],[102.992987,33.095468],[102.992963,33.095448],[102.992957,33.095443],[102.992898,33.095336],[102.992893,33.095326],[102.992882,33.095307],[102.992791,33.09514],[102.992778,33.095116],[102.992724,33.095018],[102.992714,33.094999],[102.992657,33.094894],[102.992645,33.094872],[102.992569,33.094733],[102.992556,33.094709],[102.992435,33.094488],[102.992323,33.094442],[102.99226,33.094404],[102.992217,33.094338],[102.992208,33.094264],[102.992198,33.094183],[102.992209,33.094111],[102.992241,33.094058],[102.992219,33.093995],[102.992155,33.093915],[102.992094,33.093871],[102.992026,33.093815],[102.991958,33.093747],[102.991904,33.093685],[102.991864,33.093598],[102.991842,33.093494],[102.99183,33.093432],[102.991776,33.093355],[102.991725,33.093344],[102.991724,33.093342],[102.991706,33.093312],[102.99143,33.092838],[102.991287,33.092873],[102.991264,33.092873],[102.99125,33.092842],[102.991244,33.092806],[102.991255,33.092758],[102.99128,33.092725],[102.991339,33.092682],[102.99138,33.09259],[102.99138,33.092545],[102.991334,33.092519],[102.991257,33.092503],[102.991231,33.092496],[102.991003,33.092105],[102.990985,33.092048],[102.990756,33.091283],[102.990656,33.091231],[102.989491,33.090631],[102.989364,33.090465],[102.989269,33.090339],[102.989172,33.090273],[102.98911,33.090215],[102.989064,33.090145],[102.989034,33.090084],[102.988983,33.090017],[102.988927,33.089973],[102.98889,33.089939],[102.988826,33.089876],[102.988806,33.089824],[102.988813,33.08978],[102.988867,33.089752],[102.988919,33.08973],[102.988982,33.089715],[102.989027,33.089721],[102.989084,33.08971],[102.989111,33.089673],[102.989134,33.089602],[102.989139,33.089546],[102.989128,33.089493],[102.989081,33.089449],[102.988989,33.08941],[102.988992,33.089262],[102.988999,33.088951],[102.988965,33.088505],[102.988824,33.08843],[102.98871,33.08837],[102.988353,33.088182],[102.987875,33.08793],[102.987238,33.087739],[102.987181,33.087722],[102.987126,33.087706],[102.986654,33.087565],[102.98656,33.087537],[102.986387,33.087446],[102.986421,33.087408],[102.986403,33.08737],[102.986372,33.087311],[102.986326,33.087276],[102.986235,33.087244],[102.986151,33.087228],[102.986062,33.087192],[102.986004,33.08717],[102.985954,33.087109],[102.985844,33.087097],[102.985791,33.087132],[102.985688,33.087077],[102.985606,33.086943],[102.985363,33.086542],[102.985132,33.086162],[102.985049,33.086026],[102.984499,33.085014],[102.984031,33.084226],[102.983512,33.083772],[102.982649,33.082903],[102.982003,33.082224],[102.981612,33.081958],[102.980294,33.081676],[102.979567,33.080661],[102.978966,33.079908],[102.978661,33.079571],[102.978148,33.079003],[102.97755,33.078663],[102.977408,33.078583],[102.976311,33.078305],[102.975882,33.07774],[102.975916,33.077252],[102.975936,33.077246],[102.975987,33.077236],[102.976021,33.077226],[102.976067,33.077204],[102.976115,33.077176],[102.976137,33.077151],[102.976148,33.077127],[102.97615,33.077096],[102.976141,33.077065],[102.976134,33.077043],[102.976124,33.076997],[102.97611,33.076969],[102.976124,33.076942],[102.976152,33.076913],[102.976188,33.07689],[102.976207,33.076849],[102.976206,33.07682],[102.976197,33.076794],[102.976173,33.076777],[102.976139,33.076753],[102.976075,33.076731],[102.976044,33.076726],[102.976014,33.076721],[102.975994,33.076703],[102.975964,33.076668],[102.975931,33.076617],[102.9759,33.076565],[102.97587,33.076434],[102.975784,33.07606],[102.975708,33.075731],[102.975456,33.075352],[102.975403,33.075271],[102.97541,33.075255],[102.975412,33.075243],[102.975411,33.075229],[102.975409,33.075212],[102.975408,33.075202],[102.975405,33.07518],[102.975405,33.075162],[102.975409,33.075149],[102.975418,33.075143],[102.975437,33.075143],[102.975438,33.075152],[102.975432,33.075175],[102.975431,33.075194],[102.975454,33.075205],[102.975475,33.0752],[102.975497,33.075178],[102.975504,33.075149],[102.975505,33.075119],[102.975493,33.075107],[102.975479,33.075096],[102.975472,33.075075],[102.975457,33.075066],[102.975424,33.075074],[102.975412,33.075079],[102.975399,33.075081],[102.975356,33.075084],[102.975329,33.075072],[102.97529,33.075067],[102.975269,33.075069],[102.975253,33.075068],[102.975243,33.075066],[102.975234,33.07506],[102.975231,33.075048],[102.975233,33.07504],[102.975247,33.075035],[102.975268,33.075031],[102.975285,33.075026],[102.975308,33.075013],[102.975311,33.074994],[102.975302,33.074971],[102.975287,33.07496],[102.975258,33.074939],[102.97523,33.074922],[102.975209,33.074905],[102.975185,33.074894],[102.975161,33.074879],[102.975139,33.074872],[102.975127,33.074869],[102.975118,33.074861],[102.975114,33.07485],[102.975117,33.074839],[102.975132,33.074814],[102.975138,33.074808],[102.975148,33.074797],[102.975167,33.074772],[102.975155,33.07475],[102.975135,33.07474],[102.975128,33.074737],[102.97511,33.074721],[102.975101,33.074697],[102.975082,33.074672],[102.975047,33.074666],[102.97504,33.074675],[102.975037,33.074695],[102.975035,33.074711],[102.975017,33.074722],[102.974994,33.074725],[102.97498,33.074728],[102.974965,33.074727],[102.974953,33.074723],[102.974947,33.074717],[102.974947,33.074706],[102.974957,33.074692],[102.974975,33.074673],[102.974976,33.074656],[102.974963,33.074639],[102.974944,33.074623],[102.974935,33.074608],[102.974927,33.074586],[102.974915,33.074575],[102.974891,33.07456],[102.974873,33.074544],[102.974866,33.074527],[102.97486,33.074507],[102.974852,33.074486],[102.974832,33.074474],[102.974815,33.074466],[102.974774,33.074456],[102.974754,33.07446],[102.974729,33.074471],[102.974726,33.074486],[102.974725,33.0745],[102.974725,33.074528],[102.974716,33.074547],[102.974696,33.074559],[102.97468,33.074559],[102.974665,33.074558],[102.974631,33.074543],[102.974619,33.074523],[102.974618,33.0745],[102.97463,33.074478],[102.974632,33.074449],[102.974623,33.074427],[102.974592,33.074408],[102.974557,33.074417],[102.97453,33.074424],[102.974517,33.074424],[102.974503,33.074424],[102.974482,33.074409],[102.974482,33.074397],[102.9745,33.074373],[102.97453,33.074342],[102.974551,33.074329],[102.974546,33.074304],[102.974528,33.07428],[102.974485,33.07427],[102.974457,33.074265],[102.974391,33.074242],[102.974345,33.074214],[102.974299,33.074177],[102.974257,33.074135],[102.974217,33.074074],[102.974187,33.074036],[102.974151,33.074007],[102.974102,33.073961],[102.974025,33.073888],[102.973998,33.073857],[102.973967,33.07383],[102.97394,33.073796],[102.973904,33.07375],[102.973854,33.073756],[102.973849,33.07375],[102.973819,33.073704],[102.973776,33.073635],[102.97366,33.073485],[102.973636,33.073459],[102.973606,33.073428],[102.973583,33.073397],[102.973559,33.073361],[102.973529,33.073341],[102.973482,33.073314],[102.973466,33.073296],[102.973454,33.073252],[102.973442,33.07323],[102.973423,33.073214],[102.973391,33.07319],[102.97335,33.073177],[102.973322,33.073165],[102.973292,33.073146],[102.973282,33.073118],[102.973277,33.073082],[102.973267,33.073062],[102.973223,33.073032],[102.973176,33.073006],[102.973106,33.072967],[102.973059,33.072937],[102.973066,33.072893],[102.973046,33.072884],[102.972995,33.072855],[102.972978,33.072833],[102.972938,33.072801],[102.97291,33.072771],[102.972888,33.072742],[102.97286,33.072701],[102.972833,33.072668],[102.972803,33.072619],[102.972797,33.072602],[102.972789,33.072577],[102.972789,33.072563],[102.972809,33.072543],[102.972834,33.072516],[102.972837,33.072503],[102.972835,33.072484],[102.972831,33.072473],[102.972827,33.072459],[102.972803,33.072437],[102.972775,33.072413],[102.972746,33.07238],[102.972723,33.072365],[102.972705,33.072352],[102.972691,33.072337],[102.972677,33.072314],[102.972665,33.072291],[102.972648,33.072262],[102.972621,33.072223],[102.972614,33.072204],[102.972578,33.072109],[102.972195,33.071104],[102.971661,33.069933],[102.971649,33.069906],[102.971306,33.06967],[102.970433,33.069069],[102.969985,33.068838],[102.96992,33.068804],[102.969896,33.06882],[102.969864,33.068801],[102.969825,33.068783],[102.969795,33.068764],[102.969759,33.068742],[102.969749,33.068733],[102.969735,33.068709],[102.969685,33.068683],[102.969168,33.068416],[102.968553,33.067811],[102.968477,33.067736],[102.968404,33.067423],[102.968384,33.067336],[102.968363,33.067332],[102.968335,33.067312],[102.968322,33.0673],[102.968318,33.067277],[102.968324,33.06725],[102.968337,33.067232],[102.96835,33.067222],[102.968356,33.06722],[102.968398,33.067212],[102.968411,33.067212],[102.968445,33.067198],[102.968454,33.06718],[102.968447,33.067161],[102.968426,33.067137],[102.968392,33.067112],[102.968372,33.067101],[102.968356,33.067091],[102.968321,33.067071],[102.968302,33.067056],[102.96829,33.067047],[102.968278,33.067036],[102.968271,33.067024],[102.968269,33.067009],[102.96827,33.066993],[102.968281,33.066974],[102.968296,33.066961],[102.968321,33.066945],[102.96835,33.066937],[102.968403,33.066932],[102.968445,33.066929],[102.968473,33.066925],[102.968491,33.066904],[102.96849,33.066884],[102.96848,33.066872],[102.968462,33.066864],[102.968424,33.06686],[102.968404,33.066859],[102.968384,33.066858],[102.968346,33.066844],[102.96833,33.066818],[102.968323,33.066807],[102.968312,33.066798],[102.968298,33.066793],[102.968278,33.06679],[102.96828,33.06672],[102.968286,33.066451],[102.968292,33.06621],[102.968175,33.065539],[102.967934,33.065222],[102.967489,33.064636],[102.967228,33.064239],[102.96728,33.064215],[102.967297,33.064203],[102.9673,33.064167],[102.967288,33.064113],[102.967249,33.064082],[102.967212,33.06407],[102.967168,33.06407],[102.967116,33.06407],[102.966722,33.063472],[102.966028,33.06294],[102.965237,33.062816],[102.96426,33.06306],[102.96396,33.063143],[102.963865,33.06317],[102.962617,33.063516],[102.960792,33.064192],[102.959416,33.064541],[102.958356,33.064598],[102.957133,33.064058],[102.956519,33.063899],[102.955595,33.063773],[102.954944,33.063279],[102.954309,33.062117],[102.953721,33.060844],[102.953557,33.060173],[102.953439,33.059687],[102.953426,33.05914],[102.953401,33.058019],[102.953395,33.057754],[102.953401,33.057727],[102.953429,33.057599],[102.953438,33.057575],[102.953482,33.057455],[102.953515,33.057373],[102.953518,33.057226],[102.953527,33.057188],[102.953547,33.057108],[102.953601,33.057025],[102.953668,33.056932],[102.953696,33.056813],[102.953635,33.056631],[102.953616,33.056485],[102.953632,33.056324],[102.95363,33.056188],[102.95362,33.056019],[102.953639,33.05583],[102.953701,33.055665],[102.953789,33.055517],[102.953817,33.055363],[102.953828,33.055234],[102.953928,33.055083],[102.954007,33.054911],[102.954077,33.054667],[102.954105,33.054534],[102.954164,33.054391],[102.95424,33.053644],[102.954345,33.05294],[102.954577,33.052464],[102.954598,33.052421],[102.955224,33.051136],[102.954887,33.050447],[102.953077,33.049407],[102.952143,33.048753],[102.952035,33.048677],[102.951621,33.048179],[102.951643,33.048115],[102.951633,33.048022],[102.951564,33.047883],[102.951473,33.047748],[102.951336,33.04762],[102.951177,33.047521],[102.95104,33.047444],[102.950835,33.047306],[102.950715,33.047228],[102.950573,33.047075],[102.950535,33.047031],[102.950431,33.046911],[102.950379,33.046815],[102.950358,33.046662],[102.950089,33.046339],[102.947847,33.043646],[102.947433,33.043283],[102.947401,33.043255],[102.94723,33.043106],[102.947222,33.043098],[102.946879,33.042798],[102.946802,33.042783],[102.945685,33.04257],[102.944946,33.042499],[102.944704,33.042287],[102.944747,33.041931],[102.945112,33.041432],[102.945123,33.040957],[102.94475,33.040297],[102.943924,33.039421],[102.943658,33.038704],[102.943602,33.038079],[102.944185,33.037286],[102.944209,33.037241],[102.944406,33.036874],[102.944424,33.036102],[102.944123,33.035384],[102.944095,33.034921],[102.944072,33.034551],[102.943913,33.033805],[102.94418,33.032918],[102.944664,33.031827],[102.945058,33.030051],[102.945043,33.029189],[102.944982,33.028989],[102.944814,33.028442],[102.944594,33.027943],[102.944445,33.027604],[102.945072,33.026791],[102.945281,33.026518],[102.945435,33.026194],[102.945727,33.025575],[102.945566,33.024919],[102.945046,33.024524],[102.944453,33.024217],[102.943649,33.023907],[102.942559,33.02377],[102.942032,33.02392],[102.94128,33.024135],[102.941164,33.024176],[102.940879,33.024276],[102.940872,33.024278],[102.940623,33.024366],[102.940391,33.024447],[102.940279,33.024408],[102.940119,33.024354],[102.939937,33.024291],[102.939399,33.023421],[102.939121,33.02297],[102.938479,33.021746],[102.938445,33.021681],[102.938288,33.020847],[102.938525,33.019781],[102.938376,33.018899],[102.93852,33.018718],[102.938521,33.018625],[102.938446,33.018669],[102.93837,33.018701],[102.938345,33.018712],[102.938343,33.018702],[102.938339,33.018678],[102.938286,33.018599],[102.938279,33.018589],[102.938274,33.018581],[102.938174,33.01843],[102.938168,33.01842],[102.93782,33.017896],[102.937521,33.017447],[102.937508,33.017424],[102.93746,33.017342],[102.937046,33.016636],[102.936235,33.015859],[102.936191,33.015817],[102.936065,33.015696],[102.935942,33.015578],[102.935778,33.015212],[102.935742,33.01513],[102.935734,33.015114],[102.935717,33.015074],[102.93571,33.01506],[102.935674,33.01498],[102.935204,33.014003],[102.935164,33.013919],[102.935134,33.013858],[102.935069,33.013722],[102.935054,33.013682],[102.935033,33.013621],[102.934704,33.012705],[102.93449,33.011729],[102.934481,33.011691],[102.934762,33.010955],[102.934819,33.010806],[102.935438,33.009984],[102.935813,33.009039],[102.935908,33.008724],[102.935914,33.008704],[102.93608,33.008152],[102.936213,33.007952],[102.936249,33.007898],[102.936262,33.007878],[102.936373,33.007711],[102.937096,33.006951],[102.937805,33.006754],[102.938129,33.006492],[102.938197,33.006118],[102.938199,33.006109],[102.938205,33.006077],[102.93821,33.006048],[102.938167,33.006005],[102.93811,33.005948],[102.937969,33.005806],[102.937935,33.005764],[102.937918,33.005742],[102.93767,33.005428],[102.93766,33.005415],[102.937714,33.005202],[102.937741,33.005091],[102.93777,33.004977],[102.937786,33.004917],[102.937787,33.00491],[102.937788,33.004904],[102.937816,33.004794],[102.93823,33.004517],[102.938249,33.004505],[102.938262,33.004496],[102.938327,33.004453],[102.938342,33.004443],[102.938358,33.004432],[102.938425,33.004388],[102.938409,33.00436],[102.938383,33.004314],[102.938274,33.00412],[102.938272,33.004117],[102.938188,33.003968],[102.938229,33.003701],[102.938337,33.003766],[102.93889,33.004098],[102.939403,33.004286],[102.939403,33.004261],[102.939495,33.004134],[102.939537,33.004108],[102.93961,33.004071],[102.939731,33.004033],[102.939759,33.004002],[102.939919,33.003818],[102.939985,33.003684],[102.940114,33.003419],[102.940178,33.003287],[102.940541,33.002848],[102.940057,33.002453],[102.939572,33.002059],[102.939829,33.001618],[102.93931,33.001223],[102.939078,33.000571],[102.939069,33.000543],[102.939042,33.000467],[102.939024,33.000418],[102.939021,33.00041],[102.939019,33.000403],[102.938895,33.000053],[102.938875,32.999997],[102.938867,32.999974],[102.938853,32.999934],[102.938834,32.999835],[102.938751,32.999404],[102.938885,32.999137],[102.938898,32.999111],[102.938928,32.99905],[102.938944,32.999019],[102.938956,32.998995],[102.939043,32.998821],[102.939059,32.99879],[102.93907,32.998767],[102.9391,32.998709],[102.939105,32.998697],[102.93911,32.998689],[102.93883,32.998444],[102.938477,32.998497],[102.938469,32.998464],[102.938453,32.99845],[102.938434,32.998436],[102.938415,32.998425],[102.938389,32.998419],[102.938357,32.998413],[102.938331,32.998411],[102.938292,32.99841],[102.938256,32.998408],[102.938222,32.998415],[102.938193,32.998422],[102.938159,32.998434],[102.93813,32.998454],[102.938108,32.998472],[102.938081,32.998497],[102.93806,32.998523],[102.93804,32.998564],[102.938021,32.998604],[102.937807,32.99867],[102.937752,32.998662],[102.937689,32.99868],[102.937629,32.998709],[102.937586,32.998738],[102.93752,32.998759],[102.937224,32.99885],[102.936945,32.998557],[102.936956,32.998086],[102.936957,32.998075],[102.936958,32.998015],[102.936996,32.99804],[102.937052,32.998056],[102.937106,32.998043],[102.937142,32.998014],[102.937163,32.997974],[102.937139,32.997955],[102.937059,32.9979],[102.93698,32.997818],[102.936963,32.997787],[102.936954,32.99777],[102.936947,32.997751],[102.936929,32.997644],[102.936909,32.997525],[102.936905,32.997399],[102.936909,32.997338],[102.93694,32.997237],[102.93695,32.997206],[102.936943,32.997076],[102.936929,32.996827],[102.936887,32.996815],[102.936622,32.996741],[102.936612,32.996739],[102.936192,32.996622],[102.935852,32.996481],[102.935719,32.996425],[102.935324,32.99626],[102.935232,32.996222],[102.934749,32.996211],[102.933962,32.996193],[102.933285,32.996425],[102.932769,32.996601],[102.932608,32.996656],[102.932275,32.99677],[102.931714,32.997056],[102.93139,32.997147],[102.931208,32.997199],[102.931051,32.997236],[102.930902,32.997248],[102.930788,32.997263],[102.930704,32.997321],[102.930679,32.997396],[102.930684,32.997468],[102.930748,32.997514],[102.930961,32.997598],[102.930503,32.998093],[102.930204,32.998433],[102.929906,32.998774],[102.929353,32.999111],[102.928347,32.999726],[102.927557,32.999943],[102.927284,32.99991],[102.92683,32.999855],[102.926518,32.999816],[102.926467,32.99981],[102.925448,32.999592],[102.924316,32.999774],[102.923193,32.999641],[102.922543,32.999642],[102.922491,32.999642],[102.92169,32.999644],[102.920907,32.999516],[102.919982,32.999645],[102.918035,32.999698],[102.917514,32.999675],[102.917011,32.999653],[102.9162,32.999761],[102.916174,32.999764],[102.916126,32.999771],[102.916052,32.99978],[102.915434,32.999943],[102.914892,32.999732],[102.914209,32.998956],[102.914129,32.998931],[102.914031,32.998892],[102.91392,32.998843],[102.91386,32.998768],[102.913804,32.998675],[102.913747,32.998558],[102.913707,32.998406],[102.913258,32.998065],[102.912232,32.997048],[102.912156,32.996998],[102.912104,32.996916],[102.912034,32.996735],[102.911964,32.996527],[102.911844,32.996382],[102.91169,32.99629],[102.911493,32.996166],[102.911415,32.996074],[102.911393,32.996048],[102.910665,32.995057],[102.910068,32.994328],[102.908895,32.993387],[102.90796,32.99248],[102.907721,32.991037],[102.907704,32.990972],[102.907644,32.99074],[102.907786,32.990689],[102.907905,32.990584],[102.908002,32.990469],[102.907984,32.990283],[102.907883,32.990079],[102.907766,32.989945],[102.907673,32.989889],[102.907402,32.989805],[102.907377,32.989707],[102.907289,32.989367],[102.907257,32.989243],[102.907256,32.989241],[102.907229,32.989134],[102.907203,32.989031],[102.907153,32.98893],[102.907123,32.988829],[102.907112,32.988706],[102.907153,32.988593],[102.907148,32.988468],[102.907083,32.988337],[102.906997,32.988218],[102.906932,32.988087],[102.906877,32.987951],[102.90684,32.987808],[102.906836,32.987721],[102.906775,32.987602],[102.906681,32.987451],[102.906623,32.987326],[102.906576,32.987204],[102.906417,32.9869],[102.90555,32.98467],[102.905481,32.984526],[102.905163,32.983859],[102.904443,32.982349],[102.904256,32.981626],[102.904305,32.980994],[102.90433,32.98081],[102.904332,32.980799],[102.90423,32.980617],[102.904212,32.980503],[102.904233,32.980345],[102.904266,32.980259],[102.904366,32.980111],[102.904447,32.979969],[102.904561,32.979147],[102.904594,32.978913],[102.904633,32.978632],[102.904655,32.97847],[102.904675,32.978324],[102.904686,32.978259],[102.9047,32.978167],[102.904836,32.97732],[102.905155,32.976807],[102.90527,32.976262],[102.905355,32.975544],[102.90551,32.974799],[102.905513,32.974791],[102.905561,32.974561],[102.905554,32.974447],[102.905519,32.974347],[102.905462,32.974266],[102.905404,32.974157],[102.905436,32.973985],[102.905547,32.973693],[102.905686,32.973453],[102.905842,32.973237],[102.905943,32.97316],[102.906126,32.973054],[102.90621,32.972547],[102.906212,32.972537],[102.906193,32.972293],[102.906168,32.971965],[102.906163,32.971906],[102.906081,32.970837],[102.906044,32.969792],[102.906043,32.969763],[102.906011,32.968862],[102.906009,32.968813],[102.906008,32.968794],[102.906001,32.968584],[102.905999,32.968534],[102.906027,32.968355],[102.906063,32.968122],[102.906121,32.967749],[102.90613,32.967694],[102.906205,32.967212],[102.906244,32.967051],[102.90634,32.966847],[102.906439,32.966646],[102.906499,32.966255],[102.906495,32.965869],[102.906497,32.965334],[102.906522,32.965176],[102.906749,32.96423],[102.906946,32.961701],[102.907069,32.960811],[102.907099,32.959545],[102.907528,32.958718],[102.907793,32.957629],[102.908231,32.956428],[102.908971,32.955404],[102.909535,32.954665],[102.910227,32.954274],[102.910888,32.953738],[102.911482,32.953144],[102.912009,32.952887],[102.912574,32.952611],[102.912622,32.952587],[102.913242,32.952339],[102.912939,32.952161],[102.912465,32.951981],[102.911449,32.951647],[102.909909,32.950384],[102.909038,32.949679],[102.908545,32.948893],[102.907846,32.948134],[102.907391,32.947176],[102.906153,32.94612],[102.905414,32.945589],[102.904564,32.945489],[102.903707,32.945618],[102.902951,32.945864],[102.901924,32.945962],[102.900765,32.945914],[102.899676,32.945809],[102.898181,32.945496],[102.897195,32.945336],[102.89584,32.944939],[102.894722,32.944575],[102.8936,32.944383],[102.893464,32.944352],[102.893623,32.943434],[102.893751,32.942343],[102.893875,32.941453],[102.89386,32.940647],[102.893773,32.939983],[102.893542,32.939663],[102.892844,32.938845],[102.89211,32.938171],[102.891513,32.937442],[102.891224,32.93666],[102.891001,32.935994],[102.890806,32.935588],[102.89017,32.935088],[102.889218,32.934928],[102.888025,32.93485],[102.887179,32.934577],[102.886338,32.934045],[102.885266,32.933221],[102.884597,32.932663],[102.88366,32.931899],[102.882746,32.931567],[102.88147,32.930711],[102.880462,32.93006],[102.879622,32.929499],[102.878487,32.928444],[102.877686,32.927682],[102.876812,32.92715],[102.875972,32.926617],[102.874892,32.92611],[102.873804,32.925947],[102.87269,32.925439],[102.872158,32.924883],[102.871605,32.923752],[102.871284,32.922912],[102.871316,32.92156],[102.871693,32.92007],[102.871968,32.919496],[102.871981,32.91947],[102.876038,32.917017],[102.8761,32.916979],[102.876403,32.917034]]]]},"properties":{"cp":[103.14126598596769,33.03468485062284],"code":"513233208","name":"色地镇","level":"street","center":[103.14126598596769,33.03468485062284],"fullCode":"513233208000","fullName":"四川省阿坝藏族羌族自治州红原县色地镇","acreageMu":1798581.17,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.999,32.865]}}]} |
|
|
`,QFe={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},eOe={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514};function tOe(n){try{return JSON.parse(n)}catch(e){return{type:"FeatureCollection",features:[]}}}function nOe(n={}){const e=n.properties||{},t=e.cp||e.center||e.centroid||e.sourceCenter;return Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1]))?[Number(t[0]),Number(t[1])]:[0,0]}const iOe=Nee,rOe=tOe(Nee),kee=rOe.features||[],yT=kee.reduce((n,e)=>{const t=e.properties||{},i=Fee(t.name);return[t.code,t.fullCode].forEach(r=>{const a=String(r||"").replace(/\D/g,"");a&&i&&(n[a]=i)}),n},{}),kR=kee.map(n=>{const e=n.properties||{},t=Fee(e.name),i=nOe(n);return{name:t,code:e.code,fullCode:e.fullCode,center:i,centroid:i,acreageMu:Number(e.acreageMu)||0}}),aOe=kR.map(n=>Z2(b2({},n),{enName:QFe[n.name]||"",value:eOe[n.name]||0})).sort((n,e)=>e.value-n.value);function Fee(n){const e=String(n||"").trim();return!e||e==="--"?"":e}function oOe(n){const e=String(n||"").replace(/\D/g,"");return e&&(yT[e]||yT[e.slice(0,12)]||yT[e.slice(0,9)])||""}const sOe=kR.map(n=>b2({},n)),VH=aOe.map(n=>b2({},n)),lOe=[{value:180,lng:102.60242339873115,lat:32.83022561372293},{value:160,lng:102.55651980382184,lat:32.204097908180216},{value:150,lng:102.38447320923945,lat:32.696113484169786},{value:177,lng:102.48704663740175,lat:32.471364980560764},{value:130,lng:102.29046083534963,lat:32.355689518554044},{value:165,lng:102.03268479676977,lat:32.440590072394265},{value:165,lng:102.71535664604494,lat:33.12869670968013},{value:132,lng:102.77925597565002,lat:32.73632379185147},{value:158,lng:102.95718106156616,lat:33.15445682575394},{value:187,lng:103.12540730227074,lat:33.010462261362875}],uOe=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];var HH=class{constructor(e,t){N3(this,"target");N3(this,"name");N3(this,"intersected");N3(this,"wasIntersected",!1);N3(this,"wasIntersectedOnMouseDown",!1);N3(this,"distance");this.target=e,this.name=t,this.intersected=!1,this.distance=0}},zi=class{constructor(n,e=null){N3(this,"type");N3(this,"cancelBubble");N3(this,"originalEvent");N3(this,"coords",new Q2(0,0));N3(this,"distance",0);N3(this,"intersected",!1);N3(this,"wasIntersected",!1);N3(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=n,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},cOe=class{constructor(n,e,t,i){N3(this,"renderer");N3(this,"camera");N3(this,"domElement");N3(this,"bindEventsOnBodyElement");N3(this,"autoAdd");N3(this,"scene");N3(this,"mouse");N3(this,"supportsPointerEvents");N3(this,"interactiveObjects");N3(this,"closestObject");N3(this,"raycaster");N3(this,"treatTouchEventsAsMouseEvents");N3(this,"dispose",()=>{this.domElement.removeEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("pointermove",this.onDocumentPointerMove):this.domElement.removeEventListener("pointermove",this.onDocumentPointerMove),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("mousemove",this.onDocumentMouseMove):this.domElement.removeEventListener("mousemove",this.onDocumentMouseMove),this.domElement.removeEventListener("mousedown",this.onMouseDown),this.domElement.removeEventListener("mouseup",this.onMouseUp),this.domElement.removeEventListener("touchstart",this.onTouchStart),this.domElement.removeEventListener("touchmove",this.onTouchMove),this.domElement.removeEventListener("touchend",this.onTouchEnd)});N3(this,"add",(n,e=[])=>{if(n&&!this.interactiveObjects.find(t=>t.target===n))if(e.length>0)e.forEach(t=>{let i=n.getObjectByName(t);if(i){let r=new HH(i,t);this.interactiveObjects.push(r)}});else{let t=new HH(n,n.name);this.interactiveObjects.push(t)}});N3(this,"remove",(n,e=[])=>{!n||(e.length>0?e.forEach(t=>{let i=n.getObjectByName(t);i&&(this.interactiveObjects=this.interactiveObjects.filter(r=>r.target!==i))}):this.interactiveObjects=this.interactiveObjects.filter(t=>t.target!==n))});N3(this,"update",()=>{var i;this.raycaster.setFromCamera(this.mouse,this.camera),this.interactiveObjects.forEach(r=>{r.target&&this.checkIntersection(r)}),this.interactiveObjects.sort(function(r,a){return r.distance-a.distance});let n=(i=this.interactiveObjects.find(r=>r.intersected))!=null?i:null;if(n!=this.closestObject){if(this.closestObject){let r=new zi("mouseout");this.dispatch(this.closestObject,r)}if(n){let r=new zi("mouseover");this.dispatch(n,r)}this.closestObject=n}let e;this.interactiveObjects.forEach(r=>{!r.intersected&&r.wasIntersected&&(e||(e=new zi("mouseleave")),this.dispatch(r,e))});let t;this.interactiveObjects.forEach(r=>{r.intersected&&!r.wasIntersected&&(t||(t=new zi("mouseenter")),this.dispatch(r,t))})});N3(this,"checkIntersection",n=>{let e=this.raycaster.intersectObjects([n.target],!0);if(n.wasIntersected=n.intersected,e.length>0){let t=e[0].distance;e.forEach(i=>{i.distance<t&&(t=i.distance)}),n.intersected=!0,n.distance=t}else n.intersected=!1});N3(this,"onDocumentMouseMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new zi("mousemove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"onDocumentPointerMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new zi("pointermove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"onTouchMove",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY);let e=new zi(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"onMouseClick",n=>{this.update();let e=new zi("click",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});N3(this,"onMouseDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new zi("mousedown",n);this.interactiveObjects.forEach(t=>{t.intersected?(t.wasIntersectedOnMouseDown=!0,this.dispatch(t,e)):t.wasIntersectedOnMouseDown=!1})});N3(this,"onPointerDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new zi("pointerdown",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});N3(this,"onTouchStart",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new zi(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});N3(this,"onMouseUp",n=>{let e=new zi("mouseup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"onPointerUp",n=>{let e=new zi("pointerup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"onTouchEnd",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new zi(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});N3(this,"dispatch",(n,e)=>{n.target&&!e.cancelBubble&&(e.coords=this.mouse,e.distance=n.distance,e.intersected=n.intersected,e.wasIntersected=n.wasIntersected,e.wasIntersectedOnMouseDown=n.wasIntersectedOnMouseDown,n.target.dispatchEvent(e))});N3(this,"mapPositionToPoint",(n,e,t)=>{let i=this.renderer.domElement.getBoundingClientRect();n.x=(e-i.left)/i.width*2-1,n.y=-((t-i.top)/i.height)*2+1});this.renderer=n,this.camera=e,this.domElement=t,this.bindEventsOnBodyElement=i&&typeof i.bindEventsOnBodyElement<"u"?i.bindEventsOnBodyElement:!0,this.scene=i&&typeof i.scene<"u"?i.scene:null,this.scene&&(this.scene.onBeforeRender=()=>{this.autoAdd&&this.scene!==null&&this.scene.traverse(r=>{this.add(r),r.addEventListener("removed",a=>{this.remove(a.target)})}),this.update()}),this.autoAdd=i&&typeof i.autoAdd<"u"?i.autoAdd:!1,this.autoAdd&&this.scene===null&&console.error("Attention: Options.scene needs to be set when using options.autoAdd"),this.mouse=new Q2(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new uke,t.addEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("pointermove",this.onDocumentPointerMove):t.addEventListener("pointermove",this.onDocumentPointerMove),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("mousemove",this.onDocumentMouseMove):t.addEventListener("mousemove",this.onDocumentMouseMove),t.addEventListener("mousedown",this.onMouseDown),t.addEventListener("mouseup",this.onMouseUp),t.addEventListener("touchstart",this.onTouchStart,{passive:!0}),t.addEventListener("touchmove",this.onTouchMove,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this.treatTouchEventsAsMouseEvents=!0}};const kl=256,dOe="https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}",Lc={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function WH(n,e,t){const i=x6(2,t),r=Math.sin(e*Math.PI/180);return{x:(n+180)/360*i,y:(.5-Math.log((1+r)/(1-r))/(4*Math.PI))*i}}function jH(n,e,t){const i=x6(2,t),r=n/i*360-180,a=Math.PI-2*Math.PI*e/i,o=180/Math.PI*Math.atan(.5*(Math.exp(a)-Math.exp(-a)));return[r,o]}function hOe(n,e){const t=WH(n.west,n.north,e),i=WH(n.east,n.south,e),r=Math.floor(t.x),a=Math.floor(i.x),o=Math.floor(t.y),s=Math.floor(i.y);return{zoom:e,minX:r,maxX:a,minY:o,maxY:s,cols:a-r+1,rows:s-o+1}}function fOe(n,e){const[t,i]=jH(n.minX,n.minY,n.zoom),[r,a]=jH(n.maxX+1,n.maxY+1,n.zoom),[o]=e([t,Lc.south]),[s]=e([r,Lc.south]),[,l]=e([Lc.west,i]),[,u]=e([Lc.west,a]);return{left:o,right:s,bottom:-u,top:-l}}function pOe(n,e){const{width:t,height:i}=e;n.save(),n.globalCompositeOperation="multiply",n.fillStyle="rgba(5, 24, 34, 0.22)",n.fillRect(0,0,t,i),n.globalCompositeOperation="screen";const r=n.createRadialGradient(t*.5,i*.48,t*.1,t*.5,i*.5,t*.72);r.addColorStop(0,"rgba(80, 230, 255, 0.16)"),r.addColorStop(1,"rgba(0, 18, 36, 0.03)"),n.fillStyle=r,n.fillRect(0,0,t,i),n.restore()}function vOe(n,e){const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"#061927"),t.addColorStop(.5,"#0b2c3c"),t.addColorStop(1,"#07131f"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height)}function mOe(n){return new Promise(e=>{const t=new Image;t.crossOrigin="anonymous",t.onload=()=>e(t),t.onerror=()=>e(null),t.src=n})}function gOe(n,e,t){return dOe.replace("{x}",n).replace("{y}",e).replace("{z}",t)}function yOe(n,e,t,i){return J2(this,null,function*(){const r=[];n.save(),n.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let a=i.minX;a<=i.maxX;a+=1)for(let o=i.minY;o<=i.maxY;o+=1)r.push(mOe(gOe(a,o,i.zoom)).then(s=>{s&&(n.drawImage(s,(a-i.minX)*kl,(o-i.minY)*kl,kl,kl),t.needsUpdate=!0)}));yield Promise.allSettled(r),n.restore(),pOe(n,e),t.needsUpdate=!0})}function _Oe({geoProjectionCenter:n,geoProjectionScale:e,zoom:t=11}={}){const i=hOe(Lc,t),r=document.createElement("canvas");r.width=i.cols*kl,r.height=i.rows*kl;const a=r.getContext("2d");vOe(a,r);const o=new xR(r);o.colorSpace=W1,o.wrapS=li,o.wrapT=li,o.minFilter=an,o.magFilter=an,o.needsUpdate=!0;const s=Is().center(n).scale(e).translate([0,0]),l=fOe(i,s);return yOe(a,r,o,i).catch(u=>{console.warn("load satellite tiles failed:",u)}),{texture:o,uvBounds:l}}function $H(n,e){const t=e.right-e.left,i=e.top-e.bottom;n.mapGroup.traverse(r=>{var s,l;const a=(l=(s=r.geometry)==null?void 0:s.attributes)==null?void 0:l.position;if(!r.isMesh||!a)return;const o=new Float32Array(a.count*2);for(let u=0;u<a.count;u+=1){const c=a.getX(u),d=a.getY(u);o[u*2]=(c-e.left)/t,o[u*2+1]=(d-e.bottom)/i}r.geometry.setAttribute("uv",new R0(o,2)),r.geometry.attributes.uv.needsUpdate=!0})}const s1={west:101.852492,south:31.851389,east:103.347518,north:33.319796},q6={width:2400,height:2400},SOe=12;function bOe(n){return String(n).replace(/'/g,"''")}function Ti(n,e){return`${n} = '${bOe(e)}'`}const qH=[{name:"低地草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"莎草、杂类草型",fillColor:"#F67A7A",strokeColor:"#F67A7A"},{name:"山地草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"羊茅、杂类草型",fillColor:"#E69800",strokeColor:"#E69800"},{name:"早熟禾、杂类草型",fillColor:"#FFD380",strokeColor:"#FFD380"},{name:"垂穗披碱草型",fillColor:"#FFAA01",strokeColor:"#FFAA01"},{name:"苔草、杂类草型",fillColor:"#FFEBB0",strokeColor:"#FFEBB0"},{name:"委陵菜、杂类草型",fillColor:"#F5CA7B",strokeColor:"#F5CA7B"},{name:"披碱草型",fillColor:"#A87001",strokeColor:"#A87001"},{name:"高寒草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"矮生嵩草、杂类草型",fillColor:"#6CB3FF",strokeColor:"#6CB3FF"},{name:"矮生嵩草、圆穗蓼型",fillColor:"#00C7FF",strokeColor:"#00C7FF"},{name:"西藏嵩草、杂类草型",fillColor:"#8FE5FD",strokeColor:"#8FE5FD"},{name:"西藏嵩草、甘肃嵩草型",fillColor:"#7B8FED",strokeColor:"#7B8FED"},{name:"高山嵩草、矮生嵩草型",fillColor:"#71DDFE",strokeColor:"#71DDFE"},{name:"高山嵩草、苔草型",fillColor:"#7BB5F3",strokeColor:"#7BB5F3"},{name:"高山嵩草、杂类草型",fillColor:"#444E87",strokeColor:"#444E87"},{name:"具灌木的矮生嵩草型",fillColor:"#6873D1",strokeColor:"#6873D1"}].map((n,e)=>Z2(b2({},n),{key:`grassland-type-${e+1}`,cqlFilter:Ti("grass_min_type",n.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),XH=[{name:">4000(kg/hm2)",fillColor:"#39A700",strokeColor:"#39A700"},{name:"3000-4000(kg/hm2)",fillColor:"#8CCF00",strokeColor:"#8CCF00"},{name:"2000-3000(kg/hm2)",fillColor:"#FEFE02",strokeColor:"#FEFE02"},{name:"1500-2000(kg/hm2)",fillColor:"#FE7E01",strokeColor:"#FE7E01"},{name:"<1500(kg/hm2)",fillColor:"#FB0100",strokeColor:"#FB0100"}].map(n=>Z2(b2({},n),{selectable:!1})),ad={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},Oee=[{level:"1",name:"1级草原",fillColor:"#81D10B",strokeColor:"#81D10B"},{level:"2",name:"2级草原",fillColor:"#8AE611",strokeColor:"#8AE611"},{level:"3",name:"3级草原",fillColor:"#79C801",strokeColor:"#79C801"},{level:"4",name:"4级草原",fillColor:"#D0EC03",strokeColor:"#D0EC03"},{level:"5",name:"5级草原",fillColor:"#FFCC00",strokeColor:"#FFCC00"},{level:"6",name:"6级草原",fillColor:"#FF6501",strokeColor:"#FF6501"},{level:"7",name:"7级草原",fillColor:"#FB0002",strokeColor:"#FB0002"},{level:"8",name:"8级草原",fillColor:"#D71345",strokeColor:"#D71345"}].map(n=>Z2(b2({},n),{key:`grassland-level-${n.level}`,cqlFilter:`grassland_level IN ('${n.level}','${n.name}','${ad[n.level]}草原','${ad[n.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),xOe=Oee.map(n=>{const e=n.key.replace("grassland-level-",""),t=n.name.replace("草原","湿地");return Z2(b2({},n),{key:`wetland-level-${e}`,name:t,cqlFilter:`grassland_level IN ('${e}','${t}','${n.name}','${ad[e]}湿地','${ad[e]}草原','${ad[e]}草地')`})}),wOe=[{key:"basic-grassland-basic",name:"基本草原",fillColor:"#2EEA78",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'BASIC' OR grassland_category_name = '基本草原')",rankingValueKey:"basicAreaWanMu"},{key:"basic-grassland-general",name:"一般草原",fillColor:"#FFD15A",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'GENERAL' OR grassland_category_name = '一般草原')",rankingValueKey:"generalAreaWanMu"}],R7=[{key:"grassland",name:"草地资源",color:"#8AE611",defaultLayerKey:"grassland-distribution",coreGroups:["grassLand","grassland"]},{key:"wetland",name:"湿地资源",color:"#33A3DC",defaultLayerKey:"wetland-distribution",coreGroups:["wetland"]},{key:"woodland",name:"林地资源",color:"#2BD17E",defaultLayerKey:"woodland-distribution",coreGroups:["woodland"]}],ym=[{key:"national-park",name:"若尔盖国家公园",color:"#8AE611",defaultLayerKey:"national-park-zoning"},{key:"restoration",name:"生态修复工程",color:"#33A3DC",defaultLayerKey:"restoration-projects"},{key:"engineering-analysis",name:"工程分析",color:"#24F6C4",defaultLayerKey:"engineering-analysis-projects"}],Bee=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],_m={woodland:[{key:"woodland-distribution",name:"林地范围",layerName:"ne:t_woodland_2023",styles:"woodland_distribution",opacity:.82,legends:[{key:"woodland-distribution-all",name:"林地范围",fillColor:"#2BD17E",strokeColor:"#2BD17E",selectable:!1}]},{key:"woodland-protection",name:"公益林",layerName:"ne:t_woodland_2023",styles:"woodland_protection",opacity:.86,legends:[{key:"woodland-protection-level-1",name:"国家一级公益林",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:Ti("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ti("gjgyl_bhdj","2")},{key:"woodland-protection-unset",name:"未划定",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(gjgyl_bhdj IS NULL OR gjgyl_bhdj = '' OR gjgyl_bhdj NOT IN ('1','2'))"}]},{key:"woodland-type",name:"林地类型",layerName:"ne:t_woodland_2023",styles:"woodland_type",opacity:.84,legends:[{key:"woodland-type-shrub",name:"灌木林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ti("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:Ti("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:Ti("dlmc","灌丛沼泽")},{key:"woodland-type-other",name:"其他林地",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:"(dlmc IS NULL OR dlmc = '' OR dlmc NOT IN ('灌木林地','乔木林地','灌丛沼泽'))"}]},{key:"woodland-quality",name:"林地质量",layerName:"ne:t_woodland_2023",styles:"woodland_quality",opacity:.84,legends:[{key:"woodland-quality-2",name:"二级质量",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:Ti("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ti("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:Ti("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:Ti("zl_dj","5")},{key:"woodland-quality-unset",name:"未划分",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(zl_dj IS NULL OR zl_dj = '' OR zl_dj NOT IN ('2','3','4','5'))"}]},{key:"woodland-ownership",name:"林地权属",layerName:"ne:t_woodland_2023",styles:"woodland_ownership",opacity:.84,legends:[{key:"woodland-ownership-collective",name:"集体林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ti("ld_qs","10")},{key:"woodland-ownership-other",name:"国有或其他",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:"(ld_qs IS NULL OR ld_qs = '' OR ld_qs <> '10')"}]}],grassland:[{key:"grassland-distribution",name:"草地分布",layerName:"ne:t_grassland_result_caodi",opacity:.82,legends:[{name:"草地",fillColor:"#1D953F",strokeColor:"#1D953F"}]},{key:"basic-grassland",name:"基本/一般草原",layerName:"ne:t_basic_grassland_2023",styles:"basic_grassland_type",opacity:.84,legends:wOe},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:Oee},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:qH},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:XH},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.72,legends:[{name:"非常差",fillColor:"#FF000533",strokeColor:"#FF0005",selectable:!1},{name:"差",fillColor:"#D8EE8C33",strokeColor:"#D8EE8C",selectable:!1},{name:"正常",fillColor:"#78C96233",strokeColor:"#78C962",selectable:!1},{name:"较好",fillColor:"#25814933",strokeColor:"#258149",selectable:!1}]}],wetland:[{key:"wetland-distribution",name:"湿地分布",layerName:"ne:t_grassland_result_shidi",opacity:.84,legends:[{name:"湿地",fillColor:"#33A3DC",strokeColor:"#33A3DC"}]},{key:"wetland-level",name:"湿地级",layerName:"ne:t_grassland_result_level_shidi",opacity:.82,legends:xOe},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:qH},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:XH}]},zee={"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",opacity:.9,clipBounds:{west:101.852492,south:32.757724488,east:103.227028864,north:33.319796},mapView:{targetLngLat:[102.74,33.12],distanceScale:.68,targetLocalZ:.78,duration:.95},legends:[{key:"national-park-core",name:"核心保护区",fillColor:"#2EEA78",strokeColor:"#18F8FF",match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:"#FFD15A",strokeColor:"#FFF2A0",match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.9,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",cqlFilter:Ti("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",cqlFilter:Ti("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",cqlFilter:Ti("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",cqlFilter:Ti("feature_role","线性设施"),match:{field:"feature_role",value:"线性设施"}}]}],"engineering-analysis":[{key:"engineering-analysis-projects",name:"工程分析项目库",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.82,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},Gee=Object.fromEntries(kR.map(n=>[n.name,n.center])),TOe=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}];function AOe(n,e,t,i){const r=Gee[n.name];return{type:"Feature",properties:{id:`${t}-${e+1}`,name:n.name,town:n.name,count:n.count,value:n.count,devices:n.devices,metricLabel:i},geometry:{type:"Point",coordinates:r}}}function COe(n,e,t){return{type:"FeatureCollection",features:n.filter(i=>Gee[i.name]).map((i,r)=>AOe(i,r,e,t))}}const MOe={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",sourceType:"geojson",geojsonData:COe(TOe,"yak-recognition-layer","识别数量"),opacity:.94,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#32DCFF",strokeColor:"#B8F7FF",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,mapView:{targetLngLat:[102.48,32.69],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-industry-family-pasture",name:"家庭生态牧场",fillColor:"#24F6C4",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"family-pasture"}},{key:"yak-industry-artificial-grassland",name:"人工草地",fillColor:"#7EE269",strokeColor:"#D6FF8D",match:{field:"stageKey",value:"artificial-grassland"}},{key:"yak-industry-scale-breeding",name:"规模化养殖基地",fillColor:"#32DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"scale-breeding"}},{key:"yak-industry-forage-storage",name:"防灾减灾",fillColor:"#FFE06B",strokeColor:"#FFF2A0",match:{field:"stageKey",value:"forage-storage"}},{key:"yak-industry-slaughter-processing",name:"屠宰与加工",fillColor:"#FF9A62",strokeColor:"#FFD0A8",match:{field:"stageKey",value:"slaughter-processing"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#9EA7FF",strokeColor:"#DFE3FF",match:{field:"stageKey",value:"social-service"}}]}]},EOe=b2(b2(b2({},_m),zee),MOe),POe=[...R7,...ym,...Bee];function YH(n){return POe.find(e=>e.key===n)||R7[0]}function p_(n){return EOe[n]||[]}function Oh(n,e){const t=p_(n);return t.find(i=>i.key===e)||t[0]}const ROe=12e3;function LOe(n,e={}){const t=new URLSearchParams;Object.entries(e).forEach(([r,a])=>{a!=null&&a!==""&&t.append(r,a)});const i=t.toString();return i?`${n}${n.includes("?")?"&":"?"}${i}`:n}function oo(t){return J2(this,arguments,function*(n,e={}){const u=e,{params:i,timeout:r=ROe}=u,a=MD(u,["params","timeout"]),o=new AbortController;let s=!1;const l=window.setTimeout(()=>{s=!0,o.abort()},r);try{const c=yield fetch(LOe(n,i),Z2(b2({credentials:"include"},a),{signal:o.signal,headers:b2({Accept:"application/json"},a.headers||{})}));if(!c.ok){const h=new Error(c.status===401?"用户未登录或授权已过期。":`HTTP ${c.status}`);throw h.code=`HTTP_${c.status}`,h.status=c.status,c.status===401&&ID(),h}const d=yield c.json();if((d==null?void 0:d.code)===401||(d==null?void 0:d.code)==="401"){const h=new Error((d==null?void 0:d.msg)||"用户未登录或授权已过期。");throw h.code="HTTP_401",h.status=401,ID(),h}return d}catch(c){if(o.signal.aborted||(c==null?void 0:c.name)==="AbortError"||/aborted/i.test((c==null?void 0:c.message)||"")){const h=new Error(s?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw h.code=s?"REQUEST_TIMEOUT":"REQUEST_ABORTED",h}throw c}finally{window.clearTimeout(l)}})}function k3(n){return(n==null?void 0:n.data)!==void 0?n.data:(n==null?void 0:n.result)!==void 0?n.result:n}const FR="/geoserver/ne/wms",IOe={}.VITE_GEOSERVER_WFS_URL||FR.replace(/\/wms$/i,"/wfs");function OR(n,e){const t=new URLSearchParams;return Object.entries(e).forEach(([i,r])=>{r!=null&&r!==""&&t.append(i,r)}),`${n}${n.includes("?")?"&":"?"}${t.toString()}`}function KH(n,e={}){const t=e.bounds||s1,i=e.size||q6;return OR(e.url||FR,{service:"WMS",version:"1.1.1",request:"GetMap",layers:n.layerName,styles:n.styles||"",format:"image/png",transparent:!0,tiled:!0,srs:"EPSG:4326",bbox:[t.west,t.south,t.east,t.north].join(","),width:i.width,height:i.height,CQL_FILTER:e.cqlFilter||n.cqlFilter,_:Date.now()})}function DOe(n,e,t={}){var a,o;const i=t.bounds||s1,r=t.size||q6;return OR(t.url||FR,{service:"WMS",version:"1.1.1",request:"GetFeatureInfo",layers:n.layerName,query_layers:n.layerName,styles:n.styles||"",info_format:"application/json",feature_count:5,srs:"EPSG:4326",bbox:[i.west,i.south,i.east,i.north].join(","),width:r.width,height:r.height,x:Math.round(e.x),y:Math.round(e.y),buffer:(o=(a=t.buffer)!=null?a:n.queryBuffer)!=null?o:8,CQL_FILTER:t.cqlFilter||n.cqlFilter})}function ZH(i,r){return J2(this,arguments,function*(n,e,t={}){const a=DOe(n,e,t);return oo(a,{credentials:"include"})})}function NOe(n,e={}){return OR(e.url||IOe,{service:"WFS",version:e.version||"1.0.0",request:"GetFeature",typeName:n,outputFormat:"json",propertyName:Array.isArray(e.propertyName)?e.propertyName.join(","):e.propertyName,CQL_FILTER:e.cqlFilter,maxFeatures:e.maxFeatures||2e5})}function oh(t){return J2(this,arguments,function*(n,e={}){const i=NOe(n,e);return oo(i,{credentials:"include",timeout:e.timeout||2e4})})}function JH(n){var i;const e=(i=n==null?void 0:n.features)==null?void 0:i[0];if(!e)return null;const t=e.properties||{};return{id:e.id||t.gid||t.objectid||t.OBJECTID,properties:t,feature:e}}const kOe=new Ie(0,22.8,18.8),FOe=new Ie(0,0,0),OOe=new Ie(-7.2,24.2,31.2);function QH(n){return n.sort((e,t)=>t.value-e.value),n}function vl(n){return String(n||"").replace(/\s+/g,"").trim()}function K1(n,e=0){const t=Number(n);return Number.isFinite(t)?t:e}function Gi(n){return String(n!=null?n:"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function eW(n){return(n==null?void 0:n.scope)==="village"||(n==null?void 0:n.labelMode)==="village"}function tW(n){return(n==null?void 0:n.scope)==="trade-flow"||(n==null?void 0:n.labelMode)==="trade-flow"}function nW(n){return!!(n!=null&&n.hideTownNames||(n==null?void 0:n.showTownNames)===!1)}function Iv(n){return!!(n!=null&&n.hideMapLabels||(n==null?void 0:n.showMapLabels)===!1)}function BOe(n){return(n==null?void 0:n.displayMode)==="callout"||(n==null?void 0:n.labelMode)==="callout"}function Dv(n){return["wkt-api","geojson","wfs"].includes(n==null?void 0:n.sourceType)}function iW(n){return n?/^https?:\/\//.test(n)||n.startsWith("/")?n:`./${n}`:""}function rW(n){if(!n)return null;if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.warn("地图 GeoJSON 解析失败",e),null}return n}function aW(n){return n!=null&&n.coordinates?n.type==="Polygon"?[n.coordinates]:n.type==="MultiPolygon"?n.coordinates:[]:[]}class zOe extends GFe{constructor(e,t,i={}){var r,a,o,s;super(e),this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.tradeGeoProjectionCenter=[104,36],this.tradeGeoProjectionScale=11.4,this.tradeNationalDepth=.24,this.depth=.5,this.mapFocusLabelInfo={name:"红原县",enName:"HONGYUAN COUNTY",center:[102.6305459723107,32.08]},this.clicked=!1,this.scene.fog=new gR(466735,1,50),this.scene.background=new Jt(466735),this.camera.instance.position.copy(OOe),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=kOe.clone(),this.defaultMapTarget=FOe.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.interactionManager=new cOe(this.renderer.instance,this.camera.instance,this.canvas),this.assets=t,this.callbacks=i,this.topicLayerLoadId=0,this.visibleTopicLayers=[],this.mapAnimationComplete=!1,this.showTownRankingBars=!1,this.showTownRankingPointMarkers=!1,this.currentTownRanking=null,this.villageRankingGroup=null,this.villageRankingLabels=[],this.tradeFlowGroup=null,this.tradeFlowMeshGroup=null,this.tradeFlowLabelGroup=null,this.tradeFlowLabels=[],this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[],this.isTradeNationalMapActive=!1,this.selectedFeatureGroup=null,this.selectedVectorFeatures=[],this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.currentVectorFeatures=[],this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(VH.map(l=>[vl(l.name),l])),this.handleCanvasBoundaryPointerDown=this.handleCanvasBoundaryPointerDown.bind(this),this.handleCanvasBoundaryDoubleClick=this.handleCanvasBoundaryDoubleClick.bind(this),(a=(r=this.canvas)==null?void 0:r.addEventListener)==null||a.call(r,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(s=(o=this.canvas)==null?void 0:o.addEventListener)==null||s.call(o,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new D1,this.label3d=new qFe(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new D1,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createFlyLine(),this.createFocus(),this.createParticles(),this.createScatter(),this.createInfoPoint(),this.createStorke();let e=N0.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),Iv(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}});e.pause(),this.animateTl=e,e.addLabel("focusMap",1.5),e.addLabel("focusMapOpacity",2),e.addLabel("bar",3),e.to(this.camera.instance.position,{duration:2,x:this.defaultMapCameraPosition.x,y:this.defaultMapCameraPosition.y,z:this.defaultMapCameraPosition.z,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup.visible=!1}}),e.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),e.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{if(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!Iv(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),Iv(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((i,r)=>{let a=i.element.querySelector(".other-label");e.to(a,{duration:1,delay:.1*r,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),e.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),e.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var i,r;this.flyLineFocusGroup.visible=!0,(r=(i=this.callbacks).onPlayComplete)==null||r.call(i)}},"focusMapOpacity"),this.showTownRankingBars&&(this.allBar.map((i,r)=>{e.to(i.scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")}),this.allBarMaterial.map((i,r)=>{e.to(i,{duration:1,delay:.1*r,opacity:1,ease:"circ.out"},"bar")}));const t=this;this.allProvinceLabel.map((i,r)=>{let a=i.element.querySelector(".provinces-label-wrap"),o=i.element.querySelector(".number .value"),s={progress:0};e.to(a,{duration:1,delay:.2*r,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(s,{duration:1,delay:.2*r,progress:1,onStart:()=>{s.progress=0},onUpdate:l},"bar");function l(){var c,d;const u=K1((d=(c=i.userData)==null?void 0:c.targetValue)!=null?d:o.dataset.targetValue);o.innerText=t.formatMapRankingValue(u*s.progress)}}),this.showTownRankingBars&&this.allGuangquan.map((i,r)=>{e.to(i.children[0].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar"),e.to(i.children[1].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let e=new fee(13171711,4.2);this.scene.add(e);let t=new Hg(14679295,5.8);t.position.set(-30,6,-8),t.castShadow=!0,t.shadow.radius=20,t.shadow.mapSize.width=1024,t.shadow.mapSize.height=1024,this.scene.add(t),this.createPointLight({color:"#1fd6df",intensity:680,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#2af0c6",intensity:260,distance:1e4,x:0,y:2,z:5})}createPointLight(e){const t=new hee(1924702,e.intensity,e.distance);t.position.set(e.x,e.y,e.z),this.scene.add(t)}createMap(){let e=new D1,t=new D1;this.mapGroup=e,this.focusMapGroup=t;let{china:i,chinaTopLine:r}=this.createChina(),{map:a,mapTop:o,mapLine:s}=this.createProvince();i.setParent(e),r.setParent(e),this.createDiffuse(),a.setParent(t),o.setParent(t),s.setParent(t),t.position.set(0,0,-.01),t.scale.set(1,1,0),e.add(t),this.createTopicLayer(),e.rotation.x=-Math.PI/2,e.position.set(0,.2,0),this.scene.add(e),this.createBar()}createChina(){let e={chinaBgMaterialColor:"#0d3349",lineColor:"#39c7ef"},t=this.assets.instance.getResource("china"),i=new JC({color:new Jt(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),r=new Cv(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:i,renderOrder:2}),a=new ko({color:e.lineColor,transparent:!0,opacity:.58}),o=new Rv(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:a,renderOrder:3});return o.lineGroup.position.z+=.01,{china:r,chinaTopLine:o}}createTradeNationalMap(){var d;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=this.assets.instance.getResource("chinaMap")}catch(h){return console.warn("牦牛交易全国地图资源未加载",h),!1}const t=rW(e);if(!e||!((d=t==null?void 0:t.features)!=null&&d.length))return!1;const i=new D1;i.name="trade-national-map",i.visible=!1,i.rotation.x=-Math.PI/2,i.position.set(0,.04,0);const r=new C1({color:403001,transparent:!0,opacity:.14,side:r0,depthWrite:!1,fog:!1});new Cv(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new Ie(.05,-.05,-.03),material:r,renderOrder:17}).setParent(i);const{topMaterial:o,sideMaterial:s}=this.createTradeNationalMaterials(),l=new FH(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new Ie(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:o,sideMaterial:s,renderOrder:20,bevelThickness:.024,bevelSegments:1});l.mapGroup.traverse(h=>{h.isMesh&&(h.renderOrder=20)}),l.setParent(i);const u=new ko({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),c=new Rv(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:u,renderOrder:21});return c.lineGroup.position.z+=this.tradeNationalDepth+.055,c.setParent(i),this.scene.add(i),this.tradeNationalMapGroup=i,this.createTradeNationalLabels(t),!0}createTradeNationalMaterials(){const e=new c8({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:r0,fog:!1});new Lv(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const t=this.assets.instance.getResource("side").clone();t.wrapS=Mn,t.wrapT=Mn,t.repeat.set(1,1.2),t.needsUpdate=!0;const i=new c8({color:1485501,map:t,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:r0,fog:!1});return new Lv(i,{uColor1:1354174,uColor2:134940,size:Math.max(this.tradeNationalDepth,.1),dir:"y"}),this.time.on("tick",()=>{t.offset.y+=.004}),{topMaterial:e,sideMaterial:i}}createTradeNationalLabels(e){this.tradeNationalLabelGroup=new D1,this.tradeNationalLabelGroup.name="trade-national-label",this.tradeNationalLabelGroup.rotation.x=-Math.PI/2,this.tradeNationalLabelGroup.visible=!1,this.scene.add(this.tradeNationalLabelGroup),this.tradeNationalLabels=[];const t=new Set(["四川","青海","甘肃","陕西","重庆","云南","西藏","新疆"]);(e.features||[]).forEach(i=>{var l;const r=((l=i.properties)==null?void 0:l.name)||"",a=this.normalizeTradeProvinceName(r);if(!t.has(a))return;const o=this.getFeatureCenterLngLat(i);if(!o)return;const s=this.label3d.create("","trade-national-label",!0);s.init(`<div class="trade-national-name">${Gi(a)}</div>`,this.getTradeLocalPoint(o.lng,o.lat,.82)),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.tradeNationalLabelGroup),s.visible=!0,this.tradeNationalLabels.push(s)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var a,o,s;const t=((a=e==null?void 0:e.properties)==null?void 0:a.cp)||((o=e==null?void 0:e.properties)==null?void 0:o.centroid)||((s=e==null?void 0:e.properties)==null?void 0:s.center);if(Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1])))return{lng:Number(t[0]),lat:Number(t[1])};const i=this.getGeometryCoordinateList(e==null?void 0:e.geometry);if(!i.length)return null;const r=i.reduce((l,u)=>({minLng:Math.min(l.minLng,Number(u[0])),maxLng:Math.max(l.maxLng,Number(u[0])),minLat:Math.min(l.minLat,Number(u[1])),maxLat:Math.max(l.maxLat,Number(u[1]))}),{minLng:1/0,maxLng:-1/0,minLat:1/0,maxLat:-1/0});return{lng:(r.minLng+r.maxLng)/2,lat:(r.minLat+r.maxLat)/2}}createProvince(){let e=this.assets.instance.getResource("mapJson");this.mapJsonData=e;const t=_Oe({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:SOe});this.enhanceTexture(t.texture);let[i,r]=this.createProvinceMaterial();this.focusMapTopMaterial=i,this.focusMapSideMaterial=r;let a=new FH(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ie(0,0,.11),data:e,depth:this.depth,topFaceMaterial:i,sideMaterial:r,renderOrder:9}),o=new c8({color:16777215,map:t.texture,transparent:!0,opacity:.94,roughness:.82});new Lv(o,{uColor1:1629410,uColor2:757673}),this.defaultMaterial=o,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new Jt("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let s=new Cv(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ie(0,0,this.depth+.22),data:e,material:o,renderOrder:8});$H(s,t.uvBounds),s.mapGroup.children.map(u=>{u.children.map(c=>{c.type==="Mesh"&&this.eventElement.push(c)})}),this.mapLineMaterial=new ko({color:12254463,opacity:0,transparent:!0,fog:!1});let l=new Rv(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:3});return l.lineGroup.position.z+=this.depth+.23,{map:a,mapTop:s,mapLine:l}}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=q6.width,e.height=q6.height;const t=e.getContext("2d");t.clearRect(0,0,e.width,e.height);const i=new xR(e);i.colorSpace=W1,i.wrapS=li,i.wrapT=li,i.minFilter=an,i.magFilter=an,this.enhanceTexture(i),i.needsUpdate=!0;const r=new C1({map:i,transparent:!0,opacity:0,depthWrite:!1,side:r0,fog:!1}),a=this.createLayerUvBounds(),o=new Cv(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ie(0,0,this.depth+.255),data:this.mapJsonData,material:r,renderOrder:18});$H(o,a),o.setParent(this.focusMapGroup),this.topicLayerUvBounds=a,this.topicLayerCanvas=e,this.topicLayerContext=t,this.topicLayerTexture=i,this.topicLayerMaterial=r,this.topicLayerMap=o}initHongyuanBoundaryPolygons(){var t,i,r,a,o;if((t=this.hongyuanBoundaryPolygons)!=null&&t.length)return;const e=rW((r=(i=this.assets)==null?void 0:i.instance)==null?void 0:r.getResource("mapStroke"));this.hongyuanBoundaryPolygons=aW((o=(a=e==null?void 0:e.features)==null?void 0:a[0])==null?void 0:o.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new D1,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=Is().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[t]=e([s1.west,s1.south]),[i]=e([s1.east,s1.south]),[,r]=e([s1.west,s1.north]),[,a]=e([s1.west,s1.south]);return{left:t,right:i,bottom:-a,top:-r}}setTopicLayer(e){var r,a;if(!e||!this.topicLayerContext||!this.topicLayerTexture)return;this.currentTopicLayer=e,this.visibleTopicLayers=[e],this.clearSelectedFeature(),this.applyLayerMapView(e);const t=++this.topicLayerLoadId;if(this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"loading",text:`正在加载 ${e.name}`}),Dv(e)){this.loadVectorTopicLayer(e,t);return}const i=new Image;i.crossOrigin="anonymous",i.onload=()=>{var o,s,l;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.drawImage(i,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(o=e.opacity)!=null?o:.84,(l=(s=this.callbacks).onLayerStatus)==null||l.call(s,{type:"success",text:"GeoServer 图层已加载"}))},i.onerror=()=>{var o,s;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"GeoServer 图层加载失败"}))},i.src=KH(e)}setTopicLayers(e=[],t=e[0]){var o,s,l,u;if(!this.topicLayerContext||!this.topicLayerTexture)return;const i=e.filter(Boolean);if(!i.length){this.topicLayerLoadId+=1,this.visibleTopicLayers=[],this.currentTopicLayer=null,this.currentVectorFeatures=[],this.clearSelectedFeature(),this.applyLayerMapView(null),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"success",text:"图层已关闭"});return}if(i.length===1){this.setTopicLayer(b2(b2({},i[0]),(t==null?void 0:t.key)===i[0].key?t:{}));return}this.currentTopicLayer=t||i[i.length-1],this.visibleTopicLayers=i,this.clearSelectedFeature(),this.applyLayerMapView(this.currentTopicLayer);const r=++this.topicLayerLoadId;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(u=(l=this.callbacks).onLayerStatus)==null||u.call(l,{type:"loading",text:`正在加载 ${i.length} 个林地图层`});const a=i.filter(c=>!Dv(c));Promise.all(a.map(c=>this.loadTopicLayerImage(c))).then(c=>{var h,f;if(r!==this.topicLayerLoadId)return;const d=c.filter(Boolean);this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),d.forEach(({image:p,layer:m},v)=>{var _,S;this.topicLayerContext.save();const g=v===d.length-1?Math.max(.78,(_=m.opacity)!=null?_:.9):Math.min(.52,(S=m.opacity)!=null?S:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,g)),this.topicLayerContext.drawImage(p,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.restore()}),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=d.length?1:0,(f=(h=this.callbacks).onLayerStatus)==null||f.call(h,{type:d.length?"success":"error",text:d.length?`已加载 ${d.length} 个林地图层`:"林地图层加载失败"})})}loadTopicLayerImage(e){return new Promise(t=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>t({image:i,layer:e}),i.onerror=()=>t(null),i.src=KH(e)})}applyLayerMapView(e,t={}){var s,l;if(!((s=this.camera)!=null&&s.instance)||!((l=this.camera)!=null&&l.controls)||!this.mapAnimationComplete&&!t.force)return;const i=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null),r=i?this.getLayerMapViewTarget(i):this.defaultMapTarget.clone(),a=i?this.getLayerMapViewCameraPosition(i,r):this.defaultMapCameraPosition.clone(),o=i&&Number.isFinite(i.duration)?i.duration:.75;this.animateMapCamera(a,r,o)}getLayerMapViewTarget(e){var t;return e!=null&&e.targetLngLat?this.lngLatToWorldPoint(e.targetLngLat,(t=e.targetLocalZ)!=null?t:.72):e!=null&&e.target?this.toVector3(e.target,this.defaultMapTarget):this.defaultMapTarget.clone()}getLayerMapViewCameraPosition(e,t){if(e!=null&&e.cameraPosition)return this.toVector3(e.cameraPosition,this.defaultMapCameraPosition);const i=Number.isFinite(e==null?void 0:e.distanceScale)?e.distanceScale:1,r=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(i),a=t.clone().add(r);return e!=null&&e.cameraOffset&&a.add(this.toVector3(e.cameraOffset,new Ie(0,0,0))),a}lngLatToWorldPoint(e,t=0){const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return this.defaultMapTarget.clone();const[o,s]=this.geoProjection([r,a]),l=new Ie(o,-s,Number(t)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(l):l}toVector3(e,t){if(Array.isArray(e)){const[o,s,l]=e.map(Number);return[o,s,l].every(Number.isFinite)?new Ie(o,s,l):t.clone()}const i=Number(e==null?void 0:e.x),r=Number(e==null?void 0:e.y),a=Number(e==null?void 0:e.z);return[i,r,a].every(Number.isFinite)?new Ie(i,r,a):t.clone()}animateMapCamera(e,t,i=.75){this.activeMapViewTweens.forEach(o=>{var s;return(s=o==null?void 0:o.kill)==null?void 0:s.call(o)}),this.activeMapViewTweens=[];const r=this.camera.controls,a=()=>r.update();this.activeMapViewTweens.push(N0.to(this.camera.instance.position,{duration:i,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:a}),N0.to(r.target,{duration:i,x:t.x,y:t.y,z:t.z,ease:"power2.out",onUpdate:a}))}focusTownByName(e,t={}){var o,s,l;const i=this.townMetaByName.get(vl(e));if(!(i!=null&&i.center))return!1;const r=this.lngLatToWorldPoint(i.center,(o=t.targetLocalZ)!=null?o:.82),a=this.getLayerMapViewCameraPosition({distanceScale:(s=t.distanceScale)!=null?s:.82,cameraOffset:t.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(a,r,(l=t.duration)!=null?l:.75),!0}loadVectorTopicLayer(e,t){return J2(this,null,function*(){var i,r,a,o,s;try{const l=yield this.fetchVectorLayerGeojson(e);if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=l.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(i=e.opacity)!=null?i:.9,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"真实矢量图层已加载"})}catch(l){if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return J2(this,null,function*(){var i;if(e.sourceType==="geojson"){if(((i=e.geojsonData)==null?void 0:i.type)==="FeatureCollection")return e.geojsonData;const r=yield fetch(iW(e.dataPath),{credentials:"include"});if(!r.ok)throw new Error(`HTTP ${r.status}`);return yield r.json()}if(e.sourceType==="wfs"){const r=yield oh(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(r==null?void 0:r.type)==="FeatureCollection"?r:{type:"FeatureCollection",features:(r==null?void 0:r.features)||[]}}let t=[];try{const r=yield fetch(e.apiUrl,{credentials:"include"});if(!r.ok)throw new Error(`HTTP ${r.status}`);const a=yield r.json();t=Array.isArray(a==null?void 0:a.data)?a.data:[]}catch(r){const a=yield fetch(iW(e.fallbackPath),{credentials:"include"});if(!a.ok)throw r;const o=yield a.json();t=Array.isArray(o==null?void 0:o.rows)?o.rows:[]}return{type:"FeatureCollection",features:t.map(r=>({type:"Feature",properties:{id:r.id,type:r.type,totalAcreage:r.totalAcreage,cdAcreage:r.cdAcreage,sdAcreage:r.sdAcreage,cdScl:r.cdScl,sdScl:r.sdScl},geometry:this.parseWktGeometry(r.wkt)})).filter(r=>r.geometry)}})}drawVectorTopicLayer(e,t){const i=this.topicLayerContext;i.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),i.save(),i.lineJoin="round",i.lineCap="round",this.clipVectorLayerContext(i,e),this.getVisibleVectorFeatures(e,t).sort((o,s)=>{var c,d;const l=this.getGeometryDrawRank((c=o.geometry)==null?void 0:c.type),u=this.getGeometryDrawRank((d=s.geometry)==null?void 0:d.type);return l-u}).forEach(o=>{const s=this.getVectorFeatureStyle(e,o);this.drawVectorFeature(i,o.geometry,s)}),this.drawSelectedVectorOverlay(i),i.restore()}drawSelectedVectorOverlay(e){const t=this.selectedVectorFeatures||[],i=this.analysisMatchedFeatures||[],r=this.analysisBoundaryFeature,a=this.boundaryDrawPoints||[];if(!t.length&&!i.length&&!r&&!a.length)return;const o={fill:"#FFE15A",stroke:"#24F6C4",polygonAlpha:.24,lineAlpha:.98,lineWidth:12,pointRadius:11,glow:!0,halo:!0},s={fill:"#FFF06A",stroke:"#FFFDF2",polygonAlpha:.46,lineAlpha:1,lineWidth:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),t.forEach(l=>{var c;const u=(l==null?void 0:l.geometry)||((c=l==null?void 0:l.feature)==null?void 0:c.geometry);this.drawVectorFeature(e,u,o),this.drawVectorFeature(e,u,s)}),i.forEach(l=>{var c;const u=(l==null?void 0:l.geometry)||((c=l==null?void 0:l.feature)==null?void 0:c.geometry);this.drawVectorFeature(e,u,{fill:"#FF8A3D",stroke:"#FFE15A",polygonAlpha:.28,lineAlpha:.98,lineWidth:5,pointRadius:6,glow:!0})}),r!=null&&r.geometry&&this.drawVectorFeature(e,r.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:.18,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),a.length){const l=a.map(c=>[c.lng,c.lat]),u={type:"LineString",coordinates:this.boundaryDrawingEnabled?l:[...l,l[0]].filter(Boolean)};this.drawVectorFeature(e,u,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:.12,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),l.forEach(c=>{this.drawVectorFeature(e,{type:"Point",coordinates:c},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:3,pointRadius:5.5,glow:!0})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!Dv(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.topicLayerTexture.needsUpdate=!0)}getVisibleVectorFeatures(e,t){const i=e==null?void 0:e.activeLegend,r=i==null?void 0:i.match;if(r!=null&&r.field)return(t||[]).filter(s=>{var l,u;return String((u=(l=s==null?void 0:s.properties)==null?void 0:l[r.field])!=null?u:"")===String(r.value)});const o=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(o){const[,s,l]=o,u=l.replace(/''/g,"'");return(t||[]).filter(c=>{var d,h;return String((h=(d=c==null?void 0:c.properties)==null?void 0:d[s])!=null?h:"")===u})}return[...t||[]]}clipVectorLayerContext(e,t){this.clipContextToHongyuanBoundary(e);const i=this.getLayerClipBounds(t);if(!i)return;const r=this.lngLatToLayerCanvasPoint([i.west,i.north]),a=this.lngLatToLayerCanvasPoint([i.east,i.south]),o=Math.min(r.x,a.x),s=Math.min(r.y,a.y),l=Math.abs(a.x-r.x),u=Math.abs(a.y-r.y);!l||!u||(e.beginPath(),e.rect(o,s,l,u),e.clip())}clipContextToHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];t.length&&(e.beginPath(),t.forEach(i=>{i.forEach(r=>{r.forEach((a,o)=>{const s=this.lngLatToLayerCanvasPoint(a);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){const t=String((e==null?void 0:e.key)||"");return!!(e!=null&&e.clipToHongyuanBoundary||t==="national-park-zoning"||t.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.key)==="national-park-zoning")}isLngLatInHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];return t.length?t.some(i=>this.isLngLatInPolygon(e,i)):!0}isLngLatInLayerClipBounds(e,t=this.currentTopicLayer){const i=this.getLayerClipBounds(t);return i?e.lng>=i.west&&e.lng<=i.east&&e.lat>=i.south&&e.lat<=i.north:!0}getLayerClipBounds(e){const t=e==null?void 0:e.clipBounds;if(!t)return null;const i=Math.max(Number(t.west),s1.west),r=Math.max(Number(t.south),s1.south),a=Math.min(Number(t.east),s1.east),o=Math.min(Number(t.north),s1.north);return![i,r,a,o].every(Number.isFinite)||i>=a||r>=o?null:{west:i,south:r,east:a,north:o}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}getVectorFeatureStyle(e,t){var l,u,c;const i=t.properties||{},a=(e.legends||[]).find(d=>{var f;const h=d.match;return h?String((f=i[h.field])!=null?f:"")===String(h.value):!1})||((l=e.legends)==null?void 0:l[0])||{},o=String(((u=t.geometry)==null?void 0:u.type)||"").includes("LineString"),s=((c=t.geometry)==null?void 0:c.type)==="Point";return(e==null?void 0:e.key)==="yak-epidemic-village-boundary"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||"#FFF06A",polygonAlpha:.16,lineAlpha:1,lineWidth:5,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="yak-industry-points"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#B7FFF2",polygonAlpha:.36,lineAlpha:.82,lineWidth:1.6,pointRadius:this.getVectorPointRadius(e,t),glow:!0,halo:!0}:{fill:o||s?a.strokeColor||a.fillColor||"#30DCFF":a.fillColor||"#30DCFF",stroke:a.strokeColor||a.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:o?.92:.9,lineWidth:o?5:2.4,pointRadius:s?this.getVectorPointRadius(e,t):4.5,glow:!0}}getVectorPointRadius(e,t){var r,a;const i=Number(((r=t==null?void 0:t.properties)==null?void 0:r.count)||((a=t==null?void 0:t.properties)==null?void 0:a.value)||0);return(e==null?void 0:e.key)==="yak-recognition-layer"?Math.max(3.8,Math.min(8.6,3.6+Math.sqrt(i)/68)):(e==null?void 0:e.key)==="yak-industry-points"?4.8:4.5}drawVectorFeature(e,t,i){if(t!=null&&t.coordinates){if(t.type==="Polygon"){this.drawPolygonPath(e,t.coordinates,i);return}if(t.type==="MultiPolygon"){t.coordinates.forEach(r=>this.drawPolygonPath(e,r,i));return}if(t.type==="LineString"){this.drawLinePath(e,t.coordinates,i);return}if(t.type==="MultiLineString"){t.coordinates.forEach(r=>this.drawLinePath(e,r,i));return}t.type==="Point"&&this.drawPointPath(e,t.coordinates,i)}}drawPolygonPath(e,t,i){Array.isArray(t==null?void 0:t[0])&&(e.save(),e.beginPath(),t.forEach(r=>{r.forEach((a,o)=>{const s=this.lngLatToLayerCanvasPoint(a);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()}),e.fillStyle=this.hexToRgba(i.fill,i.polygonAlpha),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,i.glow&&(e.shadowColor=i.stroke,e.shadowBlur=14),e.fill("evenodd"),e.stroke(),e.restore())}drawLinePath(e,t,i){!Array.isArray(t)||t.length<2||(e.save(),e.beginPath(),t.forEach((r,a)=>{const o=this.lngLatToLayerCanvasPoint(r);a===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,e.shadowColor=i.stroke,e.shadowBlur=12,e.stroke(),e.restore())}drawPointPath(e,t,i){var a;const r=this.lngLatToLayerCanvasPoint(t);e.save(),i.halo&&(e.beginPath(),e.arc(r.x,r.y,i.pointRadius*2.35,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.18),e.shadowColor=i.fill,e.shadowBlur=18,e.fill()),e.beginPath(),e.arc(r.x,r.y,i.pointRadius,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.96),e.shadowColor=i.stroke,e.shadowBlur=i.halo?8:12,e.fill(),i.lineWidth&&(e.lineWidth=i.lineWidth,e.strokeStyle=this.hexToRgba(i.stroke,(a=i.lineAlpha)!=null?a:.9),e.stroke()),e.restore()}lngLatToLayerCanvasPoint(e){const t=Number(e==null?void 0:e[0]),i=Number(e==null?void 0:e[1]);return{x:(t-s1.west)/(s1.east-s1.west)*this.topicLayerCanvas.width,y:(s1.north-i)/(s1.north-s1.south)*this.topicLayerCanvas.height}}hexToRgba(e,t=1){const i=String(e||"#30DCFF").replace("#",""),r=i.length===3?i.split("").map(u=>u+u).join(""):i,a=Number.parseInt(r,16);if(!Number.isFinite(a))return`rgba(48, 220, 255, ${t})`;const o=a>>16&255,s=a>>8&255,l=a&255;return`rgba(${o}, ${s}, ${l}, ${t})`}parseWktGeometry(e){var o;const t=String(e||"").trim();if(!t)return null;const i=t.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),r=(o=i==null?void 0:i[1])==null?void 0:o.toUpperCase();if(!r)return null;const a=t.slice(t.indexOf("("));return r==="POLYGON"?{type:"Polygon",coordinates:this.parseWktPolygonBody(a)}:r==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:this.parseWktMultiPolygonBody(a)}:r==="POINT"?{type:"Point",coordinates:this.parseWktPoint(a)}:r==="MULTIPOINT"?{type:"MultiPoint",coordinates:this.getWktChildGroups(a).map(s=>this.parseWktPoint(s)).filter(Boolean)}:r==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(a)}:r==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(a).map(s=>this.parseWktRing(s)).filter(s=>s.length)}:null}parseWktMultiPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktPolygonBody(t)).filter(t=>t.length)}parseWktPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktRing(t)).filter(t=>t.length>=3)}getWktChildGroups(e){const t=String(e||"").trim(),i=t.startsWith("(")&&t.endsWith(")")?t.slice(1,-1):t,r=[];let a=0,o=-1;for(let s=0;s<i.length;s+=1){const l=i[s];l==="("?(a===0&&(o=s),a+=1):l===")"&&(a-=1,a===0&&o>=0&&(r.push(i.slice(o,s+1)),o=-1))}return r.length?r:[i]}parseWktRing(e){return String(e||"").replace(/^\(+|\)+$/g,"").split(",").map(i=>i.trim().split(/\s+/).slice(0,2).map(Number)).filter(([i,r])=>Number.isFinite(i)&&Number.isFinite(r))}parseWktPoint(e){const t=String(e||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return t.length>=2&&Number.isFinite(t[0])&&Number.isFinite(t[1])?[t[0],t[1]]:null}createProvinceMaterial(){let e=new JC({color:16777215,transparent:!0,opacity:0,fog:!1,side:r0});e.onBeforeCompile=r=>{r.uniforms=Z2(b2({},r.uniforms),{uColor1:{value:new Jt(2152676)},uColor2:{value:new Jt(475482)}}),r.vertexShader=r.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),r.fragmentShader=r.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
void main() { |
|
|
`),r.fragmentShader=r.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78); |
|
|
outgoingLight = mix(outgoingLight * vec3(1.18), outgoingLight * gradient, 0.32); |
|
|
float topAlpha = 0.92; |
|
|
if(vPosition.z>0.3){ |
|
|
diffuseColor.a *= topAlpha; |
|
|
} |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)};let t=this.assets.instance.getResource("side");t.wrapS=Mn,t.wrapT=Mn,t.repeat.set(1,1.8),t.offset.y+=.065;let i=new c8({color:2148829,map:t,fog:!1,opacity:0,side:r0,roughness:.58,metalness:.08});return this.time.on("tick",()=>{t.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=Z2(b2({},r.uniforms),{uColor1:{value:new Jt(1629410)},uColor2:{value:new Jt(205365)}}),r.vertexShader=r.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),r.fragmentShader=r.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
void main() { |
|
|
`),r.fragmentShader=r.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2); |
|
|
outgoingLight = outgoingLight*gradient*vec3(1.12); |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)},[e,i]}getDefaultTownRanking(){return{title:"乡镇统计加载中",unit:"",rows:VH.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var r,a;const t=this.getDefaultTownRanking(),i=BOe(e);return{title:(e==null?void 0:e.title)||t.title,unit:(e==null?void 0:e.unit)||t.unit,metricLabel:(e==null?void 0:e.metricLabel)||(e==null?void 0:e.legendName)||"",note:(e==null?void 0:e.note)||"",hideTownNames:nW(e),hideMapLabels:Iv(e),calloutMode:i,showBars:(r=e==null?void 0:e.showBars)!=null?r:!1,showPointMarkers:(a=e==null?void 0:e.showPointMarkers)!=null?a:i}}getTownRankingRows(e=this.currentTownRanking,t=7,i=!0){var l;const r=this.getDefaultTownRanking(),a=(l=e==null?void 0:e.rows)!=null&&l.length?e.rows:i?r.rows:[],o=this.getTownRankingMeta(e),s=a.map(u=>{const c=this.townMetaByName.get(vl(u.name));return c?Z2(b2(b2({},c),u),{name:c.name,enName:c.enName,center:c.center,centroid:c.centroid,value:K1(u.value),unit:u.unit||o.unit,metricTitle:o.title}):null}).filter(Boolean).sort((u,c)=>c.value-u.value).map((u,c)=>Z2(b2({},u),{rank:c+1}));return Number.isFinite(t)?s.slice(0,t):s}getVillageRankingRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var u,c,d,h,f,p,m,v;const a=K1((u=i.lng)!=null?u:i.longitude,NaN),o=K1((c=i.lat)!=null?c:i.latitude,NaN);if(!Number.isFinite(a)||!Number.isFinite(o))return null;const s=K1((d=i.displayValue)!=null?d:i.value),l=K1((p=(f=(h=i.rawValue)!=null?h:i.earTagCount)!=null?f:i.ear_tag_count)!=null?p:i.value);return Z2(b2({},i),{key:i.key||`${i.town||""}-${i.village||i.name||r}`,name:i.name||i.village||`村${r+1}`,town:i.town||"",lng:a,lat:o,value:s,rawValue:l,recordCount:K1((m=i.recordCount)!=null?m:i.record_count,0),imageRate:K1((v=i.imageRate)!=null?v:i.image_rate,0),unit:i.displayUnit||i.unit||t.unit,metricTitle:t.title,metricLabel:i.metricLabel||t.metricLabel||""})}).filter(Boolean).sort((i,r)=>r.rawValue-i.rawValue).map((i,r)=>Z2(b2({},i),{rank:r+1}))}getVillageRankingHtml(e,t){const i=t.hideTownNames?"":`<span>${Gi(e.town||"红原县")}</span>`;return e.displayMode==="park-village"||t.displayMode==="park-village"?`<div class="epidemic-village-card is-park-village ${e.rank>8?"is-small":""}"> |
|
|
<div class="village-card-head"> |
|
|
<strong>${Gi(e.name)}</strong> |
|
|
${i} |
|
|
</div> |
|
|
<div class="village-card-body"> |
|
|
<span class="metric">${Gi(e.metricLabel||t.metricLabel||"")}</span> |
|
|
<span class="number">${this.formatMapRankingValue(e.value)}</span> |
|
|
<span class="unit">${Gi(e.unit||t.unit||"")}</span> |
|
|
</div> |
|
|
</div>`:`<div class="epidemic-village-card ${e.rank>8?"is-small":""}"> |
|
|
<div class="village-card-head"> |
|
|
<strong>${Gi(e.name)}</strong> |
|
|
${i} |
|
|
</div> |
|
|
<div class="village-card-body"> |
|
|
<span class="metric">${Gi(e.metricLabel||"防疫")}</span> |
|
|
<span class="number">${this.formatMapRankingValue(e.value)}</span> |
|
|
<span class="unit">${Gi(e.unit||t.unit||"")}</span> |
|
|
</div> |
|
|
<div class="village-card-foot"> |
|
|
<span>台账 ${this.formatMapCompactValue(e.recordCount)}条</span> |
|
|
<span>耳标 ${this.formatMapCompactValue(e.rawValue)}头</span> |
|
|
</div> |
|
|
</div>`}ensureVillageRankingGroup(){this.villageRankingGroup||(this.villageRankingGroup=new D1,this.villageRankingGroup.rotation.x=-Math.PI/2,this.villageRankingGroup.visible=!1,this.scene.add(this.villageRankingGroup),this.villageRankingLabels=[])}hideVillageRankingLabels(){var e;this.villageRankingGroup&&(this.villageRankingGroup.visible=!1),(e=this.villageRankingLabels)==null||e.forEach(t=>{t.visible=!1})}hideAllMapStatisticLabels(){var e,t,i,r;this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.hideTradeFlowLayer(),this.clearInfoPointStats(),(e=this.allProvinceLabel)==null||e.forEach(a=>{a.visible=!1}),(t=this.allBar)==null||t.forEach(a=>{a.visible=!1,a.scale.set(1,1,0)}),(i=this.allBarMaterial)==null||i.forEach(a=>{a.opacity=0}),(r=this.allGuangquan)==null||r.forEach(a=>{a.visible=!1})}setTownNameLabelsVisible(e=!0){var t;(t=this.townNameLabels)==null||t.forEach(i=>{i.visible=e})}updateVillageRankingLabels(e=this.currentTownRanking){if(this.ensureVillageRankingGroup(),!eW(e)){this.hideVillageRankingLabels();return}const t=this.getVillageRankingRows(e),i=this.getTownRankingMeta(e);if(!t.length){this.hideVillageRankingLabels();return}this.villageRankingGroup.visible=this.mapAnimationComplete,t.forEach((r,a)=>{let o=this.villageRankingLabels[a];o||(o=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(o,.0135,"x"),o.setParent(this.villageRankingGroup),this.villageRankingLabels.push(o));const[s,l]=this.geoProjection([r.lng,r.lat]),u=(a%3-1)*.06,c=Math.floor(a/3)%2*.04;o.init(this.getVillageRankingHtml(r,i),new Ie(s+u,-l+c,this.depth+1.55+Math.min(a,6)*.015)),o.visible=!0,o.userData=b2({},r)}),this.villageRankingLabels.slice(t.length).forEach(r=>{r.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new D1,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new D1,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new D1,this.tradeFlowLabelGroup.name="yak-trade-flow-label",this.tradeFlowLabelGroup.rotation.x=-Math.PI/2,this.tradeFlowGroup.add(this.tradeFlowMeshGroup,this.tradeFlowLabelGroup),this.scene.add(this.tradeFlowGroup))}hideTradeFlowLayer(){var e,t;this.tradeFlowGroup&&(this.tradeFlowGroup.visible=!1),(e=this.tradeFlowLabels)==null||e.forEach(i=>{i.visible=!1}),(t=this.tradeFlowPulseSprites)==null||t.forEach(i=>{i.visible=!1})}clearTradeFlowLayer(){this.tradeFlowMeshGroup&&(this.tradeFlowMeshGroup.children.forEach(e=>{var t;(t=e.traverse)==null||t.call(e,i=>this.disposeObject3D(i))}),this.tradeFlowMeshGroup.clear(),this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[])}getTradeFlowSource(e=this.currentTownRanking){var a,o,s,l;const t=(e==null?void 0:e.source)||{},i=K1((a=t.lng)!=null?a:t.longitude,NaN),r=K1((o=t.lat)!=null?o:t.latitude,NaN);return!Number.isFinite(i)||!Number.isFinite(r)?null:{name:t.name||"红原牦牛交易市场",lng:i,lat:r,total:K1((l=(s=t.total)!=null?s:t.headCount)!=null?l:t.value,NaN)}}getTradeFlowRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var h,f,p,m,v,g;const a=K1((h=i.lng)!=null?h:i.longitude,NaN),o=K1((f=i.lat)!=null?f:i.latitude,NaN),s=K1((v=(m=(p=i.headCount)!=null?p:i.head_count)!=null?m:i.rawValue)!=null?v:i.value),l=i.displayName||i.display_name||i.name,u=i.mapTownName||i.map_town_name||i.town||i.startTown||i.start_town||l,c=this.townMetaByName.get(vl(u)),d=Number.isFinite(a)&&Number.isFinite(o)?{lng:a,lat:o}:c!=null&&c.center?{lng:c.center[0],lat:c.center[1]}:null;return!d||!Number.isFinite(s)?null:Z2(b2(b2({},i),c),{key:i.key||`${(c==null?void 0:c.name)||l||u||"trade-source"}-${r}`,name:l||u||(c==null?void 0:c.name)||`来源${r+1}`,townName:(c==null?void 0:c.name)||u,lng:d.lng,lat:d.lat,labelSide:i.labelSide||i.label_side||this.getTradeSourceLabelSide(c,r),value:s,headCount:s,recordCount:K1((g=i.recordCount)!=null?g:i.record_count,0),unit:i.unit||t.unit||"头"})}).filter(Boolean).sort((i,r)=>r.value-i.value).map((i,r)=>Z2(b2({},i),{rank:r+1}))}getTradeMarketHtml(e,t){const i=Number.isFinite(e.total)?e.total:t.reduce((r,a)=>r+K1(a.value),0);return`<div class="trade-market-card"> |
|
|
<div class="market-title">${Gi(e.name)}</div> |
|
|
<div class="market-total"><span>${this.formatMapIntegerValue(i)}</span><em>头</em></div> |
|
|
</div>`}getTradeFlowDisplayName(e=""){const t=String(e||"").replace(/^.*红原县/,"").replace(/\s+/g,"");return t.length>7?`${t.slice(0,7)}…`:t||"来源区域"}getTradeFlowLabelHtml(e){return`<div class="trade-flow-card${e.labelSide?` is-${String(e.labelSide).replace(/[^a-z0-9-]/gi,"")}`:""}"> |
|
|
<div class="flow-head"><span>${String(e.rank).padStart(2,"0")}</span><strong>${Gi(this.getTradeFlowDisplayName(e.name))}</strong></div> |
|
|
<div class="flow-body"><em>${this.formatMapIntegerValue(e.value)}</em><b>${Gi(e.unit||"头")}</b></div> |
|
|
</div>`}getTradeFlowLabelOffset(e,t){return{left:new Ie(-.96,.14+t%2*.14,0),right:new Ie(.92,.12-t%2*.12,0),top:new Ie(-.34+t%2*.58,.58,0),bottom:new Ie(-.32+t%2*.56,-.56,0),"top-left":new Ie(-.9,.56,0),"top-right":new Ie(.84,.56,0),"bottom-left":new Ie(-.9,-.52,0),"bottom-right":new Ie(.84,-.52,0)}[e.labelSide]||[new Ie(-.96,.26,0),new Ie(.92,.14,0),new Ie(-.86,-.34,0),new Ie(.86,-.32,0)][t%4]}getTradeSourceLabelSide(e,t=0){var a,o;const i=Number((a=e==null?void 0:e.center)==null?void 0:a[0]),r=Number((o=e==null?void 0:e.center)==null?void 0:o[1]);return Number.isFinite(i)&&i<this.geoProjectionCenter[0]-.16?t%2?"top-left":"left":Number.isFinite(i)&&i>this.geoProjectionCenter[0]+.22?t%2?"bottom-right":"right":Number.isFinite(r)&&r>this.geoProjectionCenter[1]+.24?t%2?"top-right":"top":Number.isFinite(r)&&r<this.geoProjectionCenter[1]-.28?t%2?"bottom-left":"bottom":["right","left","top","bottom"][t%4]}getTradeLocalPoint(e,t,i=0){const[r,a]=this.geoProjection([e,t]);return new Ie(r,-a,this.depth+i)}getTradeFlowPoint(e,t=0){return this.getTradeLocalPoint(e.lng,e.lat,t)}getLocalTradeFlowCurve(e,t,i){const r=this.getTradeFlowPoint(e,.76),a=this.getTradeLocalPoint(t.lng,t.lat,.86),o=r.clone().lerp(a,.5),s=r.distanceTo(a);o.z+=Math.max(.32,Math.min(.82,s*.22+i*.012));const l=new Ie(-(a.y-r.y),a.x-r.x,0);return l.lengthSq()>0&&(l.normalize().multiplyScalar((i%2===0?1:-1)*Math.min(.18,.05+s*.02)),o.add(l)),new AR([r,o,a])}tradeGeoProjection(e){return Is().center(this.tradeGeoProjectionCenter).scale(this.tradeGeoProjectionScale).translate([0,0])(e)}setTradeNationalMapVisible(e){const t=!!e;if(!(!t&&!this.isTradeNationalMapActive&&!this.tradeNationalMapGroup&&!this.tradeFlowGroup)){if(t&&!this.createTradeNationalMap()){this.isTradeNationalMapActive=!1;return}this.isTradeNationalMapActive=t,this.tradeNationalMapGroup&&(this.tradeNationalMapGroup.visible=t&&this.mapAnimationComplete),this.tradeNationalLabelGroup&&(this.tradeNationalLabelGroup.visible=t&&this.mapAnimationComplete),this.mapGroup&&(this.mapGroup.visible=!t),this.labelGroup&&(this.labelGroup.visible=!t),this.flyLineGroup&&(this.flyLineGroup.visible=!t&&this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!t&&this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=!t&&this.mapAnimationComplete),this.topicLayerMaterial&&t&&(this.topicLayerMaterial.opacity=0),t&&this.mapAnimationComplete?this.animateMapCamera(new Ie(0,11.4,16.2),new Ie(0,-.05,0),.65):!t&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,t,i,r){const a=new Jt(t%3===1?16766828:t%3===2?2617536:3202303),o=this.getTradeFlowPoint(e,.72);if(r){const p=this.getLocalTradeFlowCurve(e,r,t),m=new C1({color:a,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn}),v=.012+Math.min(.012,K1(e.value)/Math.max(i,1)*.01),g=new h1(new c_(p,48,v,8,!1),m);g.renderOrder=31,this.tradeFlowMeshGroup.add(g),this.tradeFlowMaterials.push(m);const _=new xl({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn}),S=new lc(_),x=.12+Math.min(.08,K1(e.value)/Math.max(i,1)*.06);S.renderOrder=36,S.scale.set(x,x,x),S.userData={curve:p,phase:t*.13%1,speed:.16+Math.min(.16,K1(e.value)/Math.max(i,1)*.12)},S.position.copy(p.getPointAt(S.userData.phase)),this.tradeFlowPulseSprites.push(S),this.tradeFlowMeshGroup.add(S)}const s=new xl({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn}),l=new lc(s),u=.22+Math.min(.34,K1(e.value)/Math.max(i,1)*.28);l.renderOrder=34,l.scale.set(u,u,u),l.position.copy(o),this.tradeFlowMeshGroup.add(l);const c=this.assets.instance.getResource("guangquan1"),d=new C1({map:c,alphaMap:c,color:a,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn,side:r0}),h=.38+Math.min(.36,K1(e.value)/Math.max(i,1)*.28),f=new h1(new Tr(h,h),d);f.renderOrder=29,f.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(f)}createTradeMarketMarker(e){const t=this.assets.instance.getResource("point"),i=this.assets.instance.getResource("guangquan1"),r=this.getTradeLocalPoint(e.lng,e.lat,.82),a=new xl({map:t,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn}),o=new lc(a);o.renderOrder=35,o.scale.set(.34,.34,.34),o.position.copy(r),this.tradeFlowMeshGroup.add(o);const s=new C1({map:i,alphaMap:i,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:Cn,side:r0}),l=new h1(new Tr(.58,.58),s);l.renderOrder=29,l.position.copy(this.getTradeLocalPoint(e.lng,e.lat,.58)),this.tradeFlowMeshGroup.add(l)}disposeObject3D(e){var t,i,r,a;(i=(t=e.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(e.material)?e.material.forEach(o=>{var s;return(s=o==null?void 0:o.dispose)==null?void 0:s.call(o)}):(a=(r=e.material)==null?void 0:r.dispose)==null||a.call(r)}updateTradeFlowPulses(e=.016){var t,i;!((t=this.tradeFlowGroup)!=null&&t.visible)||!((i=this.tradeFlowPulseSprites)!=null&&i.length)||this.tradeFlowPulseSprites.forEach(r=>{var s;const a=(s=r.userData)==null?void 0:s.curve;if(!a)return;const o=(K1(r.userData.phase)+K1(r.userData.speed,.16)*e)%1;r.userData.phase=o,r.position.copy(a.getPointAt(o))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!tW(e)){this.hideTradeFlowLayer();return}this.ensureTradeFlowGroup();const t=this.getTradeFlowSource(e),i=this.getTradeFlowRows(e);if(!t||!i.length){this.clearTradeFlowLayer(),this.hideTradeFlowLayer();return}this.clearTradeFlowLayer(),this.tradeFlowGroup.visible=this.mapAnimationComplete,this.createTradeMarketMarker(t);const r=Math.max(...i.map(s=>s.value),1);i.forEach((s,l)=>{this.createTradeSourceMarker(s,l,r,t)});const a=i.length+1;for(let s=this.tradeFlowLabels.length;s<a;s+=1){const l=this.label3d.create("",s===0?"trade-market-label":"trade-flow-label",!0);this.label3d.setLabelStyle(l,s===0?.014:.0125,"x"),l.setParent(this.tradeFlowLabelGroup),this.tradeFlowLabels.push(l)}const o=this.tradeFlowLabels[0];o.element.className="trade-market-label",o.init(this.getTradeMarketHtml(t,i),this.getTradeLocalPoint(t.lng,t.lat,1.46).add(new Ie(.52,-.98,0))),o.visible=!0,o.userData=Z2(b2({},t),{rows:i.length}),i.forEach((s,l)=>{const u=this.tradeFlowLabels[l+1];u.element.className="trade-flow-label",u.init(this.getTradeFlowLabelHtml(s),this.getTradeFlowPoint(s,.92+Math.min(l,5)*.035).add(this.getTradeFlowLabelOffset(s,l))),u.visible=!0,u.userData=b2({},s)}),this.tradeFlowLabels.slice(a).forEach(s=>{s.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const t=K1(e);return Math.abs(t)>=100?String(Math.round(t)):Math.abs(t)>=10?String(Number(t.toFixed(1))):String(Number(t.toFixed(2)))}formatMapCompactValue(e){const t=K1(e);return Math.abs(t)>=1e4?`${Number((t/1e4).toFixed(Math.abs(t)>=1e5?1:2))}万`:Math.abs(t)>=1e3?`${Number((t/1e3).toFixed(1))}千`:this.formatMapRankingValue(t)}formatMapIntegerValue(e){const t=K1(e);return Math.round(t).toLocaleString("zh-CN")}getBarHeight(e,t){return t?Math.max(2.8*.12,2.8*(K1(e)/t)):2.8*.25}createBarGeometry(e){const i=new Q7(.06999999999999999,.06999999999999999,e);return i.translate(0,0,e/2),i}getProvinceLabelHtml(e,t,i){return`<div class="provinces-label ${t>4?"yellow":""}"> |
|
|
<div class="provinces-label-wrap"> |
|
|
<div class="label-main"> |
|
|
<div class="label-title">${i.title}</div> |
|
|
<div class="number"><span class="value" data-target-value="${e.value}">${this.formatMapRankingValue(e.value)}</span><span class="unit">${e.unit||i.unit}</span></div> |
|
|
<div class="name">${e.name}</div> |
|
|
</div> |
|
|
<div class="no">${t+1}</div> |
|
|
</div> |
|
|
</div>`}updateBarItem(e,t,i,r,a=!0){var u,c;const o=this.getBarHeight(t.value,r),[s,l]=this.geoProjection(t.centroid);return e.visible=!0,(c=(u=e.geometry)==null?void 0:u.dispose)==null||c.call(u),e.geometry=this.createBarGeometry(o),e.position.set(s,-l,this.depth+.45),e.userData=Z2(b2({},t),{targetValue:t.value,geoHeight:o}),e.children.forEach(d=>{var h,f,p,m;(f=(h=d.geometry)==null?void 0:h.dispose)==null||f.call(h),Array.isArray(d.material)?d.material.forEach(v=>{var g;return(g=v==null?void 0:v.dispose)==null?void 0:g.call(v)}):(m=(p=d.material)==null?void 0:p.dispose)==null||m.call(p)}),e.clear(),e.add(...this.createHUIGUANG(o,i>3?16776948:7863285)),a?N0.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:s,y:l,geoHeight:o}}updateProvinceLabel(e,t,i,r,a,o=!0){var p;const s=K1((p=e.userData)==null?void 0:p.targetValue,t.value);e.visible=!0,e.userData=Z2(b2({},t),{targetValue:t.value}),e.position.copy(r);const l=e.element.querySelector(".label-title"),u=e.element.querySelector(".number .value"),c=e.element.querySelector(".number .unit"),d=e.element.querySelector(".name"),h=e.element.querySelector(".no");!l||!u||!c||!d||!h?e.element.innerHTML=this.getProvinceLabelHtml(t,i,a):(l.innerText=a.title,u.dataset.targetValue=String(t.value),u.innerText=this.formatMapRankingValue(t.value),c.innerText=t.unit||a.unit,d.innerText=t.name,h.innerText=i+1);const f=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(f.style.opacity="1",f.style.transform="translate(50%, 0)"),o&&this.mapAnimationComplete){const m=e.element.querySelector(".number .value"),g={value:s};N0.to(g,{value:t.value,duration:.45,ease:"power2.out",onUpdate:()=>{m.innerText=this.formatMapRankingValue(g.value)},onComplete:()=>{m.dataset.previousValue=String(t.value),m.innerText=this.formatMapRankingValue(t.value)}})}}clearTownNameLabelStat(e){const t=e.element.querySelector(".town-stat-label"),i=e.element.querySelector(".town-stat-value"),r=e.element.querySelector(".town-stat-unit"),a=e.element.querySelector(".town-rank"),o=e.element.querySelector(".town-stat-metric");t==null||t.classList.remove("has-stat"),i&&(i.innerText=""),r&&(r.innerText=""),a&&(a.innerText=""),o&&(o.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var a;if(!((a=this.townNameLabels)!=null&&a.length))return;const t=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),i=this.getTownRankingMeta(e),r=new Map(t.map(o=>[vl(o.name),o]));this.townNameLabels.forEach(o=>{var m,v;const s=((m=o.userData)==null?void 0:m.townName)||((v=o.userData)==null?void 0:v.name),l=r.get(vl(s));if(!l){this.clearTownNameLabelStat(o);return}const u=o.element.querySelector(".town-stat-label"),c=o.element.querySelector(".town-name"),d=o.element.querySelector(".town-stat-value"),h=o.element.querySelector(".town-stat-unit"),f=o.element.querySelector(".town-rank"),p=o.element.querySelector(".town-stat-metric");u==null||u.classList.add("has-stat"),c&&(c.innerText=s),p&&(p.innerText=l.metricLabel||i.metricLabel||""),d&&(d.innerText=this.formatMapRankingValue(l.value)),h&&(h.innerText=l.unit||i.unit||""),f&&(f.innerText=l.rank?`第${l.rank}名`:""),o.userData=Z2(b2(b2({},o.userData),l),{townName:s,targetValue:l.value})})}getInfoPointHtml(e,t=this.getTownRankingMeta()){const i=String(e.metricLabel||t.metricLabel||t.title||"统计指标").replace(/排行$/,""),r=Number(e.rank),a=Number.isFinite(r)?String(r).padStart(2,"0"):"--";return`<div class="info-point-wrap ${r<=3?"is-prime":""}"> |
|
|
<div class="info-point-wrap-inner"> |
|
|
<div class="info-point-head"> |
|
|
<span class="rank">${a}</span> |
|
|
<strong>${Gi(e.name||"红原县")}</strong> |
|
|
</div> |
|
|
<div class="info-point-metric">${Gi(i)}</div> |
|
|
<div class="info-point-value"> |
|
|
<span>${this.formatMapRankingValue(e.value)}</span> |
|
|
<em>${Gi(e.unit||t.unit||"")}</em> |
|
|
</div> |
|
|
</div> |
|
|
</div>`}updateInfoPointStats(){var o,s;if(!((o=this.infoPointSprites)!=null&&o.length)||!((s=this.infoLabelElement)!=null&&s.length))return;if(!this.showTownRankingPointMarkers){this.clearInfoPointStats();return}const e=this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1);if(!e.length){this.clearInfoPointStats();return}const t=this.getTownRankingMeta(),i=e.slice(0,this.infoPointSprites.length),r=Math.max(...i.map(l=>l.value),1);this.infoPointSprites.forEach((l,u)=>{const c=i[u],d=this.infoLabelElement[u];if(!c){l.visible=!1,l.scale.set(0,0,0),d&&(d.visible=!1);return}const[h,f]=this.geoProjection(c.centroid||c.center),p=[h,-f,this.depth+.72];l.userData=Z2(b2(b2({},l.userData),c),{position:p,value:c.value,unit:c.unit||t.unit,rank:c.rank,metricTitle:t.title,index:u}),l.position.set(...p),l.visible=this.showTownRankingPointMarkers;const m=.78+c.value/r*.44;if(l.scale.set(m,m,m),d){const v=(u%2===0?.22:-.18)+(u===0?.12:0),g=u%3===0?.08:-.04;d.position.set(h+v,-f+g,this.depth+1.88+Math.min(u,4)*.03),d.userData=Z2(b2({},c),{index:u}),d.element.innerHTML=this.getInfoPointHtml(c,t)}});const a=this.infoLabelElement[this.infoPointIndex];a&&this.showTownRankingPointMarkers&&this.mapAnimationComplete&&(a.visible=!0),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}clearInfoPointStats(){var e,t;clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null,this.infoPointIndex=0,this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),(e=this.infoLabelElement)==null||e.forEach(i=>{i.visible=!1}),(t=this.infoPointSprites)==null||t.forEach(i=>{i.visible=!1,i.scale.set(0,0,0)})}createBar(){const e=this.getTownRankingRows();this.getTownRankingMeta();const t=new D1;this.barGroup=t;const i=Math.max(...e.map(r=>r.value),1);this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],e.map((r,a)=>{const o=this.getBarHeight(r.value,i),s=new C1({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Lv(s,{uColor1:a>3?16506760:5291006,uColor2:a>3?16776948:7863285,size:o,dir:"y"});const l=new h1(this.createBarGeometry(o),s);l.renderOrder=5;const[u,c]=this.geoProjection(r.centroid);l.position.set(u,-c,this.depth+.45),l.scale.set(1,1,0),l.userData=Z2(b2({},r),{targetValue:r.value,geoHeight:o});const d=this.createQuan(new Ie(u,this.depth+.44,c),a);l.add(...this.createHUIGUANG(o,a>3?16776948:7863285)),t.add(l),t.rotation.x=-Math.PI/2,this.allBar.push(l),this.allBarMaterial.push(s),this.allGuangquan.push(d)}),this.scene.add(t),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var a,o,s,l,u,c,d,h,f,p,m,v,g,_,S,x;this.currentTownRanking=e;const t=this.getTownRankingMeta(e);if(this.showTownRankingBars=!!t.showBars,this.showTownRankingPointMarkers=!!t.showPointMarkers,t.hideMapLabels){this.hideAllMapStatisticLabels(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete);return}if(tW(e)){this.setTradeNationalMapVisible(!1),this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.clearInfoPointStats(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!1),this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),(a=this.allBar)!=null&&a.length&&(this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(o=this.allBarMaterial)==null||o.forEach(A=>{A.opacity=0}),(s=this.allProvinceLabel)==null||s.forEach(A=>{A.visible=!1}),(l=this.allGuangquan)==null||l.forEach(A=>{A.visible=!1})),this.updateTradeFlowLayer(e);return}if(this.setTradeNationalMapVisible(!1),this.hideTradeFlowLayer(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete),eW(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!nW(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(u=this.allBar)!=null&&u.length&&(this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(c=this.allBarMaterial)==null||c.forEach(A=>{A.opacity=0}),(d=this.allProvinceLabel)==null||d.forEach(A=>{A.visible=!1}),(h=this.allGuangquan)==null||h.forEach(A=>{A.visible=!1}));return}if(this.setTownNameLabelsVisible(!t.calloutMode&&!t.hideTownNames),this.hideVillageRankingLabels(),t.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((f=this.allBar)!=null&&f.length))return;if(!this.showTownRankingBars){this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(p=this.allBarMaterial)==null||p.forEach(A=>{A.opacity=0}),(m=this.allProvinceLabel)==null||m.forEach(A=>{A.visible=!1}),(v=this.allGuangquan)==null||v.forEach(A=>{A.visible=!1}),this.showTownRankingPointMarkers?(this.InfoPointGroup&&(this.InfoPointGroup.visible=this.mapAnimationComplete&&this.hasTownRankingRows(e)),this.updateInfoPointStats()):this.clearInfoPointStats();return}const i=this.getTownRankingRows(e,7,!1);if(!i.length){this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(g=this.allProvinceLabel)==null||g.forEach(A=>{A.visible=!1}),(_=this.allGuangquan)==null||_.forEach(A=>{A.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(S=this.infoPointSprites)==null||S.forEach(A=>{A.visible=this.showTownRankingPointMarkers});const r=Math.max(...i.map(A=>A.value),1);this.allBar.forEach((A,C)=>{const M=C<i.length;A.visible=M,M||A.scale.set(1,1,0)}),(x=this.allProvinceLabel)==null||x.forEach(A=>{A.visible=!1}),this.allGuangquan.forEach((A,C)=>{A.visible=C<i.length}),i.forEach((A,C)=>{const M=this.allBar[C],I=this.allGuangquan[C];if(!M)return;const{x:D,y:E}=this.updateBarItem(M,A,C,r,this.mapAnimationComplete);I&&(I.visible=!0,I.position.set(0,0,0),I.children.forEach(P=>{P.position.set(D,this.depth+.44,E),this.mapAnimationComplete&&P.scale.set(1,1,1)}))}),this.updateInfoPointStats()}createEvent(){let e=[];const t=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultMaterial)})},i=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultLightMaterial)})};this.eventElement.map(r=>{this.interactionManager.add(r),r.addEventListener("mousedown",a=>{this.handleMapClick(a)}),r.addEventListener("mouseover",a=>{e.includes(a.target.parent)||e.push(a.target.parent),document.body.style.cursor="pointer",i(a.target.parent)}),r.addEventListener("mouseout",a=>{e=e.filter(o=>o.userData.name!==a.target.parent.userData.name),e.length>0&&e[e.length-1],t(a.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(e,t){let i=new Tr(.35,e);i.translate(0,e/2,0);const r=this.assets.instance.getResource("huiguang");r.colorSpace=W1,r.wrapS=Mn,r.wrapT=Mn;let a=new C1({color:t,map:r,transparent:!0,opacity:.4,depthWrite:!1,side:r0,blending:Cn}),o=new h1(i,a);o.renderOrder=10,o.rotateX(Math.PI/2);let s=o.clone(),l=o.clone();return s.rotateY(Math.PI/180*60),l.rotateY(Math.PI/180*120),[o,s,l]}createQuan(e,t){const i=this.assets.instance.getResource("guangquan1"),r=this.assets.instance.getResource("guangquan2");let a=new Tr(.5,.5),o=new C1({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Cn}),s=new C1({color:16777215,map:r,alphaMap:r,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Cn}),l=new h1(a,o),u=new h1(a,s);return l.renderOrder=6,u.renderOrder=6,l.rotateX(-Math.PI/2),u.rotateX(-Math.PI/2),l.position.copy(e),u.position.copy(e),u.position.y-=.001,l.scale.set(0,0,0),u.scale.set(0,0,0),this.quanGroup=new D1,this.quanGroup.add(l,u),this.scene.add(this.quanGroup),this.time.on("tick",()=>{l.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new Tr(200,200),t=new C1({color:0,depthWrite:!1,transparent:!0,blending:bQ});t.blendEquation=X6,t.blendSrc=wQ,t.blendDst=xQ,new UFe({material:t,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:r=>{setTimeout(()=>{N0.to(r.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"})},3)}});let i=new h1(e,t);i.renderOrder=3,i.rotation.x=-Math.PI/2,i.position.set(0,.21,0),this.scene.add(i)}createGrid(){new VFe(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:Cn})}createBottomBg(){let e=new Tr(24,24);const t=this.assets.instance.getResource("ocean");t.colorSpace=W1,t.wrapS=Mn,t.wrapT=Mn,t.repeat.set(1,1);let i=new C1({map:t,opacity:.92,fog:!1}),r=new h1(e,i);r.rotation.x=-Math.PI/2,r.position.set(0,-.7,0),this.scene.add(r)}createChinaBlurLine(){let e=new Tr(154,154);const t=this.assets.instance.getResource("chinaBlurLine");t.colorSpace=W1,t.wrapS=Mn,t.wrapT=Mn,t.generateMipmaps=!1,t.minFilter=vn,t.repeat.set(1,1);let i=new C1({color:4162253,alphaMap:t,transparent:!0,opacity:.62}),r=new h1(e,i);r.rotateX(-Math.PI/2),r.position.set(-19.3,-.5,-19.7),this.scene.add(r)}createLabel(){let e=this,t=this.labelGroup,i=this.label3d,r=[],a=[];sOe.map(u=>{if(u.hide==!0)return!1;let c=s(u,i,t);r.push(c),a.push(c)});let o=l(b2({},this.mapFocusLabelInfo),i,t);r.push(o),this.otherLabel=r,this.townNameLabels=a;function s(u,c,d){let h=c.create("",`china-label ${u.blur?" blur":""}`,!0);const[f,p]=e.geoProjection(u.center);return h.init(`<div class="other-label town-stat-label"> |
|
|
<div class="town-name-row"><img class="label-icon" src="${JFe}"><span class="town-name">${u.name}</span><span class="town-rank"></span></div> |
|
|
<div class="town-stat-row"><span class="town-stat-metric"></span><span class="town-stat-value"></span><span class="town-stat-unit"></span></div> |
|
|
</div>`,new Ie(f,-p,e.depth+.85)),c.setLabelStyle(h,.018,"x"),h.setParent(d),h.userData=Z2(b2({},u),{townName:u.name}),h}function l(u,c,d){let h=c.create("","map-label",!0);const[f,p]=e.geoProjection(u.center);return h.init(`<div class="other-label"><span>${u.name}</span><span>${u.enName}</span></div>`,new Ie(f,-p,.4)),c.setLabelStyle(h,.015,"x"),h.setParent(d),h}}createRotateBorder(){let e=13.2,t=this.assets.instance.getResource("rotationBorder1"),i=this.assets.instance.getResource("rotationBorder2"),r=new kH(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new C1({map:t,color:4763647,transparent:!0,opacity:.26,side:r0,depthWrite:!1,blending:Cn}),position:new Ie(0,.31,0)});r.instance.rotation.x=-Math.PI/2,r.instance.renderOrder=6,r.instance.scale.set(0,0,0),r.setParent(this.scene);let a=new kH(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new C1({map:i,color:4763647,transparent:!0,opacity:.5,side:r0,depthWrite:!1,blending:Cn}),position:new Ie(0,.33,0)});a.instance.rotation.x=-Math.PI/2,a.instance.renderOrder=6,a.instance.scale.set(0,0,0),a.setParent(this.scene),this.rotateBorder1=r.instance,this.rotateBorder2=a.instance}createFlyLine(){this.flyLineGroup=new D1,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new Xg(this,{num:10,range:30,dir:"up",speed:.05,material:new Nh({map:Xg.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:Cn,sizeAttenuation:!0})}),this.particleGroup=new D1,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new D1,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const e=this.assets.instance.getResource("arrow"),t=new xl({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let i=QH(lOe),r=i[0].value;i.map(a=>{const o=new lc(t);o.renderOrder=23;let s=.1+a.value/r*.2;o.scale.set(s,s,s);let[l,u]=this.geoProjection([a.lng,a.lat]);o.position.set(l,-u,this.depth+.45),o.userData.position=[l,-u,this.depth+.45],this.scatterGroup.add(o)})}createInfoPoint(){let e=this;this.InfoPointGroup=new D1,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[],this.infoPointSprites=[];let t=this.label3d;const i=this.assets.instance.getResource("point");let r=[16776948,7863285],a=QH(uOe),o=a[0].value;a.map((l,u)=>{const c=new xl({map:i,color:r[u%r.length],fog:!1,transparent:!0,depthTest:!1}),d=new lc(c);d.renderOrder=23;let h=.7+l.value/o*.4;d.scale.set(h,h,h);let[f,p]=this.geoProjection([l.lng,l.lat]),m=[f,-p,this.depth+.7];d.position.set(...m),d.userData.position=[...m],d.userData={position:[f,-p,this.depth+.7],name:l.name,value:l.value,level:l.level,index:u},this.InfoPointGroup.add(d);let v=s(l,t,this.InfoPointGroup,u);this.infoLabelElement.push(v),this.infoPointSprites.push(d),this.interactionManager.add(d),d.addEventListener("mousedown",g=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=g.target.userData.index,this.infoLabelElement.map(_=>{_.visible=!1}),v.visible=!0,this.createInfoPointLabelLoop()}),d.addEventListener("mouseup",g=>{this.clicked=!1}),d.addEventListener("mouseover",g=>{document.body.style.cursor="pointer"}),d.addEventListener("mouseout",g=>{document.body.style.cursor="default"})});function s(l,u,c,d){let h=u.create("","info-point",!0);const[f,p]=e.geoProjection([l.lng,l.lat]);return h.init(e.getInfoPointHtml(Z2(b2({},l),{value:0,rank:d+1,unit:""}),e.getTownRankingMeta()),new Ie(f,-p,e.depth+1.9)),u.setLabelStyle(h,.015,"x"),h.setParent(c),h.visible=!1,h}}createInfoPointLabelLoop(){clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((e,t)=>{this.infoPointIndex===t?e.visible=!0:e.visible=!1})},3e3)}createStorke(){const e=this.assets.instance.getResource("mapStroke"),t=this.assets.instance.getResource("pathLine3");t.wrapS=t.wrapT=Mn,t.repeat.set(2,1);let i=new Rv(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ie(0,0,this.depth+.24),data:e,material:new C1({color:2868444,map:t,alphaMap:t,fog:!1,transparent:!0,opacity:1,blending:Cn}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(i.lineGroup),this.time.on("tick",()=>{t.offset.x+=.005})}handleMapClick(e){return J2(this,null,function*(){var a,o,s,l,u,c,d,h,f,p,m,v,g,_,S,x,A,C,M,I,D,E,P,F,V,G,W,Y,Q,K,ae,ie,he,Ee,je,xe,Oe,f2,B2;if(!this.currentTopicLayer)return;const t=this.getScreenPointFromEvent(e),i=this.getLngLatFromEvent(e);if(!i){this.clearSelectedFeature(),(o=(a=this.callbacks).onFeatureInfo)==null||o.call(a,{feature:null});return}if(this.boundaryDrawingEnabled){const S2=((s=e==null?void 0:e.data)==null?void 0:s.originalEvent)||(e==null?void 0:e.originalEvent)||e;if(S2!=null&&S2.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(i);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(i)){this.clearSelectedFeature(),(u=(l=this.callbacks).onFeatureInfo)==null||u.call(l,{feature:null}),(d=(c=this.callbacks).onLayerStatus)==null||d.call(c,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(i,this.currentTopicLayer)){this.clearSelectedFeature(),(f=(h=this.callbacks).onFeatureInfo)==null||f.call(h,{feature:null}),(m=(p=this.callbacks).onLayerStatus)==null||m.call(p,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(Dv(this.currentTopicLayer)){const S2=this.pickVectorFeatureAtPoint(i,t),p2=(S2==null?void 0:S2.feature)||S2;let X2=(S2==null?void 0:S2.screen)||t;p2?(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([p2])):this.showSelectedFeature(p2),((v=this.currentTopicLayer)==null?void 0:v.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([p2]),X2=this.getPointFeatureScreenPoint(p2)||X2),(A=(x=this.callbacks).onFeatureInfo)==null||A.call(x,{feature:{id:((g=p2.properties)==null?void 0:g.id)||((_=p2.properties)==null?void 0:_.feature_id)||((S=p2.properties)==null?void 0:S.project_name),properties:p2.properties||{},feature:p2,layer:this.currentTopicLayer,lngLat:i},screen:X2}),(M=(C=this.callbacks).onLayerStatus)==null||M.call(C,{type:"success",text:"真实矢量要素已选中"})):(this.clearSelectedFeature(),(D=(I=this.callbacks).onFeatureInfo)==null||D.call(I,{feature:null}),(P=(E=this.callbacks).onLayerStatus)==null||P.call(E,{type:"success",text:"当前点击位置无生态保护要素"}));return}const r=this.lngLatToWmsPixel(i);(V=(F=this.callbacks).onFeatureInfo)==null||V.call(F,{feature:null}),(W=(G=this.callbacks).onFeatureLoading)==null||W.call(G,!0);try{const S2=yield ZH(this.currentTopicLayer,r,{size:q6,buffer:10}),p2=JH(S2),X2=p2?null:yield this.queryFallbackFeatureInfo(i),w2=p2||(X2==null?void 0:X2.feature);if(w2){const Ce=yield this.enrichFeatureInfo(w2,r,i);this.showSelectedFeature(Ce.feature||Ce),(Q=(Y=this.callbacks).onFeatureInfo)==null||Q.call(Y,{feature:Z2(b2({},Ce),{layer:(X2==null?void 0:X2.layer)||this.currentTopicLayer,lngLat:i}),screen:t})}else this.clearSelectedFeature(),(ae=(K=this.callbacks).onFeatureInfo)==null||ae.call(K,{feature:null});w2||(he=(ie=this.callbacks).onLayerStatus)==null||he.call(ie,{type:"success",text:"当前点击位置无图斑"})}catch(S2){this.clearSelectedFeature(),(je=(Ee=this.callbacks).onFeatureInfo)==null||je.call(Ee,{feature:null}),(Oe=(xe=this.callbacks).onLayerStatus)==null||Oe.call(xe,{type:"error",text:"图斑信息查询失败"})}finally{(B2=(f2=this.callbacks).onFeatureLoading)==null||B2.call(f2,!1)}})}handleCanvasBoundaryPointerDown(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);t&&this.addBoundaryDrawPoint(t)&&(e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}handleCanvasBoundaryDoubleClick(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);(this.boundaryDrawPoints||[]).length<3&&t&&this.addBoundaryDrawPoint(t),(this.boundaryDrawPoints||[]).length>=3&&(this.finishBoundaryDrawing(),e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}getLngLatFromCanvasEvent(e){var h,f,p;if(!((h=this.camera)!=null&&h.instance)||!this.focusMapGroup||!this.canvas)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=(f=this.interactionManager)==null?void 0:f.raycaster;if(!(i!=null&&i.setFromCamera))return null;const r={x:(e.clientX-t.left)/t.width*2-1,y:-((e.clientY-t.top)/t.height)*2+1};i.setFromCamera(r,this.camera.instance);const o=((p=i.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:p.point)||this.getRayMapPlaneIntersection(i.ray);if(!o)return null;const s=this.focusMapGroup.worldToLocal(o.clone()),u=Is().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([s.x,-s.y]);if(!u)return null;const c=Number(u[0]),d=Number(u[1]);return!Number.isFinite(c)||!Number.isFinite(d)?null:c<s1.west-.03||c>s1.east+.03||d<s1.south-.03||d>s1.north+.03?this.getFallbackLngLatFromPointer(e,t):{lng:c,lat:d}}getFallbackLngLatFromPointer(e,t=(r=>(r=(i=>(i=this.canvas)==null?void 0:i.getBoundingClientRect)())==null?void 0:r.call(i))()){if(!(t!=null&&t.width)||!(t!=null&&t.height))return null;const a=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),o=Math.min(1,Math.max(0,(e.clientY-t.top)/t.height)),s=s1.west+(s1.east-s1.west)*a,l=s1.north-(s1.north-s1.south)*o;return{lng:s,lat:l}}getRayMapPlaneIntersection(e){if(!(e!=null&&e.origin)||!(e!=null&&e.direction)||!this.focusMapGroup)return null;const t=this.focusMapGroup.worldToLocal(e.origin.clone()),r=this.focusMapGroup.worldToLocal(e.origin.clone().add(e.direction.clone())).sub(t),a=this.depth+.22;if(Math.abs(r.z)<1e-8)return null;const o=(a-t.z)/r.z;if(!Number.isFinite(o)||o<0)return null;const s=t.add(r.multiplyScalar(o));return this.focusMapGroup.localToWorld(s)}enrichFeatureInfo(e,t,i){return J2(this,null,function*(){const r=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(r))return e;const o=(_m[r]||[]).find(d=>d.key===`${r}-distribution`),s=(this.visibleTopicLayers||[]).filter(d=>this.getLayerTopicKey(d)===r).slice(0,5),l=[o,this.currentTopicLayer,...s].filter(d=>d==null?void 0:d.layerName).filter((d,h,f)=>f.findIndex(p=>this.getLayerQueryKey(p)===this.getLayerQueryKey(d))===h);if(!l.length)return e;const u=yield Promise.allSettled([...l.filter(d=>this.getLayerQueryKey(d)!==this.getLayerQueryKey(this.currentTopicLayer)).map(d=>J2(this,null,function*(){const h=yield ZH(d,t,{size:q6,buffer:10}),f=JH(h);return f?{layer:d,feature:f,source:"wms"}:null})),...l.map(d=>J2(this,null,function*(){const h=yield this.queryLayerFeatureByPoint(d,i);return h?{layer:d,feature:h,source:"wfs"}:null}))]),c=b2({},e.properties||{});return u.forEach(d=>{var h,f;d.status!=="fulfilled"||!((f=(h=d.value)==null?void 0:h.feature)!=null&&f.properties)||this.mergeBusinessProperties(c,d.value.feature.properties,d.value.layer)}),Z2(b2({},e),{properties:c,relatedFeatures:u.filter(d=>{var h;return d.status==="fulfilled"&&((h=d.value)==null?void 0:h.feature)}).map(d=>d.value),feature:Z2(b2({},e.feature||{}),{properties:c})})})}queryFallbackFeatureInfo(e){return J2(this,null,function*(){const t=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(t))return null;const r=[(_m[t]||[]).find(a=>a.key===`${t}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(a=>this.getLayerTopicKey(a)===t)].filter((a,o,s)=>(a==null?void 0:a.layerName)&&s.findIndex(l=>this.getLayerQueryKey(l)===this.getLayerQueryKey(a))===o);for(const a of r){const o=yield this.queryLayerFeatureByPoint(a,e,{requireContainment:!0});if(o)return{layer:a,feature:o}}return null})}queryLayerFeatureByPoint(r,a){return J2(this,arguments,function*(e,t,i={}){var p,m,v;if(!(e!=null&&e.layerName)||!Number.isFinite(t==null?void 0:t.lng)||!Number.isFinite(t==null?void 0:t.lat))return null;const o=e.pointQueryTolerance||.0015,s=e.geometryField||"geom",l=t.lng-o,u=t.lat-o,c=t.lng+o,d=t.lat+o,h=yield oh(e.layerName,{cqlFilter:`BBOX(${s},${l},${u},${c},${d})`,maxFeatures:8,timeout:12e3}),f=this.pickFeatureAtPoint((h==null?void 0:h.features)||[],t,i);return f?{id:f.id||((p=f.properties)==null?void 0:p.gid)||((m=f.properties)==null?void 0:m.objectid)||((v=f.properties)==null?void 0:v.OBJECTID),properties:f.properties||{},feature:f}:null})}pickFeatureAtPoint(e,t,i={}){var a;if(!Array.isArray(e)||!e.length)return null;const r=e.filter(o=>this.isLngLatInGeometry(t,o.geometry)).sort((o,s)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(s.geometry));return r.length?r[0]:i.requireContainment?null:((a=e.map(o=>({feature:o,distance:this.getGeometryDistanceScore(o.geometry,t)})).sort((o,s)=>o.distance-s.distance)[0])==null?void 0:a.feature)||null}isLngLatInGeometry(e,t){return!e||!(t!=null&&t.coordinates)?!1:t.type==="Polygon"?this.isLngLatInPolygon(e,t.coordinates):t.type==="MultiPolygon"?t.coordinates.some(i=>this.isLngLatInPolygon(e,i)):!1}isLngLatInPolygon(e,t=[]){return!t.length||!this.isLngLatInRing(e,t[0])?!1:!t.slice(1).some(r=>this.isLngLatInRing(e,r))}isLngLatInRing(e,t=[]){if(t.length<3)return!1;let i=!1;const r=e.lng,a=e.lat;for(let o=0,s=t.length-1;o<t.length;s=o++){const l=t[o],u=t[s],c=Number(l==null?void 0:l[0]),d=Number(l==null?void 0:l[1]),h=Number(u==null?void 0:u[0]),f=Number(u==null?void 0:u[1]);if(this.isPointOnSegment(r,a,c,d,h,f))return!0;d>a!=f>a&&r<(h-c)*(a-d)/(f-d)+c&&(i=!i)}return i}isPointOnSegment(e,t,i,r,a,o){const s=(e-i)*(o-r)-(t-r)*(a-i);return Math.abs(s)>1e-10?!1:(e-i)*(e-a)+(t-r)*(t-o)<=1e-10}getGeometryAreaScore(e){return e!=null&&e.coordinates?e.type==="Polygon"?this.getLngLatPolygonAreaScore(e.coordinates):e.type==="MultiPolygon"?e.coordinates.reduce((t,i)=>t+this.getLngLatPolygonAreaScore(i),0):Number.POSITIVE_INFINITY:Number.POSITIVE_INFINITY}getLngLatPolygonAreaScore(e=[]){const t=e[0]||[];if(t.length<3)return Number.POSITIVE_INFINITY;let i=0;for(let r=0;r<t.length;r++){const a=t[r],o=t[(r+1)%t.length];i+=Number((a==null?void 0:a[0])||0)*Number((o==null?void 0:o[1])||0)-Number((o==null?void 0:o[0])||0)*Number((a==null?void 0:a[1])||0)}return Math.abs(i)}getGeometryDistanceScore(e,t){const i=this.getGeometryLngLatBounds(e);if(!i)return Number.POSITIVE_INFINITY;const r=(i.minLng+i.maxLng)/2,a=(i.minLat+i.maxLat)/2;return Math.hypot(r-t.lng,a-t.lat)}getGeometryLngLatBounds(e){const t=this.getGeometryCoordinateList(e);return t.length?t.reduce((i,r)=>({minLng:Math.min(i.minLng,Number((r==null?void 0:r[0])||0)),minLat:Math.min(i.minLat,Number((r==null?void 0:r[1])||0)),maxLng:Math.max(i.maxLng,Number((r==null?void 0:r[0])||0)),maxLat:Math.max(i.maxLat,Number((r==null?void 0:r[1])||0))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}getGeometryCoordinateList(e){const t=[],i=r=>{if(Array.isArray(r)){if(typeof r[0]=="number"&&typeof r[1]=="number"){t.push(r);return}r.forEach(i)}};return i(e==null?void 0:e.coordinates),t}pickVectorFeatureAtPoint(e,t){var o;const i=this.currentVectorFeatures||[];if(((o=this.currentTopicLayer)==null?void 0:o.key)==="yak-industry-points"){const s=this.pickPointFeatureAtScreenPoint(i,t);if(s)return s}const r=i.filter(s=>this.isLngLatInGeometry(e,s.geometry)).sort((s,l)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(l.geometry));if(r.length)return r[0];const a=i.find(s=>this.isPointOrLineNearLngLat(s.geometry,e));return a||null}pickPointFeatureAtScreenPoint(e,t){var a;if(!t||!((a=this.camera)!=null&&a.instance)||!this.focusMapGroup||!this.canvas)return null;const r=(e||[]).filter(o=>{var s;return((s=o==null?void 0:o.geometry)==null?void 0:s.type)==="Point"}).map(o=>{const s=this.getPointFeatureScreenPoint(o);return s?{feature:o,screen:s,distance:Math.hypot(s.x-t.x,s.y-t.y)}:null}).filter(Boolean).sort((o,s)=>o.distance-s.distance)[0];return(r==null?void 0:r.distance)<=22?{feature:r.feature,screen:r.screen}:null}getPointFeatureScreenPoint(e){var i,r;const t=(e==null?void 0:e.geometry)||((i=e==null?void 0:e.feature)==null?void 0:i.geometry);return(t==null?void 0:t.type)!=="Point"?null:((r=this.currentTopicLayer)==null?void 0:r.key)==="yak-industry-points"?this.lngLatToLayerScreenPoint(t.coordinates,this.depth+.255):this.lngLatToScreenPoint(t.coordinates,this.depth+.32)}lngLatToLayerScreenPoint(e,t=0){const i=this.topicLayerUvBounds;if(!i)return this.lngLatToScreenPoint(e,t);const r=this.lngLatToLayerCanvasPoint(e),a=this.topicLayerCanvas;if(!(a!=null&&a.width)||!(a!=null&&a.height))return this.lngLatToScreenPoint(e,t);const o=i.left+r.x/a.width*(i.right-i.left),s=i.bottom+(a.height-r.y)/a.height*(i.top-i.bottom);return this.localMapPointToScreenPoint(new Ie(o,s,Number(t)||0))}lngLatToScreenPoint(e,t=0){const i=Number(e==null?void 0:e[0]),r=Number(e==null?void 0:e[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return null;const a=this.lngLatToWorldPoint([i,r],t);return this.worldPointToScreenPoint(a)}localMapPointToScreenPoint(e){const t=this.focusMapGroup?this.focusMapGroup.localToWorld(e):e;return this.worldPointToScreenPoint(t)}worldPointToScreenPoint(e){var r;if(!((r=this.camera)!=null&&r.instance)||!this.canvas||!e)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=e.clone().project(this.camera.instance);return!Number.isFinite(i.x)||!Number.isFinite(i.y)?null:{x:t.left+(i.x+1)/2*t.width,y:t.top+(1-i.y)/2*t.height}}focusProject(e){var h,f,p,m;const t=String(e||"").trim();if(!t)return!1;const i=(this.currentVectorFeatures||[]).filter(v=>{var g;return String(((g=v==null?void 0:v.properties)==null?void 0:g.project_name)||"").trim()===t});if(!i.length)return(f=(h=this.callbacks).onLayerStatus)==null||f.call(h,{type:"success",text:"当前项目图斑尚未加载"}),!1;const r=this.getFeatureListLngLatBounds(i);if(!r)return!1;const a=this.getProjectHighlightFeatures(i);a.length?(this.showSelectedFeatures(a),this.setSelectedVectorFeatures(a)):this.clearSelectedFeature();const o=[(r.minLng+r.maxLng)/2,(r.minLat+r.maxLat)/2],s=Math.max(r.maxLng-r.minLng,r.maxLat-r.minLat),l=Math.max(.22,Math.min(.55,s*1.25)),u=this.lngLatToWorldPoint(o,.72),c=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(l),d=u.clone().add(c);return this.animateMapCamera(d,u,.75),(m=(p=this.callbacks).onLayerStatus)==null||m.call(p,{type:"success",text:"已定位项目"}),!0}setBoundaryDrawing(e){var t,i,r,a;this.boundaryDrawingEnabled=!!e,this.boundaryDrawingEnabled?(this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.clearSelectedFeature(),(i=(t=this.callbacks).onLayerStatus)==null||i.call(t,{type:"success",text:"请在地图上依次点击绘制分析边界"})):(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"已退出边界绘制"}),this.redrawVectorTopicLayer()}addBoundaryDrawPoint(e){var a,o,s,l;if(!Number.isFinite(e==null?void 0:e.lng)||!Number.isFinite(e==null?void 0:e.lat))return!1;const t=Date.now(),i=this.lastBoundaryDrawPoint;return i&&t-i.time<350&&Math.hypot(e.lng-i.lng,e.lat-i.lat)<8e-4?!1:(this.lastBoundaryDrawPoint={lng:e.lng,lat:e.lat,time:t},this.boundaryDrawPoints=[...this.boundaryDrawPoints||[],{lng:e.lng,lat:e.lat}],(o=(a=this.callbacks).onDrawBoundary)==null||o.call(a,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(l=(s=this.callbacks).onLayerStatus)==null||l.call(s,{type:"success",text:`已添加边界点 ${this.boundaryDrawPoints.length} 个`}),this.redrawVectorTopicLayer(),!0)}undoBoundaryPoint(){var e,t,i;return(e=this.boundaryDrawPoints)!=null&&e.length?(this.boundaryDrawPoints=this.boundaryDrawPoints.slice(0,-1),(i=(t=this.callbacks).onDrawBoundary)==null||i.call(t,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),this.redrawVectorTopicLayer(),!0):!1}finishBoundaryDrawing(){var o,s,l,u,c,d;const e=this.boundaryDrawPoints||[];if(e.length<3)return(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const t=e.map(h=>[h.lng,h.lat]),i=t[0],r=t[t.length-1];(i[0]!==r[0]||i[1]!==r[1])&&t.push([...i]);const a={type:"Feature",properties:{source:"draw",pointCount:e.length},geometry:{type:"Polygon",coordinates:[t]}};return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=a,(u=(l=this.callbacks).onDrawBoundary)==null||u.call(l,{status:"complete",feature:a,points:e,pointCount:e.length}),(d=(c=this.callbacks).onLayerStatus)==null||d.call(c,{type:"success",text:"分析边界已生成"}),this.focusAnalysisGeometry(a.geometry),this.redrawVectorTopicLayer(),a}clearAnalysisBoundary(){var e,t;return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.redrawVectorTopicLayer(),(t=(e=this.callbacks).onDrawBoundary)==null||t.call(e,{status:"clear",points:[],pointCount:0}),!0}showAnalysisResult(e={}){var a;const t=Object.prototype.hasOwnProperty.call(e,"boundary")||Object.prototype.hasOwnProperty.call(e,"boundaryFeature")||Object.prototype.hasOwnProperty.call(e,"feature"),i=e.boundary||e.boundaryFeature||e.feature||null,r=Array.isArray(e.matches)?e.matches:[];return t&&(this.analysisBoundaryFeature=(i==null?void 0:i.type)==="Feature"?i:i!=null&&i.geometry?{type:"Feature",properties:i.properties||{},geometry:i.geometry}:null),this.analysisMatchedFeatures=r.map(o=>(o==null?void 0:o.feature)||o).filter(o=>o==null?void 0:o.geometry),!t&&this.analysisMatchedFeatures.length?this.focusAnalysisFeatures(this.analysisMatchedFeatures):(a=this.analysisBoundaryFeature)!=null&&a.geometry&&this.focusAnalysisGeometry(this.analysisBoundaryFeature.geometry),this.redrawVectorTopicLayer(),!0}focusAnalysisFeatures(e=[]){const t=this.getFeatureListLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位命中项目"})}focusAnalysisGeometry(e){const t=this.getGeometryLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位分析边界"})}focusPasture(e={}){var r,a;const i=[...this.normalizePastureGrasslandRows(e==null?void 0:e.grasslands),...this.normalizePastureGrasslandRows(e==null?void 0:e.wkt)].map((o,s)=>{const l=this.normalizePastureGrasslandGeometry(o);if(!l)return null;const u=this.normalizePastureGrasslandProperties(o);return{type:"Feature",properties:Z2(b2({},u),{id:u.id||u.gid||`${(e==null?void 0:e.name)||"pasture"}-${s}`,pasture_name:(e==null?void 0:e.name)||u.pastureName||u.name}),geometry:l}}).filter(Boolean);if(i.length){const o=this.getFeatureListLngLatBounds(i);if(!o)return!1;this.showSelectedFeatures(i,{mode:"pasture"}),this.setSelectedVectorFeatures(i);const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),statusText:"已定位具体草场"}),!0}return(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"warning",text:"当前牧户暂无可定位数据"}),!1}normalizePastureGrasslandRows(e){return e?typeof e=="string"?[e]:Array.isArray(e)?e:(e==null?void 0:e.type)==="FeatureCollection"&&Array.isArray(e.features)?e.features:(e==null?void 0:e.type)==="Feature"||this.isGeoJsonGeometry(e)?[e]:Array.isArray(e==null?void 0:e.rows)?e.rows:Array.isArray(e==null?void 0:e.data)?e.data:e!=null&&e.data?this.normalizePastureGrasslandRows(e.data):Array.isArray(e==null?void 0:e.list)?e.list:Array.isArray(e==null?void 0:e.features)?e.features:e!=null&&e.wkt||e!=null&&e.geo||e!=null&&e.geom||e!=null&&e.geometryWkt||e!=null&&e.geometry_wkt||e!=null&&e.shape||e!=null&&e.location||e!=null&&e.geometry?[e]:[]:[]}normalizePastureGrasslandGeometry(e){var t;return typeof e=="string"?this.parseGeometryText(e):(e==null?void 0:e.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry):this.isGeoJsonGeometry(e)?e:typeof(e==null?void 0:e.geometry)=="string"?this.parseGeometryText(e.geometry):((t=e==null?void 0:e.geometry)==null?void 0:t.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry.geometry):this.isGeoJsonGeometry(e==null?void 0:e.geometry)?e.geometry:this.parseGeometryText((e==null?void 0:e.wkt)||(e==null?void 0:e.geo)||(e==null?void 0:e.geom)||(e==null?void 0:e.geometryWkt)||(e==null?void 0:e.geometry_wkt)||(e==null?void 0:e.shape)||(e==null?void 0:e.location))}normalizePastureGrasslandProperties(e){return!e||typeof e!="object"||Array.isArray(e)?{wkt:e}:e.type==="Feature"?e.properties||{}:e}parseGeometryText(e){const t=String(e||"").trim();if(!t)return null;if(t.startsWith("{")||t.startsWith("["))try{const i=JSON.parse(t);if((i==null?void 0:i.type)==="Feature")return this.normalizePastureGrasslandGeometry(i);if(this.isGeoJsonGeometry(i))return i}catch(i){return null}return this.parseWktGeometry(t)}isGeoJsonGeometry(e){return!!(e&&["Polygon","MultiPolygon","LineString","MultiLineString","Point"].includes(e.type)&&e.coordinates)}flyToLngLat(e,t={}){var d,h;const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return!1;const o=Number(t.span),s=Number.isFinite(o)?Math.max(.2,Math.min(.55,o*1.25)):.32,l=this.lngLatToWorldPoint([r,a],.72),u=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(s),c=l.clone().add(u);return this.animateMapCamera(c,l,t.duration||.75),(h=(d=this.callbacks).onLayerStatus)==null||h.call(d,{type:"success",text:t.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const t=e.filter(r=>{var o;const a=String(((o=r==null?void 0:r.geometry)==null?void 0:o.type)||"");return a.includes("Polygon")||a.includes("LineString")}),i=t.filter(r=>{var a;return((a=r==null?void 0:r.properties)==null?void 0:a.feature_role)==="工程范围"});return i.length?i:t}getFeatureListLngLatBounds(e){return e.reduce((t,i)=>{const r=this.getGeometryLngLatBounds(i.geometry);return r?t?{minLng:Math.min(t.minLng,r.minLng),minLat:Math.min(t.minLat,r.minLat),maxLng:Math.max(t.maxLng,r.maxLng),maxLat:Math.max(t.maxLat,r.maxLat)}:b2({},r):t},null)}isPointOrLineNearLngLat(e,t){return e!=null&&e.coordinates?e.type==="Point"?this.getCoordinateDistance(e.coordinates,[t.lng,t.lat])<=.02:e.type==="LineString"?this.isCoordinateNearLine(e.coordinates,t,.004):e.type==="MultiLineString"?e.coordinates.some(i=>this.isCoordinateNearLine(i,t,.004)):!1:!1}isCoordinateNearLine(e,t,i){if(!Array.isArray(e)||e.length<2)return!1;const r=[t.lng,t.lat];for(let a=1;a<e.length;a+=1)if(this.getCoordinateSegmentDistance(r,e[a-1],e[a])<=i)return!0;return!1}getCoordinateDistance(e,t){return Math.hypot(Number(e==null?void 0:e[0])-Number(t==null?void 0:t[0]),Number(e==null?void 0:e[1])-Number(t==null?void 0:t[1]))}getCoordinateSegmentDistance(e,t,i){const r=Number(t==null?void 0:t[0]),a=Number(t==null?void 0:t[1]),o=Number(i==null?void 0:i[0])-r,s=Number(i==null?void 0:i[1])-a;if(!Number.isFinite(o)||!Number.isFinite(s))return Number.POSITIVE_INFINITY;if(!o&&!s)return this.getCoordinateDistance(e,t);const l=Math.max(0,Math.min(1,((e[0]-r)*o+(e[1]-a)*s)/(o*o+s*s)));return this.getCoordinateDistance(e,[r+l*o,a+l*s])}getLayerTopicKey(e){const t=e==null?void 0:e.layerName,i=e==null?void 0:e.key,r=Object.entries(b2(b2({},_m),zee)).find(([,a])=>a.some(o=>o.key===i||o.layerName===t));return(r==null?void 0:r[0])||""}getLayerQueryKey(e){return[(e==null?void 0:e.layerName)||"",(e==null?void 0:e.styles)||"",(e==null?void 0:e.cqlFilter)||"",(e==null?void 0:e.key)||""].join("|")}mergeBusinessProperties(e,t,i){const r=(i==null?void 0:i.key)||"";if(Object.entries(t||{}).forEach(([a,o])=>{o==null||o===""||(e[a]===void 0||e[a]===null||e[a]==="")&&(e[a]=o)}),r==="basic-grassland"){const a=(t==null?void 0:t.basic_type_name)||(t==null?void 0:t.grassland_category_name)||(t==null?void 0:t.land_class_name)||(t==null?void 0:t.land_use_name)||(t==null?void 0:t.base_grass);a!=null&&a!==""&&(e.basic_type_name=a)}if(r==="grassland-level"){const a=(t==null?void 0:t.grassland_level)||(t==null?void 0:t.level)||(t==null?void 0:t.grassland_level_name)||(t==null?void 0:t.level_name);a!=null&&a!==""&&(e.grassland_level=a)}if(r==="grassland-type"||r==="wetland-type"){const a=(t==null?void 0:t.grass_min_type)||(t==null?void 0:t.grass_type)||(t==null?void 0:t.grassland_type)||(t==null?void 0:t.type_name)||(t==null?void 0:t.type);a!=null&&a!==""&&(e.grass_min_type=a)}if(r==="grassland-yield"||r==="wetland-yield"){const a=(t==null?void 0:t.yield)||(t==null?void 0:t.xc_yield)||(t==null?void 0:t.xb_xc_yield)||(t==null?void 0:t.fresh_grass_yield)||(t==null?void 0:t.value),o=(t==null?void 0:t.mu_yield)||(t==null?void 0:t.xc_mu_yield)||(t==null?void 0:t.xb_xc_mu_yield)||(t==null?void 0:t.yield_per_mu);a!=null&&a!==""&&(e.fresh_grass_yield=a),o!=null&&o!==""&&(e.mu_yield=o)}if(r==="grassland-health"){const a=(t==null?void 0:t.health_level)||(t==null?void 0:t.health_level_name)||(t==null?void 0:t.ndvi_level)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name),o=(t==null?void 0:t.ndvi)||(t==null?void 0:t.NDVI)||(t==null?void 0:t.value);a!=null&&a!==""&&(e.health_level=a),o!=null&&o!==""&&(e.ndvi=o);const s=(t==null?void 0:t.degradation_level)||(t==null?void 0:t.degradation_level_name)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name);s!=null&&s!==""&&(e.degradation_level=s)}}getScreenPointFromEvent(e){var i;const t=((i=e==null?void 0:e.data)==null?void 0:i.originalEvent)||(e==null?void 0:e.originalEvent)||e;return(t==null?void 0:t.clientX)!==void 0&&(t==null?void 0:t.clientY)!==void 0?{x:t.clientX,y:t.clientY}:null}getLngLatFromEvent(e){var s,l,u;const i=(u=(((l=(s=this.interactionManager)==null?void 0:s.raycaster)==null?void 0:l.intersectObject(e.target,!1))||[])[0])==null?void 0:u.point;if(!i)return null;const r=this.focusMapGroup.worldToLocal(i.clone()),o=Is().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([r.x,-r.y]);return o?{lng:o[0],lat:o[1]}:null}lngLatToWmsPixel({lng:e,lat:t}){const i=(e-s1.west)/(s1.east-s1.west)*q6.width,r=(s1.north-t)/(s1.north-s1.south)*q6.height;return{x:i,y:r}}showSelectedFeature(e,t={}){var r;const i=(e==null?void 0:e.geometry)||((r=e==null?void 0:e.feature)==null?void 0:r.geometry);this.clearSelectedFeature(),this.createSelectedFeatureGroup(),this.addSelectedGeometry(i,t),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}showSelectedFeatures(e=[],t={}){this.clearSelectedFeature(),this.createSelectedFeatureGroup(),e.forEach(i=>{var a;const r=(i==null?void 0:i.geometry)||((a=i==null?void 0:i.feature)==null?void 0:a.geometry);this.addSelectedGeometry(r,t)}),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}setSelectedVectorFeatures(e=[]){this.selectedVectorFeatures=[...e],this.redrawVectorTopicLayer()}getSelectedFeatureStyle(e={}){const t=e.mode==="pasture";return{fillColor:t?16765773:16769370,fillOpacity:t?.42:.5,lineColor:16777215,lineOpacity:.98,glowColor:t?2357712:2422468,glowOpacity:t?.92:.96,renderOrderBase:t?42:35,boundary:t,boundaryColor:16773226,boundaryGlowColor:2422468,boundaryWidth:.018,boundaryGlowWidth:.06,boundaryOpacity:.95,boundaryGlowOpacity:.42}}addSelectedGeometry(e,t={}){if(!(e!=null&&e.coordinates)||!this.selectedFeatureGroup)return;const i=this.getSelectedFeatureStyle(t),r=this.getDisplayFeaturePolygons(e),a=new C1({color:i.fillColor,transparent:!0,opacity:i.fillOpacity,side:r0,depthWrite:!1,fog:!1}),o=new ko({color:i.lineColor,transparent:!0,opacity:i.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),s=new ko({color:i.glowColor,transparent:!0,opacity:i.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),l=i.boundary?new C1({color:i.boundaryColor,transparent:!0,opacity:i.boundaryOpacity,side:r0,depthTest:!1,depthWrite:!1,fog:!1}):null,u=i.boundary?new C1({color:i.boundaryGlowColor,transparent:!0,opacity:i.boundaryGlowOpacity,side:r0,depthTest:!1,depthWrite:!1,fog:!1,blending:Cn}):null;r.length&&r.forEach(d=>{const h=this.createProjectedShape(d);if(!h)return;const f=new kh(h),p=new h1(f,a);p.renderOrder=i.renderOrderBase,this.selectedFeatureGroup.add(p),d.forEach(m=>{const v=this.createProjectedRingPoints(m);if(v.length<3)return;i.boundary&&(this.addSelectedBoundaryBand(v,u,i.boundaryGlowWidth,i.renderOrderBase+1,!0),this.addSelectedBoundaryBand(v,l,i.boundaryWidth,i.renderOrderBase+4,!0));const g=new J1().setFromPoints(v),_=new Ug(g,o);_.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(_);const S=new J1().setFromPoints(v),x=new Ug(S,s);x.renderOrder=i.renderOrderBase+3,x.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(x)})});const c=this.normalizeFeatureLineStrings(e);c.length&&c.forEach(d=>{const h=this.createProjectedRingPoints(d);if(h.length<2)return;i.boundary&&(this.addSelectedBoundaryBand(h,u,i.boundaryGlowWidth,i.renderOrderBase+1,!1),this.addSelectedBoundaryBand(h,l,i.boundaryWidth,i.renderOrderBase+4,!1));const f=new J1().setFromPoints(h),p=new Jd(f,s);p.renderOrder=i.renderOrderBase+3,p.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(p);const m=new J1().setFromPoints(h),v=new Jd(m,o);v.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(v)})}addSelectedBoundaryBand(e,t,i,r,a=!0){if(!t||!this.selectedFeatureGroup)return;const o=this.createPathBandGeometry(e,i,a);if(!o)return;const s=new h1(o,t);s.renderOrder=r,this.selectedFeatureGroup.add(s)}createPathBandGeometry(e,t,i=!0){const r=this.normalizePathBandPoints(e,i);if(r.length<(i?3:2))return null;const a=Math.max(Number(t)||0,0)/2;if(!a)return null;const o=[],s=i?r.length:r.length-1;for(let u=0;u<s;u+=1){const c=r[u],d=r[(u+1)%r.length],h=d.x-c.x,f=d.y-c.y,p=Math.hypot(h,f);if(!p)continue;const m=-f/p*a,v=h/p*a,g=[c.x+m,c.y+v,.006],_=[c.x-m,c.y-v,.006],S=[d.x+m,d.y+v,.006],x=[d.x-m,d.y-v,.006];o.push(...g,..._,...S,...S,..._,...x)}if(!o.length)return null;const l=new J1;return l.setAttribute("position",new m0(o,3)),l.computeVertexNormals(),l}normalizePathBandPoints(e,t){const i=(e||[]).filter(r=>Number.isFinite(r==null?void 0:r.x)&&Number.isFinite(r==null?void 0:r.y)).map(r=>r.clone());if(t&&i.length>2){const r=i[0],a=i[i.length-1];r.distanceToSquared(a)<1e-10&&i.pop()}return i}clearSelectedFeature(){var t;const e=!!((t=this.selectedVectorFeatures)!=null&&t.length);this.selectedVectorFeatures=[],e&&this.redrawVectorTopicLayer(),this.clearSelectedGeometryGroup()}clearSelectedGeometryGroup(){var t,i;if(!this.selectedFeatureGroup)return;const e=new Set;for(;this.selectedFeatureGroup.children.length;){const r=this.selectedFeatureGroup.children.pop();(i=(t=r.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(r.material)?r.material.forEach(a=>e.add(a)):e.add(r.material)}e.forEach(r=>{var a;return(a=r==null?void 0:r.dispose)==null?void 0:a.call(r)})}normalizeFeaturePolygons(e){return aW(e)}normalizeFeatureLineStrings(e){return e!=null&&e.coordinates?e.type==="LineString"?[e.coordinates]:e.type==="MultiLineString"?e.coordinates:[]:[]}getDisplayFeaturePolygons(e){const t=this.normalizeFeaturePolygons(e),i=this.getLayerClipBounds(this.currentTopicLayer);return i?t.map(r=>{const a=this.clipRingToBounds(r==null?void 0:r[0],i);if(a.length<3)return null;const o=r.slice(1).map(s=>this.clipRingToBounds(s,i)).filter(s=>s.length>=3);return[a,...o]}).filter(Boolean):t}clipRingToBounds(e=[],t){let i=e.map(a=>[Number(a==null?void 0:a[0]),Number(a==null?void 0:a[1])]).filter(([a,o])=>Number.isFinite(a)&&Number.isFinite(o));return[{inside:([a])=>a>=t.west,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lng",t.west)},{inside:([a])=>a<=t.east,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lng",t.east)},{inside:([,a])=>a>=t.south,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lat",t.south)},{inside:([,a])=>a<=t.north,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lat",t.north)}].forEach(a=>{const o=i;i=[],o.length&&o.forEach((s,l)=>{const u=o[(l+o.length-1)%o.length],c=a.inside(s),d=a.inside(u);c?(d||i.push(a.intersect(u,s)),i.push(s)):d&&i.push(a.intersect(u,s))})}),i}getLngLatLineIntersection(e,t,i,r){const a=i==="lng"?0:1,o=i==="lng"?1:0,s=t[a]-e[a];if(!s)return[...e];const l=(r-e[a])/s,u=[...e];return u[a]=r,u[o]=e[o]+(t[o]-e[o])*l,u}createProjectedShape(e){const t=e==null?void 0:e[0];if(!Array.isArray(t)||t.length<3)return null;const i=new jo;return this.createProjectedRingPoints(t).forEach((a,o)=>{o===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y)}),e.slice(1).forEach(a=>{const o=this.createProjectedRingPoints(a);if(o.length<3)return;const s=new jo;o.forEach((l,u)=>{u===0?s.moveTo(l.x,l.y):s.lineTo(l.x,l.y)}),i.holes.push(s)}),i}createProjectedRingPoints(e){if(!Array.isArray(e))return[];const t=[];return e.forEach(i=>{if(!Array.isArray(i)||i.length<2)return;const r=Number(i[0]),a=Number(i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return;const[o,s]=this.geoProjection([r,a]);t.push(new Ie(o,-s,0))}),t}enhanceTexture(e){var i,r,a;const t=(r=(i=this.renderer)==null?void 0:i.instance)==null?void 0:r.capabilities;e.anisotropy=((a=t==null?void 0:t.getMaxAnisotropy)==null?void 0:a.call(t))||1,e.needsUpdate=!0}geoProjection(e){return Is().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}update(e){super.update(e),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}destroy(){var e,t,i,r;this.callbacks={},(t=(e=this.canvas)==null?void 0:e.removeEventListener)==null||t.call(e,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(r=(i=this.canvas)==null?void 0:i.removeEventListener)==null||r.call(i,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.clearTradeFlowLayer(),this.clearSelectedFeature(),super.destroy(),this.label3d&&this.label3d.destroy()}}const GOe={class:"map"},iu={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null}},emits:["feature-loading","feature-info","layer-status","draw-boundary","scene-mounted"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=H2(null),o=pc(null);let s=null,l=null,u=null,c=null;cr(()=>{r("scene-mounted")}),Or(()=>{C()});function d(P){o.value||!a.value||(o.value=new zOe(a.value,P,{onFeatureLoading:F=>r("feature-loading",F),onFeatureInfo:F=>r("feature-info",F),onLayerStatus:F=>r("layer-status",F),onDrawBoundary:F=>r("draw-boundary",F)}),o.value.time.pause(),o.value.setTopicLayers(i.activeLayer?[i.activeLayer]:[]),o.value.setTownRanking(i.mapRanking),I(),M())}function h(){return J2(this,null,function*(){o.value&&(o.value.time.resume(),o.value.animateTl.timeScale(1),o.value.animateTl.play())})}function f(){var P,F;(F=(P=o.value)==null?void 0:P.clearSelectedFeature)==null||F.call(P)}function p(P){var F,V;(V=(F=o.value)==null?void 0:F.focusProject)==null||V.call(F,P)}function m(P){var F,V;(V=(F=o.value)==null?void 0:F.focusPasture)==null||V.call(F,P)}function v(P,F){var V,G;return(G=(V=o.value)==null?void 0:V.focusTownByName)==null?void 0:G.call(V,P,F)}function g(P){var F,V;(V=(F=o.value)==null?void 0:F.setBoundaryDrawing)==null||V.call(F,P)}function _(){var P,F;return(F=(P=o.value)==null?void 0:P.finishBoundaryDrawing)==null?void 0:F.call(P)}function S(){var P,F;(F=(P=o.value)==null?void 0:P.undoBoundaryPoint)==null||F.call(P)}function x(){var P,F;(F=(P=o.value)==null?void 0:P.clearAnalysisBoundary)==null||F.call(P)}function A(P){var F,V;(V=(F=o.value)==null?void 0:F.showAnalysisResult)==null||V.call(F,P)}function C(){var P,F;E(),(F=(P=o.value)==null?void 0:P.destroy)==null||F.call(P),o.value=null}function M(){l&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{var P,F,V,G,W;l=null,(V=(F=(P=o.value)==null?void 0:P.sizes)==null?void 0:F.init)==null||V.call(F),(W=(G=o.value)==null?void 0:G.resize)==null||W.call(G)}),u&&window.clearTimeout(u),u=window.setTimeout(()=>{var P,F,V,G,W;u=null,(V=(F=(P=o.value)==null?void 0:P.sizes)==null?void 0:F.init)==null||V.call(F),(W=(G=o.value)==null?void 0:G.resize)==null||W.call(G)},180)}function I(){var F;E();const P=(F=a.value)==null?void 0:F.parentNode;P&&window.ResizeObserver&&(s=new ResizeObserver(()=>M()),s.observe(P)),c=window.setInterval(D,1e3),Ji(M)}function D(){var Q;if(!o.value||!a.value)return;const P=a.value.parentNode,F=(P==null?void 0:P.offsetWidth)||window.innerWidth||1,V=(P==null?void 0:P.offsetHeight)||window.innerHeight||1,G=((Q=o.value.sizes)==null?void 0:Q.pixelRatio)||1,W=Math.floor(F*G),Y=Math.floor(V*G);(a.value.width!==W||a.value.height!==Y)&&M()}function E(){s&&(s.disconnect(),s=null),l&&(window.cancelAnimationFrame(l),l=null),u&&(window.clearTimeout(u),u=null),c&&(window.clearInterval(c),c=null)}return $0(()=>i.activeLayer,P=>{o.value&&o.value.setTopicLayers(P?[P]:[])},{deep:!0}),$0(()=>i.mapRanking,P=>{o.value&&o.value.setTownRanking(P)},{deep:!0}),e({loadMap:d,play:h,clearSelectedFeature:f,focusProject:p,focusPasture:m,focusTown:v,setBoundaryDrawing:g,finishBoundaryDrawing:_,undoBoundaryPoint:S,clearAnalysisBoundary:x,showAnalysisResult:A,destroyMap:C,canvasMap:o}),(P,F)=>(Ae(),Pe("div",GOe,[B("canvas",{ref_key:"canvasRef",ref:a},null,512)]))}};const UOe={key:0,class:"business-stat-empty"},VOe={class:"business-stat-rank"},HOe={class:"business-stat-main"},WOe={class:"business-stat-name"},jOe={class:"business-stat-bar"},$Oe={class:"business-stat-value"},qOe={key:0},oW={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(n){const e=n,t=Ye(()=>{const r=e.rows.map(a=>Number(a.value)).filter(a=>!Number.isNaN(a));return Math.max(...r,1)});function i(r){const a=Number(r.value);return Number.isNaN(a)?36:Math.max(8,Math.round(a/t.value*100))}return(r,a)=>(Ae(),Pe("div",{class:Xt(["business-stat-list",{"is-compact":n.compact,"is-dense":n.rows.length>10}])},[n.rows.length?Lt("",!0):(Ae(),Pe("div",UOe,"暂无业务统计数据")),(Ae(!0),Pe(bt,null,Nt(n.rows,(o,s)=>(Ae(),Pe("div",{key:o.key||o.name,class:"business-stat-row"},[B("div",VOe,Fe(s+1),1),B("div",HOe,[B("div",WOe,Fe(o.name),1),B("div",jOe,[B("span",{style:J3({width:`${i(o)}%`})},null,4)])]),B("div",$Oe,[B("strong",null,Fe(o.value),1),B("em",null,Fe(o.unit),1),o.extra?(Ae(),Pe("span",qOe,Fe(o.extra),1)):Lt("",!0)])]))),128))],2))}},XOe=""+new URL("ring2-a1b91808-balabala-1782921062964.png",import.meta.url).href,YOe=""+new URL("ring3-fe0f60d7-balabala-1782921062964.png",import.meta.url).href,KOe=""+new URL("ring4-f2e324d6-balabala-1782921062964.png",import.meta.url).href;const ZOe={name:"ThreePie",props:{data:{type:Array,default:()=>[]},colors:{type:Array,default:()=>[2161326,15380744,3122407,65535,16536624]},opacity:{type:Number,default:.5},delay:{type:Number,default:5e3},loopComplete:{type:Function,default:()=>{}}},computed:{currentData(){return Z2(b2({},this.data[this.activeIndex]),{count:this.count})}},data(){return this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null,this.pieGroup=new D1,{width:300,height:200,activeIndex:0,count:0,timer:null}},mounted(){this.width=this.$refs.pieDom.offsetWidth,this.height=this.$refs.pieDom.offsetHeight,this.count=this.data.map(n=>n.value).reduce((n,e)=>n+e,0),this.init()},beforeUnmount(){clearInterval(this.timer),this.destroy()},methods:{init(){this.scene=new JQ,this.initCamera(),this.initRenderer(),this.initLight(),this.initAxes(),this.initControls(),this.createPlane({url:XOe,width:5,position:new Ie(0,0,-.01),color:"#00ffff"}),this.createPlane({url:YOe,width:6.5,position:new Ie(0,0,-.02),color:"#00ffff"}),this.createPlane({url:KOe,width:5.5,position:new Ie(0,0,-.03),animate:!0,color:"#00ffff"}),this.createPie(),this.loop()},createPlane(n){let e={url:"texture/ring1.png",width:5.5,z:0,position:new Ie(0,0,0),animate:!1,color:null},t=Object.assign(e,n);const i=new Tr(t.width,t.width),r=new C1({map:this.getTexture(t.url),transparent:!0,side:r0,depthTest:!1});t.color&&(r.color=new Jt(t.color));const a=new h1(i,r);a.position.copy(t.position),a.rotation.x=-1*Math.PI/2,t.animate&&N0.to(a.rotation,{z:2*Math.PI,repeat:-1,ease:"none",duration:3}),this.scene.add(a)},getTexture(n){const e=new CR().load(n);return e.wrapS=e.wrapT=Mn,e},createPie(){let n=0,e=0;for(var t=0;t<this.data.length;t++){let i=this.data[t].value/this.count;t==0?n=0:n=e+1e-4,e=e+2*Math.PI*i-1e-4;let r=this.addRing({startAngle:n,endAngle:e,color:new Jt(this.colors[t%this.colors.length])});r.name="ring"+t,this.pieGroup.add(r)}this.scene.add(this.pieGroup),this.chooseRing(this.activeIndex,!0),this.timer=setInterval(()=>{this.loopChange()},this.delay)},loopChange(){let n=this.activeIndex+1;n>=this.data.length&&(n=0,this.loopComplete&&this.loopComplete()),this.chooseRing(n)},chooseRing(n=0,e=!1){let t=n-1<0?this.data.length-1:n-1,i=this.pieGroup.children[t];this.prevMesh=i,this.activeIndex=n;let r=this.pieGroup.children[n];e||(N0.to(i.scale,{z:1}),N0.to(i.material,{opacity:this.opacity})),N0.to(r.scale,{z:2}),N0.to(r.material,{opacity:.8})},addRing(n={}){let e={innerRadius:1.5,outerRadius:2,thickness:.5,startAngle:0,endAngle:Math.PI/2,color:65535,segments:120},t=Object.assign(e,n),i=new jo;i.arc(0,0,t.outerRadius,t.startAngle,t.endAngle);let r=i.getPoints(t.segments),a=new jo;a.arc(0,0,t.innerRadius,t.endAngle,t.startAngle,!0);let o=a.getPoints(t.segments),s=new jo(r.concat(o));const l={steps:1,depth:t.thickness,bevelEnabled:!0,bevelThickness:0,bevelSize:0,bevelOffset:0,bevelSegments:0},u=new u_(s,l);let c=new JC({color:t.color,transparent:!0,opacity:this.opacity,side:r0});const d=new h1(u,c.clone());return d.renderOrder=10,d.rotation.x=-1*Math.PI/2,d},initCamera(){var n=this.width/this.height;this.camera=new oi(30,n,.1,1500),this.camera.position.set(6.023813305272227,4.838542633695233,6.111272698256137),this.camera.lookAt(0,0,0)},initRenderer(){this.renderer=new mR({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(this.width,this.height),this.$refs.pieDom.appendChild(this.renderer.domElement)},initLight(){let n=new Hg(16777215,2);n.position.set(200,300,200);let e=new Hg(16777215,2);e.position.set(-200,-300,-200);let t=new fee(16777215,2);this.scene.add(n),this.scene.add(e),this.scene.add(t)},initAxes(){this.axes=new pee(0),this.scene.add(this.axes)},initControls(){this.controls=new xee(this.camera,this.renderer.domElement),this.controls.maxPolarAngle=Math.PI,this.controls.autoRotate=!1,this.controls.enableDamping=!0,this.controls.enabled=!1},loop(){this.renderer.setAnimationLoop(()=>{this.renderer.render(this.scene,this.camera),this.controls&&this.controls.update()})},start(){this.loop(),this.controls.enabled=!0,this.timer=setInterval(()=>{this.loopChange()},this.delay)},stop(){clearInterval(this.timer),this.controls&&(this.controls.enabled=!1),this.renderer&&this.renderer.setAnimationLoop(null)},getScene(){return this.scene},getRender(){return this.renderer},resize(){this.width=this.$refs.pieDom.offsetWidth,this.height=this.$refs.pieDom.offsetHeight;let n=this.width/this.height;this.camera.aspect=n,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height),this.renderer.setPixelRatio(window.devicePixelRatio)},destroy(){this.prevMesh&&(N0.set(this.prevMesh.scale,{z:1}),N0.set(this.prevMesh.material,{opacity:this.opacity})),this.stop(),window.removeEventListener("resize",()=>{this.resize()}),this.renderer&&(Qke(this.pieGroup),this.renderer.dispose(),this.renderer.forceContextLoss(),this.controls.dispose(),this.$refs.pieDom.innerHTML="",this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null)}}},JOe={class:"three-pie-wrap"},QOe={class:"three-pie",ref:"pieDom"},eBe={class:"three-pie-slot"};function tBe(n,e,t,i,r,a){return Ae(),Pe("div",JOe,[B("div",QOe,null,512),B("div",eBe,[i7(n.$slots,"default",{data:a.currentData})])])}const Uee=dy(ZOe,[["render",tBe]]);const nBe={key:0,class:"business-panel-empty"},iBe={key:2,class:"business-metrics"},rBe={key:3,class:"business-icon-metrics"},aBe={class:"business-icon-metric-copy"},oBe={key:0},sBe={key:4,class:"business-spotlight"},lBe={class:"business-spotlight-main"},uBe={class:"business-spotlight-side"},cBe={key:0},dBe={key:1,class:"business-panel-empty"},hBe={key:0,class:"business-ring-visual"},fBe={class:"business-ring-inner"},pBe={key:1,class:"business-donut-visual"},vBe={class:"business-three-pie-center"},mBe={class:"business-donut-legend"},gBe={key:1,class:"business-panel-empty"},yBe={key:6,class:"business-structure"},_Be={class:"business-structure-overview"},SBe={class:"business-structure-band"},bBe=["title"],xBe={class:"business-structure-list"},wBe={key:1,class:"business-panel-empty"},TBe={key:7,class:"business-capacity"},ABe={class:"business-capacity-head"},CBe={class:"business-capacity-band"},MBe=["title"],EBe={class:"business-capacity-list"},PBe={key:0,class:"business-capacity-town"},RBe={key:1,class:"business-panel-empty"},LBe={class:"business-bar-name"},IBe={class:"business-bar-track"},DBe={key:0},NBe={key:1},kBe={key:0,class:"business-column-unit"},FBe={key:0},OBe={class:"business-column-track"},BBe={key:10,class:"business-project-table"},zBe={class:"business-project-search"},GBe=["placeholder"],UBe={class:"business-project-frame"},VBe=["onClick","onKeydown"],HBe=["title"],WBe={key:0},jBe={key:0},$Be={key:1},qBe={key:0,class:"business-project-empty"},XBe={class:"business-table-head"},YBe={class:"business-table-body"},KBe={class:"business-table-name"},ZBe={class:"business-table-value"},JBe={key:0},QBe={class:"business-stack-legend"},eze={class:"business-stack-chart"},tze={class:"business-stack-track"},nze={key:0,class:"business-column-unit business-peak-unit"},ize={key:0},rze={key:14,class:"business-line"},aze={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},oze=["points"],sze=["points"],lze=["cx","cy"],uze=["cx","cy","onMouseenter"],cze=["onMouseenter"],dze={key:0},hze={key:0},fze={class:"business-split-band"},pze={class:"business-split-list"},sW=3e3,Ar={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1}},emits:["row-select"],setup(n,{emit:e}){const t=n,i=e,r=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],a=Ye(()=>{var Re;return((Re=t.panel)==null?void 0:Re.type)||"rank"}),o=Ye(()=>{var Re;return(((Re=t.panel)==null?void 0:Re.rows)||[]).filter(s2=>s2==null?void 0:s2.name)}),s=Ye(()=>o.value.map(Re=>Z2(b2({},Re),{value:k(Re)})).filter(Re=>Re.value>0)),l=Ye(()=>o.value.map(Re=>k(Re)).filter(Re=>Re>0)),u=Ye(()=>Math.max(...l.value,1)),c=Ye(()=>l.value.reduce((Re,s2)=>Re+s2,0)),d=Ye(()=>o.value.filter(Re=>k(Re)>0)),h=Ye(()=>o.value.filter(Re=>k(Re)>0)),f=Ye(()=>h.value),p=Ye(()=>a.value!=="column"?"":T2()),m=Ye(()=>a.value!=="peak"?"":T2()),v=Ye(()=>o.value.filter(Re=>k(Re)>0)),g=Ye(()=>{var Re;return h.value.slice(0,((Re=t.panel)==null?void 0:Re.limit)||8)}),_=Ye(()=>{var Re;return((Re=t.panel)==null?void 0:Re.segments)||[]}),S=Ye(()=>o.value.filter(Re=>_2(Re)>0)),x=H2(""),A=H2(null),C=[{key:"name",label:"项目名称",field:"name",width:"45%",className:"business-project-col-name"},{key:"year",label:"年份",field:"year",width:"13%",fallback:"未知",align:"right",className:"business-project-col-year"},{key:"category",label:"类型",field:"category",width:"20%",className:"business-project-col-category"},{key:"scale",label:"规模",field:"value",width:"22%",align:"right",strong:!0,unitField:"unit",className:"business-project-col-scale"}],M=Ye(()=>{var s2;return(Array.isArray((s2=t.panel)==null?void 0:s2.columns)&&t.panel.columns.length?t.panel.columns:C).map((et,P3)=>({key:et.key||et.field||`column-${P3}`,label:et.label||et.title||et.name||"",field:et.field||et.dataIndex||et.key,fields:et.fields||[],width:et.width,align:et.align,strong:!!et.strong,unit:et.unit,unitField:et.unitField,fallback:et.fallback,format:et.format,className:et.className}))}),I=Ye(()=>{var Re;return((Re=t.panel)==null?void 0:Re.searchPlaceholder)||"搜索项目"}),D=Ye(()=>{var Re;return((Re=t.panel)==null?void 0:Re.emptyText)||"无匹配项目"}),E=Ye(()=>{var s2;const Re=Array.isArray((s2=t.panel)==null?void 0:s2.searchKeys)?t.panel.searchKeys:[];return Re.length?Re:[...M.value.flatMap(et=>[et.field,...et.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),P=Ye(()=>{const Re=Xe(x.value);return Re?o.value.filter(s2=>Xe(Ne(s2)).includes(Re)):o.value}),F=Ye(()=>o.value.find(Re=>["forage-total","wetland-yield-total"].includes(Re.key))||o.value[0]),V=Ye(()=>o.value.filter(Re=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(Re.key))),G=Ye(()=>o.value.find(Re=>["forage-top-town","wetland-yield-top-town"].includes(Re.key))),W=H2(0),Y=H2(null);let Q=null;const K=Ye(()=>{var Re,s2;return`${((Re=t.panel)==null?void 0:Re.key)||((s2=t.panel)==null?void 0:s2.title)||"pie"}-${s.value.map(et=>`${et.name}:${et.value}`).join("|")}`}),ae=Ye(()=>{const Re=ie.value;return Re?W.value%Re:0}),ie=Ye(()=>{var Re;return a.value==="structure"?v.value.length:a.value==="donut"?s.value.length:a.value==="bar"&&((Re=t.panel)==null?void 0:Re.variant)==="capacity"?V.value.length:a.value==="bar"||a.value==="column"?h.value.length:a.value==="table"?f.value.length:a.value==="line"?h.value.length:a.value==="split"?d.value.length:0}),he=Ye(()=>s.value[ae.value]||s.value[0]);Ye(()=>v.value[ae.value]||v.value[0]);const Ee=Ye(()=>o.value[0]),je=Ye(()=>o.value.slice(0,4).map((Re,s2)=>Z2(b2({},Re),{icon:wt(Re,s2)}))),xe=Ye(()=>v.value.map((Re,s2)=>Z2(b2({},Re),{displayIndex:s2}))),Oe=Ye(()=>{var Re;return a.value!=="donut"?"standard":((Re=t.panel)==null?void 0:Re.variant)==="ring"?"ring":"three"}),f2=Ye(()=>{if(!s.value.length)return{};const Re=c.value||1;let s2=-90;return{"--ring-gradient":`conic-gradient(${s.value.map((P3,me)=>{const ze=k(P3)/Re*360,Qe=s2,y2=s2+ze;return s2=y2,`${Pt(me)} ${Qe}deg ${y2}deg`}).join(", ")})`,"--ring-active-color":Pt(ae.value)}});cr(()=>{l2()}),Or(()=>{Y2()}),$0(()=>{var Re;return[(Re=t.panel)==null?void 0:Re.key,o.value.length]},()=>{W.value=0,Y.value=null,x.value="",A.value=null,l2()});const B2=Ye(()=>{const Re=h.value,s2=320,et=66,P3=10,me=Re.length>1?s2/(Re.length-1):s2,ze=Re.map(Le=>k(Le)).filter(Le=>Le>0),Qe=ze.length?Math.min(...ze):0,y2=ze.length?Math.max(...ze):1,ct=Math.max(y2-Qe,y2*.08,1);return Re.map((Le,M2)=>{const $t=k(Le);return{x:Math.round(M2*me),y:Math.round(P3+et-($t-Qe)/ct*et),item:Le}})}),S2=Ye(()=>B2.value.map(Re=>`${Re.x},${Re.y}`).join(" ")),p2=Ye(()=>B2.value.length?`0,86 ${S2.value} 320,86`:""),X2=Ye(()=>h.value),w2=Ye(()=>({gridTemplateColumns:`repeat(${Math.max(X2.value.length,1)}, minmax(0, 1fr))`})),Ce=Ye(()=>Number.isInteger(Y.value)?B2.value[Y.value]:null),R2=Ye(()=>B2.value.length?Number.isInteger(Y.value)?Y.value:ae.value:0),v2=Ye(()=>Ce.value?Ce.value:B2.value[R2.value]||B2.value[0]),O2=Ye(()=>{const Re=v2.value;if(!Re)return{};const s2=Re.x/320*100,et=Re.y/86*100,P3=Re.y<42;return{left:`${Math.min(84,Math.max(16,s2))}%`,top:`${et}%`,transform:P3?"translate(-50%, 10px)":"translate(-50%, calc(-100% - 8px))"}});function k(Re){const s2=Number(Re==null?void 0:Re.value);if(!Number.isNaN(s2)&&s2>0)return s2;const et=Number(Re==null?void 0:Re.percent);return Number.isNaN(et)?0:et}function _2(Re){const s2=(Re==null?void 0:Re.segments)||(Re==null?void 0:Re.values)||{};return _.value.reduce((et,P3)=>et+(Number(s2[P3.key])||0),0)}function A2(Re){const s2=_2(Re),et=(Re==null?void 0:Re.segments)||(Re==null?void 0:Re.values)||{};return s2?_.value.map(P3=>{const me=Number(et[P3.key])||0;return Z2(b2({},P3),{value:me,percent:Math.max(me>0?3:0,me/s2*100)})}):[]}function Z(Re){const s2=Number(Re);return Number.isNaN(s2)?"--":Number.isInteger(s2)?`${s2}`:`${Number(s2.toFixed(2))}`}function ee(Re){return(Re==null?void 0:Re.displayValue)!==void 0&&(Re==null?void 0:Re.displayValue)!==null&&(Re==null?void 0:Re.displayValue)!==""?Re.displayValue:(Re==null?void 0:Re.value)===void 0||(Re==null?void 0:Re.value)===null||(Re==null?void 0:Re.value)===""?"--":Z(Re.value)}function Ge(Re){var P3;const s2=(Re==null?void 0:Re.displayUnit)||(Re==null?void 0:Re.unit)||"";if(!s2)return"";const et=String((P3=ee(Re))!=null?P3:"");return et&&et.endsWith(String(s2))?"":s2}function T2(){const Re=[...new Set(h.value.map(s2=>(s2==null?void 0:s2.displayUnit)||(s2==null?void 0:s2.unit)).filter(Boolean))];return Re.length===1?Re[0]:""}function z2(Re){const s2=Ge(Re);return s2?p.value===s2?"":s2:""}function Te(Re){const s2=Ge(Re);return s2?m.value===s2?"":s2:""}function $e(Re){const s2=String(Re||"").trim();if(!s2)return"";const et=s2.match(/^(.+)(镇|乡|村)$/);return et?`${et[1]} |
|
|
${et[2]}`:s2}function Xe(Re){return String(Re||"").trim().toLowerCase()}function Ne(Re){const s2=E.value.map(et=>u2(Re,{field:et})).filter(et=>et!=null);return[Re==null?void 0:Re.searchText,...s2].filter(Boolean).join(" ")}function u2(Re,s2){const et=[s2==null?void 0:s2.field,...(s2==null?void 0:s2.fields)||[]].filter(Boolean);for(const P3 of et){const me=String(P3).split(".").reduce((ze,Qe)=>ze==null?void 0:ze[Qe],Re);if(me!=null&&me!=="")return me}}function P2(Re,s2){const et=u2(Re,s2);return et==null||et===""?(s2==null?void 0:s2.fallback)||"--":(s2==null?void 0:s2.format)==="number"?Z(et):(s2==null?void 0:s2.format)==="displayValue"?ee({value:et}):String(et)}function d2(Re,s2){return s2!=null&&s2.unitField&&(Re!=null&&Re[s2.unitField])?Re[s2.unitField]:(s2==null?void 0:s2.unit)||""}function st(Re){return{"business-project-name":(Re==null?void 0:Re.key)==="name","business-project-locate":(Re==null?void 0:Re.key)==="locate","is-right":(Re==null?void 0:Re.align)==="right","is-center":(Re==null?void 0:Re.align)==="center","is-strong":Re==null?void 0:Re.strong}}function pt(Re){(Re==null?void 0:Re.canLocate)!==!1&&(A.value=(Re==null?void 0:Re.key)||(Re==null?void 0:Re.name)||null,i("row-select",Re))}function yt(Re){const s2=Number(Re==null?void 0:Re.scaleValue);if(!Number.isNaN(s2)&&s2>0)return Math.max(8,Math.min(100,Math.round(s2)));const et=k(Re);return et?Math.max(8,Math.round(et/u.value*100)):8}function _t(Re,s2){const et=yt(Re),P3=Math.max(.14,Math.min(.46,et/180));return{"--heat-color":Pt(s2),"--heat-bg":ut(Pt(s2),P3)}}function ut(Re,s2=.2){const et=String(Re||"").replace("#","");if(et.length!==6)return`rgba(48, 220, 255, ${s2})`;const P3=parseInt(et,16),me=P3>>16&255,ze=P3>>8&255,Qe=P3&255;return`rgba(${me}, ${ze}, ${Qe}, ${s2})`}function Ht(Re){const s2=B2.value.length;if(!s2)return;const et=Re.currentTarget.getBoundingClientRect(),P3=et.width?(Re.clientX-et.left)/et.width:0,me=Math.min(s2-1,Math.max(0,Math.round(P3*(s2-1))));Y.value=me}function Ue(Re){const s2=k(Re);return!c.value||!s2?0:Math.max(6,s2/c.value*100)}function it(Re){const s2=k(Re);return!c.value||!s2?0:Math.max(2,s2/c.value*100)}function St(Re){if(!Re)return"--";if(Re.extra)return Re.extra;const s2=k(Re);return!c.value||!s2?"--":`${Z(s2/c.value*100)}%`}function jt(){const Re=k(F.value);return Re>0?Re:V.value.reduce((s2,et)=>s2+k(et),0)}function Ve(Re){const s2=jt(),et=k(Re);return!s2||!et?0:Math.max(6,et/s2*100)}function lt(Re){const s2=jt(),et=k(Re);return!s2||!et?"--":`${Z(et/s2*100)}%`}function at(Re,s2){return["forage-edible","wetland-yield-edible"].includes(Re==null?void 0:Re.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(Re==null?void 0:Re.key)?"#ffe06b":Pt(s2)}function kt(Re){const s2=k(Re),et=Number(Re==null?void 0:Re.count)||c.value;return!s2||!et?"0%":`${Z(s2/et*100)}%`}function Pt(Re){return r[Re%r.length]}function wt(Re,s2){if(Re!=null&&Re.icon)return String(Re.icon).replace(/[^a-z0-9-]/gi,"");const et=String((Re==null?void 0:Re.name)||"");return et.includes("退化率")||et.includes("利用率")||et.includes("占比")?"rate":et.includes("重度")||et.includes("退化")?"risk":et.includes("可食")||et.includes("供给")?"leaf":et.includes("不可")?"stack":et.includes("产量")||et.includes("鲜草")?"yield":et.includes("乡镇")?"town":et.includes("面积")?"area":["yield","leaf","rate","risk"][s2%4]}function l2(){Y2();const Re=ie.value;Re<2||(Q=window.setInterval(()=>{W.value=(W.value+1)%Re},sW))}function Y2(){Q&&(window.clearInterval(Q),Q=null)}function rt(Re){return`linear-gradient(90deg, rgba(36, 246, 196, 0.18), ${Pt(Re)})`}function Ft(Re){return`linear-gradient(180deg, ${Pt(Re)}, rgba(50, 220, 255, 0.12))`}return(Re,s2)=>{var et,P3,me,ze,Qe,y2,ct;return Ae(),Pe("div",{class:Xt(["business-panel",[`is-${a.value}`,`is-${Oe.value}`,{"is-compact":n.compact}]])},[o.value.length?a.value==="rank"?(Ae(),Gn(oW,{key:1,rows:o.value,compact:""},null,8,["rows"])):a.value==="metric"?(Ae(),Pe("div",iBe,[(Ae(!0),Pe(bt,null,Nt(o.value.slice(0,4),Le=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-metric-item"},[B("span",null,Fe(Le.name),1),B("strong",null,Fe(ee(Le)),1),B("em",null,Fe(Le.unit),1)]))),128))])):a.value==="iconMetric"?(Ae(),Pe("div",rBe,[(Ae(!0),Pe(bt,null,Nt(je.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-icon-metric-item",`is-tone-${M2%r.length}`])},[B("i",{class:Xt(["business-icon-metric-mark",`is-${Le.icon}`])},[...s2[2]||(s2[2]=[B("span",null,null,-1)])],2),B("div",aBe,[B("span",null,Fe(Le.name),1),B("strong",null,[Z1(Fe(ee(Le)),1),Le.unit?(Ae(),Pe("em",oBe,Fe(Le.unit),1)):Lt("",!0)])])],2))),128))])):a.value==="spotlight"?(Ae(),Pe("div",sBe,[Ee.value?(Ae(),Pe(bt,{key:0},[B("div",lBe,[B("span",null,Fe(Ee.value.name),1),B("strong",null,[Z1(Fe(ee(Ee.value)),1),B("em",null,Fe(Ee.value.unit),1)]),B("small",null,Fe(Ee.value.extra||((et=n.panel)==null?void 0:et.note)||"核心业务指标"),1)]),B("div",uBe,[(Ae(!0),Pe(bt,null,Nt(o.value.slice(1,4),(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-spotlight-chip"},[B("i",{style:J3({borderColor:Pt(M2+1)})},null,4),B("span",null,Fe(Le.name),1),B("strong",null,[Z1(Fe(ee(Le)),1),B("em",null,Fe(Le.unit),1)]),Le.extra?(Ae(),Pe("small",cBe,Fe(Le.extra),1)):Lt("",!0)]))),128))])],64)):(Ae(),Pe("div",dBe,"暂无业务统计数据"))])):a.value==="donut"?(Ae(),Pe("div",{key:5,class:Xt(["business-donut",[`is-variant-${Oe.value}`,{"is-dense":s.value.length>5}]])},[s.value.length?(Ae(),Pe(bt,{key:0},[Oe.value==="ring"?(Ae(),Pe("div",hBe,[B("div",{class:"business-ring-core",style:J3(f2.value)},[s2[3]||(s2[3]=B("div",{class:"business-ring-orbit"},null,-1)),B("div",fBe,[B("strong",null,Fe(kt(he.value)),1),B("span",null,Fe(((P3=he.value)==null?void 0:P3.name)||"结构占比"),1)])],4)])):(Ae(),Pe("div",pBe,[(Ae(),Gn(Uee,{key:K.value,data:s.value,delay:sW,colors:r,opacity:.62,class:"business-three-pie"},{default:m3(({data:Le})=>[B("div",vBe,[B("strong",null,Fe(kt(Le)),1),B("span",null,Fe((Le==null?void 0:Le.name)||"结构占比"),1)])]),_:1},8,["data"]))])),B("div",mBe,[(Ae(!0),Pe(bt,null,Nt(s.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-donut-row",{"is-active":M2===ae.value}])},[B("i",{style:J3({borderColor:Pt(M2)})},null,4),B("span",null,Fe(Le.name),1),B("strong",null,Fe(ee(Le)),1),B("em",null,Fe(Le.unit),1)],2))),128))])],64)):(Ae(),Pe("div",gBe,"暂无业务统计数据"))],2)):a.value==="structure"?(Ae(),Pe("div",yBe,[v.value.length?(Ae(),Pe(bt,{key:0},[B("div",_Be,[B("div",SBe,[(Ae(!0),Pe(bt,null,Nt(v.value,(Le,M2)=>(Ae(),Pe("i",{key:Le.key||Le.name,class:Xt({"is-active":M2===ae.value}),style:J3({width:`${it(Le)}%`,background:Pt(M2),color:Pt(M2)}),title:`${Le.name}:${ee(Le)}${Le.unit||""} ${St(Le)}`},null,14,bBe))),128))])]),B("div",xBe,[(Ae(!0),Pe(bt,null,Nt(xe.value,Le=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-structure-row",{"is-active":Le.displayIndex===ae.value}])},[B("i",{style:J3({background:Pt(Le.displayIndex),color:Pt(Le.displayIndex)})},null,4),B("span",null,Fe(Le.name),1),B("strong",null,[Z1(Fe(ee(Le)),1),B("em",null,Fe(Le.unit),1)]),B("small",null,Fe(St(Le)),1)],2))),128))])],64)):(Ae(),Pe("div",wBe,"暂无业务统计数据"))])):a.value==="bar"&&((me=n.panel)==null?void 0:me.variant)==="capacity"?(Ae(),Pe("div",TBe,[F.value?(Ae(),Pe(bt,{key:0},[B("div",ABe,[B("span",null,Fe(F.value.name),1),B("strong",null,[Z1(Fe(ee(F.value)),1),B("em",null,Fe(F.value.unit),1)])]),B("div",CBe,[(Ae(!0),Pe(bt,null,Nt(V.value,(Le,M2)=>(Ae(),Pe("i",{key:Le.key||Le.name,class:Xt({"is-active":M2===ae.value}),style:J3({width:`${Ve(Le)}%`,background:at(Le,M2),color:at(Le,M2)}),title:`${Le.name}:${ee(Le)}${Le.unit||""} ${lt(Le)}`},null,14,MBe))),128))]),B("div",EBe,[(Ae(!0),Pe(bt,null,Nt(V.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-capacity-row",{"is-active":M2===ae.value}])},[B("i",{style:J3({background:at(Le,M2),color:at(Le,M2)})},null,4),B("span",null,Fe(Le.name),1),B("strong",null,[Z1(Fe(ee(Le)),1),B("em",null,Fe(Le.unit),1)]),B("small",null,Fe(lt(Le)),1)],2))),128))]),G.value?(Ae(),Pe("div",PBe,[B("span",null,Fe(G.value.name),1),B("strong",null,[Z1(Fe(ee(G.value)),1),B("em",null,Fe(G.value.unit),1)])])):Lt("",!0)],64)):(Ae(),Pe("div",RBe,"暂无业务统计数据"))])):a.value==="bar"?(Ae(),Pe("div",{key:8,class:Xt(["business-bars",{"is-dense":h.value.length>=5,"is-long":h.value.length>10,"is-single":((ze=n.panel)==null?void 0:ze.span)===1,"is-distribution":((Qe=n.panel)==null?void 0:Qe.variant)==="distribution","is-capacity":((y2=n.panel)==null?void 0:y2.variant)==="capacity"}])},[(Ae(!0),Pe(bt,null,Nt(h.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-bar-row",{"is-active":M2===ae.value}])},[B("span",LBe,Fe(Le.name),1),B("div",IBe,[B("i",{style:J3({width:`${yt(Le)}%`,background:rt(M2)})},null,4)]),B("strong",null,[Z1(Fe(ee(Le))+" ",1),Le.unit?(Ae(),Pe("em",DBe,Fe(Le.unit),1)):Lt("",!0),Le.extra?(Ae(),Pe("small",NBe,Fe(Le.extra),1)):Lt("",!0)])],2))),128))],2)):a.value==="column"?(Ae(),Pe("div",{key:9,class:Xt(["business-columns",[`is-variant-${((ct=n.panel)==null?void 0:ct.variant)||"solid"}`,{"is-dense":h.value.length>6}]])},[p.value?(Ae(),Pe("small",kBe,"单位:"+Fe(p.value),1)):Lt("",!0),(Ae(!0),Pe(bt,null,Nt(h.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-column-item",{"is-active":M2===ae.value}])},[B("strong",null,[Z1(Fe(ee(Le)),1),z2(Le)?(Ae(),Pe("em",FBe,Fe(z2(Le)),1)):Lt("",!0)]),B("div",OBe,[B("i",{style:J3({height:`${yt(Le)}%`,background:Ft(M2),"--column-load-delay":`${M2*.075}s`})},null,4)]),B("span",null,Fe($e(Le.name)),1)],2))),128))],2)):a.value==="projectTable"?(Ae(),Pe("div",BBe,[B("div",zBe,[en(B("input",{"onUpdate:modelValue":s2[0]||(s2[0]=Le=>x.value=Le),type:"search",placeholder:I.value},null,8,GBe),[[Y9,x.value]])]),B("div",UBe,[B("table",null,[B("colgroup",null,[(Ae(!0),Pe(bt,null,Nt(M.value,Le=>(Ae(),Pe("col",{key:Le.key,class:Xt(Le.className),style:J3({width:Le.width||void 0})},null,6))),128))]),B("thead",null,[B("tr",null,[(Ae(!0),Pe(bt,null,Nt(M.value,Le=>(Ae(),Pe("th",{key:Le.key,class:Xt(st(Le))},Fe(Le.label),3))),128))])]),B("tbody",null,[(Ae(!0),Pe(bt,null,Nt(P.value,Le=>(Ae(),Pe("tr",{key:Le.key||Le.name,class:Xt({"is-active":A.value===(Le.key||Le.name)}),tabindex:"0",onClick:M2=>pt(Le),onKeydown:[Gl(Hi(M2=>pt(Le),["prevent"]),["enter"]),Gl(Hi(M2=>pt(Le),["prevent"]),["space"])]},[(Ae(!0),Pe(bt,null,Nt(M.value,M2=>(Ae(),Pe("td",{key:M2.key,class:Xt(st(M2)),title:P2(Le,M2)},[M2.strong?(Ae(),Pe("strong",WBe,[Z1(Fe(P2(Le,M2)),1),d2(Le,M2)?(Ae(),Pe("em",jBe,Fe(d2(Le,M2)),1)):Lt("",!0)])):(Ae(),Pe("span",$Be,Fe(P2(Le,M2)),1))],10,HBe))),128))],42,VBe))),128))])]),P.value.length?Lt("",!0):(Ae(),Pe("div",qBe,Fe(D.value),1))])])):a.value==="table"?(Ae(),Pe("div",{key:11,class:Xt(["business-table",{"is-dense":f.value.length>8}])},[B("div",XBe,[(Ae(),Pe(bt,null,Nt(2,Le=>B("div",{key:Le,class:"business-table-head-group"},[...s2[4]||(s2[4]=[B("span",null,"乡镇",-1),B("span",null,"亩产",-1)])])),64))]),B("div",YBe,[(Ae(!0),Pe(bt,null,Nt(f.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:Xt(["business-table-row",{"is-active":M2===ae.value}])},[B("span",KBe,Fe(Le.name),1),B("div",ZBe,[B("strong",null,[Z1(Fe(ee(Le)),1),Le.unit?(Ae(),Pe("em",JBe,Fe(Le.unit),1)):Lt("",!0)]),B("i",null,[B("b",{style:J3({width:`${yt(Le)}%`,background:rt(M2)})},null,4)])])],2))),128))])],2)):a.value==="stackColumn"?(Ae(),Pe("div",{key:12,class:Xt(["business-stack-columns",{"is-dense":S.value.length>6}])},[B("div",QBe,[(Ae(!0),Pe(bt,null,Nt(_.value,(Le,M2)=>(Ae(),Pe("span",{key:Le.key||Le.name},[B("i",{style:J3({background:Pt(M2)})},null,4),Z1(Fe(Le.name),1)]))),128))]),B("div",eze,[(Ae(!0),Pe(bt,null,Nt(S.value,Le=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-stack-item"},[B("div",tze,[(Ae(!0),Pe(bt,null,Nt(A2(Le),(M2,$t)=>(Ae(),Pe("i",{key:M2.key||M2.name,style:J3({height:`${M2.percent}%`,background:Pt($t)})},null,4))),128))]),B("span",null,Fe($e(Le.name)),1)]))),128))])],2)):a.value==="peak"?(Ae(),Pe("div",{key:13,class:Xt(["business-peaks",{"is-dense":h.value.length>5}])},[m.value?(Ae(),Pe("small",nze,"单位:"+Fe(m.value),1)):Lt("",!0),(Ae(!0),Pe(bt,null,Nt(h.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-peak-item",style:J3({"--peak-height":`${yt(Le)}%`,"--peak-color":Pt(M2)})},[B("strong",null,[Z1(Fe(ee(Le)),1),Te(Le)?(Ae(),Pe("em",ize,Fe(Te(Le)),1)):Lt("",!0)]),s2[5]||(s2[5]=B("div",{class:"business-peak-stage"},[B("i")],-1)),B("span",null,Fe($e(Le.name)),1)],4))),128))],2)):a.value==="line"?(Ae(),Pe("div",rze,[B("div",{class:"business-line-chart",onMousemove:Ht,onMouseleave:s2[1]||(s2[1]=Le=>Y.value=null)},[(Ae(),Pe("svg",aze,[s2[6]||(s2[6]=B("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),B("polyline",{class:"business-line-area",points:p2.value},null,8,oze),B("polyline",{class:"business-line-stroke",points:S2.value},null,8,sze),(Ae(!0),Pe(bt,null,Nt(B2.value,(Le,M2)=>(Ae(),Pe("circle",{key:M2,cx:Le.x,cy:Le.y,r:"3",class:Xt(["business-line-dot",{"is-active":M2===R2.value}])},null,10,lze))),128)),(Ae(!0),Pe(bt,null,Nt(B2.value,(Le,M2)=>(Ae(),Pe("circle",{key:`hit-${M2}`,cx:Le.x,cy:Le.y,r:"13",class:"business-line-hit",onMouseenter:$t=>Y.value=M2},null,40,uze))),128))])),B("div",{class:"business-line-hover-zones",style:J3(w2.value)},[(Ae(!0),Pe(bt,null,Nt(B2.value,(Le,M2)=>(Ae(),Pe("i",{key:`zone-${M2}`,onMouseenter:$t=>Y.value=M2},null,40,cze))),128))],4),v2.value?(Ae(),Pe("div",{key:0,class:"business-line-tooltip",style:J3(O2.value)},[B("span",null,Fe(v2.value.item.name),1),B("strong",null,[Z1(Fe(ee(v2.value.item)),1),v2.value.item.unit?(Ae(),Pe("em",dze,Fe(v2.value.item.unit),1)):Lt("",!0)])],4)):Lt("",!0)],32),B("div",{class:"business-line-labels",style:J3(w2.value)},[(Ae(!0),Pe(bt,null,Nt(X2.value,Le=>(Ae(),Pe("span",{key:Le.key||Le.name},Fe($e(Le.name)),1))),128))],4)])):a.value==="heat"?(Ae(),Pe("div",{key:15,class:Xt(["business-heat",{"is-dense":g.value.length>6}])},[(Ae(!0),Pe(bt,null,Nt(g.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-heat-cell",style:J3(_t(Le,M2))},[s2[7]||(s2[7]=B("i",null,null,-1)),B("span",null,Fe(Le.name),1),B("strong",null,[Z1(Fe(ee(Le)),1),Le.unit?(Ae(),Pe("em",hze,Fe(Le.unit),1)):Lt("",!0)])],4))),128))],2)):a.value==="split"?(Ae(),Pe("div",{key:16,class:Xt(["business-split",{"is-dense":d.value.length>10}])},[B("div",fze,[(Ae(!0),Pe(bt,null,Nt(d.value,(Le,M2)=>(Ae(),Pe("i",{key:Le.key||Le.name,style:J3({width:`${Ue(Le)}%`,background:Pt(M2)})},null,4))),128))]),B("div",pze,[(Ae(!0),Pe(bt,null,Nt(d.value,(Le,M2)=>(Ae(),Pe("div",{key:Le.key||Le.name,class:"business-split-row"},[B("span",null,[B("i",{style:J3({background:Pt(M2)})},null,4),Z1(Fe(Le.name),1)]),B("strong",null,Fe(ee(Le))+Fe(Le.unit),1)]))),128))])],2)):(Ae(),Gn(oW,{key:17,rows:o.value,compact:""},null,8,["rows"])):(Ae(),Pe("div",nBe,"暂无业务统计数据"))],2)}}},lW="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",vze=""+new URL("pathLine2-d4134d4b-balabala-1782921062964.png",import.meta.url).href,mze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",gze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",yze=""+new URL("ocean-bg-8c848b8f-balabala-1782921062964.png",import.meta.url).href,_ze=""+new URL("rotationBorder1-2ce8e0ef-balabala-1782921062964.png",import.meta.url).href,Sze=""+new URL("rotationBorder2-7496b968-balabala-1782921062964.png",import.meta.url).href,bze=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1782921062964.png",import.meta.url).href,xze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0ESURBVHgB7Z3/VRu7E8XFO+9/kgpIKoAOEioAKoBUAFSAqSCkAkwFQAVABUAFhAoIFfjt3bzl+TlGtndG0oz2fs6ZY/L94R2v9u6MpJG0FkKYBELIXP4KhJB3oUAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIfweSlA8fPoRPnz6Fra2t9u+NjY23/wyfsBg/f/58+/z161d4fn5++/vh4aH9JOlYC9wXSw089F+/fg2bm5tvosBnSjqhwO7u7lrx4G+iAwUiAA//7u5uKwh8LooGuehEcn19HW5vb9+iEFkdCmRFECF2dnZaQaSODlpAIBDKxcVF+0lWY0Jb3s7OziaeeXp6mpyfn08aobu67wXNlbPFDQ9WLUAsBwcHkyYSumqDzObKWRP28vIyqQ1EFQrlT+M8SA+Qy9dGE0lCE1HCzc1N288i/+FK0RaspjTrPRqhsJ/y21w5a8ZqTLPmMfTUa3ApFuYqMEQrpcY0ax5d6tUIxc2wtjauFC2xw8PDtze/NH0YQpo1SzfqVbINC5grZ3sZUgTk1NPg39LvHUqaNcv9/f2Q0i5Xzq5s01FjlibVEn33eDyeDJmTkxMz7ZzQXDm7tM2LGrMgZWj6JL2vMcQ0axbc45qjSZW1WBjHv7y8XKp48PT0NIxGo9AHfD86sKsUKaL6FrVRXcn66+vruyXr+N719fW3znFXMm8N/Jbj4+NwdXUVasSNmpcxhP1VQPoleQO+l2bhe/F2Re0WOrbNwy2KVp3hOxC5kB7iu3ENK32hSlMuV85GH5wmakz6gLH+vtfFgwo6QRwdHbViyP37cU1ce1FamRq0gcaLwJC5cnauIQKgPyGh77Bv90a39lBAuIhuJaIL2qKifokrZ/8wvDml4gAaw75WDSle7shSkUhcOfs/gzg035C1T4LhgUVU0XihLAPapkS6qWyunH2z/f199fQB31dZ/jzXIBS8DHIIBfcUbeXp/syYK2dbww1PRTPk6+peSA0d+xxCcSwSV84mFQfAG8/T/dAwRJQcS4mdisSPs9p9jllqnxVeZMtUH0hw2ifx4SgaL5U48L1INbzci9SWsn/iUCT2ndSY53iPoUeN2D1PFU2cDQHbdhCjSqnEwaix2DBokQJpoWhGs+1g3/KRRY3D9dbLm9Zk7CxoWwe/365zqxYeLsPAFvuoGe4Z7p02DgocbTrWFQFqglnkIUwEprQUi8SMR3N7TqXolA9tAjClafdLpEsOEps9p7RHTygOfdMWieFiUVsOafc7KI50pi0So6OKdpxBmNWE4khvmiIxmmrZcUZzlITiyGeaIjGYatlwBOUNWmCkxcrvGoppjm4ZS7XKO6E5aoUoZOE3Dc0wfK6VARhbl1PeCWyaoEFla6HdmeaL7vv371Z+V/mbqkUFyzvdm+Zmekbas6wDWtGDnXI7hj6EBkY67OUurvW2qXlHEq+mNdlroAzF901kv8OmaS1wM/DyK3NhregxwPMq3JhWqlU4ipS5sEb0YGpl3ypo5/wX1Rq5Ympl37TaulQUKXJG4cnJSZDy48ePdtt9Yhu0EY6YkKJxrmRf3L1R2DH3ZZgVl3bYS82uZ48gGofUM3r4AgcEoc0k4OCgptMfSpBVkdJSBPz/c/tMk5tGFClUZ5fvYhpDuxzW9WsaZfG5O+tZU6z9/f0gAWnV7e1tID45Ozt79zzGZSnRWc+mRml6JTkqjWbDpFGkwObieS6kkV5x5Mq/oS8iJWealS3FkqZXSK04cuUfpFjSNDl3mpVFidL0ip3zeky6KWDmkcz0F5FODg7xUJuaTWPId2NjI4uvWVIs6eTg1dVVIPWANOv6+jpI2NvbCznIIpCdnZ0gQXoziT3G43GQsLm5GXKwFn6HkqQ0OWNo0qzQl7W1tUDqAqUjeC7w2QdEoY8fP4bUJI8gW1tbInFwYrBO8IA/PDyEvkBYTT8kpCa5QCTiAEyv6kXattvb2yE1yQUi7aAzgtSLtG2RnaQmuUAknSlpGCa2QdtKarOk2ckyZOmD9IXiqB9JG+cYyUoqEHSk+o5SgMfHx0DqRtLGiCCS52sZkgpEmiOy/1E/0iwhdZqVPIJIkK4dIPaRCiR1Rz2pQKTqZh+kfqQV2q5TLIlAED0YQepH2s6DTbG49mM4SNp6fX09pCSpQCSlAIwew0EiENcRRAIjyHB4fX0NfRlsH0Ry04gvJNmCa4FIYIo1HCy3tVmBEGIBCoSQCBQIKc5oNGpXjfaxz58/h5RQIIREoEAIiWBWIKmH7whZhqQCkQzfpS4hIGQZzAokx5YuhCwiqUCen59DX3Js6ULIIsxGkBwL8glZRFKBSAoOpevZCdHAbAQBjCKkNEkFYn29MSGLMJtiAQqElCZ5iiURSa4t7kk5rKfRf4fEIM3qexMYQern/v6+/cRzcnd31+6FJt2SVJukR1idnZ1NJDQiyXLUFi2/oW3foxHO5PLycnJ0dJT1VNtZyxJBJGB3eO6PVSexnf+RPcCmT7TFc4AIg+1K8Xeu5yKpAqUHeN7c3BR7e9DSGtpWQo7sIssRbC8vL6KjtrAohmvU66N5xkNfMPiTerEUyFLuLjlJCMJiZ70+plOnPuTa+T+LQKS54v7+fiB1IT35OOfR4MnzOGk/BIfO4/D5HL7S8hjaVAKeqRx+ZokgyBelhYvSsw6JHQ4ODsT7NufaeTPbklvpiaaHh4eB1IE0Zc59sFKWUIXJHilMs/ybNN0GmScO890cad45Go1y3hhaAjs/P59IeHp6yupv1l1NLi4uggSkWVxE5RfU5En7krnTq6wCkQ7NQRxHR0eB+ATikFbvSl+yfcgaslCEJoFDvn4N6ZGn9AqWfeM46WgWo4hPkB5Lo8fp6WkoQVZF4u0v7awzivgyjFxJowfINTk4bdkjCIoOpXkko4gvNKLHeDwudixfdlVqzImUeqPQVjONeY/CbV3kouK1AIBrRexbBe1c5sJaUQRLMgvePFrEDg4OJhqUXHIbCl5Y5e2CDjtTLXum1TE3kCWUu7hWFGGqZc80Xn6gcPSAFb242o1kqmXHTk5OJhqgbsvA7ynrQGzrl1Ux8LYZvGm2p5HUubgD4r2zOpDzsj9SzrT6HcBI9ICVd0Jjdr0DtV6cZS9j0jq7DmMvOhNOtH0ILQy9fQZj0nUe02B42NBvM+OIWocdoKNo6bfVbFqdcoAoZOz32XEGYVUr1QIUSXrTFAcw2Ic05YxqqgUoknSmLQ6jS6rNOaSaagGKRN+0xWF4steeU9qpFuBEop5pi8P48LxJp9TKUADrtXQMw+eao1Udu7u7ln+3WcfanFQDHsIjN7xgtOY5pnGwlZNp59pThiQYG1N3aYjmWjPk06BtHfx+2w4irPdtHG40J7fDw8NJCtCmTioezDvYq8aH4pDfc+3RxA5nNXMunGz7EcuObKH40cvvsmiIGtqjiB0OB0zcOLqUSJzktSYtZdToxOFwwMSVs9F1zlqVvBjnH9KwMO6Z9tzGPJwOmLhytrV5ItHKa7sHBd9X++RiJ4xU6VQF4oC5cvbNcMO7htUSx7zBAPwb16opouQUBq7hfKjdlbP/M+SzmiMisVliXAf/vWeh5BRGJ44KJmldOZvMVtkBEB1ZL29FiAKlHCk73/PAC6WSCgZXziazPmUUeEMiqlirJYIoMPsN33JFi2kq2xvAlbNJTGsHQLyl0bEv8ebENXFt+FBCFB0YZq9pT4C1f/8YNM0bT7z7+CzYxf7h4aG1u7u7t3/jUwJ2toevjSDC5uZm+wmzcDQdzu8YjUahJgYvkKbTmrVRIRBs4z/9+fr6Ovd/u76+3j74nShgFs9oxG/Y29vLfn5gDgYtEDxwiB6kPxDFt2/fip3dkZrsB+hYAtGD9ANR4/j4OGxvb1crjg7zHaUUprlF5tDAQMCASnFcOatmKRYA1Q5Gxwa4tt+Vsyqmud59KGAJwUC3dHXlrJohRRiPxxMSB+nUwNf0u3JW3RBNcpdheAD3hMdJBAqkMwrlNxTGH+bK2eQ2xNQLnW/0MSiMuebK2WwGoaBGq+bRLhRoYnMLnqcSNVfOFjG8WRFVahALo8VqxmLFFWkerNBElvDlyxf1AsdUYKb7+vo6XF1dVVkvlRIKRAAEAsHs7Oy0FbVWBIMyEIjh8fGx/ay9FCQlFIginUggmq4UPXX1LR5+lNE/Pz+3n4gQFIQeFEhiIJBOKF3JOsrYu2izKOogGnSl8SiL70rkIYbub5IOCoSQCIMudydkERQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRAS4R+Py6dcyrAs4QAAAABJRU5ErkJggg==",wze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA4qSURBVHgB7Z3xVdvMEsX15bz/k1RAOoBUQDrAHUAHpgOgAkgF2BWAKwBXEKggUEGcCvx09d76M/LMalfalXal+zvnHhPFllbWXu3MrCT/UxTFtiCEiHwqCCEqNAghFmgQQizQIIRYoEEIsfCfgkThy5cvlU5OTopv375Vfx8dHe2WY9n++yQ2m00l8Pb2tnt9f3+vlr+8vFSvWGbeR8LyT8Eyb2dgAuj4+Ljq+MYUfQKTQDDNer3e/U26QYN4YkaFs7OznTG0EWBozCgDrVar3YhD3KFBHPjx40dxenpavUI58/z8XI0weIWIHRpEAUbAKHFxcRF8hDC5xX6OoWFyFFuu0haEYTDJcrmkWRRokD1CmcLE/0imTW5gEmmTbLcFuY1J+s3fyH1M6NelzTTLIZM3CDrWfD4vZrNZqw5mOtbr62v1OmRFyZhkv2jQdp9ubm52+zN1tlNUOVpsHx4etn/+/Nn68OvXr+3d3d22NNS27JDJ7yfaiLaizWi7L/f399V3lfp+RlRWje0sHOynpyfnDgID4f2Xl5dZGKJJZUi2LUPI6uTgA74DfC6nfQ2krBrbWji4v3//duoMxhT4zBhMoQn75msWfIcTM0pWjfWWjzHGNFL4yowsrmHYhIySVWOd5RpKYbRAfD7xOPuDysR+u1gsti7AKMhxcto/T2XV2EbhTOhqjOvr60mOFj7fpesIjGQe789p/xyVVWNVoaNfXV01Hkgc7KmGUV3kahQcg5F9t1k1VhTCo6aDN8HkMopcjDKy7zqrxn4QzlRNFRiGUnHkYpSRhF1ZNXYnl1EDyTeNEU/o/PiORz6aZNXYqsPf3t5aDwqS9JEmjEnKpTCCY5bpySqfxuJA2EYNhFNIwHPapzGpKezC/2V44sqjofP53HrdFHIRhlPDCwawzaFkeBJLv5G2kApf+MgnqrJU02iCcnAm+5Ju4zAi2GJb5hppqyk3wWUtGRy/NBvWlG+gdJtq26mPwrHSyCAvSa9RuBZIyzewnNdN5SdbWR7LccwTbXtaDTo/P1fNkcmQTClqigpw7BNsdzqNQaVKA5URVqnyF46hbXIxwQpXGg2xXWjIfGN8suUliVW4hm+EzRyc+BuvMjHJsA2wmYNX345fOMaJm2S4jWs5BytV0xKOtVaYSSCCGGbDqFho5ki45EdFkq20P3B1a5gvg+agpH4hmWTgftHvBm21cIZVFPqAdvIcaA6sv43ZzMGEnDLSEnf0nQHmwvrbmPbMJc5zUHUhOZfAxY89t6WfDWnlXJqD0qTNk+D2hx7bEX8jWjkXlxz0uKNUhtJuvuqx/Bt3A8g7pMrEQPEklZnQR6TQvMekPe7OSUl5pvcmUwNp4JNsvJVrt8qynEv5Siv/9pCPxFmxVqpjUk61lZa0Rz7hhl+pNt8xQImOGpmke9wjh1rhV4pHTko7wbyD6iotH8FjnyJtM+wKtdCKM+VUKOExTz2GWuFWplWtMKLE+KKo6Up6aHmkUCvcyqTZcoZWVAzBCFKoFaEIFGZFMAFDK6pPaddrBT4hh1mRlJizakXFllTVCtzvuq9ES5oYWlGxpUUuARP27iuREnNeiEj1Jek5WwFHkW4rkMq6TMypPqUl7IHy324rkEYPJuZU35IuQ0HfDLDu9h/WRo8+vhCK2pc2BxfgZN3+wxw9qJQU6YSdVGMoqpOkk3bHila7D0r1Z44e1NCSJg87VrT8PyTdvMLRg0pBWkWr7SjyqWjB+fn5wbKbm5uCkKHZbDbFz58/D5bP5/OiLV6O0mYuOe9BpSJpFMG/21zp6z2ClEPVwbLFYlG8vb0VhKQARpHlcvlhWWmOosxPijZ4OUqqEvCB01RqkvJkPD6oxboG2ShFRZdUafVN1r1CLCk5lxIiQlJgtVodLJvNZoUvzm6Swism51Sq0pJ1z/W4vVEKrx4fHwf/EijKpq5hlnOIJYVXpUEKQlKmXs0CvmGWk5Ok8IoPn6ZSV9cwy2kEwdxHmWt8WIYECPVmQlIGffTl5eXDMsyJSPN5Es4GqcPwiuSCVM1yNQhoHGakRIfVKyoXIcyq43GFr//KOTlI5SbpR3hccujGEOvk5ORg2Xq9LgjJCanPSn27TqNBpJLY8/NzQUhOSH3WpdzbaJDj42OnjRGSMlKflfq2hDUGq9eQmX9Quao+l+cyH2IdQRCjoWa8T72mTEgu1PMQ9O2mPMRqkPrkIHh9fS0IyRHp5N7JINJkCkcQkitSHtLJIFISQ4OQXJFuC5eipH28QiyYg9dfkVxB362bpKmSpRoECUzdIDQHyZ16BIQ+Xi9E7aMahAk6GSPv7+8Hyz5//qy+3zqC1OGjfUjuSH34+/fv6vtVg0jZPQ1Ccsc3UfcaQZiDkNyRDBIsBymn6gtCckY6yR8dHanvVw0ifUhKcAjJCWkE+fr1q/p+56eaMLwiY6Hel1tVsTgHQsZKvS+3StKbVkpIrvj0ZecqFg1CxkK9L7eqYtk+RMiYaGUQQggNQogVGoQQCzQIIRZoEEIsqAZhWZdMBVtfdzYIy75kLPjM8TmHWDQIGQs+fVk1SP2qRxqEjIV6X7bdCMgQi0yOICPI379/D5bZbiwhJAekK3dbjSC+N5YQkgOSQWw3AnqVeZueQkdI6vg+a8FrBKFBSO5Ifdj2OF3VINKHaBCSO1IfDjJRqK2ckJyQnsXbuszr+6BfQlJHmgNpPZPu+6BfQlJG+kWppqeFWg0ilb8YZpFckR6n2/RAdq8RBEi/OkVIDkgGafrFZm+DMA8hueKboBusP4Nb/xlo/JRu02coKkXhJ8yD/gw0YKJOxoCUoLv83majQaQkhnkIyQ2pz7r8YlqjQR4fH502RkjKSH1W6tsS1hisHJq2dRDLNX2OolJSPf8A6NsOn21e+dPTU9uVU9TgKvPmg/6LPu3yWad70tfr9cGyi4uLgpAckMIrqU9LOBlEmkw5OzsrCMkBqa82TRDu4zTU1OdD8G+GWVTqknJon7k858f+LJfLD/9GXXk2mxWEpIzUR31GD+DkpDKOa53oUNRQenh4OOi36Mse63DfGMMsKidJ1SvfS6W8Hl4thVmsZpFUkapXvuEVcHYTwywqJ0mTg57hFTTIRikqqk5OTjqHV5D374OsVquDZaxmkdSYz+cHy25uboo2eDkKSTmTdSplSck5wHLfdXmPIHgCRD3RQbJ+eXlZEJICUnK+WCyc7h6U8HaVlKxzFKFSEXKNgHlyu0ZIV/iWo8ggXwhFGZXTDgf9smOltd0HpVGE96tTQ0saPWCaDutMqjEU1VrS6BHgpB2+QcxFqCEU6YQdvlHX19e9fSkUBUUaPaDwDWNFi+pTmN+IGO53b6BU0bq9ve3tC6KmLfS1SKMH1H0lUkULtJm5pCgfabPms9ks1DbCNFQaRXilLxVbUr+7v78PuY0wK9KczMlDKpak/DdC5BKuwahe1WHCTsWQlphHqKCGWxmMIDUa9wXH+qKoaQphVJ1Ic3BhG64l7AGTJmri0kKrSFdxhN8B6UkSCLVY1aK6SgutAifm+wq/Ui3UYlWL6iqpaoW+FvHkG2dHtFDr6uoq1o5QIxf6To+hlVG8Hbq7uxN3iA95oHylnXDRxyJvO97KtVCL+QjlIy3v6OnK8fg7V3/IA8Djgzg/QjUpgZNs/J3EbLpExMoDNRJJFyKCHq/Q6GUjaj7CpJ3SpCXlPd9v1NuGxBJdz2cDKhNp5hjg9zH725gWT4Lz8/O+d5xKVOgLEpHnOzT1ujE1aQcs/1JaOXcgc0C9b7B6sLBkEizD/w3RJmp4af0CDNgvBtmoesEZTTJN2cwx8KOkBtuwWv7FF8VwazrCsdbMkUABZ9CNizdZGZi4j19aQg4SeXzU4A2wmoTzJOPVfD5P3RxQEo2gSSYmbZ4jMXNAyTREzUkALjngtVv5C8dQul3WkOCkcVKNUatbYMBaOBVAOHbSb1wCJOmJPvg8uQZVJT9txh3LWeHKT7ZKVeKl/SQbpd4DYGBeko9s+UYGUUGyDbMOyQAXPzLkSvv4aReomuOXQV6ZdOMq2SpcOAPxR3vSEx7zpIVUoIdbZUMpi0ZW1Q3bF47KCEeT4YURQXrskwHHMLPbG7JpaGNewtFkWGHiz3YSy7QKmVVjqzOUdneigblJv2rKNQCOWabzWFk1dieMFLbRBGBykUaJJ3R47Z7x/VEj87J8Vo39IHT+xWLReIAYdoUVjIHSrS2cAshFRnD1Q1aNFeUymtAo/X7XI5rMzaqxqnCmspWDaZRu3y0qT03GADgGI7tmLqvGNsol7No3CnMUXa6hFBhxYSSrxjoLE1UuZzyAORTe5vuvEB4h+XY1xsivjcuqsd5yiZkNuKxlqqOKCaOayrWGCYWqWTW2tXyMAlCBwWfGfA8K9g37CFO4jBYTM4ZRVo3tLNMhfDBmGcPIsj9SuJoCTCCU0pRVY4MJB9slma+DMAzxOXKcHEYXtBFtRZttV0ZLwEA4OUz5/pt//v/HZClHhaLsAEVZran+9uXl5aXS6+vr7u/NZlMMQWmG3f4cHx9Xr233abVaFXd3d4PtSypM3iD7oEOVoVRxenraqmMZjEnw+v7+Xry9vVX/xivUBbTLGAE6OjqqXssqXKc2o33L5bJ4fHwsnp+fC/I/aBCFUGaRQGfclw2YYV+h20FT2KFBHIBZIJgFrzkDI6zX6+qVpmiGBvEEZ3GEM2XiW8X5+Dv0mT0UJsxDfoRRYsj8KFdokACY+N8kxyY/6BPkNibnMcUCiHSDBomESaTNiINXk1AD82rLLfZzFJPoQzCBSfrNqMCRIQ40CCEWPhWEEBUahBALNAghFmgQQizQIIRY+C9cNXNlJEjHoQAAAABJRU5ErkJggg==",Tze=""+new URL("huiguang-3c5dfda5-balabala-1782921062964.png",import.meta.url).href,Aze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",Cze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA5BSURBVHgB7VxbjxxHFT516Znd9a537axDAhGJkQKCkEDCA5ECT0TwgBTxjgQviN/DD+BP8IgEAolAECQkcYAkCiEX2TGxY+9lrt1dF75T1T1T055ZO9u9thPtkdo909Ndl6/P+c6lak10KqdyKqdyKqdyKqdyKp8rEXQXxXvfqj8hhKe7JHcFmASQ+iwb31c+isM1vt8VgE4EmCVAiCWHpNv3b6kCgyJAPvl+oiB1DkwDlBSEWktU9VkN4mextBkchsgADb8bAaqBqcFKQeocoE6BqUBJgakBYQA0fwYYGhe04LnMQaLqM890NnEgYfi7jWe/Q1RQBKgGaaZF9y0wCSj1MdMMPoZEvQoQhaMnIlAMjhwRZXU7ZzBZzLBkBHoApQ9QxkQ5rjkAVJ6NwJU0B8hWjwYu6gqgToBpgCKTQ0ND+ls4TwAILqzhmjIF9YFIJjLqGWNkRlrjHMbiNRmttfUlFT4jC8QKHw82q5K1aBNAfQIgducalGpPJ+C0BibhlBQQtY8XDlXRUIv+Oj7n0Apwxrotyz70fksL8QVM4DFJ/itSyl3n3QU8l0shPoYNXYN6vEfSf2i8+hgojTeybAoNKgFwbqMGWbRZVPyDpucmdj8BU2uKqo4+E6uK5rPGgODcd8acxaC/pIT4IQD4Dp7+GkWTWjawgSX/qrP+RU/6j47MUGo9xs1jzH5SaQ+Dk+9G06oJuhOTagVMw4QCueLIBlFbAig4ztiSNpww2xjp93pK/gQ3f4Mqsr0D2Xfk/2Qd/UYo9TZMbKwyGlSmlQP0KWvOhag1M3DuF2CCpsDuM5BlvwbFFrTppNmEhpzD8QK05Od4qr/YhB9D98GvlFfX+FnQCG0s9EXifev9rwrn3si03gcCQXtwnmxGrjG0CE4rk9LUTlKy1ZhxjzlFxMmdAWwbNoLyPED5Ge7pJ+8iN879s/T+iifogfdlbFFkuKOfKXUBbT2FK+tVR4+Bl35BUv46n5pLPaUJrO3AOQ4eL9jSuUUibiXHBqYZyO1BY+BBJIPCnKJKOlMKs9MT8hlo0C8pgBK9hvH+KgD5O0Y/AmAMpAAgvbptXB8XxrxrhPior9QzAPnL1U9PAJyfukxcF4pK9GPZvVdo8KkmYVV9PrZ0pTF4f5SpGJ+wtvQttEU5t6u0ZvOpzcJbTx/kzv0DQJSsVYrduFwYhwefWCvl2Dk3nRrz0prWEog/wv3BOJ4GOM/mxtyASZXQFIOHjYxzYXBrrRGURMafVtoAMyNeuOYM2qKg8/1RCcIFKF7YLQz8OUH+sfoBjPjj3NrXMbtSk+gDkAwj34L27cAw1gIqgqZw0wMZIl85dYLGubOv9qRUMMmH0aOGlr0grHitAGyZWisRDzEwFqRvt+KLstSSP7vQGKFiNMu5j4Y9aWeCNzqnpHhSxIGGN2e9ewvvfD8Tcg3g9IHUdiYl4hixW0XCfCPCf3+zZFgk3cQ9hXHihpXiTeX9rogctNtT4slCZmxSQ3zna5xqqJs4zlcEzOZ+XAKWdAxJg7pPYpgvNypwQrgvEMl78RB+v1iDxwSLGX7E90rpGYQ1EOzjigO95AXFCYoLGcnH8XkTGtfXirR17ipAnVbtQSvFU6EvY/ommnDoXyX5VxvpooGQ70zjW8uECWeYidwGoz5Q3wcsP8S1AmaGuWICQu7I4EiWqryQwZvJXWgda4JgQkbKfbP6XUENdgDWjmWyL0vOteoX00ma0xqY81WWzG8azKcsmV5pEeWSY8JN3fM07Vd6fvTIIE9BzXYpguAUa533B/EnRpfWBKkNyxorBCeiQXPP3nkR7EhpA0zoeD8CE8wFLkIZC3+kmoMS9T9sg+xe/R0Mu26XOYJBhfcWtjFfD1Q0W19/nsXLvZitpyWQTy2tNaYWuE0JWxdaqdgmkhuMKp+RkaB1fC5BqFPcYOC2wdVHulMuMxzSvKxAbF58jm2Kwjrr7OrJt5pbZ8Cw6GSiFkEpVD9wQnx14lHmIAAGb0FD3Pg/XN5b1RbI+gD3XMa9AzxXyDjW3QoFCzd+TWpZqgS4LqUzYKrIk8uR0TUTDXFcTX5XCNMetSQ4JwJobs+QfwfXD/wtbXl+9m00ycAi6hc5nr0oYj2HJffWvmeRX5tQwlnUPN8oex5H2sQxoWOUGz1GziGnR+7igYwNma+Xk9L5d7US36ToTuGuxFfBoFcAznV2TajByJAWkHhICnk+NuoPEO98BE25ga97IKMxnnkQsc63aV7puzqy/oNeBi8HhA1CH8R9s3rM+XlqcM+SSPafnC6DcUNdlo/SB27xo9z6NxGxfhcuq851HkH8/5x37veOxCFMDRZBe6i7oBi1YBFTHwhXMOYbPaW+j/OD/AP3gQz7JTj0EfKLXPV0juKX4zEwqW92kECyHMuUmtFkVcBGlWEBnALF22Hh3e/weTh7FkEfPMnzoOgv4hsAEOAbcb1xHPJvuPc8gP0RHnu07gptvTE07m0EfTmi3rxETVRlWT6NfZqDOTD3zJRYHNS2hHvJKkCs8pqTw7GT9hCE2x8bxyXKP6xr9QOKNRYO0y/qSMavw6DewrXcxcoBhWRQyj6g/xY07euUvDzUYz4cGfdnBDgDmNcQGjfJ0B+vIvSq1YTtpIrXRtpyTHgrLsYmPDgD4y7G5STTvV6OyQ2FpLNQnUvgghy5wo9FVV+BSGjN0zgxB3GhalI1ywS7wcVyP3fFzFtXpsb9tvT2ak+oMZc+RQSU67+8ksDhb1r/vaeFqlAU2o5aozCaQmc0QcgineccBt7Ei5uoM7pxWb5ls0yuh1ovPSxiiYCFCXW7OqjGoq4bwBxHAPblnNwlFL2uKKn2MP1DAD21pZ6srYfab86xURlBae2RWFqTL1Wqi3S/HMZClQY4OYqxeYbyQXxtXpZey2lp37VK7K8L+WwmBRfC60W2W6K0anb78Gx/HVt7Cea1D4I5yBwNwS8ARk+he9OKz8LSyk6jtEkt5NjA8HxZqgFYZNmqH1WeuSZHgWpisVbkwY2Ih9e1sKjsi3FpXOYkvbIhpIX7fkJEMJfJ4cTavxSOPoA5jrW3I8G5qgJ/eT9CrxMfTWnKmrpVOQBasnx7HOnElHCIagmD3Q+TJXMOyrKaHPQHwdihBwNnLhSnHGotcuLcK8i2N+GhLi5pdzq19kVU+i4rL/axsjBADoF4hph0cdYTB5PF4KdAorCx75Lma9utpQtTSt8QxxIc01gedGDBEiUI4SWnhEqixBkIUYODrMTkXzuj9RYXnpLGfOncf6EGl4VQN+CZJkB6Aq1hUAZcfkDFbpJFTWETMnauLTUorRfdWgFTmVOdAQcXiVim5FnCS3AqTOCbTJbaO22gOWKAKhzqB24DvFMUXlxDqfOdNaU4OYx84/313Ps3OD9CYmWElANcO0RBeYLqdwEtHKlqyRbtT7fisktqQvcuwEulejOztWOA4vYqzeElVdYcqH2OItwY5TXwArhC0iEmfAMZxKTEehEmPgsA8eD7OFD+9Pu4Z8imI8ErYK4JYiQ2HwaFib5wi6uPna5dd5pdU7X74FxceOfAa7Ygz2+5NH6qlCp5kQ0aMQbrInbxe7CHf1XPj7HA9F5PAAwpJxyryJAwBmAZ4GlNuCD6opjveqj7bg1ILV0Bk3qB2fYMX3kp8EGOIhbMIIA0RqcFNGGEcvdIWD8syf2HeAHO+3/DxK7hHngg5EreF9AWeCLPMQrvfGDXXG5EbrG7i9rSqbQm3xUbDoNpbcUBl1NeoQxLHDp4D6fsFBWmPiLfEuYyRu32GkB52Tp/GcWoIY4c5oZcSTF/QFsAhI4RLQONYNJvL2pI89xauvBKTUk5JxxrMcEMOxJM1KACJoW37gb86pFxC8QmfxNxiWCMp+DRwTTIvr3iNlSuI6e49blLTvfndS4nAcwy4TfN0WBYNsU/TgcHhqURKQrOnxD4DOKdvJ6EQJkk4kAVch9XmWV/kVNmbdMJyEkAc2QRWoc4R1XaJHh1YUNy8CsJlsdkzCuSIWYc189wMlWsjmYlNcBps9CWjPP40uCXIwHpc+C2GIShnBK4X2MGD1QrAlj94CRUhoU137Gn+TRykqa0LC8M3krF4Iz3tPBCGu924J0QO/UzfE3OkuuVuxbEku91sNlaunLXTW2pd0GkYip3ywXzmSZUN4WVxOrrmbQt3Bt2NPSW50Bdx2Ez6UpjavsXjWu1pLEGEyi74b6PxaY9Jl8fNYiFl0puyLAHL65eZvMdU7Si/c7lpEypNhtVfTZVX+xduNLG4Ix43ZlNRQRemVX2uCJ3gN9GHAyuzZd2Q0xEtwLe7LcT6SqJZFmmNSw1QIFferHSFvbbYfL7GW9JAwgUTYifZyCQlNOA86wyApkn7ddVuqb4dFzUUk4qwGMQ6n0xdUDGEwrmkkUPFVbPTASCi+S8HJvxhkMTF/F5IW1SzE2vCUiagnQuJ+mVal6p44zaVdfgTItoRky8rBWijJoispgghj11vcVai0naWhXXdCJdApOaUpoW1N4k/RsAFtebAxW8SxLI8W+1ptXE29wBnhJ65yC1BuY2PJMCRLQIGk803U0epHerRjQBadZ106Mz6dqUmuWH5m9NYDQlkXDjXtO41y05p/fHRjr665OTIl+WELkm1+u9t7WH4nOR3Nt8nuhWs2mCMqscUsdy7B1HTVmRN6XbviQt7iRPry1LH9K/Q6onv4xXZuB3+cdcJxngsaRuO6TMtGhuR4X0Ta1Yde1EpDONYVlSzWtqTn2N6PZ/LLqKWJeaz339N5EsK8BhaYJzJ30vK10u9UD3PTC1rKgFC1oEhSezzJyaGuKXXI8Nflb+vHiZHKFFy3KrWx5vXvjM/kH6Kjn9LwzuUG4H1N0Eoin/B14zT4gj8tU+AAAAAElFTkSuQmCC",Mze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAnCSURBVHgB7d3tURtXGwbgR563AN4OtgToADrAFYRUYKjASgV2KrBTAUkF0AHuQOrATgUn53iXQBxE9LHfuq6ZM/J4BKPhz3Pv2fusIgAAAAAAAAAAAAAAgGlYBDALKaVP+eU8pu2PxWJxHUDnBACYiRwATvLLQ15VTNM6r7McAL4F0Lk3AcxCMzgvoh6kU7PO68Lwh/7YAYCZyTsBp1HvBExJufL/EkBv7ADAzDSD9Cam48bwB4CW5J2AZRq/ZQAA7coD9nMar9sABqMDADOW6pMBd3mdxrisQ+MfBqUDADPWDNi3Ma6TAevQ+IfB2QGAI5DqkwFlJ+AkhvX9qKLSHwD0JIeAqzQ8T/kDgL6lYU8GLAMAGEYa5mTAxwAAhpOH8UleD6k/q1SfRgAAhpQHctUM5j6GfxUAwDjkwXya19fUna+GPwCMUOr2ZMBlAADjlLo5GbAMAGDcUrsnAzT+AWAqUjsnAx4CAJiOdPjJgFVS+gOA6WlCwD4nAzT+AWDK8iC/TLvT+AeAqUu7nQxYBgAwD3mwf9xi+Gv8A8Dc5AF/98rw1/gHgDlK9RcHrV4Y/uX/qgAA5in9+2SA4Q8AxyAP/PNnAeA8AIDjkAf/tcY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGFSSpdlBQAwOXmGn+T1KXaVf+gq1d4HADAZeXZXea3Kil09CwDFhwAARi/P7NNm+Kc2AkDxUBJFAACjlOf0ux9mdysB4PsvEgIAYHzKLfuX5nbsakMAKL4qBwLAODyW/TbM7FYDwCPlQAAYUKrLfg+vzOpOAkChHAgAA0j/LPvtHADexGGuk3IgAPQqz92f8stdXlXs6dAAUJyWDyEEAED3mlvwn/M6iQO0EQCKKuoQcB4AQOvS05P9ltGCtgJAUUUdApQDAaBFzS572fK/ipa0GQAeLYUAAGhHKftFPfxPo0VdBICihIDbsl0RAMBe2ij7bdJVACjKw4KcEACAPbRV9tukywBQVFH3AlrdtgCAOWuz7LdJ1wGgqKLeCbgOAGCjxyf7RYtlv036CACPPigHAsDLnjX9e9k17zMAFMqBAPCDVH/JXrnyr6InfQeAQjkQABrN7vhtdFT222SIAFBUoRwIwJFrvlRvGQMYKgAUVSgHAnCEmsf6lvv9g83AIQPAI+VAAI5Gcwu83O8/jwGNIQAUyoEAzF7zpXm9lv02GUsAKJQDAZitPN/eRX3MbxQXu2MKAMW3AIB5+n+MyJgCwG95XSwWi3UAwMzk+bbMLxcxkovdsQSAX/If5iovOwAAzFaec/f55SyvdQxs6ABQBv7PTSoCgNlrdrrLTsCXGNCQAWAd9Zb/5wCAI1JCQF5lJ+DXGMhQAWAd9fAfNP0AwJDyHCwPAvolBjBEAPg9rzNlPwD4uxz4NnouB/YdAErZ762yHwA8yXPx+8Vx9FgO7DMA3Cj7AcDL+i4H9hEAytV+ud//MQCAjfosB3YdANZR3++/DwBgK32UA7sMAPeh7AcAe+m6HNhVAPg1f/ALZT8A2F+X5cAuAsBNs3UBABzoWTlwHS1qMwAo+wFAB5oQ0Go5sK0AsA5lPwDoTLmt3mY5sI0AcB/KfgDQi6YceBMHOjQAKPsBQM+a2+3dPDkwpXSVXqfoBwADyrO4ymv1yqxebfrZfXYAlP0AYASelQN/j7Zs2AFYlbQRAMCo5Pm83GUH4LVf9GMAeDD8AWC8yu35tgOA7X4AmIA8s0/TUy/goACwDABgMp6VA/cKAJclBAQAMDl5hp/k9SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6XUqrKCgDgOOTBf5LXKq+H8u8AAOYvD/1P6cmnAADmLQ/89+nf3gcAME950L9Lm/0UAMC85AF/ml73tbwnAIB5aBr/q/TfynuqAACmLT01/rdV3utkAABMWR7mt2l3twEATFN6ufG/LScDAGBq0uuN/21dBwAwDem/G/+7cDIAAMYubd/431Y5HlgFADBOaffG/7ZWyckAABintF/jf1t3AQCMSzqs8b+tDwEAjENPw/+RkwEAMLQ8kM9T/84DGJVFAEcj1e38cm++in59y+tssVisAxgFAQCOxIDD/9E66hDwLYDBvQngWJTn9VcxnKr5DMAICABwBFLdxh/DE/rOk5MBANC91G/jf1tOBsDAdABgxvKgvYzxbrtfLBaL+wAGIQDATKW69PeQ11gfyetkAAxIBwBmKD01/sf8PP7y2e6SLw6CQdgBgBnKQ7Vc+U/la3m/5F2AswB6ZQcAZiaNp/G/rdPkZAAA7C+Ns/G/rfcB9MYtAJiJNO7G/7au8u2A3wLo3P8CmJOfY9r+DAAAAAAAAAAAAAAAAOCZvwCgkvxAcNS/iwAAAABJRU5ErkJggg==",Eze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAD/CAMAAABb2Q/2AAAAsVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3mHKcAAAAO3RSTlMABQoPExgdISgxJTYsQDtTRUr+9vpOWXJdaWVhgIx2om2n6oiWmYTKr5G68J22eqvBfeHZ5c++1LPdxUM4ZWUAAAZvSURBVGjerdrZdpswFAXQmnk0EMB4Ajwbz2Mc1///Yb0SuLg1km66mtfsdRBXRyIP+fH205IURZZa7794h7KqKZKEkrqFCgVpOSpOKoaJljZWOm1VwUnTRUv7/0sbvc62r2FlgJOy0o6x0kVL30NJiUh0ZkfHZuLXGWj/PTNArzPu68hMr4/MVEGqMlJaWNkDKWGukM4IK70uTipq3NVBthASMoWb1CJS644cIoG2OJDIQUYlm4KDH7mWxDJoKfX+3iSyooxEMqRSyhVlJFJp9YY2SGZoiyGZkMh+YtPRN4eWDqQCckSl1CoxIxKkQTMVSWp+pyeUQY4WbSqftuG9S+kkqWupitwkgdZSe5VSo5SeMgOpiaWqmfuVb1BZUUbkU6pyHdokJSJPs0AoZcjU7WRBMhWgQjnkSqmW2dB3ailx5HAW1FJqzJRLOd3Gjo6R7cVTym+y9aecbr1KCjLdae7hMt0090yupBAq/yLld1lHapa7WMVEElqNnimnr1JiS3+Rxqal8aVCZZp3+FJ+ylnRBalSyperA1IGM7ScFwNbIJXvSSOY3/u2QaTSIKVXudp2uVIupW7Eq3kHLetMmSu3RQ8p8/XoVQJtGieVu55A0lfXHY9m6iqhQpkg5fhNtljySKSGkPNxry2SKpGdec6VciUtIvtIOV5nbQekypLKUx4ep1rKHNk9PPZIWdRSEcmTi5KDYjl0HatZSn/IO1Kag/E9E0m1kkVSSlUg++Mic02UvD8WCKkbZn/3ORVLrZSLb0kdIdf06brGkspT9tZf6T9KiSmL25Aj5Ve5Bml8VyqNUn2u8zP1cfJ2mQmlRuToeJnRp2v/TdpE+jaVKk86IH8iZfJAy/UjRcrdkUhLIC0iH1j5uMwDnFyec7TcBrYjkDrIrJI6RuYYaYK8YqRh2vvP61gkNSpPy69t0EbI9pDK+iDx5GUbU6kJ5OIyKQKc/LnZ4TKnZ5R0zHZ63qxxmatreItdkbQM011NwqPHk1WVcJIWxJ2dJzuQDl5aukjOr5O159oYOYmWT6ny5Sb6xMktSkI9fSp9jMw30VcHpCGW4QeRpki2vyM34bITtHmSFqSSPkaO8TKMvujT4WZiSZ3IYBx+XLoI6WKljZVOJQccqbxJhyeNSv4cBLRMfBnDPD8HMVIuqTQwmRjpx7BHF5GkVYoP8EZ9DyG9UkJBOdJ6le3/JB2okleA7OFlWVBmQ0C6IDfhF5UOS2oaLUjnXkqXJ+kWUTnCyTA6j7qwSSxJBw+yew8/zgmVhqaxpe91d7XUEXIQ+zRTZUnYokEpq41XBPKaVZKb2aeSbDxb0hukAzK8iCSMs5J72CS+hMzeGuSJSJsnYfAgP64nsp0Mqfwhh1Q6fDkqZTcWy1v4McHIAZWLpC5Tk4QqeThJNzP5jgzPC6iISPaTI8gpXxovstx4kYR1iiUUJDtGONnLHiDTPU/qpdx/W9KCsiQUuTuicnXqieWJyqFIxiCXYXRd0YIypUPlcBmGRMJHli+TWvIzB8liCeucLWiV2dKv5Ga2SKjUm6RGpFfJOZRJIPsZXk5LmdF7kSVJ6fbTz0p6bGnWcgu140lakPQzjCbbVCxPIEOBtF5kXhaUKeH2HA1XX7DOfLXvYeWJL6EgtewEzVKt5GJG5LiqcrM0XuWsklqjpKWjMgQ5EshsSjMPAul7IOdfUbQ5zKHKIC2uvEThBGTCl1C6LchNQWTMlynIj7DYTkG6PLmv5YAre/vVU2YCeVrlP4nMsfKep3A8GFIH2flL2oxMUuThbFzJfZ8ldQfkiMpos8tXWDkm0ufJxfwpT0J5OMM61wcoPUiDKRMiP4ic8WU3mW6pvEFBhbI4RyALjLxSOYfSs2VM5P0KTz9CQblykKQ5kdHxLpIZkVEUVrLNkC6VOyIf9y3IgCHNV7mD0nPlfjXekXUudzkcJLb0+iDXE5ycVXItkqdapgypUNk7zQ63/y2Hv+U4zVjSKmVxm8A8P29COS+Ov+WgUcog/VouK+nwJawTl0nlmitdpNRrWc8TLW2OpJOvukROh6pITZ33+q8STodpNUgFZFz2k3SenCPPfZctkOT+pKeDyCO5Q0CW/3vyJu3qZgC5Jrdi7Dram6xGT+9kuEOie135Ur4dOfLlOoOsLjCr/rzXki6U/nVBvkf0c1Qu809Z9w4+8GeYUnrqkWm+LvMXnJRTlwruvBIAAAAASUVORK5CYII=",Pze=""+new URL("focus_bg-b6803e2d-balabala-1782921062964.png",import.meta.url).href,Rze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yDvvxBAn3CAYFCQzzCgj6+a/gWFAAAIxklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB27gRJcRiGAqi8O2sH3f+wM1XM1lOAHZwQKfnvBF3tjyxbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAvfBPxkz+lro8xEBwMfyd87dumAkugx9xfhkswRXwUyb1CMH58UvTEgm0CjOVcYlLA4FCMTkOVQFABs4nLo5/ylTEdUxCP6BGyJ7vPBVxNd8TKBA6x3+EugCgDJxGTPyvnkp4HURAtOj5O18RAETgLKLn/7lQDgAicA7W8wN9OQCIwBmEhR/y5QAgAieQHT/mwj4BYJMJpIgTPxVLAXibwdRYhrDwC6kmANgHFBsc/7V+D+AWBpeDRws3LojFAKAI6BUdl4zFAKAIaBUWLnOFADRb8JL0INZwjUiv+MkYw00MtoFDZMdVRqpgY8zdbXL8Doc7gQMsXMnRCvPQ3RyvthB8lp24WqSV5v7L8DoTtoGPmg3XG+kNc+/RCIg1OK7nB3pP6G9cz+Hh6MdkruZzoAZ2TR3oCD6i40pujNTMfhkkQJSlemAbaBOhN0iAHImr+Egbqo1AIthZalj+tgggARIkrjBF2kFvkIDDpUMvZnuDBBwrcVkXaDe2QwKO1HGRt7QrO2EwcJhOxFiuNzgNHqM7/ON/Zz2XYDy8g0HCx7/2Khpzgc1ZJ2gcZ00pjPjOwKf/5WOgDwqjoDhewiRt18382kSwoUXet7Rmg8Pgx2SJ9dYaYUXpvAoNoA90iOD5FYc2YCPB8CtfdJgvfsXgGyPbWOReu3VoA/bXy13/UgLwQ8MbsEbw+hcS4LAJtEui17+QgBtBo174+hN1GArsyBqZ/f+/vrAJNGjYADwJ4XES2Mus4pgdDE4COzHS7n8fswZToV1kfk7UxH3GTGAP1qj5t2b0gTtI/NRIwozoAzdnNTSANY2goG5FlaTqX2qd/POqLlZNA3CXcRTcVtL2ifLa/mDZrIobgH9ZhxLwkQIg9td5M0rAdqzGqzWPErCZpOkE8JvFd8a3YmW/AVj/NkDcxYVwSVsHeBecytwKZNR1gHcZE4F9H4IZEm5SdXkllldaAIgiToIbsGoLAJHHSbBdUlsAiKKaCbZgRm8BeF4CHEGlQXEBIIrYA1olzQWAyOA2sJHTXACIMq4C2gxq3oE9FpyGh8yCJe0ldOQHfFaS3+M5fWPAQhvofI/Vrxb1X6V5rH6DUXcL+L0NdCli9VeatO8AROHX6o9Y/fXsGX5swzO7ERc/b+n17wBEA1b/bQlvqq7NqD8DQAt7hh0A3jfgGvXaRtWDQGjmlc8BoJFDC3BpM1qAaxvwnu7auhPcA8MP9u40yU0ghgIw6s2AWcy7/2EzNUmq8iMzeNwNSNb7jgCNpFYvVNh4ss63xEu3fYusAV3LrAF9K+ZuhaGm7pwE+NZzEuDbwMsVfFt5rNK3jQPAt2R+RzgdcSagIyeEA8A34X4w37gh0DkOAOe4FOAcTwXR+0ic0vjGpoZzbGo4xwHgHLtazrGp4RybGr4FNjV8K9zg6lvhTQe+cYezc9zh7NzGc66+zdzh7FvkjaeuLTzo7NudfSDfeNuRc7ztyLnIWaBrvPHSuZGTAN9unAT4JvivqSMXFrAGdG20//NDqpG4I9S1bP0H6OqUh6ns+RZ/v9SjPKKxCdTGEqCVXB7R3EJ6AM8ENJHLLVrcTDeCXYB6eUzRaBMtgdvBGrx9s48vgAsBVXKfTAfQGyeBh7RRo5EyMAv7wFVyhOkzFSMzQKUVphupwgxQqcByFT2CGaBWhOHtFGI7fqkwGQ4BI5gBqhXYDQECrgPUS2ZDwGh47CrSw+pyioArwQ3kCJu9gBEsAZsYYLIdGIQlYBsZgMHDdQNYAjayWnyUAQwArRQYLKdni6NWqwRzdeDIAHBKCIhKP6cgDAAtJWtJIDEANFVgKwn0YABoK5lKAgEMAOc9UlHXDsrCANDchC89OmUeDADt5WimDOjxJWEAqHusFm5bWmBmqNoy2/iwggBcBjxCgYVCMIuVSGXPBOjvByWwAjxKjvof7g02EpVNdwC69wYM+MCNYIfZlI+AAfpjlGk5qh4BA5gADlageAQMYAI43KR3BAz4xBthDpUFSvPsDTDRqLAuRHwn5e4SOeGDqTVrq3pAX60VBADXAM4x4VuydKdbBCwAzjND2efW4zezhxiNCYLvPXJ3ovyAxqz0zpao6JEHAVgAnuwOaEkDfcQfvA7oRD32pNCdICR80Nucel8D9sjYHa6PfP9XmbBrDt2hQgLf/3VW7BtCd5g8YN/a0WFW4MI80Ee+/6utuGwIlBl8/9dbcc0QKAl8/yqsuGAIlAS+fy0GPEfG3DWRe8FfXABSYMCT5Bba/LPuE+d/agx4WhpDq5/X6GlF0z3iedvLqeCe8LzI/v+JguAn0rjUdx717UnxLMz4GbmN4eUN6de3oGn/89wXt+G+dD8QwfJfrz7iFXHehr6U0HCQRZZ/lwiCKiIyp2dygKK9SPSvPKFafQ6YeP7jOqOgUm0OiOp/YvPewoo6lfOAjZ//j+kKAntn09n8Ua8uCHTfW5n9DVgEL3u9FzQz++vRy0EDIEfO/U14OQ90OxKjvxEvDoGXfgOT2Pr5xc6d4zAIAwEUDdjsm+D+h02X1pZFgcN7V5ivGRr8REUJFLxRFR3/pypI4JMSjb8m7VESQP4NGIz/6dqjuTWA7voJk0+/KsyxIIDkDYij8Vcjfw1k/pYeVru/MssR7gmgu4LLX6ecBj5pu9Vfr37dEgHw79r5aATwcu2yxiCAl9uX6YxBAC/X9cs4DWfcmkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC3PTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAHAKGbwwCsmp53wAAAAASUVORK5CYII=",Lze=""+new URL("focus_move_bg-cf41417a-balabala-1782921062964.png",import.meta.url).href;class ru{constructor(e={}){this.options=b2({includeChinaMap:!1},e),this.ready=null,this.init()}init(){this.instance=new Jke,this.instance.addLoader(nh,"FileLoader");let e="./",t=[{type:"Texture",name:"flyline",path:lW},{type:"Texture",name:"pathLine",path:lW},{type:"Texture",name:"pathLine2",path:mze},{type:"Texture",name:"pathLine3",path:vze},{type:"File",name:"china",path:e+"assets/json/红原县-轮廓.json"},{type:"File",name:"mapJson",path:e+"datas/geojsons/hongyuan-townships.geojson"},{type:"File",name:"mapStroke",path:e+"assets/json/红原县-轮廓.json"},{type:"Texture",name:"huiguang",path:Tze},{type:"Texture",name:"rotationBorder1",path:_ze},{type:"Texture",name:"rotationBorder2",path:Sze},{type:"Texture",name:"guangquan1",path:xze},{type:"Texture",name:"guangquan2",path:wze},{type:"Texture",name:"chinaBlurLine",path:bze},{type:"Texture",name:"ocean",path:yze},{type:"Texture",name:"side",path:gze},{type:"Texture",name:"arrow",path:Aze},{type:"Texture",name:"point",path:Cze},{type:"Texture",name:"focusArrows",path:Mze},{type:"Texture",name:"focusBar",path:Eze},{type:"Texture",name:"focusBg",path:Pze},{type:"Texture",name:"focusMidQuan",path:Rze},{type:"Texture",name:"focusMoveBg",path:Lze}];this.options.includeChinaMap&&t.push({type:"File",name:"chinaMap",path:e+"assets/json/中华人民共和国.json"}),this.ready=this.instance.loadAll(t)}}const Ize="/jsyApi",Dze=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function Nze(n){return/^https?:\/\//.test(n)?n:`${Ize}${n.startsWith("/")?n:`/${n}`}`}function kze(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"视频监控接口请求失败");throw t.code=n==null?void 0:n.code,t}return k3(n)}function Ro(n,e,t=""){for(const i of e)if((n==null?void 0:n[i])!==void 0&&(n==null?void 0:n[i])!==null&&(n==null?void 0:n[i])!=="")return n[i];return t}function Fze(n=""){const e=String(n);return Dze.find(i=>e.includes(i.replace(/[镇乡]$/,"")))||"红原县"}function Oze(n=""){const e=String(n);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function Bze(n,e){const t=Ro(n,["hdPlayUrl","playUrl","url"]),i=String(t).match(/\/(\d+)(?:\.hd)?\.live/i);return i?i[1].padStart(2,"0"):String(e+1).padStart(2,"0")}function zze(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function Gze(n,e,t,i){const r=Ro(n,["name","title","deviceName"],`视频监控${e+1}`),a=Ro(n,["hdPlayUrl","hd_play_url","url"]),o=Ro(n,["playUrl","play_url"],a),s=Ro(n,["token","accessToken","access_token"]),l=!!(s&&(a||o)),u=t?Math.round(i/t*100):0;return{key:Ro(n,["id","number","deviceSerial"],`${r}-${e}`),title:r,town:Fze(r),scene:Oze(r),device:Ro(n,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:Bze(n,e),cameraCount:t,status:l?"直播中":"离线",onlineRate:u,updateTime:zze(),operator:l?"萤石云 · 在线预览":"监控参数待同步",progress:l?100:0,image:Ro(n,["img","image","cover","snapshot"]),playUrl:o,hdPlayUrl:a,token:s,source:n}}function Uze(){return J2(this,arguments,function*(n={}){const e=yield oo(Nze("/api/home/monitorings"),{params:n,timeout:18e3}).then(kze),t=Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[],i=t.filter(r=>Ro(r,["token","accessToken","access_token"])&&Ro(r,["hdPlayUrl","playUrl","url"])).length;return t.map((r,a)=>Gze(r,a,t.length,i))})}const Vze="/openApi",v_={513233100:"邛溪镇",513233101:"刷经寺镇",513233103:"安曲镇",513233105:"龙日镇",513233202:"江茸乡",513233203:"查尔玛乡",513233204:"瓦切镇",513233205:"阿木乡",513233207:"麦洼乡",513233208:"色地镇"},Hze=Object.values(v_).map(L7);function Vee(n){return/^https?:\/\//.test(n)?n:`${Vze}${n.startsWith("/")?n:`/${n}`}`}function Y6(n,e){return oo(Vee(n),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function I1(n,e){return oo(Vee(n),{params:e})}function o3(n,e){for(const t of e)if((n==null?void 0:n[t])!==void 0&&(n==null?void 0:n[t])!==null&&(n==null?void 0:n[t])!=="")return n[t]}function ur(n){if(n==null||n==="")return;const e=Number(n);return Number.isNaN(e)?void 0:e}function R3(n){const e=ur(n);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function rr(n,e){const t=ur(n),i=ur(e);if(!(t===void 0||i===void 0||i===0))return t/i*100}function Nv(n,e,t="占比"){var r;const i=R3((r=o3(n,["areaPercent","area_percent","percent"]))!=null?r:rr(o3(n,["areaWanMu","value"]),e));return i===void 0?"":`${t} ${i}%`}function xo(n,e=""){const t=R3(o3(n,["areaPercent","area_percent","percent"]));return t===void 0?"":`${e}${t}%`}function Wze(n,e=0){const t=o3(n,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,i=R3(o3(n,["value","num","count","area","acreage","total"])),r=o3(n,["unit","unitName","unit_name"])||"";return{key:o3(n,["id","key","code"])||`${t}-${e}`,name:t,value:i,unit:r,source:n}}function jze(n){return(Array.isArray(n)?n:(n==null?void 0:n.rows)||(n==null?void 0:n.list)||[]).map(Wze).filter(t=>t.name)}function $ze(n){const e=(n==null?void 0:n.core)||(n==null?void 0:n.summary)||n||{},t=((n==null?void 0:n.typeDistribution)||(n==null?void 0:n.typeStats)||[])[0]||{},i=((n==null?void 0:n.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:R3(o3(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${o3(t,["name"])||"主导类型"}占比`,value:R3(o3(t,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:R3(o3(i,["areaWanMu","value"])),unit:"万亩"}]}function qze(n){const e=(n==null?void 0:n.overview)||(n==null?void 0:n.summary)||n||{};return[{key:"grassland-total-area",name:"草地总面积",value:R3(o3(e,["totalAreaWanMu","total_area_wan_mu","totalArea","total_area","areaWanMu"])),unit:o3(e,["areaUnit","area_unit"])||"万亩"},{key:"basic-grassland-area",name:"基本草原",value:R3(o3(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"])),unit:o3(e,["areaUnit","area_unit"])||"万亩"},{key:"general-grassland-area",name:"一般草原",value:R3(o3(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"])),unit:o3(e,["areaUnit","area_unit"])||"万亩"}]}function d8(n,e){const r=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地总面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[e]||[]).map((a,o)=>{var s,l;return Z2(b2(b2({},a),n[o]||{}),{name:((s=n[o])==null?void 0:s.name)||a.name,unit:((l=n[o])==null?void 0:l.unit)||a.unit})});return r.length?r:n}function Xze(n){return J2(this,null,function*(){let e;for(const t of n)try{return yield t()}catch(i){e=i}throw e||new Error("No request configured")})}function i0(n=[],e={}){const{nameKeys:t=["name","townName","typeName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY,extra:o}=e,s=n.map((l,u)=>{const c=R3(o3(l,i)),d={key:o3(l,["key","code","townCode"])||`${o3(l,t)||u}-${u}`,name:o3(l,t)||`第${u+1}项`,value:c,unit:r,percent:R3(o3(l,["percent","areaPercent","basicRatio","generalRatio"])),source:l};return o?Z2(b2({},d),{extra:o(l)}):d}).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0));return Number.isFinite(a)?s.slice(0,a):s}function kv(n=[],e={}){const{nameKeys:t=["name"],valueKeys:i=["value"],unit:r,max:a=Number.POSITIVE_INFINITY,extra:o}=e;return i0(n,{nameKeys:t,valueKeys:i,unit:r,max:a,extra:o})}function Yze(n=[],e={}){const{nameKeys:t=["grassMinType","name"],valueKeys:i=["acreage"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY}=e,o=n.map((s,l)=>{const u=o3(s,i),c=R3(r==="万亩"?ur(u)/1e4:u),d=o3(s,t)||`第${l+1}项`;return{key:o3(s,["key","code"])||`${d}-${l}`,name:d,value:c,unit:r,source:s}}).filter(s=>Number(s.value)>0).sort((s,l)=>(Number(l.value)||0)-(Number(s.value)||0));return Number.isFinite(a)?o.slice(0,a):o}function i1(n,e,t,i="rank",r={}){return b2({key:n,title:e,type:i,rows:t||[]},r)}function Yg(n=[],e=[],t={}){const{unit:i="万吨",max:r=Number.POSITIVE_INFINITY,showMuYieldExtra:a=!0}=t,o=new Map(e.map(s=>[s.areaName,s]));return i0(n,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i,max:r,extra:s=>{const l=o.get(s.areaName),u=R3(o3(l,["yield","value"])),c=o3(l,["unit"])||"斤";return a&&u!==void 0?`亩产 ${u} ${c}`:""}})}function L7(n){return String(n||"").replace(/\s+/g,"").trim()}function sh(n=[]){const e=new Map(Hze.map((t,i)=>[t,i]));return[...n].sort((t,i)=>{const r=e.get(L7(t==null?void 0:t.name)),a=e.get(L7(i==null?void 0:i.name));return r!==void 0&&a!==void 0?r-a:r!==void 0?-1:a!==void 0?1:0})}function Hee(n){const e=String(n||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function Kg(n){return Hee(n).replace(/\s+/g,"").replace(/类$/,"")}function Zg(n){const e=String(n||""),t=e.match(/level-([1-8])/);if(t)return t[1];const i=e.match(/([1-8])\s*级/);if(i)return i[1];if(/^[1-8]$/.test(e.trim()))return e.trim();const a=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([o])=>e.includes(`${o}级`));return(a==null?void 0:a[1])||""}function Wee(n){return Zg(n==null?void 0:n.key)||Zg(n==null?void 0:n.name)}function m_(n=[],e={}){const{nameKeys:t=["name","townName","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e;return n.map((a,o)=>{const s=L7(o3(a,t)),l=R3(o3(a,i));return!s||l===void 0?null:{key:o3(a,["key","code","townCode"])||`${s}-${o}`,name:s,value:l,unit:o3(a,["unit"])||r,source:a}}).filter(Boolean).sort((a,o)=>(Number(o.value)||0)-(Number(a.value)||0))}function cM(n=[],e={}){const{nameKeys:t=["townName","name","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e,a=new Map;return n.forEach(o=>{const s=L7(o3(o,t)),l=ur(o3(o,i));if(!s||l===void 0)return;const u=a.get(s)||{key:o3(o,["townCode","code"])||s,name:s,value:0,unit:o3(o,["unit"])||r,source:[]};u.value+=l,u.source.push(o),a.set(s,u)}),Array.from(a.values()).map(o=>Z2(b2({},o),{value:R3(o.value)})).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0))}function $o({topicKey:n,layerKey:e,title:t,unit:i="万亩",rows:r=[],note:a="",metricLabel:o=""}){const s=r.filter(l=>(l==null?void 0:l.name)&&l.value!==void 0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0)).map((l,u)=>Z2(b2({},l),{unit:l.unit||i,rank:u+1}));return{status:s.length?"success":"empty",topicKey:n,layerKey:e,title:t,unit:i,metricLabel:o,note:a,rows:s}}function Fv(o){return J2(this,arguments,function*({topicKey:n,layerKey:e,layerName:t,title:i,cqlFilter:r="",unit:a="万亩"}){const s=yield oh(t,{propertyName:["xiang","acreage"],cqlFilter:r,maxFeatures:2e5}),l=new Map;return((s==null?void 0:s.features)||[]).forEach(u=>{const c=u.properties||{},d=String(c.xiang||""),h=v_[d],f=ur(c.acreage);if(!h||f===void 0)return;const p=l.get(h)||{key:d,name:h,value:0,unit:a};p.value+=f/1e4,l.set(h,p)}),$o({topicKey:n,layerKey:e,title:i,unit:a,rows:Array.from(l.values()).map(u=>Z2(b2({},u),{value:R3(u.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function Kze(n,e,t="林地面积排行"){return J2(this,null,function*(){const i=k3(yield Y6("/woodland/distribution"));return $o({topicKey:n,layerKey:e,title:t,unit:"万亩",rows:m_((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function uW(n,e,t,i){return J2(this,null,function*(){const r=k3(yield I1("/basic_grassland/overview"));return $o({topicKey:n,layerKey:e,title:i,unit:"万亩",rows:m_((r==null?void 0:r.townStats)||[],{nameKeys:["name"],valueKeys:[t],unit:"万亩"})})})}function Zze(n={},e=[],t=[]){const i=o3(n,t);if(i)return L7(i);const r=e.map(o=>o3(n,[o])).find(o=>o!==void 0),a=String(r||"").slice(0,9);return v_[a]||""}function Jze(n,e,t,i){return J2(this,null,function*(){const r=(i==null?void 0:i.rankingTownCodeKeys)||(t==null?void 0:t.rankingTownCodeKeys)||["area_code","xiang","town_code"],a=(i==null?void 0:i.rankingTownNameKeys)||(t==null?void 0:t.rankingTownNameKeys)||["town_name","area_name","xiang_name"],o=(i==null?void 0:i.rankingAreaKeys)||(t==null?void 0:t.rankingAreaKeys)||["acreage","area_mu","area"],s=(i==null?void 0:i.rankingPropertyName)||[...r,...a,...o],l=yield oh(t.layerName,{propertyName:s,cqlFilter:i.cqlFilter,maxFeatures:2e5,timeout:25e3}),u=new Map;return((l==null?void 0:l.features)||[]).forEach(c=>{const d=c.properties||{},h=Zze(d,r,a),f=ur(o3(d,o));if(!h||f===void 0)return;const p=u.get(h)||{key:h,name:h,value:0,unit:"万亩"};p.value+=f/1e4,u.set(h,p)}),$o({topicKey:n,layerKey:e,title:`${i.name}面积排行`,unit:"万亩",metricLabel:i.name,rows:Array.from(u.values()).map(c=>Z2(b2({},c),{value:R3(c.value),metricLabel:i.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function Qze(n,e,t){return J2(this,null,function*(){const i=k3(yield I1("/basic_grassland/overview"));return $o({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:m_((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[t.rankingValueKey],unit:"万亩"}).map(r=>Z2(b2({},r),{metricLabel:t.name}))})})}function g_(n,e,t,i,r={}){const a=wl(i||[],r).map(o=>Z2(b2({},o),{metricLabel:t.name}));return $o({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:a})}function eGe(n,e,t){return J2(this,null,function*(){const i=Wee(t);if(!i)return null;const r=k3(yield I1("/grassland_grassland_level/distribution"));return g_(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>Zg(o3(a,["level","name"]))===i})})}function tGe(n,e,t){return J2(this,null,function*(){const i=Kg(t.name);if(!i)return null;const[r,a]=yield Promise.all([t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_grass_type/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_grass_type/minTypeAreaDistribution"))}))]);return g_(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=o3(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Kg(s)===i}})})}function nGe(n,e,t){return J2(this,null,function*(){const i=Wee(t);if(!i)return null;const r=k3(yield I1("/wetland_grassland_level/distribution"));return g_(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>Zg(o3(a,["level","name"]))===i})})}function iGe(n,e,t){return J2(this,null,function*(){const i=Kg(t.name);if(!i)return null;const[r,a]=yield Promise.all([t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return g_(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=o3(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Kg(s)===i}})})}function rGe(n,e,t){return J2(this,null,function*(){if(!(t!=null&&t.key))return null;const i=Oh(n,e);return i?n==="grassland"&&e==="basic-grassland"&&t.rankingValueKey?Qze(n,e,t):n==="grassland"&&e==="grassland-level"?eGe(n,e,t):n==="grassland"&&e==="grassland-type"?tGe(n,e,t):n==="wetland"&&e==="wetland-level"?nGe(n,e,t):n==="wetland"&&e==="wetland-type"?iGe(n,e,t):t.cqlFilter&&i.layerName?Jze(n,e,i,t):null:null})}function Ov(n,e,t,i,r="万吨"){return J2(this,null,function*(){const a=k3(yield I1(t)),o=o3(a==null?void 0:a[0],["unit"])||r;return $o({topicKey:n,layerKey:e,title:i,unit:o,rows:m_(a||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o})})})}function ii(n=[],e=5){return n.slice(0,e)}function od(n=[],e={}){var c,d;const{limit:t=5,minPercent:i=1,otherName:r="其他类型"}=e,a=n.filter(h=>(h==null?void 0:h.name)&&Number(h.value)>0).sort((h,f)=>(Number(f.value)||0)-(Number(h.value)||0)),o=a.reduce((h,f)=>h+(Number(f.value)||0),0);if(!o||a.length<=t)return a;const s=[],l=[];if(a.forEach((h,f)=>{const p=rr(h.value,o);f<t-1&&(p===void 0||p>=i)?s.push(h):l.push(h)}),!l.length)return s;const u=l.reduce((h,f)=>h+(Number(f.value)||0),0);return[...s,{key:`${r}-${l.length}`,name:r,value:R3(u),unit:((c=l[0])==null?void 0:c.unit)||((d=a[0])==null?void 0:d.unit)||"万亩",extra:`${R3(rr(u,o))}%`}]}function j8(n=[]){return n.reduce((e,t)=>e+(Number(t.value)||0),0)}function fa(n=[],e=j8(n),t=""){return n.map(i=>{const r=R3(rr(i.value,e));return Z2(b2({},i),{extra:r===void 0?i.extra:`${t}${r}%`})})}function cW(n){return Array.isArray(n==null?void 0:n.rows)&&n.rows.length>0}function ta(n=[],e=[],t=4){const i=[],r=new Set,a=s=>{!s||r.has(s.key)||(r.add(s.key),i.push(s))},o=[...n,...e];return o.filter(cW).forEach(a),o.filter(s=>s&&!cW(s)).forEach(a),i.slice(0,t)}function aGe(n,e,t={}){return n&&b2(Z2(b2({},n),{type:e}),t)}function d0(n=[]){const e=["bar","line","donut","column","structure","heat","peak","split"],t={bar:["heat","peak","column","structure"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["peak","heat","bar","line"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},i=new Set;return n.map(r=>{if(!(r!=null&&r.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(r.type))return r;if(!i.has(r.type))return i.add(r.type),r;const a=(t[r.type]||e).find(o=>!i.has(o))||r.type;return i.add(a),aGe(r,a,{variant:a===r.type?r.variant:void 0})})}function dW(n=[],e={}){const{headCount:t=4,headName:i="重点区域",tailName:r="其他区域"}=e,a=n.filter(u=>(u==null?void 0:u.name)&&Number(u.value)>0);if(!a.length)return[];const o=a.slice(0,t),s=a.slice(t),l=(u,c)=>{var d,h;return{key:u,name:u,value:R3(c.reduce((f,p)=>f+(Number(p.value)||0),0)),unit:((d=c[0])==null?void 0:d.unit)||((h=a[0])==null?void 0:h.unit)||"万亩",extra:`${c.length}项`}};return[l(i,o),s.length?l(r,s):null].filter(u=>u&&Number(u.value)>0)}function Ql(n,e,t){var s,l,u,c;if(!t)return n;const i={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],r=((s=n==null?void 0:n.layerPanels)==null?void 0:s[t])||((l=n==null?void 0:n.layerPanels)==null?void 0:l[i]);if(!r)return n;const a=(u=r.leftPanels)!=null&&u.length?r.leftPanels:n.leftPanels,o=(c=r.rightPanels)!=null&&c.length?r.rightPanels:n.rightPanels;return Z2(b2({},n),{activeLayerKey:t||i,leftPanels:a,rightPanels:o,left:(a==null?void 0:a[0])||n.left,right:(o==null?void 0:o[0])||n.right})}function jee(n,e=["areaWanMu","value","acreage","areaMu"]){for(const t of e){const i=o3(n,[t]),r=ur(i);if(r===void 0)continue;const a=String(t).toLowerCase(),o=String(o3(n,["unit","areaUnit","area_unit"])||"");return a.includes("wanmu")||o==="万亩"?r:a.includes("mu")||o==="亩"?r/1e4:r}}function wl(n=[],e={}){const{nameKeys:t=["name","areaName","townName"],valueKeys:i=["areaWanMu","value","acreage","areaMu"],nameTransform:r=l=>l,filter:a,extra:o}=e,s=new Map;return n.forEach(l=>{if(a&&!a(l))return;const u=o3(l,t),c=r(u,l),d=jee(l,i);if(!c||d===void 0)return;const h=s.get(c)||{key:o3(l,["key","code","townCode"])||c,name:c,value:0,unit:"万亩",source:[]};h.value+=d,h.source.push(l),s.set(c,h)}),Array.from(s.values()).map(l=>{const u=Z2(b2({},l),{value:R3(l.value)});return o?Z2(b2({},u),{extra:o(u)}):u}).filter(l=>Number(l.value)>0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0))}function hW(n){return String(n||"").replace(/草原/g,"湿地")}function oGe(n={},e=[]){var s;const t=(n==null?void 0:n.unit)||o3(e==null?void 0:e[0],["unit"])||"万吨",i=(s=ur(n==null?void 0:n.xc))!=null?s:j8(e),r=ur(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,o=e[0];return[{key:"wetland-yield-total",name:"鲜草总产",value:R3(i),unit:t,scaleValue:100},{key:"wetland-yield-edible",name:"可食鲜草",value:R3(r),unit:t,scaleValue:R3(rr(r,i))},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:R3(a),unit:t,scaleValue:R3(rr(a,i))},{key:"wetland-yield-top-town",name:o!=null&&o.name?`${o.name}产量`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||t,scaleValue:R3(rr(o==null?void 0:o.value,i))}].filter(l=>l.value!==void 0)}function $ee({yieldSummary:n,townAreaRows:e,typeRows:t,levelRows:i,yieldRows:r,minTypeRows:a,muYieldRows:o,edibleYieldRows:s,edibleMuRows:l,typeTownRows:u,levelTownRows:c,minTownRows:d}){const h=i1("wetland-town-area","湿地面积分布",sh(e),"line",{span:1,variant:"distribution"}),f=i1("wetland-type","湿地类型结构",t,"donut",{span:1}),p=i1("wetland-level-proportion","湿地级占比",fa(i),"donut",{span:1}),m=i1("wetland-min-type","湿地优势小类",ii(a,6),"bar",{span:1}),v=i1("wetland-yield-capacity","湿地产能结构",oGe(n,r),"bar",{span:1,variant:"capacity"}),g=i1("wetland-yield","湿地生产力分布",sh(r),"line",{span:1}),_=i1("wetland-edible-yield","可食鲜草产量",ii(s,6),"column",{span:1,variant:"slim"}),S=i1("wetland-mu-yield","湿地亩产效率",ii(o,6),"bar",{span:1}),x=i1("wetland-level","湿地级别面积",i,"column",{span:1}),A=i1("wetland-level-town","1级湿地分布",ii(c,6),"bar",{span:1,variant:"distribution"}),C=i1("wetland-type-town","湿地类型乡镇分布",ii(u,6),"bar",{span:1,variant:"distribution"}),M=i1("wetland-edible-mu","可食鲜草亩产",ii(l,6),"bar",{span:1}),I=i1("wetland-min-town","优势小类乡镇分布",ii(d,6),"bar",{span:1,variant:"distribution"}),D=d0([h,f,p,m]),E=d0([_,g,S,v]);return{leftPanels:D,rightPanels:E,left:D[0],right:E[0],layerPanels:sGe({townAreaPanel:h,typePanel:f,yieldCapacityPanel:v,yieldPanel:g,levelPanel:x,levelTownPanel:A,muYieldPanel:S,levelStructurePanel:p,typeTownPanel:C,minTypePanel:m,edibleYieldPanel:_,edibleMuPanel:M,minTownPanel:I})}}function sGe(n={}){const{townAreaPanel:e,typePanel:t,yieldCapacityPanel:i,yieldPanel:r,levelPanel:a,levelTownPanel:o,muYieldPanel:s,levelStructurePanel:l,typeTownPanel:u,minTypePanel:c,edibleYieldPanel:d,edibleMuPanel:h,minTownPanel:f}=n;return{"wetland-distribution":{leftPanels:d0([e,t,l,c].filter(Boolean)),rightPanels:d0([d,r,s,i].filter(Boolean))},"wetland-level":{leftPanels:d0([l,a,o,t].filter(Boolean)),rightPanels:d0([d,r,s,i].filter(Boolean))},"wetland-type":{leftPanels:d0([t,u,c,f].filter(Boolean)),rightPanels:d0([d,r,h,i].filter(Boolean))},"wetland-yield":{leftPanels:d0([e,t,l,c].filter(Boolean)),rightPanels:d0([d,r,s,i].filter(Boolean))}}}function lGe(n={}){const{leftPanels:e=[],rightPanels:t=[]}=n,i={leftPanels:d0(e.filter(Boolean)),rightPanels:d0(t.filter(Boolean))};return{"grassland-distribution":i,"basic-grassland":i,"grassland-level":i,"grassland-type":i,"grassland-yield":i,"grassland-health":i}}function qee({townRows:n=[],typeRows:e=[],scaleRows:t=[],protectionRows:i=[],ownershipRows:r=[],qualityRows:a=[],originRows:o=[],ageRows:s=[],canopyRows:l=[],forestTypeRows:u=[],manageLevelRows:c=[],regionRows:d=[],ownerRows:h=[],typeTownRows:f=[],qualityLevelRows:p=[],townConcentrationRows:m=dW(n,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:v=dW(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const g=i1("woodland-town","林地面积分布",sh(n),"line",{span:1,variant:"distribution"}),_=i1("woodland-type","林地类型结构",e,"donut",{span:1}),S=i1("woodland-protection","公益林保护等级",fa(i),"structure",{span:1}),x=i1("woodland-ownership","林地权属结构",fa(r),"structure",{span:1}),A=i1("woodland-quality","优势树种面积",ii(a,6),"bar",{span:1}),C=i1("woodland-origin","林地起源结构",fa(o),"structure",{span:1}),M=i1("woodland-age","林龄组结构",ii(s,6),"column",{span:1}),I=i1("woodland-canopy","郁闭度结构",ii(l,6),"column",{span:1}),D=i1("woodland-area-scale","林地图斑规模",t,"column",{span:1}),E=i1("woodland-forest-type","森林类别结构",ii(u,6),"bar",{span:1}),P=i1("woodland-manage-level","管护等级分布",ii(c,6),"bar",{span:1}),F=i1("woodland-public-rank","公益林面积排行",ii(d,6),"bar",{span:1,variant:"distribution"}),V=i1("woodland-owner-rank","权属单位排行",ii(h,6),"bar",{span:1}),G=i1("woodland-type-town","乡镇类型构成",ii(f,6),"bar",{span:1,variant:"distribution"}),W=i1("woodland-quality-level","林地质量等级",fa(p),"donut",{span:1}),Y=i1("woodland-town-concentration","林地集中度",fa(m),"structure",{span:1}),Q=i1("woodland-type-concentration","类型集中度",fa(v),"structure",{span:1}),K=d0(ta([g,_,S,x],[D,V,E,A])),ae=d0(ta([A,C,M,I],[D,V,E,F,Y,Q]));return{leftPanels:K,rightPanels:ae,left:K[0],right:ae[0],layerPanels:uGe({townPanel:g,typePanel:_,scalePanel:D,protectionPanel:S,ownershipPanel:x,qualityPanel:A,originPanel:C,agePanel:M,canopyPanel:I,forestTypePanel:E,manageLevelPanel:P,regionPanel:F,ownerPanel:V,typeTownPanel:G,qualityLevelPanel:W,townConcentrationPanel:Y,typeConcentrationPanel:Q})}}function uGe(n={}){const{townPanel:e,typePanel:t,scalePanel:i,protectionPanel:r,ownershipPanel:a,qualityPanel:o,originPanel:s,agePanel:l,canopyPanel:u,forestTypePanel:c,manageLevelPanel:d,regionPanel:h,ownerPanel:f,typeTownPanel:p,qualityLevelPanel:m,townConcentrationPanel:v,typeConcentrationPanel:g}=n;return{"woodland-distribution":{leftPanels:d0(ta([e,t,r,a],[i,c,f])),rightPanels:d0(ta([o,s,l,u],[i,f,h,v,g,m]))},"woodland-protection":{leftPanels:d0(ta([r,c,d,e],[t,a,i])),rightPanels:d0(ta([h,o,s,a],[f,t,i]))},"woodland-type":{leftPanels:d0(ta([t,e,p,i],[r,a,c])),rightPanels:d0(ta([o,s,r,a],[l,u,f,g]))},"woodland-quality":{leftPanels:d0(ta([o,s,l,u],[m,i,t])),rightPanels:d0(ta([e,t,r,a],[c,f,i]))},"woodland-ownership":{leftPanels:d0(ta([a,f,e,t],[i,r,o])),rightPanels:d0(ta([r,o,s,i],[c,l,u]))}}}function cGe(n){const e=String(n||"").trim();return e.includes("未")&&e.includes("退")?"未退化":e.includes("轻")?"轻度退化":e.includes("中")?"中度退化":e.includes("重")?"重度退化":e||"未分级"}function dGe(){return J2(this,null,function*(){const n=yield oh("ne:t_grassland_result_caodi",{propertyName:["area_code","degradation_level","acreage"],maxFeatures:2e5,timeout:25e3}),e=new Map,t=new Map;((n==null?void 0:n.features)||[]).forEach(o=>{const s=o.properties||{},l=cGe(s.degradation_level),u=ur(s.acreage);if(!l||u===void 0)return;const c=u/1e4;if(e.set(l,(e.get(l)||0)+c),l==="未退化")return;const d=String(s.area_code||"").slice(0,9),h=v_[d];h&&t.set(h,(t.get(h)||0)+c)});const i=["未退化","轻度退化","中度退化","重度退化","未分级"],r=Array.from(e.entries()).map(([o,s])=>({key:o,name:o,value:R3(s),unit:"万亩"})).filter(o=>Number(o.value)>0).sort((o,s)=>{const l=i.indexOf(o.name),u=i.indexOf(s.name);return l!==-1||u!==-1?(l===-1?99:l)-(u===-1?99:u):(Number(s.value)||0)-(Number(o.value)||0)}),a=Array.from(t.entries()).map(([o,s])=>({key:o,name:o,value:R3(s),unit:"万亩"})).filter(o=>Number(o.value)>0).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0));return{levelRows:fa(r),townRows:a}})}function Xee(n=[],e={},t=[],i=[]){var o;const r=fGe(t).find(s=>s.key==="degraded-rate"),a=(o=ur(e==null?void 0:e.xc))!=null?o:j8(i);return[n[0],n[1],{key:"grassland-yield-total",name:"鲜草产量",value:R3(a),unit:(e==null?void 0:e.unit)||"万吨"},r].filter(s=>(s==null?void 0:s.value)!==void 0)}function hGe(n=[]){const e=j8(n);return n.filter(t=>t.name&&t.name!=="未退化"&&Number(t.value)>0).map(t=>Z2(b2({},t),{extra:R3(rr(t.value,e))?`${R3(rr(t.value,e))}%`:""}))}function Yee(n={},e=[]){var s;const t=(n==null?void 0:n.unit)||o3(e==null?void 0:e[0],["unit"])||"万吨",i=(s=ur(n==null?void 0:n.xc))!=null?s:j8(e),r=ur(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,o=e.find(l=>Number(l.value)>0);return[{key:"forage-total",name:"鲜草总产",value:R3(i),unit:t,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:R3(r),unit:t,scaleValue:R3(rr(r,i))},{key:"forage-unavailable",name:"不可食鲜草",value:R3(a),unit:t,scaleValue:R3(rr(a,i))},{key:"forage-top-town",name:o!=null&&o.name?`最高乡镇:${o.name}`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||t,scaleValue:R3(rr(o==null?void 0:o.value,i))}].filter(l=>l.value!==void 0)}function Kee(){return{levelRows:fa([{key:"none",name:"未退化",value:642.42,unit:"万亩"},{key:"light",name:"轻度退化",value:83.95,unit:"万亩"},{key:"middle",name:"中度退化",value:17.49,unit:"万亩"},{key:"heavy",name:"重度退化",value:13.09,unit:"万亩"}]),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function fGe(n=[]){const e=j8(n),t=n.filter(o=>o.name&&o.name!=="未退化"),i=j8(t),r=t.filter(o=>o.name.includes("中")||o.name.includes("重")).reduce((o,s)=>o+(Number(s.value)||0),0),a=t.find(o=>o.name.includes("重"));return[{key:"degraded-total",name:"退化面积",value:R3(i),unit:"万亩",icon:"area"},{key:"degraded-rate",name:"退化率",value:R3(rr(i,e)),unit:"%",icon:"rate"},{key:"medium-heavy-area",name:"中重度",value:R3(r),unit:"万亩",icon:"risk"},{key:"heavy-area",name:"重度",value:a==null?void 0:a.value,unit:(a==null?void 0:a.unit)||"万亩",icon:"risk"}].filter(o=>o.value!==void 0)}function fW(n,e){if(n==="grassland"){const t=d8([{key:"grassland-area",name:"草地总面积",value:756.43,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:637.13,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:119.31,unit:"万亩"}],n),i=i0([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),r=i0([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),a=od([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:119.31,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),o=i0([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),l=Kee().levelRows,u=fa([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),c=fa([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),d=Yee({xc:297.29,edibleXc:192.26,unit:"万吨"},r),h=i0([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),f=Jee({core:t,townRows:i,grassTypeRows:a,grassLevelRows:u,healthRows:c,productivityRows:o,edibleYieldRows:h,forageRows:d,degradationRows:l}),p=Z2(b2({status:"fallback"},f),{top:Xee(t,{xc:297.29,unit:"万吨"},l,r)});return Ql(p,n,e)}if(n==="wetland"){const t=d8([{key:"wetland-area",name:"湿地面积",value:291.82,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],n),i=od([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),r=[{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],a=i0([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),o=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"}],s=[{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((f,p)=>p.value-f.value),l=[{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],u=i0([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),c=i0([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),d=$ee({core:t,yieldSummary:{xc:108.84,edibleXc:1.65,unit:"万吨"},townAreaRows:s,typeRows:i,levelRows:r,yieldRows:a,minTypeRows:l,muYieldRows:o,edibleYieldRows:u,edibleMuRows:c,typeTownRows:s,levelTownRows:s,minTownRows:s}),h=b2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},d);return Ql(h,n,e)}if(n==="woodland"){const t=d8([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],n),i=i0([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:d=>`占比 ${R3(d.percent)}%`}),r=od([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),u=qee({townRows:i,typeRows:r,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),c=b2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},u);return Ql(c,n,e)}return{status:"empty",core:d8([],n),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function Zee(n=[],e=["name"]){const t=new Map;return n.forEach(i=>{const r=o3(i,e);!r||t.has(r)||t.set(r,i)}),Array.from(t.values())}function t0(n,e=[]){return n().catch(()=>e)}function _T(n=[],e={}){const{nameKeys:t=["name","health","level"],valueKeys:i=["value","acreage","areaWanMu"],unit:r="万亩",nameTransform:a=l=>l,max:o=Number.POSITIVE_INFINITY}=e,s=i0(n||[],{nameKeys:t,valueKeys:i,unit:r}).map(l=>Z2(b2({},l),{name:a(l.name)}));return fa(s).filter(l=>Number(l.value)>0).slice(0,o)}function pGe(n){const e=String(n||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function vGe(n){const e=String(n||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function Jee({core:n,townRows:e,grassTypeRows:t,grassLevelRows:i,healthRows:r,productivityRows:a,edibleYieldRows:o,forageRows:s,degradationRows:l}){const u=i1("grassland-town","草地面积分布",sh(e),"line",{span:1}),c=i1("grassland-productivity-town","草地生产力分布",sh(a),"line",{span:1}),d=i1("grassland-type-proportion","草原类占比",t,"donut",{span:1}),h=i1("grassland-edible-yield","可食鲜草产量分布",ii(o,10),"column",{span:1,variant:"slim"}),f=i1("grassland-degradation","草地退化统计",hGe(l),"structure",{span:1}),p=i1("grassland-health-proportion","草地健康占比",r,"donut",{span:1}),m=i1("grassland-level-proportion","草原级占比",i,"donut",{span:1}),v=i1("grassland-forage-capacity","饲草供给",s,"bar",{span:1,variant:"capacity"}),g=d0([u,d,f,m]),_=d0([h,c,p,v]);return{core:n,leftPanels:g,rightPanels:_,left:g[0],right:_[0],layerPanels:lGe({leftPanels:g,rightPanels:_})}}function mGe(n,e={}){const t=jze(n),i=Zee(e.typeRows||[],["name"]),r=e.yieldRows||[],a=e.levelRows||[],o=e.minTypeRows||[],s=e.edibleRows||[],l=e.edibleMuRows||[],u=e.typeDistributionRows||[],c=e.levelDistributionRows||[],d=e.minTypeDistributionRows||[],h=e.yieldSummary||{},f=od(kv(i,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),p=Yg(r,e.muYieldRows||[],{showMuYieldExtra:!1}),m=kv(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:5}),v=kv(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(F=>Z2(b2({},F),{name:hW(F.name)})),g=Yze(o),_=Yg(s,l,{showMuYieldExtra:!1}),S=kv(l,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o3(l==null?void 0:l[0],["unit"])||"斤",max:5}),x=wl(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),A=wl(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:F=>{var V;return`${((V=F.source)==null?void 0:V.length)||0}类`}}),C=wl(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),M=wl(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:F=>hW(o3(F,["level","name"])).startsWith("1级")}),I=wl(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:F=>{var V;return`${((V=F.source)==null?void 0:V.filter(G=>jee(G,["acreage","areaWanMu","value"])>0).length)||0}型`}}),D=d8(t,"wetland"),E=v.find(F=>/^1级/.test(F.name))||v[0],P=$ee({yieldSummary:h,townAreaRows:x,typeRows:f,levelRows:v,yieldRows:p,minTypeRows:g,muYieldRows:m,edibleYieldRows:_,edibleMuRows:S,typeTownRows:A,levelTownRows:M.length?M:C,minTownRows:I});return b2({core:D,top:[D[0],D[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:E==null?void 0:E.value,unit:(E==null?void 0:E.unit)||"万亩"}].filter(Boolean)},P)}function Sm(n,e){return J2(this,null,function*(){var t;try{if(n==="woodland"){const[i,r,a,o,s]=yield Promise.all([Y6("/woodland/distribution").then(k3),t0(()=>J2(this,null,function*(){return k3(yield Y6("/woodland/types"))}),{}),t0(()=>J2(this,null,function*(){return k3(yield Y6("/woodland/protection"))}),{}),t0(()=>J2(this,null,function*(){return k3(yield Y6("/woodland/quality"))}),{}),t0(()=>J2(this,null,function*(){return k3(yield Y6("/woodland/ownership"))}),{})]),l=d8($ze(i),n),u=o3((i==null?void 0:i.core)||(i==null?void 0:i.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),c=o3((a==null?void 0:a.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),d=[l[0],{key:"woodland-public-area",name:"公益林面积",value:R3(c),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:R3((t=o3((a==null?void 0:a.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?t:rr(c,u)),unit:"%"}].filter(Boolean),h=i0((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:V=>Nv(V,u)}),f=od(i0((r==null?void 0:r.typeStats)||(i==null?void 0:i.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),{limit:4,minPercent:1,otherName:"其他林地"}),p=i0((i==null?void 0:i.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:V=>Nv(V,u)}),m=i0((a==null?void 0:a.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),v=i0((o==null?void 0:o.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:xo}),g=i0((s==null?void 0:s.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:V=>Nv(V,u)}),_=i0((s==null?void 0:s.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),S=i0((a==null?void 0:a.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:xo}),x=i0((a==null?void 0:a.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:xo}),A=i0((a==null?void 0:a.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:V=>Nv(V,c)}),C=i0((o==null?void 0:o.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),M=i0((o==null?void 0:o.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),I=i0((o==null?void 0:o.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:V=>{const G=R3(o3(V,["avgCanopy","avg_canopy"]));return G!==void 0?`均值 ${G}`:xo(V)}}),D=i0((o==null?void 0:o.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:xo}),E=cM((r==null?void 0:r.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),P=qee({townRows:h,typeRows:f,scaleRows:p,protectionRows:m,ownershipRows:_,qualityRows:v,originRows:C,ageRows:M,canopyRows:I,forestTypeRows:S,manageLevelRows:x,regionRows:A,ownerRows:g,typeTownRows:E,qualityLevelRows:D}),F=b2({status:"success",core:l,top:d},P);return Ql(F,n,e)}if(n==="grassland"){const[i,r,a,o,s,l,u,c,d]=yield Promise.all([I1("/basic_grassland/overview").then(k3),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_yield/yieldProportion"))}),{}),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_yield/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_yield/muYieldDistribution"))})),t0(()=>J2(this,null,function*(){return dGe()}),Kee()),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_grass_type/areaProportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_grassland_level/areaProportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_health/proportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/grassland_yield/edibleXcDistribution"))}))]),h=s.levelRows||[],f=d8(qze(i),n),p=Yg(a||[],o||[],{showMuYieldExtra:!1}),m=i0(o||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o3(o==null?void 0:o[0],["unit"])||"斤"}),v=i0((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),g=_T(Zee(l||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:Hee}),_=_T(u||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:pGe}),S=_T(c||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:vGe}),x=Yg(d||[],[],{showMuYieldExtra:!1}),A=Jee({core:f,townRows:v,grassTypeRows:g,grassLevelRows:_,healthRows:S,productivityRows:m,edibleYieldRows:x,forageRows:Yee(r,p),degradationRows:h}),C=Z2(b2({status:"success"},A),{top:Xee(f,r,h,p)});return Ql(C,n,e)}if(n==="wetland"){const[i,r,a,o,s,l,u,c,d,h,f,p]=yield Promise.all([Xze([()=>J2(this,null,function*(){return k3(yield I1("/index/dataItem",{group:"wetland"}))}),()=>J2(this,null,function*(){return k3(yield I1("/index/dataItem",{group:"wetland_grassland_level"}))})]),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/areaProportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_yield/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_yield/muYieldDistribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grassland_level/areaProportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/minTypeAreaProportion"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_yield/edibleXcDistribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_yield/edibleXcMuDistribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grassland_level/distribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_grass_type_copy/minTypeAreaDistribution"))})),t0(()=>J2(this,null,function*(){return k3(yield I1("/wetland_yield/yieldProportion"))}),{})]),m=mGe(i,{typeRows:r,yieldRows:a,muYieldRows:o,levelRows:s,minTypeRows:l,edibleRows:u,edibleMuRows:c,typeDistributionRows:d,levelDistributionRows:h,minTypeDistributionRows:f,yieldSummary:p}),v=Z2(b2({status:"success"},m),{left:m.leftPanels[0],right:m.rightPanels[0]});return Ql(v,n,e)}return fW(n,e)}catch(i){return Z2(b2({},fW(n,e)),{status:"error",error:i})}})}function gGe(n,e,t=null){return J2(this,null,function*(){try{const i=yield rGe(n,e,t);return i||(n==="woodland"?e==="woodland-protection"?yield Fv({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>J2(this,null,function*(){const r=k3(yield Y6("/woodland/protection")),a=cM((r==null?void 0:r.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return $o({topicKey:n,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:a,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield Fv({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>J2(this,null,function*(){const r=k3(yield Y6("/woodland/types")),a=cM((r==null?void 0:r.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return $o({topicKey:n,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:a,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield Fv({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield Fv({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield Kze(n,e,"林地面积排行"):n==="grassland"?e==="basic-grassland"?yield uW(n,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield Ov(n,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield uW(n,e,"totalAreaWanMu","草地面积排行"):n==="wetland"?e==="wetland-level"?yield Ov(n,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield Ov(n,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield Ov(n,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):$o({topicKey:n,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(i){return{status:"error",topicKey:n,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:i}}})}const BR="AlibabaPuHuiTi, Microsoft YaHei, Arial, sans-serif";function ST(n,e={}){return b2({trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:"#e7fbff",fontFamily:BR,fontSize:12,lineHeight:18},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);",formatter:n},e)}function bT(n={}){var t,i,r;const e=b2({textStyle:b2({fontFamily:BR,color:"rgba(225, 249, 255, 0.78)"},n.textStyle||{}),animation:(t=n.animation)!=null?t:!0,animationDuration:(i=n.animationDuration)!=null?i:900,animationDurationUpdate:(r=n.animationDurationUpdate)!=null?r:700,animationEasing:n.animationEasing||"cubicOut"},n);return dM(e),e}function dM(n){if(!n||typeof n!="object")return;["textStyle","axisLabel","nameTextStyle","label","axisName"].forEach(t=>{!n[t]||typeof n[t]!="object"||(n[t]=yGe(n[t]))}),Object.keys(n).forEach(t=>{const i=n[t];if(!(!i||typeof i!="object")&&!(t==="color"||t==="itemStyle"||t==="areaStyle"||t==="lineStyle")){if(Array.isArray(i)){i.forEach(dM);return}dM(i)}})}function yGe(n){const e=b2({fontFamily:n.fontFamily||BR},n);return typeof e.fontSize=="number"&&e.fontSize<10&&(e.fontSize=10),e}const Vo={herdsmanCount:129,grasslandArea:7568515,wetArea:2429693,yakCount:10965,projectCount:17,baseCount:12},Bh=[{zoneName:"色地镇",grasslandArea:1463044,yakCount:11704},{zoneName:"麦洼乡",grasslandArea:660352,yakCount:5283},{zoneName:"阿木乡",grasslandArea:1115947,yakCount:8928},{zoneName:"瓦切镇",grasslandArea:1111492,yakCount:8892},{zoneName:"查尔玛乡",grasslandArea:858500,yakCount:6868},{zoneName:"江茸乡",grasslandArea:644761,yakCount:5158},{zoneName:"龙日镇",grasslandArea:874234,yakCount:6994},{zoneName:"安曲镇",grasslandArea:1165634,yakCount:9325},{zoneName:"刷经寺镇",grasslandArea:62465,yakCount:500},{zoneName:"邛溪镇",grasslandArea:1166721,yakCount:9334}],_Ge=[{zoneName:"色地镇",grasslandArea:350788,wetArea:166983},{zoneName:"麦洼乡",grasslandArea:162198,wetArea:71501},{zoneName:"阿木乡",grasslandArea:305522,wetArea:89411},{zoneName:"瓦切镇",grasslandArea:264640,wetArea:128717},{zoneName:"查尔玛乡",grasslandArea:286159,wetArea:17664},{zoneName:"江茸乡",grasslandArea:175840,wetArea:52341},{zoneName:"龙日镇",grasslandArea:222346,wetArea:87046},{zoneName:"安曲镇",grasslandArea:304970,wetArea:107548},{zoneName:"刷经寺镇",grasslandArea:22107,wetArea:7002},{zoneName:"邛溪镇",grasslandArea:318316,wetArea:94587}],SGe=[{month:"1月",count:485,speed:380},{month:"2月",count:502,speed:313},{month:"3月",count:471,speed:142},{month:"4月",count:893,speed:574},{month:"5月",count:874,speed:231},{month:"6月",count:879,speed:555},{month:"7月",count:145,speed:654},{month:"8月",count:521,speed:123},{month:"9月",count:741,speed:456},{month:"10月",count:744,speed:458},{month:"11月",count:777,speed:444},{month:"12月",count:563,speed:254}],zR=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}],lh=zR.reduce((n,e)=>n+e.count,0),bGe=1824,GR=-3672,hM=lh+bGe+GR;function xGe(n,e){const t=n.map(r=>Z2(b2({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}xGe([{name:"成年母牛",ratio:47},{name:"其他成年牛",ratio:22},{name:"幼畜",ratio:16},{name:"育成牛",ratio:11},{name:"公牛",ratio:4}],hM);const UR=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],Qee=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:Vo.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:Vo.baseCount,capacity:12,unit:"个"}],e2e=1716,K6=lh+e2e+GR;const fM=zR.map(({name:n,count:e})=>({name:n,count:e})).sort((n,e)=>e.count-n.count),Ls=AGe([{key:"adultCow",name:"成年母牛",ratio:47,source:"专家共识模型"},{key:"otherAdult",name:"其他成年牛",ratio:22,source:"专家共识模型"},{key:"calf",name:"幼畜(≤1岁)",ratio:16,source:"专家共识模型"},{key:"yearling",name:"育成牛(1-2岁)",ratio:11,source:"专家共识模型"},{key:"bull",name:"公牛",ratio:4,source:"专家共识模型"}],K6),pW=UR.map((n,e)=>Z2(b2({},n),{color:["#ff8f6b","#30dcff","#ffd76c","#7aa7ff"][e%4]})),xT=[{age:"≤1岁",cow:61280,bull:64892},{age:"1-2岁",cow:43076,bull:43752},{age:"2-4岁",cow:148260,bull:78240},{age:"4-8岁",cow:169420,bull:51860},{age:"8岁以上",cow:45534,bull:21416}],Vi=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:781236,births:44763,outflow:21684,correction:-21735,structure:{adultCow:47,otherAdult:22,calf:16,yearling:11,bull:4}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:779428,births:121374,outflow:61286,correction:-60552,structure:{adultCow:47,otherAdult:21,calf:17,yearling:11,bull:4}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:782617,births:199642,outflow:102517,correction:-94400,structure:{adultCow:46,otherAdult:22,calf:17,yearling:11,bull:4}}],vW=[{name:"繁殖补充",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}];function t2e(n){return Vi.find(e=>e.key===n)||Vi[1]}function wGe(n){var r,a,o,s,l;const e=(n==null?void 0:n.structure)||{},t=[{key:"adultCow",name:"成年母牛",ratio:(r=e.adultCow)!=null?r:47},{key:"otherAdult",name:"其他成年牛",ratio:(a=e.otherAdult)!=null?a:22},{key:"calf",name:"幼畜(≤1岁)",ratio:(o=e.calf)!=null?o:16},{key:"yearling",name:"育成牛(1-2岁)",ratio:(s=e.yearling)!=null?s:11},{key:"bull",name:"公牛",ratio:(l=e.bull)!=null?l:4}].map(u=>Z2(b2({},u),{count:Math.round(n.stock*u.ratio/100),source:"预测模型"})),i=n.stock-t.reduce((u,c)=>u+c.count,0);return i&&t[1]&&(t[1].count+=i),t}function TGe(n){const e=n.stock/lh,t=fM.map((r,a)=>Z2(b2({},r),{forecast:Math.round(r.count*e+(a%3-1)*n.months*18)})),i=n.stock-t.reduce((r,a)=>r+a.forecast,0);if(i){const r=t.reduce((a,o)=>o.count>a.count?o:a,t[0]);r.forecast+=i}return t.map(r=>Z2(b2({},r),{change:r.forecast-r.count})).sort((r,a)=>a.forecast-r.forecast)}function n2e(n){const e=n.months+1,t=Array.from({length:e},(o,s)=>s===0?"2026-06":s===n.months?n.label:`+${s}月`),i=t.map((o,s)=>{const l=s/n.months,u=Math.sin(s/2.6)*Math.sin(Math.PI*l)*Math.min(360,n.months*18);return Math.round(K6+(n.stock-K6)*l+u)}),r=t.map((o,s)=>Math.round(n.births/n.months*s)),a=t.map((o,s)=>Math.round(n.outflow/n.months*s));return{labels:t,stock:i,births:r,outflow:a}}function AGe(n,e){const t=n.map(r=>Z2(b2({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}function CGe(n){const e=new Map;return n.forEach(t=>{const i=t.name,r=e.get(i)||{name:i,count:0};r.count+=Number(t.count||0),e.set(i,r)}),[...e.values()].sort((t,i)=>i.count-t.count)}const Qs=(n,e=2)=>{const t=x6(10,e);return Math.round((Number(n)||0)*t)/t},i2e=(n,e)=>n.reduce((t,i)=>t+(Number(i[e])||0),0),mW=n=>Qs((Number(n)||0)/1e4,2),MGe=i2e(UR,"value"),y_=i2e(Bh,"yakCount"),VR=Qs(Vo.grasslandArea/1e4,2),EGe=Qs(Vo.wetArea/1e4,2),PGe=177.92,RGe=Qs(y_/Math.max(VR,1),1),LGe=108.84,IGe=159.33,DGe=[{key:"yak-count",zh:"牦牛数量",name:"牦牛数量",value:y_,unit:"头",decimals:0},{key:"grassland-area",zh:"草地面积",name:"草地面积",value:VR,unit:"万亩",decimals:2},{key:"wetland-area",zh:"湿地面积",name:"湿地面积",value:EGe,unit:"万亩",decimals:2},{key:"woodland-area",zh:"林地面积",name:"林地面积",value:PGe,unit:"万亩",decimals:2}];_Ge.map(n=>{const e=Bh.find(r=>r.zoneName===n.zoneName)||{},t=mW(n.grasslandArea),i=mW(n.wetArea);return{key:n.zoneName,name:n.zoneName,grasslandArea:t,wetlandArea:i,yakCount:e.yakCount||0,resourceTotal:Qs(t+i,2),density:Qs((e.yakCount||0)/Math.max(t+i,1),1)}}).sort((n,e)=>e.yakCount-n.yakCount);Bh.map(n=>({key:n.zoneName,name:n.zoneName,value:n.yakCount,unit:"头",percent:Qs(n.yakCount/Math.max(y_,1)*100,1)})).sort((n,e)=>e.value-n.value);const gW=UR.map(n=>({key:n.label,name:n.label,value:n.value,unit:"头",yoy:n.yoy,percent:Qs(n.value/Math.max(MGe,1)*100,1)})),NGe=Math.max(...Qee.map(n=>Number(n.value)||0),1);Qee.map(n=>{const e=n.name.includes("储备")||n.name.includes("加工")?`${Number(n.capacity||0).toLocaleString("zh-CN")}吨`:"已接入";return{key:n.name,name:n.name,value:n.value,unit:n.unit,capacity:n.capacity,capacityNote:e,percent:Qs((Number(n.value)||0)/NGe*100,1)}});var oj,sj;(oj=gW[0])!=null&&oj.value,(sj=gW[1])!=null&&sj.value,Vo.baseCount+Vo.projectCount;const Bv=""+new URL("live-scene-1-786cdd0a-balabala-1782921062964.png",import.meta.url).href;const kGe={class:"home-dashboard"},FGe={class:"home-layer-tools"},OGe={class:"home-layer-tree-panel"},BGe={class:"home-layer-tree-list"},zGe=["onClick"],GGe={key:0,class:"home-layer-tree-children"},UGe=["onClick"],VGe={class:"home-layer-tree-legend"},HGe=["disabled","title","onClick"],WGe={class:"home-layer-legend-name"},jGe={key:0,class:"home-layer-legend-check"},$Ge={key:1,class:"home-layer-tree-empty"},qGe={class:"home-left home-side-stack"},XGe={class:"home-right home-side-stack"},YGe={key:0,class:"home-video-monitor"},KGe=["disabled"],ZGe={key:0,class:"home-video-scan"},JGe={key:1,class:"home-video-play"},QGe={key:2,class:"home-video-loading"},eUe={key:3,class:"home-video-error"},tUe={class:"home-video-point-name"},nUe=["disabled"],yW=186,iUe={__name:"index",emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=e,i=H2(null),r=H2(null),a=H2({}),o=new Map;let s=null,l=!1,u=null,c=null,d=!1,h=0;const f=H2(0),p=H2([]),m=H2(0),v=H2(!1),g=H2(!1),_=H2(""),S=`home-video-player-${Math.random().toString(36).slice(2)}`,x=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],A=yW,C=A,M=t2e("2028"),I=n2e(M),D=[...R7.map(({key:l2,name:Y2,color:rt})=>({key:l2,name:Y2.replace("资源",""),color:rt})),...Bee.map(({key:l2,name:Y2,color:rt})=>({key:l2,name:"牦牛",color:rt}))],E=H2(""),P=H2(""),F=H2(""),V=H2(""),G=Ye(()=>lt(E.value)),W=Ye(()=>D.map(l2=>Z2(b2({},l2),{layers:lt(l2.key)}))),Y=Ye(()=>F.value&&G.value.find(l2=>l2.key===F.value)||null),Q=Ye(()=>{var l2;return((l2=Y.value)==null?void 0:l2.legends)||[]}),K=Ye(()=>Q.value.filter(Pt).length>1),ae=Ye(()=>Q.value.length===1),ie=Ye(()=>{var l2;return(((l2=Y.value)==null?void 0:l2.legends)||[]).find(Y2=>Y2.key===V.value)||null}),he=Ye(()=>{var Y2;const l2=Y.value;return l2?(Y2=ie.value)!=null&&Y2.cqlFilter?Z2(b2({},l2),{cqlFilter:ie.value.cqlFilter,activeLegend:ie.value,name:ie.value.name||l2.name}):l2:null}),Ee=Ye(()=>yt(Ls.length)),je=Ye(()=>yt(Vi.length)),xe=Ye(()=>yt(I.labels.length)),Oe=[{key:"fallback-video-1",title:"色地镇牧场入口监控",town:"色地镇",scene:"牧道卡口",device:"HY-CAM-018",channel:"01",cameraCount:6,status:"直播中",onlineRate:98,updateTime:"12:18",operator:"智能巡检 · 重点区域",progress:86,image:Bv,playUrl:"",hdPlayUrl:"",token:""},{key:"fallback-video-2",title:"瓦切镇草场巡护监控",town:"瓦切镇",scene:"草场巡护",device:"HY-CAM-026",channel:"02",cameraCount:4,status:"直播中",onlineRate:96,updateTime:"12:16",operator:"远程巡护 · 轮巡中",progress:74,image:Bv,playUrl:"",hdPlayUrl:"",token:""},{key:"fallback-video-3",title:"邛溪镇核心区监控",town:"邛溪镇",scene:"核心牧区",device:"HY-CAM-031",channel:"03",cameraCount:5,status:"直播中",onlineRate:97,updateTime:"12:14",operator:"视频联动 · 在线",progress:91,image:Bv,playUrl:"",hdPlayUrl:"",token:""}],f2=Ye(()=>{const l2=p.value.length;return l2?v.value?m.value%l2:(f.value+m.value)%l2:0}),B2=Ye(()=>p.value[f2.value]||Oe[0]),S2=Ye(()=>[ut("grassland","grassland-town"),ut("grassland","grassland-type-proportion"),ut("wetland","wetland-yield"),ut("woodland","woodland-type")].filter(Boolean).map((l2,Y2)=>Ht(l2,`forest-grass-wet-${Y2}`))),p2=Ye(()=>[{key:"home-video-monitor",title:"视频监控",type:"video",height:C,live:B2.value},{key:"yak-structure",title:"畜群结构占比",height:A,option:X2.value},{key:"yak-three-year-forecast",title:"未来三年牦牛预测",height:A,option:w2.value},{key:"yak-forecast-trend",title:"未来存栏趋势",height:A,option:Ce.value}]),X2=Ye(()=>bT({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:x,tooltip:ST(l2=>`${l2.name}<br/>占比:${l2.percent}%<br/>估算数量:${it(l2.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(l2){const Y2=Ls.find(rt=>rt.name===l2);return Y2?`${l2} ${St(Y2.count)}头`:l2},textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:16,shadowColor:"rgba(48, 220, 255, 0.58)"}},data:Ls.map((l2,Y2)=>({name:l2.name,value:l2.count,selected:Y2===Ee.value}))}]})),w2=Ye(()=>bT({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:Z2(b2({},ST()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(l2){const Y2=Vi[l2[0].dataIndex];return`${Y2.label}<br/>预测存栏:${it(Y2.stock)}头`}}),grid:{left:42,right:18,top:16,bottom:24},xAxis:{type:"category",data:Vi.map(l2=>l2.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(l2){return Math.max(0,Math.floor(l2.min/1e4)*1e4)},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:St},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Vi.map((l2,Y2)=>({value:l2.stock,itemStyle:{borderRadius:[9,9,1,1],color:new fn(0,0,0,1,[{offset:0,color:Y2===je.value?"#ffd76c":"#30dcff"},{offset:.72,color:Y2===je.value?"rgba(255, 215, 108, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:Y2===je.value?"rgba(255, 215, 108, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:Y2===je.value?16:8,shadowColor:Y2===je.value?"rgba(255, 215, 108, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new fn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:"#ffffff",fontSize:10,formatter:({value:l2})=>St(l2)}}]})),Ce=Ye(()=>bT({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:Z2(b2({},ST()),{trigger:"axis"}),legend:{top:2,right:2,itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:"rgba(222, 250, 255, 0.76)",fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!1,data:I.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:4},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:St},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:St},splitLine:{show:!1}}],series:[Ue("预测存栏",I.stock,"#30dcff",0,!0,xe.value),Ue("繁殖补充",I.births,"#ffd76c",1,!1,xe.value),Ue("出栏扣减",I.outflow,"#ff8f6b",1,!1,xe.value)]}));cr(()=>{t("module-stats",{moduleKey:"home",items:DGe}),_t(),Z(),R2(),k()}),Or(()=>{var l2,Y2;l=!0,$e(),_2(),o.clear(),(Y2=(l2=i.value)==null?void 0:l2.destroyMap)==null||Y2.call(l2)}),$0(f2,()=>{if(!v.value&&!g.value&&!c){_.value="";return}$e({resetError:!0})}),$0(F,()=>{V.value=""});function R2(){var Y2,rt,Ft;s=new ru,t("loading-progress",{progress:0}),(rt=(Y2=s.instance)==null?void 0:Y2.on)==null||rt.call(Y2,"onProgress",(Re,s2,et)=>{t("loading-progress",{progress:Math.floor(s2/(et||1)*100),path:Re,itemsLoaded:s2,itemsTotal:et})});const l2=(Re=0)=>J2(this,null,function*(){var et,P3;if(l)return;yield Ji();const s2=i.value;if((et=s2==null?void 0:s2.loadMap)==null||et.call(s2,s),s2!=null&&s2.canvasMap){t("loading-progress",{progress:100}),t("map-ready"),(P3=s2.play)==null||P3.call(s2);return}if(Re<24){window.setTimeout(()=>l2(Re+1),120);return}t("map-ready")});(Ft=s.ready)==null||Ft.then(l2).catch(()=>{t("map-ready")})}function v2(l2,Y2){l2&&(Y2?o.set(l2,Y2):o.delete(l2))}function O2(l2){r.value=l2||null}function k(){_2(),u=window.setInterval(A2,2600),window.setTimeout(A2,800)}function _2(){u&&(window.clearInterval(u),u=null)}function A2(){l||(f.value+=1,P2(),d2(),st())}function Z(){return J2(this,null,function*(){try{const l2=yield Uze();if(l)return;p.value=l2.length?l2:Oe}catch(l2){if(l)return;p.value=Oe,_.value="监控接口暂不可用",window.setTimeout(()=>{_.value==="监控接口暂不可用"&&(_.value="")},2400)}})}function ee(l2){const Y2=(l2==null?void 0:l2.image)||Bv;return v.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${Y2})`}}function Ge(){z2(-1)}function T2(){z2(1)}function z2(l2){const Y2=p.value.length;if(!Y2)return;$e({resetError:!0});const rt=f2.value;m.value=(rt+l2+Y2)%Y2,f.value=0}function Te(){return J2(this,null,function*(){var Ft,Re;const l2=B2.value;if(!(l2!=null&&l2.hdPlayUrl)||!(l2!=null&&l2.token)){_.value="无效的监控参数";return}if(v.value||g.value)return;m.value=f2.value,f.value=0,c&&$e({resetError:!0}),_.value="",g.value=!0,yield Ji();const Y2=++h;let rt=null;try{const s2=(Re=(Ft=r.value)==null?void 0:Ft.getBoundingClientRect)==null?void 0:Re.call(Ft),et=Math.max(300,Math.floor((s2==null?void 0:s2.width)||340)),P3=Math.max(80,Math.floor((s2==null?void 0:s2.height)||92));if(rt=new zCe.EZUIKitPlayer({id:S,accessToken:l2.token,url:l2.hdPlayUrl,audio:0,width:et,height:P3,themeData:u2(),handleError(me){Y2===h&&(console.warn("EZUIKit player error",me),_.value="视频加载失败",g.value=!1,v.value=!1,h+=1,c=null,d=!1,Ne())},handleSuccess(){Y2===h&&(_.value="",d=!0,g.value=!1)},fullScreenChangeCallBack(){}}),Y2!==h){Xe(rt),Ne();return}c=rt,v.value=!0}catch(s2){console.warn("EZUIKit init error",s2),_.value="视频加载失败",$e()}})}function $e(l2={}){const{clearElement:Y2=!0,resetError:rt=!1}=l2,Ft=c,Re=d;c=null,d=!1,h+=1,Re&&Xe(Ft),Y2&&Ne(),v.value=!1,g.value=!1,rt&&(_.value="")}function Xe(l2){if(!(!l2||typeof l2.stop!="function"))try{const Y2=l2.stop();Y2&&typeof Y2.catch=="function"&&Y2.catch(()=>{})}catch(Y2){console.warn("EZUIKit stop error",Y2)}}function Ne(){if(typeof document=="undefined")return;const l2=document.getElementById(S);l2&&l2.replaceChildren()}function u2(){return{header:{color:"#1890ff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#1890ff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function P2(){const l2=o.get("yak-structure");pt(l2,"畜群结构",Ee.value)}function d2(){const l2=o.get("yak-three-year-forecast");pt(l2,"预测存栏",je.value)}function st(){const l2=o.get("yak-forecast-trend");pt(l2,"预测存栏",xe.value)}function pt(l2,Y2,rt){const Ft=typeof(l2==null?void 0:l2.dispatchAction)=="function"?l2:l2==null?void 0:l2.chart;!Ft||rt<0||(Ft.dispatchAction({type:"downplay",seriesName:Y2}),Ft.dispatchAction({type:"hideTip"}),Ft.dispatchAction({type:"highlight",seriesName:Y2,dataIndex:rt}),Ft.dispatchAction({type:"showTip",seriesName:Y2,dataIndex:rt}))}function yt(l2){return l2?f.value%l2:0}function _t(){return J2(this,null,function*(){const[l2,Y2,rt]=yield Promise.all([Sm("grassland","grassland-distribution"),Sm("wetland","wetland-distribution"),Sm("woodland","woodland-distribution")]);l||(a.value={grassland:l2,wetland:Y2,woodland:rt})})}function ut(l2,Y2){const rt=a.value[l2];return[...(rt==null?void 0:rt.leftPanels)||[],...(rt==null?void 0:rt.rightPanels)||[]].find(Re=>(Re==null?void 0:Re.key)===Y2)}function Ht(l2,Y2){const Ft={"wetland-yield":{type:"column",variant:"slim"},"woodland-type":{type:"structure",variant:void 0}}[l2.key]||{};return Z2(b2(b2({},l2),Ft),{key:`home-${Y2}-${l2.key}`,height:yW})}function Ue(l2,Y2,rt,Ft=0,Re=!1,s2=-1){return{name:l2,type:"line",yAxisIndex:Ft,smooth:!0,symbolSize:5,data:Y2.map((et,P3)=>({value:et,symbolSize:P3===s2?10:5,itemStyle:{color:P3===s2?"#ffffff":rt},label:{show:P3===s2,position:"top",color:rt,fontSize:10,formatter:({value:me})=>St(me)}})),lineStyle:{width:2.4,color:rt},itemStyle:{color:rt},areaStyle:Re?{color:new fn(0,0,0,1,[{offset:0,color:`${rt}44`},{offset:1,color:`${rt}05`}])}:void 0}}function it(l2){const Y2=Number(l2);return Number.isFinite(Y2)?Y2.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(Y2)?0:2}):"--"}function St(l2){const Y2=Number(l2);return Number.isFinite(Y2)?Math.abs(Y2)>=1e4?`${(Y2/1e4).toFixed(Math.abs(Y2)>=1e5?0:1)}万`:Math.round(Y2).toLocaleString("zh-CN"):"--"}function jt(l2){E.value=l2,F.value="",V.value=""}function Ve(l2){if(P.value===l2){P.value="";return}P.value=l2,E.value!==l2&&jt(l2)}function lt(l2){const Y2=p_(l2);return l2!=="yak-industry-chain"?Y2:Y2.filter(rt=>rt.key==="yak-recognition-layer")}function at(l2){F.value=F.value===l2?"":l2}function kt(l2){wt(l2)&&(V.value=V.value===l2.key?"":l2.key)}function Pt(l2){return(l2==null?void 0:l2.selectable)===!1?!1:!!(l2!=null&&l2.key&&(l2.cqlFilter||l2.rankingValueKey))}function wt(l2){return K.value&&Pt(l2)}return(l2,Y2)=>(Ae(),Pe("div",kGe,[ft(iu,{ref_key:"mapSceneRef",ref:i,class:"home-map-scene","active-layer":he.value},null,8,["active-layer"]),Y2[3]||(Y2[3]=B("div",{class:"home-map-scrim"},null,-1)),B("div",FGe,[ft(M3,{title:"图层控制",width:248,height:430},{default:m3(()=>[B("div",OGe,[B("div",BGe,[(Ae(!0),Pe(bt,null,Nt(W.value,rt=>(Ae(),Pe("div",{key:rt.key,class:Xt(["home-layer-tree-group",{"is-open":rt.key===P.value}])},[B("button",{class:Xt(["home-layer-tree-parent",{"is-active":rt.key===E.value}]),type:"button",onClick:Ft=>Ve(rt.key)},[B("span",null,Fe(rt.name),1),Y2[0]||(Y2[0]=B("i",null,null,-1))],10,zGe),rt.key===P.value?(Ae(),Pe("div",GGe,[(Ae(!0),Pe(bt,null,Nt(rt.layers,Ft=>(Ae(),Pe("button",{key:Ft.key,class:Xt(["home-layer-tree-child",{"is-active":Ft.key===F.value}]),type:"button",onClick:Re=>at(Ft.key)},[B("span",null,Fe(Ft.name),1),Y2[1]||(Y2[1]=B("i",null,null,-1))],10,UGe))),128))])):Lt("",!0)],2))),128))]),B("div",VGe,[Y2[2]||(Y2[2]=B("div",{class:"home-layer-tree-title"},"图例",-1)),Q.value.length?(Ae(),Pe("div",{key:0,class:Xt(["home-layer-legend-grid",{"is-single":ae.value}])},[(Ae(!0),Pe(bt,null,Nt(Q.value,rt=>(Ae(),Pe("button",{key:rt.key||rt.name,class:Xt(["home-layer-legend-row",{"is-selected":wt(rt)&&rt.key===V.value,"is-checkable":wt(rt),"is-disabled":!wt(rt)}]),type:"button",disabled:!wt(rt),title:rt.name,onClick:Ft=>kt(rt)},[B("span",{class:"home-layer-legend-swatch",style:J3({backgroundColor:rt.fillColor,borderColor:rt.strokeColor||rt.fillColor})},null,4),B("span",WGe,Fe(rt.name),1),wt(rt)?(Ae(),Pe("i",jGe)):Lt("",!0)],10,HGe))),128))],2)):(Ae(),Pe("div",$Ge,"选择图层后显示图例"))])])]),_:1})]),B("div",qGe,[(Ae(!0),Pe(bt,null,Nt(S2.value,rt=>(Ae(),Gn(M3,{key:rt.key,class:"home-card left-card",title:rt.title,width:398,height:rt.height},{default:m3(()=>[ft(Ar,{panel:rt,compact:""},null,8,["panel"])]),_:2},1032,["title","height"]))),128))]),B("div",XGe,[(Ae(!0),Pe(bt,null,Nt(p2.value,rt=>(Ae(),Gn(M3,{key:rt.key,class:Xt(["home-card","right-card",{"home-video-card":rt.type==="video"}]),title:rt.title,width:398,height:rt.height},{default:m3(()=>[rt.type==="video"?(Ae(),Pe("div",YGe,[B("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:p.value.length<=1,onClick:Ge},"‹",8,KGe),(Ae(),Pe("div",{key:rt.live.key,ref_for:!0,ref:O2,class:Xt(["home-video-screen",{"is-playing":v.value,"is-loading":g.value}]),style:J3(ee(rt.live)),onClick:Te},[B("div",{id:S,class:"home-video-player"}),v.value?Lt("",!0):(Ae(),Pe("div",ZGe)),!v.value&&rt.live.hdPlayUrl?(Ae(),Pe("div",JGe)):Lt("",!0),g.value?(Ae(),Pe("div",QGe,"加载中")):Lt("",!0),_.value?(Ae(),Pe("div",eUe,Fe(_.value),1)):Lt("",!0),B("div",tUe,Fe(rt.live.title),1)],6)),B("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:p.value.length<=1,onClick:T2},"›",8,nUe)])):rt.option?(Ae(),Gn(_1(G0),{key:1,ref_for:!0,ref:Ft=>v2(rt.key,Ft),class:"home-chart",option:rt.option,autoresize:!0},null,8,["option"])):(Ae(),Gn(Ar,{key:2,panel:rt,compact:""},null,8,["panel"]))]),_:2},1032,["class","title","height"]))),128))])]))}};const rUe={class:"topic-switcher"},aUe={class:"topic-switcher-menu"},oUe=["onPointerup","onClick"],sUe={class:"topic-title"},lUe={key:0},__={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>R7}},emits:["update:modelValue"],setup(n,{emit:e}){const t=n,i=e;let r="",a=0;const o=Ye(()=>{var l;return(l=t.topics)!=null&&l.length?t.topics:R7});function s(l,u){var d,h;(h=(d=l.currentTarget)==null?void 0:d.blur)==null||h.call(d);const c=Date.now();l.type==="click"&&r===u&&c-a<450||(l.type==="pointerup"&&(r=u,a=c),i("update:modelValue",u))}return(l,u)=>(Ae(),Pe("div",rUe,[u[0]||(u[0]=B("div",{class:"topic-switcher-arrow"},[B("img",{src:Em,alt:""}),B("img",{src:Pm,alt:""})],-1)),B("div",aUe,[(Ae(!0),Pe(bt,null,Nt(o.value,c=>(Ae(),Pe("button",{key:c.key,class:Xt(["topic-switcher-item",{"is-active":c.key===n.modelValue}]),style:J3({"--topic-color":c.color,"--topic-item-width":c.width?`${c.width}px`:void 0}),type:"button",onPointerup:d=>s(d,c.key),onClick:d=>s(d,c.key)},[B("span",{class:Xt(["topic-name",{"has-sub-name":c.subName}])},[B("span",sUe,Fe(c.name),1),c.subName?(Ae(),Pe("small",lUe,Fe(c.subName),1)):Lt("",!0)],2)],46,oUe))),128))]),u[1]||(u[1]=B("div",{class:"topic-switcher-arrow is-reverse"},[B("img",{src:Em,alt:""}),B("img",{src:Pm,alt:""})],-1))]))}};const uUe={class:"layer-panel"},cUe={class:"layer-panel-list"},dUe=["onClick"],hUe={key:0,class:"layer-panel-empty"},fUe={class:"layer-panel-legend"},pUe=["disabled","title","onClick"],vUe={class:"legend-name"},mUe={key:0,class:"legend-check"},gUe={key:1,class:"layer-panel-empty is-legend"},HR={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:String,default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null}},emits:["update:modelValue","update:selectedLegendKey"],setup(n,{emit:e}){const t=n,i=e,r=Ye(()=>Array.isArray(t.layers)?t.layers:p_(t.topicKey)),a=Ye(()=>t.legends.filter(c).length>1),o=Ye(()=>t.legends.length===1),s=Ye(()=>t.height?t.height:430);function l(h,f){var p,m;(m=(p=h.currentTarget)==null?void 0:p.blur)==null||m.call(p),i("update:modelValue",t.modelValue===f?"":f)}function u(h,f){var p,m;(m=(p=h.currentTarget)==null?void 0:p.blur)==null||m.call(p),d(f)&&i("update:selectedLegendKey",t.selectedLegendKey===f.key?"":f.key)}function c(h){return(h==null?void 0:h.selectable)===!1?!1:!!(h!=null&&h.key&&(h.cqlFilter||h.rankingValueKey))}function d(h){return a.value&&c(h)}return(h,f)=>(Ae(),Gn(M3,{title:"图层控制",width:n.width,height:s.value},{default:m3(()=>[B("div",uUe,[B("div",cUe,[(Ae(!0),Pe(bt,null,Nt(r.value,p=>(Ae(),Pe("button",{key:p.key,class:Xt(["layer-panel-item",{"is-active":p.key===n.modelValue,"is-checked":p.key===n.modelValue}]),type:"button",onMousedown:f[0]||(f[0]=Hi(()=>{},["prevent"])),onClick:m=>l(m,p.key)},[B("span",null,Fe(p.name),1),f[2]||(f[2]=B("i",null,null,-1))],42,dUe))),128)),r.value.length?Lt("",!0):(Ae(),Pe("div",hUe,"暂无图层配置"))]),B("div",fUe,[f[3]||(f[3]=B("div",{class:"layer-panel-section-title"},"图例",-1)),n.legends.length?(Ae(),Pe("div",{key:0,class:Xt(["layer-panel-legend-grid",{"is-single":o.value}])},[(Ae(!0),Pe(bt,null,Nt(n.legends,p=>(Ae(),Pe("button",{key:p.key||p.name,class:Xt(["layer-panel-legend-row",{"is-selected":d(p)&&p.key===n.selectedLegendKey,"is-checkable":d(p),"is-disabled":!d(p)}]),type:"button",disabled:!d(p),title:p.name,onMousedown:f[1]||(f[1]=Hi(()=>{},["prevent"])),onClick:m=>u(m,p)},[B("span",{class:"legend-swatch",style:J3({backgroundColor:p.fillColor,borderColor:p.strokeColor||p.fillColor})},null,4),B("span",vUe,Fe(p.name),1),d(p)?(Ae(),Pe("i",mUe)):Lt("",!0)],42,pUe))),128))],2)):(Ae(),Pe("div",gUe,"暂无图例"))])])]),_:1},8,["width","height"]))}};const yUe={class:"feature-info"},_Ue={key:0,class:"feature-info-state"},SUe={key:1,class:"feature-info-state"},bUe={key:2,class:"feature-info-state"},xUe={key:0,class:"feature-table"},wUe=["title"],TUe={key:1,class:"feature-info-state is-inline"},r2e={__name:"FeatureInfoPanel",props:{feature:{type:Object,default:null},empty:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:Number,default:380},width:{type:Number,default:430}},setup(n){const e=n,t=[[["town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","area_code"],"所在乡镇"],[["village_name","cunName","cun_name","cun","c_name","cmc"],"所在村"],[["full_name"],"所在区域"],[["land_number","patch_no"],"图斑编号"],[["areaWanMu","area_wan_mu","area_mu","acreage","mj","xbmj","tbdlmj","tbmj","geomj","shape_area"],"图斑面积"]],i=[[["investigator"],"调查人"],[["survey_time","dc_rq","sjnf","delimitation_year"],"调查时间"],[["adjust_opinion_name"],"调整意见"],[["adjust_reason"],"调整原因"]],r={woodland:[[["dlmc","layer_class_name"],"地类名称"],...t,[["qsdwmc"],"权属单位"],[["zldwmc"],"坐落单位"],[["lin_ban"],"林班"],[["xiao_ban"],"小班"],[["ld_qs","tdsyqs","qsxz","ownership_name","ownership"],"土地权属"],[["gjgyl_bhdj","bh_dj","protection_level_name","protection_level"],"保护等级"],[["sen_lin_lb","forest_type"],"森林类别"],[["lin_zhong","forest_category"],"林种"],[["zl_dj","quality_level_name","quality_level"],"质量等级"],[["you_shi_sz","tree_species","dominant_tree_species"],"优势树种"],[["qi_yuan","origin"],"起源"],[["ling_zu"],"龄组"],[["yu_bi_du"],"郁闭度"],[["pingjun_sg"],"平均树高"],[["mei_gq_zs"],"每公顷株数"],[["mei_gq_xj"],"每公顷蓄积"],[["huo_lm_xj"],"活立木蓄积"],[["sheng_wu_l"],"生物量"],[["tan_chu_l"],"碳储量"],[["stqwmc"],"生态区位"],[["po_du","slope"],"坡度"],[["po_wei"],"坡位"],[["tu_ceng_hd","soil_depth"],"土层厚度"],...i],grassland:[...t,[["land_class_name","land_use_name","land_use"],"地类名称"],[["land_type"],"资源大类"],[["resource_type"],"资源类别"],[["grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grass_type_name","grassland_type_name","grass_type"],"草原类"],[["grass_min_type"],"草原型"],[["grassland_level_name","grassland_level","level_name","level"],"草原级别"],[["degradation_level_name","degradation_level"],"退化等级"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominance_level"],"优势度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xb_xc_yield"],"小班鲜草产量"],[["xb_xc_mu_yield"],"小班鲜草亩产"],[["gc_yield"],"干草产量"],[["gc_mu_yield","xb_gc_mu_yield"],"干草亩产"],[["xb_gc_yield"],"小班干草产量"],[["xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soil_depth","tu_ceng_hd"],"土层厚度"],[["soil texture"],"土壤质地"],[["sddl"],"三调地类"],[["hqlm"],"划区轮牧"],[["cdsyq"],"草地所有权"],[["cdsyq2"],"草地使用权"],[["cdjjq"],"草地经营权"],...i],wetland:[[["grass_min_type","grassland_category_name","grassland_type_name","land_class_name","land_use_name"],"湿地类型"],...t,[["grass_type_name","grass_type"],"湿地草地型"],[["grassland_level_name","grassland_level","level_name","level"],"湿地级别"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield","xb_xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["edible_xc_yield"],"可食鲜草产量"],[["edible_xc_mu_yield"],"可食鲜草亩产"],[["gc_yield","xb_gc_yield"],"干草产量"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["soil_depth","tu_ceng_hd"],"土层厚度"],...i],ecological:[[["type"],"管控分区"],[["project_name"],"项目名称"],[["project_category"],"项目类型"],[["measure_type"],"措施类型"],[["feature_role"],"要素类型"],[["township"],"涉及乡镇"],[["year"],"建设年份"],[["totalAcreage"],"总面积"],[["cdAcreage"],"草地面积"],[["sdAcreage"],"湿地面积"],[["area_mu"],"治理面积"],[["length_meter"],"工程长度"],[["cdScl"],"草地生产力"],[["sdScl"],"湿地生产力"],[["geometry_type"],"几何类型"]]},a={513233100:"邛溪镇",513233101:"刷经寺镇",513233103:"安曲镇",513233105:"龙日镇",513233202:"江茸乡",513233203:"查尔玛乡",513233204:"瓦切镇",513233205:"阿木乡",513233207:"麦洼乡",513233208:"色地镇","513233101000":"刷经寺镇","513233103000":"安曲镇","513233105000":"龙日镇"},o={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},vegetation_structure:{1:"草本型"},landform:{2:"平原",5:"中山",6:"高山"},land_use:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},sddl:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},ld_qs:{10:"集体林地",20:"国有或其他"},qsxz:{10:"集体林地",20:"国有或其他"},tdsyqs:{10:"集体林地",20:"国有或其他"},gjgyl_bhdj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},bh_dj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},zl_dj:{2:"二级质量",3:"三级质量",4:"四级质量",5:"五级质量"},po_wei:{1:"脊部",2:"上坡",3:"中坡",4:"下坡",5:"谷地",6:"平地"}},s=new Set(["lin_zhong","sen_lin_lb","you_shi_sz","qi_yuan","ling_zu","po_xiang","tu_rang_lx","ownership","ownership_name","protection_level","forest_category","forest_type","quality_level","origin","tree_species","dominant_tree_species","base_grass","degradation_level","land_class","grass_type"]),l={xiang:"所在乡镇",xzqdm:"所在乡镇",xzqmc:"所在乡镇",town_code:"所在乡镇",area_code:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",grass_min_type:"草原型",grass_type:"草原类",grass_type_name:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grassland_level_name:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",degradation_level:"退化等级",degradation_level_name:"退化等级",vegetation_structure:"植被结构",vegetation_structure_name:"植被结构",xc_yield:"鲜草产量",gc_yield:"干草产量",xc_mu_yield:"鲜草亩产",gc_mu_yield:"干草亩产",mu_yield:"亩产",edible_xc_yield:"可食鲜草产量",edible_xc_mu_yield:"可食鲜草亩产",dlmc:"地类名称",qsdwmc:"权属单位",zldwmc:"坐落单位",lin_ban:"林班",xiao_ban:"小班",ld_qs:"土地权属",tdsyqs:"土地权属",qsxz:"土地权属",gjgyl_bhdj:"保护等级",bh_dj:"保护等级",sen_lin_lb:"森林类别",lin_zhong:"林种",zl_dj:"质量等级",you_shi_sz:"优势树种",qi_yuan:"起源",cdsyq:"草地所有权",cdsyq2:"草地使用权",cdjjq:"草地经营权",resource_type:"资源类型","grassland category":"草原类别",dominant_grass_species:"优势草种",functional_category:"功能类别",vegetation_cover:"植被盖度",xb_xc_yield:"小班鲜草产量",xb_gc_yield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",grass_yield:"草地产量",full_name:"所在区域",gyl_bhlx:"公益林保护类型",ling_zu:"龄组",yu_bi_du:"郁闭度",pingjun_xj:"平均胸径",mei_gq_zs:"每公顷株数",mei_gq_xj:"每公顷蓄积",stqwmc:"生态区位",lyfq:"林业分区",qykz:"区域控制",po_wei:"坡位",tu_rang_zd:"土壤质地",zzsxmc:"主导属性",lin_chang:"林场",di_mao:"地貌",jt_qw:"交通区位",zbfglx:"植被覆盖类型",disaster_c:"灾害类型",dispe:"病虫害",pingjun_sg:"平均树高",huo_lm_xj:"活立木蓄积",sheng_wu_l:"生物量",tan_chu_l:"碳储量",g_cheng_lb:"工程类别",shi_quan_d:"事权等级",sf_tbq:"是否特别区",td_th_lx:"土地退化类型",project_name:"项目名称",project_category:"项目类型",measure_type:"措施类型",feature_role:"要素类型",township:"涉及乡镇",year:"建设年份",length_meter:"工程长度",geometry_type:"几何类型",totalAcreage:"总面积",cdAcreage:"草地面积",sdAcreage:"湿地面积",cdScl:"草地生产力",sdScl:"湿地生产力"},u=new Set(Object.keys(l)),c=new Set(["pingjun_sg","pingjun_xj","mei_gq_zs","mei_gq_xj","huo_lm_xj","sheng_wu_l","tan_chu_l","yu_bi_du","grass_yield","xb_xc_yield","xb_xc_mu_yield","xc_mu_yield","xb_gc_yield","xb_gc_mu_yield","gc_mu_yield"]),d=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),h=Ye(()=>{var ie;return((ie=e.feature)==null?void 0:ie.properties)||{}}),f=Ye(()=>{var ie,he,Ee;return((he=(ie=e.feature)==null?void 0:ie.feature)==null?void 0:he.geometry)||((Ee=e.feature)==null?void 0:Ee.geometry)||null}),p=Ye(()=>{var Oe,f2,B2,S2,p2;const ie=String(((Oe=e.feature)==null?void 0:Oe.id)||"").toLowerCase(),he=String(((B2=(f2=e.feature)==null?void 0:f2.layer)==null?void 0:B2.key)||"").toLowerCase(),Ee=String(((p2=(S2=e.feature)==null?void 0:S2.layer)==null?void 0:p2.layerName)||"").toLowerCase(),je=`${he} ${Ee}`,xe=h.value;return je.includes("national-park")||je.includes("restoration")||xe.project_name||xe.project_category||xe.totalAcreage?"ecological":xe.dlmc||ie.includes("woodland")||ie.includes("t_woodland")||je.includes("woodland")?"woodland":je.includes("wetland")||je.includes("shidi")||ie.includes("shidi")||xe.land_type==="shidi"||xe.land_type==="湿地"||xe.land_type===2?"wetland":je.includes("grassland")||je.includes("caodi")||xe.grassland_category_name||xe.basic_type_name||ie.includes("caodi")||xe.land_type==="caodi"||xe.land_type===1?"grassland":"woodland"}),m=Ye(()=>{const ie=[],he=new Set;return(r[p.value]||r.woodland).forEach(([je,xe])=>{const Oe=S(h.value,je,xe,he);Oe&&!ie.some(f2=>f2.label===Oe.label)&&(ie.push(Oe),he.add(Oe.sourceKey))}),ie.some(je=>je.label==="图斑面积")||_(ie,he,"图斑面积",W(f.value),"geometry-area"),Object.entries(h.value).forEach(([je,xe])=>{if(he.has(je)||V(je,xe))return;const Oe=A(je,xe);x(Oe)&&(ie.some(f2=>f2.value===Oe||f2.label===(l[je]||ae(je)))||(ie.push({key:`fallback-${je}`,sourceKey:je,label:l[je]||ae(je),value:Oe}),he.add(je)))}),ie}),v=Ye(()=>m.value.map((ie,he)=>Z2(b2({},ie),{displayOrder:g(ie,he)})).sort((ie,he)=>ie.displayOrder-he.displayOrder));function g(ie,he){const Ee=(ie==null?void 0:ie.label)||"",je=String((ie==null?void 0:ie.sourceKey)||"").toLowerCase();return["所在乡镇","所在村","所在区域","图斑编号","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(Ee)?he:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(Ee)?100+he:Ee.includes("产量")||Ee.includes("亩产")||Ee.includes("植被")||Ee.includes("优势草种")||Ee.includes("优势度")||Ee.includes("海拔")||Ee.includes("地貌")||Ee.includes("坡")||Ee.includes("土壤")||Ee.includes("郁闭度")||Ee.includes("树高")||Ee.includes("蓄积")||Ee.includes("生物量")||Ee.includes("碳储量")?200+he:Ee.includes("权属")||Ee.includes("所有权")||Ee.includes("使用权")||Ee.includes("经营权")||Ee.includes("调查")||Ee.includes("调整")||Ee.includes("划区")||Ee.includes("单位")||je.includes("owner")||je.includes("qsdw")||je.includes("zldw")?300+he:150+he}function _(ie,he,Ee,je,xe){!x(je)||ie.some(Oe=>Oe.label===Ee||Oe.value===je)||(ie.push({key:`static-${xe}`,sourceKey:xe,label:Ee,value:je}),he.add(xe))}function S(ie,he,Ee,je=new Set){for(const xe of he)if(!(je.has(xe)||F(xe))&&x(ie==null?void 0:ie[xe])){const Oe=A(xe,ie[xe]);if(!x(Oe))continue;return{key:`${Ee}-${xe}`,sourceKey:xe,label:Ee,value:Oe}}return null}function x(ie){return ie!=null&&ie!==""&&ie!==" "&&ie!=="null"&&ie!=="undefined"}function A(ie,he){var xe;if(!x(he))return"";if((xe=o[ie])!=null&&xe[String(he)])return o[ie][String(he)];if(["xiang","xzqdm","town_code","area_code"].includes(ie))return C(he);if(["cun","village_code"].includes(ie)&&M(he))return"";if(["grassland_level","level"].includes(ie)&&I(he))return p.value==="wetland"?`${Number(he)}级湿地`:`${Number(he)}级草原`;if(s.has(ie)&&M(he)||G(ie,he))return"";if(E(ie))return P(he);if(typeof he=="number"||/^-?\d+(\.\d+)?$/.test(String(he))){const Oe=Number(he);if(Oe===0&&c.has(ie))return"";const f2=Number.isInteger(Oe)?`${Oe}`:`${Number(Oe.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(ie)?`${D(Oe/666.6667)} 亩`:["acreage","mj","area_mu"].includes(ie)?`${f2} 亩`:["length_meter"].includes(ie)?`${f2} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(ie)?`${f2} 万亩`:["cdScl","sdScl"].includes(ie)?`${f2} 万吨`:["areaWanMu","area_wan_mu"].includes(ie)?`${f2} 万亩`:["xc_yield","xb_xc_yield","gc_yield","xb_gc_yield","edible_xc_yield","grass_yield"].includes(ie)?`${f2} 斤`:["mu_yield","xc_mu_yield","gc_mu_yield","xb_xc_mu_yield","xb_gc_mu_yield","edible_xc_mu_yield"].includes(ie)?`${f2} 斤`:["vegetation_cover","lbmjbl","yu_bi_du"].includes(ie)?`${f2}%`:["elevation","tu_ceng_hd","pingjun_sg"].includes(ie)?`${f2} 米`:["po_du","slope"].includes(ie)?`${f2}°`:f2}const je=String(he);return p.value==="wetland"&&["grassland_level","level"].includes(ie)?je.replace(/草原/g,"湿地"):je}function C(ie){const he=String(ie||"").trim();if(!he)return"";if(a[he])return a[he];const Ee=he.replace(/\D/g,"");if(a[Ee])return a[Ee];for(let je=Math.min(12,Ee.length);je>=6;je--){const xe=Ee.slice(0,je);if(a[xe])return a[xe]}return M(he)?"":he}function M(ie){return/^[0-9A-Za-z_-]{1,12}$/.test(String(ie).trim())}function I(ie){return/^-?\d+(\.\d+)?$/.test(String(ie).trim())}function D(ie){return Number.isInteger(ie)?`${ie}`:`${Number(ie.toFixed(2))}`}function E(ie){return["survey_time","dc_rq","create_time","update_time"].includes(String(ie))}function P(ie){const he=String(ie);return/^\d{4}-\d{2}-\d{2}/.test(he)?he.slice(0,10):he}function F(ie){const he=String(ie).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(he)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(he)||["shape_leng","shape_length","length","perimeter"].includes(he)?!0:["xzqdm","area_code","town_code","patch_no","land_number"].includes(he)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(he)||he.endsWith("_code")||he.endsWith("dm")||he.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(he)?!0:he.includes("geom")||he.includes("boundary")||he.includes("wkb")}function V(ie,he){var je;if(F(ie)||!x(he))return!0;const Ee=String(ie).toLowerCase();return!!(d.has(Ee)||Ee.includes("number")||Ee.includes("patch_no")||!u.has(ie)||M(he)&&!((je=o[ie])!=null&&je[String(he)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(ie))}function G(ie,he){var Ee;return!M(he)||(Ee=o[ie])!=null&&Ee[String(he)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(ie)}function W(ie){const he=Y(ie);if(!he)return"";const Ee=he/666.6667;return Ee>=1e4?`${D(Ee/1e4)} 万亩`:`${D(Ee)} 亩`}function Y(ie){return ie!=null&&ie.coordinates?ie.type==="Polygon"?Q(ie.coordinates):ie.type==="MultiPolygon"?ie.coordinates.reduce((he,Ee)=>he+Q(Ee),0):0:0}function Q(ie=[]){if(!ie.length)return 0;const[he,...Ee]=ie,je=Math.abs(K(he)),xe=Ee.reduce((Oe,f2)=>Oe+Math.abs(K(f2)),0);return Math.max(0,je-xe)}function K(ie=[]){if(ie.length<3)return 0;const he=ie.reduce((Oe,f2)=>Oe+Number((f2==null?void 0:f2[1])||0),0)/ie.length,Ee=111320,je=Ee*Math.cos(he*Math.PI/180);let xe=0;for(let Oe=0;Oe<ie.length;Oe++){const f2=ie[Oe],B2=ie[(Oe+1)%ie.length],S2=Number((f2==null?void 0:f2[0])||0)*je,p2=Number((f2==null?void 0:f2[1])||0)*Ee,X2=Number((B2==null?void 0:B2[0])||0)*je,w2=Number((B2==null?void 0:B2[1])||0)*Ee;xe+=S2*w2-X2*p2}return xe/2}function ae(ie){return String(ie).replace(/_/g," ").replace(/\b\w/g,he=>he.toUpperCase())}return(ie,he)=>(Ae(),Gn(M3,{title:"图斑详情",width:n.width,height:n.height},{default:m3(()=>[B("div",yUe,[n.loading?(Ae(),Pe("div",_Ue,"正在查询图斑信息")):n.empty?(Ae(),Pe("div",SUe,"当前点击位置未查询到图斑")):n.feature?(Ae(),Pe(bt,{key:3},[v.value.length?(Ae(),Pe("div",xUe,[(Ae(!0),Pe(bt,null,Nt(v.value,Ee=>(Ae(),Pe("div",{key:Ee.key,class:"feature-row"},[B("span",null,Fe(Ee.label),1),B("strong",{title:Ee.value},Fe(Ee.value),9,wUe)]))),128))])):(Ae(),Pe("div",TUe,"当前图斑暂无可展示的业务字段"))],64)):(Ae(),Pe("div",bUe,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}};const AUe={class:"forest-grass-wet"},CUe={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},MUe={class:"fgw-left"},EUe={class:"fgw-side-stack is-left"},PUe={class:"fgw-right"},RUe={class:"fgw-side-stack is-right"},LUe={class:"fgw-map-layer-tools"},IUe={class:"fgw-bottom-topic"},DUe={key:0,class:"loading"},NUe={class:"loading-progress"},kUe={class:"value"},FUe={__name:"index",props:{showLoading:{type:Boolean,default:!0}},emits:["topic-stats"],setup(n,{emit:e}){const t=n,i=e,r=H2(null),a=H2(R7[0].key),o=H2(""),s=H2([]),l=H2("idle"),u=H2(!1),c=H2({title:"业务统计",rows:[]}),d=H2({title:"业务统计",rows:[]}),h=H2([]),f=H2([]),p=H2({}),m=H2(null),v=H2(""),g=H2(null),_=H2(!1),S=H2(!1),x=H2(null),A=H2(0),C=H2(t.showLoading),M=H2({type:"idle",text:"等待 GeoServer 图层加载"});let I=null,D=!1,E=0,P=0;const F=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]);Ye(()=>YH(a.value));const V=Ye(()=>o.value?Oh(a.value,o.value):null),G=Ye(()=>{var Z;return(((Z=V.value)==null?void 0:Z.legends)||[]).find(ee=>ee.key===v.value)||null}),W=Ye(()=>{var ee;const Z=V.value;return!Z||!((ee=G.value)!=null&&ee.cqlFilter)?Z:Z2(b2({},Z),{cqlFilter:G.value.cqlFilter,activeLegend:G.value,name:G.value.name||Z.name})}),Y=Ye(()=>190),Q=Ye(()=>12),K=Ye(()=>Y.value*2+Q.value),ae=Ye(()=>!!x.value),ie=Ye(()=>{if(S.value||_.value||!g.value)return 186;const Z=X2(g.value);return Math.min(480,Math.max(300,86+Math.min(Z,12)*34))}),he=Ye(()=>{if(!x.value)return{};const Z=460,ee=ie.value,Ge=24,T2=Ee(x.value),z2=T2.x>1420?-Z-28:28,Te=Math.min(Math.max(T2.x+z2,Ge),1920-Z-Ge),$e=Math.min(Math.max(T2.y-ee-72,188),1080-ee-132);return{left:`${Te}px`,top:`${$e}px`,right:"auto",bottom:"auto"}});function Ee(Z){const ee=document.querySelector(".forest-grass-wet"),Ge=ee==null?void 0:ee.getBoundingClientRect();return!(Ge!=null&&Ge.width)||!(Ge!=null&&Ge.height)?Z:{x:(Z.x-Ge.left)/Ge.width*1920,y:(Z.y-Ge.top)/Ge.height*1080}}cr(()=>{document.addEventListener("pointerdown",_2,!0),je(),xe(a.value,""),w2(a.value,"")}),Or(()=>{D=!0,document.removeEventListener("pointerdown",_2,!0)}),$0(a,Z=>{v.value="",o.value="",k(),xe(Z,""),w2(Z,"",null)}),$0(o,()=>{v.value="",k(),M.value={type:o.value?"loading":"idle",text:o.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},xe(a.value,o.value),w2(a.value,o.value,null)}),$0(v,()=>{k(),w2(a.value,o.value,G.value)});function je(){var T2;I=new ru;let Z=!1;const ee={progress:0};I.instance.on("onProgress",(z2,Te,$e)=>{const Xe=Math.floor(Te/$e*100);N0.to(ee,{progress:Xe,onUpdate:()=>{A.value=Math.floor(ee.progress)}})});const Ge=()=>J2(this,null,function*(){var z2,Te;D||Z||(Z=!0,(z2=r.value)==null||z2.loadMap(I),yield A2(),yield Ji(),(Te=r.value)==null||Te.play())});I.instance.on("onLoad",Ge),(T2=I.ready)==null||T2.then(Ge).catch(()=>{D||(M.value={type:"error",text:"地图资源加载失败"})})}function xe(Ge){return J2(this,arguments,function*(Z,ee=o.value){const T2=`${Z}:${ee||""}`,z2=p.value[T2];if(z2){Oe(z2,Z);return}const Te=++P;u.value=!0,l.value="loading";const $e=yield Sm(Z,ee);D||Te!==P||Z===a.value&&(ee||"")===(o.value||"")&&(p.value=Z2(b2({},p.value),{[T2]:$e}),Oe($e,Z))})}function Oe(Z,ee){var T2,z2,Te;const Ge=f2(Z);s.value=Ge.core||[],c.value=Ge.left||{title:"业务统计",rows:[]},d.value=Ge.right||{title:"业务统计",rows:[]},h.value=(T2=Ge.leftPanels)!=null&&T2.length?Ge.leftPanels:[c.value],f.value=(z2=Ge.rightPanels)!=null&&z2.length?Ge.rightPanels:[d.value],l.value=Ge.status,u.value=!1,i("topic-stats",{topicKey:ee,topicName:YH(ee).name,items:((Te=Ge.top)!=null&&Te.length?Ge.top:Ge.core||[]).slice(0,4)})}function f2(Z){return Z||{}}function B2(Z,ee){return`${a.value}-${ee}-${(Z==null?void 0:Z.key)||(Z==null?void 0:Z.title)||"panel"}`}function S2(Z){var Ge;const ee=((Ge=Z==null?void 0:Z.rows)==null?void 0:Ge.length)||0;return(Z==null?void 0:Z.span)===1?!1:(Z==null?void 0:Z.span)===2?!0:(Z==null?void 0:Z.type)==="spotlight"||(Z==null?void 0:Z.type)==="metric"||(Z==null?void 0:Z.type)==="column"&&ee<=5?!1:(Z==null?void 0:Z.type)==="rank"&&ee>4||(Z==null?void 0:Z.type)==="split"&&ee>4||(Z==null?void 0:Z.type)==="donut"&&ee>5||(Z==null?void 0:Z.type)==="structure"&&ee>4||(Z==null?void 0:Z.type)==="bar"&&ee>4||(Z==null?void 0:Z.type)==="line"&&ee>6}function p2(Z){return S2(Z)?K.value:Y.value}function X2(Z){var z2;const ee=(Z==null?void 0:Z.properties)||{},Ge=Object.keys(ee).filter(Te=>{const $e=ee[Te];if($e==null||$e==="")return!1;const Xe=Te.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(Xe)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(Xe))}),T2=!!((z2=Z==null?void 0:Z.feature)!=null&&z2.geometry||Z!=null&&Z.geometry);return Ge.length+(T2?1:0)}function w2(T2,z2){return J2(this,arguments,function*(Z,ee,Ge=G.value){const Te=++E;if(!ee||!Ce(ee,Ge)){m.value=R2(Z,ee);return}const $e=yield gGe(Z,ee,Ge);D||Te!==E||Z!==a.value||ee!==o.value||((Ge==null?void 0:Ge.key)||"")===v.value&&(m.value=$e)})}function Ce(Z,ee=null){return!!(ee!=null&&ee.key)||F.has(Z)}function R2(Z,ee){return{status:"disabled",topicKey:Z,layerKey:ee,title:"",unit:"",rows:[]}}function v2(Z){var Ge,T2;const ee=(T2=(Ge=Z==null?void 0:Z.feature)!=null?Ge:Z)!=null?T2:null;if(!ee){k();return}g.value=ee,_.value=!1,Z!=null&&Z.screen&&(x.value=Z.screen)}function O2(Z){M.value=Z}function k(){var Z,ee;g.value=null,_.value=!1,x.value=null,(ee=(Z=r.value)==null?void 0:Z.clearSelectedFeature)==null||ee.call(Z)}function _2(Z){if(!ae.value)return;const ee=document.querySelector(".fgw-map-feature-info"),Ge=Z.target;ee&&Ge instanceof Node&&ee.contains(Ge)||k()}function A2(){return C.value?new Promise(Z=>{N0.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{C.value=!1,Z()}})}):Promise.resolve()}return(Z,ee)=>{var Ge;return Ae(),Pe("div",AUe,[ft(iu,{ref_key:"mapSceneRef",ref:r,"active-layer":W.value,"map-ranking":m.value,onFeatureLoading:ee[0]||(ee[0]=T2=>S.value=T2),onFeatureInfo:v2,onLayerStatus:O2},null,8,["active-layer","map-ranking"]),B("div",CUe,[B("div",MUe,[B("div",EUe,[(Ae(!0),Pe(bt,null,Nt(h.value,T2=>(Ae(),Gn(M3,{key:B2(T2,"left"),class:Xt(["fgw-side-card left-card",{"is-double":S2(T2)}]),title:T2.title,width:398,height:p2(T2)},{default:m3(()=>[ft(Ar,{panel:T2,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),B("div",PUe,[B("div",RUe,[(Ae(!0),Pe(bt,null,Nt(f.value,T2=>(Ae(),Gn(M3,{key:B2(T2,"right"),class:Xt(["fgw-side-card right-card",{"is-double":S2(T2)}]),title:T2.title,width:398,height:p2(T2)},{default:m3(()=>[ft(Ar,{panel:T2,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),B("div",LUe,[ft(HR,{modelValue:o.value,"onUpdate:modelValue":ee[1]||(ee[1]=T2=>o.value=T2),"selected-legend-key":v.value,"onUpdate:selectedLegendKey":ee[2]||(ee[2]=T2=>v.value=T2),"topic-key":a.value,legends:((Ge=W.value)==null?void 0:Ge.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])]),ae.value?(Ae(),Pe("div",{key:0,class:"fgw-map-feature-info",style:J3(he.value)},[ft(r2e,{feature:g.value,empty:_.value,loading:S.value,width:460,height:ie.value},null,8,["feature","empty","loading","height"])],4)):Lt("",!0),B("div",IUe,[ft(__,{modelValue:a.value,"onUpdate:modelValue":ee[3]||(ee[3]=T2=>a.value=T2)},null,8,["modelValue"])])]),C.value?(Ae(),Pe("div",DUe,[ee[5]||(ee[5]=f8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),B("div",NUe,[B("span",kUe,Fe(A.value),1),ee[4]||(ee[4]=B("span",{class:"unit"},"%",-1))])])):Lt("",!0)])}}};function OUe(n){n("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),n("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),n("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var e=1;e<=60;++e)n("EPSG:"+(32600+e),"+proj=utm +zone="+e+" +datum=WGS84 +units=m"),n("EPSG:"+(32700+e),"+proj=utm +zone="+e+" +south +datum=WGS84 +units=m");n("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n.WGS84=n["EPSG:4326"],n["EPSG:3785"]=n["EPSG:3857"],n.GOOGLE=n["EPSG:3857"],n["EPSG:900913"]=n["EPSG:3857"],n["EPSG:102113"]=n["EPSG:3857"]}var $8=1,q8=2,e7=3,BUe=4,pM=5,_W=6378137,zUe=6356752314e-3,SW=.0066943799901413165,sd=484813681109536e-20,vt=Math.PI/2,GUe=.16666666666666666,UUe=.04722222222222222,VUe=.022156084656084655,Et=1e-10,I0=.017453292519943295,Ki=57.29577951308232,N1=Math.PI/4,uh=Math.PI*2,H0=3.14159265359,hr={};hr.greenwich=0;hr.lisbon=-9.131906111111;hr.paris=2.337229166667;hr.bogota=-74.080916666667;hr.madrid=-3.687938888889;hr.rome=12.452333333333;hr.bern=7.439583333333;hr.jakarta=106.807719444444;hr.ferro=-17.666666666667;hr.brussels=4.367975;hr.stockholm=18.058277777778;hr.athens=23.7163375;hr.oslo=10.722916666667;const HUe={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var bW=/[\s_\-\/\(\)]/g;function F5(n,e){if(n[e])return n[e];for(var t=Object.keys(n),i=e.toLowerCase().replace(bW,""),r=-1,a,o;++r<t.length;)if(a=t[r],o=a.toLowerCase().replace(bW,""),o===i)return n[a]}function vM(n){var e={},t=n.split("+").map(function(s){return s.trim()}).filter(function(s){return s}).reduce(function(s,l){var u=l.split("=");return u.push(!0),s[u[0].toLowerCase()]=u[1],s},{}),i,r,a,o={proj:"projName",datum:"datumCode",rf:function(s){e.rf=parseFloat(s)},lat_0:function(s){e.lat0=s*I0},lat_1:function(s){e.lat1=s*I0},lat_2:function(s){e.lat2=s*I0},lat_ts:function(s){e.lat_ts=s*I0},lon_0:function(s){e.long0=s*I0},lon_1:function(s){e.long1=s*I0},lon_2:function(s){e.long2=s*I0},alpha:function(s){e.alpha=parseFloat(s)*I0},gamma:function(s){e.rectified_grid_angle=parseFloat(s)*I0},lonc:function(s){e.longc=s*I0},x_0:function(s){e.x0=parseFloat(s)},y_0:function(s){e.y0=parseFloat(s)},k_0:function(s){e.k0=parseFloat(s)},k:function(s){e.k0=parseFloat(s)},a:function(s){e.a=parseFloat(s)},b:function(s){e.b=parseFloat(s)},r:function(s){e.a=e.b=parseFloat(s)},r_a:function(){e.R_A=!0},zone:function(s){e.zone=parseInt(s,10)},south:function(){e.utmSouth=!0},towgs84:function(s){e.datum_params=s.split(",").map(function(l){return parseFloat(l)})},to_meter:function(s){e.to_meter=parseFloat(s)},units:function(s){e.units=s;var l=F5(HUe,s);l&&(e.to_meter=l.to_meter)},from_greenwich:function(s){e.from_greenwich=s*I0},pm:function(s){var l=F5(hr,s);e.from_greenwich=(l||parseFloat(s))*I0},nadgrids:function(s){s==="@null"?e.datumCode="none":e.nadgrids=s},axis:function(s){var l="ewnsud";s.length===3&&l.indexOf(s.substr(0,1))!==-1&&l.indexOf(s.substr(1,1))!==-1&&l.indexOf(s.substr(2,1))!==-1&&(e.axis=s)},approx:function(){e.approx=!0},over:function(){e.over=!0}};for(i in t)r=t[i],i in o?(a=o[i],typeof a=="function"?a(r):e[a]=r):e[i]=r;return typeof e.datumCode=="string"&&e.datumCode!=="WGS84"&&(e.datumCode=e.datumCode.toLowerCase()),e.projStr=n,e}class a2e{static getId(e){const t=e.find(i=>Array.isArray(i)&&i[0]==="ID");return t&&t.length>=3?{authority:t[1],code:parseInt(t[2],10)}:null}static convertUnit(e,t="unit"){if(!e||e.length<3)return{type:t,name:"unknown",conversion_factor:null};const i=e[1],r=parseFloat(e[2])||null,a=e.find(s=>Array.isArray(s)&&s[0]==="ID"),o=a?{authority:a[1],code:parseInt(a[2],10)}:null;return{type:t,name:i,conversion_factor:r,id:o}}static convertAxis(e){const t=e[1]||"Unknown";let i;const r=t.match(/^\((.)\)$/);if(r){const u=r[1].toUpperCase();if(u==="E")i="east";else if(u==="N")i="north";else if(u==="U")i="up";else if(e[2])i=e[2];else throw new Error(`Unknown axis abbreviation: ${u}`)}else i=e[2]||"unknown";const a=e.find(u=>Array.isArray(u)&&u[0]==="ORDER"),o=a?parseInt(a[1],10):null,s=e.find(u=>Array.isArray(u)&&(u[0]==="LENGTHUNIT"||u[0]==="ANGLEUNIT"||u[0]==="SCALEUNIT")),l=this.convertUnit(s);return{name:t,direction:i,unit:l,order:o}}static extractAxes(e){return e.filter(t=>Array.isArray(t)&&t[0]==="AXIS").map(t=>this.convertAxis(t)).sort((t,i)=>(t.order||0)-(i.order||0))}static convert(e,t={}){switch(e[0]){case"PROJCRS":t.type="ProjectedCRS",t.name=e[1],t.base_crs=e.find(h=>Array.isArray(h)&&h[0]==="BASEGEOGCRS")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="BASEGEOGCRS")):null,t.conversion=e.find(h=>Array.isArray(h)&&h[0]==="CONVERSION")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="CONVERSION")):null;const i=e.find(h=>Array.isArray(h)&&h[0]==="CS");i&&(t.coordinate_system={type:i[1],axis:this.extractAxes(e)});const r=e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT");if(r){const h=this.convertUnit(r);t.coordinate_system.unit=h}t.id=this.getId(e);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":t.type=e[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",t.name=e[1];const a=e.find(h=>Array.isArray(h)&&(h[0]==="DATUM"||h[0]==="ENSEMBLE"));if(a){const h=this.convert(a);a[0]==="ENSEMBLE"?t.datum_ensemble=h:t.datum=h;const f=e.find(p=>Array.isArray(p)&&p[0]==="PRIMEM");f&&f[1]!=="Greenwich"&&(h.prime_meridian={name:f[1],longitude:parseFloat(f[2])})}t.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(e)},t.id=this.getId(e);break;case"DATUM":t.type="GeodeticReferenceFrame",t.name=e[1],t.ellipsoid=e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":t.type="DatumEnsemble",t.name=e[1],t.members=e.filter(h=>Array.isArray(h)&&h[0]==="MEMBER").map(h=>({type:"DatumEnsembleMember",name:h[1],id:this.getId(h)}));const o=e.find(h=>Array.isArray(h)&&h[0]==="ENSEMBLEACCURACY");o&&(t.accuracy=parseFloat(o[1]));const s=e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID");s&&(t.ellipsoid=this.convert(s)),t.id=this.getId(e);break;case"ELLIPSOID":t.type="Ellipsoid",t.name=e[1],t.semi_major_axis=parseFloat(e[2]),t.inverse_flattening=parseFloat(e[3]),e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT")&&this.convert(e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT"),t);break;case"CONVERSION":t.type="Conversion",t.name=e[1],t.method=e.find(h=>Array.isArray(h)&&h[0]==="METHOD")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="METHOD")):null,t.parameters=e.filter(h=>Array.isArray(h)&&h[0]==="PARAMETER").map(h=>this.convert(h));break;case"METHOD":t.type="Method",t.name=e[1],t.id=this.getId(e);break;case"PARAMETER":t.type="Parameter",t.name=e[1],t.value=parseFloat(e[2]),t.unit=this.convertUnit(e.find(h=>Array.isArray(h)&&(h[0]==="LENGTHUNIT"||h[0]==="ANGLEUNIT"||h[0]==="SCALEUNIT"))),t.id=this.getId(e);break;case"BOUNDCRS":t.type="BoundCRS";const l=e.find(h=>Array.isArray(h)&&h[0]==="SOURCECRS");if(l){const h=l.find(f=>Array.isArray(f));t.source_crs=h?this.convert(h):null}const u=e.find(h=>Array.isArray(h)&&h[0]==="TARGETCRS");if(u){const h=u.find(f=>Array.isArray(f));t.target_crs=h?this.convert(h):null}const c=e.find(h=>Array.isArray(h)&&h[0]==="ABRIDGEDTRANSFORMATION");c?t.transformation=this.convert(c):t.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(t.type="Transformation",t.name=e[1],t.method=e.find(h=>Array.isArray(h)&&h[0]==="METHOD")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="METHOD")):null,t.parameters=e.filter(h=>Array.isArray(h)&&(h[0]==="PARAMETER"||h[0]==="PARAMETERFILE")).map(h=>{if(h[0]==="PARAMETER")return this.convert(h);if(h[0]==="PARAMETERFILE")return{name:h[1],value:h[2],id:{authority:"EPSG",code:8656}}}),t.parameters.length===7){const h=t.parameters[6];h.name==="Scale difference"&&(h.value=Math.round((h.value-1)*1e12)/1e6)}t.id=this.getId(e);break;case"AXIS":t.coordinate_system||(t.coordinate_system={type:"unspecified",axis:[]}),t.coordinate_system.axis.push(this.convertAxis(e));break;case"LENGTHUNIT":const d=this.convertUnit(e,"LinearUnit");t.coordinate_system&&t.coordinate_system.axis&&t.coordinate_system.axis.forEach(h=>{h.unit||(h.unit=d)}),d.conversion_factor&&d.conversion_factor!==1&&t.semi_major_axis&&(t.semi_major_axis={value:t.semi_major_axis,unit:d});break;default:t.keyword=e[0];break}return t}}class WUe extends a2e{static convert(e,t={}){return super.convert(e,t),t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"&&delete t.coordinate_system,t.usage&&delete t.usage,t}}class jUe extends a2e{static convert(e,t={}){super.convert(e,t);const i=e.find(a=>Array.isArray(a)&&a[0]==="CS");i&&(t.coordinate_system={subtype:i[1],axis:this.extractAxes(e)});const r=e.find(a=>Array.isArray(a)&&a[0]==="USAGE");if(r){const a=r.find(l=>Array.isArray(l)&&l[0]==="SCOPE"),o=r.find(l=>Array.isArray(l)&&l[0]==="AREA"),s=r.find(l=>Array.isArray(l)&&l[0]==="BBOX");t.usage={},a&&(t.usage.scope=a[1]),o&&(t.usage.area=o[1]),s&&(t.usage.bbox=s.slice(1))}return t}}function $Ue(n){return n.find(e=>Array.isArray(e)&&e[0]==="USAGE")?"2019":(n.find(e=>Array.isArray(e)&&e[0]==="CS")||n[0]==="BOUNDCRS"||n[0]==="PROJCRS"||n[0]==="GEOGCRS","2015")}function qUe(n){return($Ue(n)==="2019"?jUe:WUe).convert(n)}function XUe(n){const e=n.toUpperCase();return e.includes("PROJCRS")||e.includes("GEOGCRS")||e.includes("BOUNDCRS")||e.includes("VERTCRS")||e.includes("LENGTHUNIT")||e.includes("ANGLEUNIT")||e.includes("SCALEUNIT")?"WKT2":(e.includes("PROJCS")||e.includes("GEOGCS")||e.includes("LOCAL_CS")||e.includes("VERT_CS")||e.includes("UNIT"),"WKT1")}var ch=1,o2e=2,s2e=3,Jg=4,l2e=5,WR=-1,YUe=/\s/,KUe=/[A-Za-z]/,ZUe=/[A-Za-z84_]/,S_=/[,\]]/,u2e=/[\d\.E\-\+]/;function a6(n){if(typeof n!="string")throw new Error("not a string");this.text=n.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=ch}a6.prototype.readCharicter=function(){var n=this.text[this.place++];if(this.state!==Jg)for(;YUe.test(n);){if(this.place>=this.text.length)return;n=this.text[this.place++]}switch(this.state){case ch:return this.neutral(n);case o2e:return this.keyword(n);case Jg:return this.quoted(n);case l2e:return this.afterquote(n);case s2e:return this.number(n);case WR:return}};a6.prototype.afterquote=function(n){if(n==='"'){this.word+='"',this.state=Jg;return}if(S_.test(n)){this.word=this.word.trim(),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in afterquote yet, index '+this.place)};a6.prototype.afterItem=function(n){if(n===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=ch;return}if(n==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=ch,this.currentObject=this.stack.pop(),this.currentObject||(this.state=WR);return}};a6.prototype.number=function(n){if(u2e.test(n)){this.word+=n;return}if(S_.test(n)){this.word=parseFloat(this.word),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in number yet, index '+this.place)};a6.prototype.quoted=function(n){if(n==='"'){this.state=l2e;return}this.word+=n};a6.prototype.keyword=function(n){if(ZUe.test(n)){this.word+=n;return}if(n==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=ch;return}if(S_.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in keyword yet, index '+this.place)};a6.prototype.neutral=function(n){if(KUe.test(n)){this.word=n,this.state=o2e;return}if(n==='"'){this.word="",this.state=Jg;return}if(u2e.test(n)){this.word=n,this.state=s2e;return}if(S_.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in neutral yet, index '+this.place)};a6.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===WR)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function JUe(n){var e=new a6(n);return e.output()}function wT(n,e,t){Array.isArray(e)&&(t.unshift(e),e=null);var i=e?{}:n,r=t.reduce(function(a,o){return Fl(o,a),a},i);e&&(n[e]=r)}function Fl(n,e){if(!Array.isArray(n)){e[n]=!0;return}var t=n.shift();if(t==="PARAMETER"&&(t=n.shift()),n.length===1){if(Array.isArray(n[0])){e[t]={},Fl(n[0],e[t]);return}e[t]=n[0];return}if(!n.length){e[t]=!0;return}if(t==="TOWGS84"){e[t]=n;return}if(t==="AXIS"){t in e||(e[t]=[]),e[t].push(n);return}Array.isArray(t)||(e[t]={});var i;switch(t){case"UNIT":case"PRIMEM":case"VERT_DATUM":e[t]={name:n[0].toLowerCase(),convert:n[1]},n.length===3&&Fl(n[2],e[t]);return;case"SPHEROID":case"ELLIPSOID":e[t]={name:n[0],a:n[1],rf:n[2]},n.length===4&&Fl(n[3],e[t]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":n[0]=["name",n[0]],wT(e,t,n);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":n[0]=["name",n[0]],wT(e,t,n),e[t].type=t;return;default:for(i=-1;++i<n.length;)if(!Array.isArray(n[i]))return Fl(n,e[t]);return wT(e,t,n)}}var QUe=.017453292519943295;function na(n){return n*QUe}function c2e(n){const e=(n.projName||"").toLowerCase().replace(/_/g," ");n.long0===void 0&&n.longc!==void 0&&(n.long0=n.longc),!n.lat_ts&&n.lat1&&(e==="stereographic south pole"||e==="polar stereographic (variant b)")?(n.lat0=na(n.lat1>0?90:-90),n.lat_ts=n.lat1,delete n.lat1):!n.lat_ts&&n.lat0&&(e==="polar stereographic"||e==="polar stereographic (variant a)")&&(n.lat_ts=n.lat0,n.lat0=na(n.lat0>0?90:-90),delete n.lat1)}function xW(n){let e={units:null,to_meter:void 0};return typeof n=="string"?(e.units=n.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.units==="meter"&&(e.to_meter=1)):n&&n.name&&(e.units=n.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.to_meter=n.conversion_factor),e}function wW(n){return typeof n=="object"?n.value*n.unit.conversion_factor:n}function TW(n,e){n.ellipsoid.radius?(e.a=n.ellipsoid.radius,e.rf=0):(e.a=wW(n.ellipsoid.semi_major_axis),n.ellipsoid.inverse_flattening!==void 0?e.rf=n.ellipsoid.inverse_flattening:n.ellipsoid.semi_major_axis!==void 0&&n.ellipsoid.semi_minor_axis!==void 0&&(e.rf=e.a/(e.a-wW(n.ellipsoid.semi_minor_axis))))}function Qg(n,e={}){return!n||typeof n!="object"?n:n.type==="BoundCRS"?(Qg(n.source_crs,e),n.transformation&&(n.transformation.method&&n.transformation.method.name==="NTv2"?e.nadgrids=n.transformation.parameters[0].value:e.datum_params=n.transformation.parameters.map(t=>t.value)),e):(Object.keys(n).forEach(t=>{const i=n[t];if(i!==null)switch(t){case"name":if(e.srsCode)break;e.name=i,e.srsCode=i;break;case"type":i==="GeographicCRS"?e.projName="longlat":i==="GeodeticCRS"?n.coordinate_system&&n.coordinate_system.subtype==="Cartesian"?e.projName="geocent":e.projName="longlat":i==="ProjectedCRS"&&n.conversion&&n.conversion.method&&(e.projName=n.conversion.method.name);break;case"datum":case"datum_ensemble":i.ellipsoid&&(e.ellps=i.ellipsoid.name,TW(i,e)),i.prime_meridian&&(e.from_greenwich=i.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=i.name,TW(i,e);break;case"prime_meridian":e.long0=(i.longitude||0)*Math.PI/180;break;case"coordinate_system":if(i.axis){const r={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},a=i.axis.map(o=>r[o.direction.toLowerCase()]);if(a.every(Boolean)&&(e.axis=a.join(""),e.axis.length===2&&(e.axis+="u")),i.unit){const{units:o,to_meter:s}=xW(i.unit);e.units=o,e.to_meter=s}else if(i.axis[0]&&i.axis[0].unit){const{units:o,to_meter:s}=xW(i.axis[0].unit);e.units=o,e.to_meter=s}}break;case"id":i.authority&&i.code&&(e.title=i.authority+":"+i.code);break;case"conversion":i.method&&i.method.name&&(e.projName=i.method.name),i.parameters&&i.parameters.forEach(r=>{const a=r.name.toLowerCase().replace(/\s+/g,"_"),o=r.value;r.unit&&r.unit.conversion_factor?e[a]=o*r.unit.conversion_factor:r.unit==="degree"?e[a]=o*Math.PI/180:e[a]=o});break;case"unit":i.name&&(e.units=i.name.toLowerCase(),e.units==="metre"&&(e.units="meter")),i.conversion_factor&&(e.to_meter=i.conversion_factor);break;case"base_crs":Qg(i,e),e.datumCode=i.id?i.id.authority+"_"+i.id.code:i.name;break}}),e.latitude_of_false_origin!==void 0&&(e.lat0=e.latitude_of_false_origin),e.longitude_of_false_origin!==void 0&&(e.long0=e.longitude_of_false_origin),e.latitude_of_standard_parallel!==void 0&&(e.lat0=e.latitude_of_standard_parallel,e.lat1=e.latitude_of_standard_parallel),e.latitude_of_1st_standard_parallel!==void 0&&(e.lat1=e.latitude_of_1st_standard_parallel),e.latitude_of_2nd_standard_parallel!==void 0&&(e.lat2=e.latitude_of_2nd_standard_parallel),e.latitude_of_projection_centre!==void 0&&(e.lat0=e.latitude_of_projection_centre),e.longitude_of_projection_centre!==void 0&&(e.longc=e.longitude_of_projection_centre),e.easting_at_false_origin!==void 0&&(e.x0=e.easting_at_false_origin),e.northing_at_false_origin!==void 0&&(e.y0=e.northing_at_false_origin),e.latitude_of_natural_origin!==void 0&&(e.lat0=e.latitude_of_natural_origin),e.longitude_of_natural_origin!==void 0&&(e.long0=e.longitude_of_natural_origin),e.longitude_of_origin!==void 0&&(e.long0=e.longitude_of_origin),e.false_easting!==void 0&&(e.x0=e.false_easting),e.easting_at_projection_centre&&(e.x0=e.easting_at_projection_centre),e.false_northing!==void 0&&(e.y0=e.false_northing),e.northing_at_projection_centre&&(e.y0=e.northing_at_projection_centre),e.standard_parallel_1!==void 0&&(e.lat1=e.standard_parallel_1),e.standard_parallel_2!==void 0&&(e.lat2=e.standard_parallel_2),e.scale_factor_at_natural_origin!==void 0&&(e.k0=e.scale_factor_at_natural_origin),e.scale_factor_at_projection_centre!==void 0&&(e.k0=e.scale_factor_at_projection_centre),e.scale_factor_on_pseudo_standard_parallel!==void 0&&(e.k0=e.scale_factor_on_pseudo_standard_parallel),e.azimuth!==void 0&&(e.alpha=e.azimuth),e.azimuth_at_projection_centre!==void 0&&(e.alpha=e.azimuth_at_projection_centre),e.angle_from_rectified_to_skew_grid&&(e.rectified_grid_angle=e.angle_from_rectified_to_skew_grid),c2e(e),e)}var eVe=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function tVe(n,e){var t=e[0],i=e[1];!(t in n)&&i in n&&(n[t]=n[i],e.length===3&&(n[t]=e[2](n[t])))}function d2e(n){for(var e=Object.keys(n),t=0,i=e.length;t<i;++t){var r=e[t];eVe.indexOf(r)!==-1&&nVe(n[r]),typeof n[r]=="object"&&d2e(n[r])}}function nVe(n){if(n.AUTHORITY){var e=Object.keys(n.AUTHORITY)[0];e&&e in n.AUTHORITY&&(n.title=e+":"+n.AUTHORITY[e])}if(n.type==="GEOGCS"?n.projName="longlat":n.type==="LOCAL_CS"?(n.projName="identity",n.local=!0):typeof n.PROJECTION=="object"?n.projName=Object.keys(n.PROJECTION)[0]:n.projName=n.PROJECTION,n.AXIS){for(var t="",i=0,r=n.AXIS.length;i<r;++i){var a=[n.AXIS[i][0].toLowerCase(),n.AXIS[i][1].toLowerCase()];a[0].indexOf("north")!==-1||(a[0]==="y"||a[0]==="lat")&&a[1]==="north"?t+="n":a[0].indexOf("south")!==-1||(a[0]==="y"||a[0]==="lat")&&a[1]==="south"?t+="s":a[0].indexOf("east")!==-1||(a[0]==="x"||a[0]==="lon")&&a[1]==="east"?t+="e":(a[0].indexOf("west")!==-1||(a[0]==="x"||a[0]==="lon")&&a[1]==="west")&&(t+="w")}t.length===2&&(t+="u"),t.length===3&&(n.axis=t)}n.UNIT&&(n.units=n.UNIT.name.toLowerCase(),n.units==="metre"&&(n.units="meter"),n.UNIT.convert&&(n.type==="GEOGCS"?n.DATUM&&n.DATUM.SPHEROID&&(n.to_meter=n.UNIT.convert*n.DATUM.SPHEROID.a):n.to_meter=n.UNIT.convert));var o=n.GEOGCS;n.type==="GEOGCS"&&(o=n),o&&(o.PRIMEM&&o.PRIMEM.convert&&(n.from_greenwich=na(o.PRIMEM.convert)),o.DATUM?n.datumCode=o.DATUM.name.toLowerCase():n.datumCode=o.name.toLowerCase(),n.datumCode.slice(0,2)==="d_"&&(n.datumCode=n.datumCode.slice(2)),n.datumCode==="new_zealand_1949"&&(n.datumCode="nzgd49"),(n.datumCode==="wgs_1984"||n.datumCode==="world_geodetic_system_1984")&&(n.PROJECTION==="Mercator_Auxiliary_Sphere"&&(n.sphere=!0),n.datumCode="wgs84"),n.datumCode==="belge_1972"&&(n.datumCode="rnb72"),o.DATUM&&o.DATUM.SPHEROID&&(n.ellps=o.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),n.ellps.toLowerCase().slice(0,13)==="international"&&(n.ellps="intl"),n.a=o.DATUM.SPHEROID.a,n.rf=parseFloat(o.DATUM.SPHEROID.rf)),o.DATUM&&o.DATUM.TOWGS84&&(n.datum_params=o.DATUM.TOWGS84),~n.datumCode.indexOf("osgb_1936")&&(n.datumCode="osgb36"),~n.datumCode.indexOf("osni_1952")&&(n.datumCode="osni52"),(~n.datumCode.indexOf("tm65")||~n.datumCode.indexOf("geodetic_datum_of_1965"))&&(n.datumCode="ire65"),n.datumCode==="ch1903+"&&(n.datumCode="ch1903"),~n.datumCode.indexOf("israel")&&(n.datumCode="isr93")),n.b&&!isFinite(n.b)&&(n.b=n.a),n.rectified_grid_angle&&(n.rectified_grid_angle=na(n.rectified_grid_angle));function s(c){var d=n.to_meter||1;return c*d}var l=function(c){return tVe(n,c)},u=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",na],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",na],["x0","false_easting",s],["y0","false_northing",s],["long0","central_meridian",na],["lat0","latitude_of_origin",na],["lat0","standard_parallel_1",na],["lat1","standard_parallel_1",na],["lat2","standard_parallel_2",na],["azimuth","Azimuth"],["alpha","azimuth",na],["srsCode","name"]];u.forEach(l),c2e(n)}function ey(n){if(typeof n=="object")return Qg(n);const e=XUe(n);var t=JUe(n);if(e==="WKT2"){const a=qUe(t);return Qg(a)}var i=t[0],r={};return Fl(t,r),d2e(r),r[i]}function Bn(n){var e=this;if(arguments.length===2){var t=arguments[1];typeof t=="string"?t.charAt(0)==="+"?Bn[n]=vM(arguments[1]):Bn[n]=ey(arguments[1]):t&&typeof t=="object"&&!("projName"in t)?Bn[n]=ey(arguments[1]):(Bn[n]=t,t||delete Bn[n])}else if(arguments.length===1){if(Array.isArray(n))return n.map(function(i){return Array.isArray(i)?Bn.apply(e,i):Bn(i)});if(typeof n=="string"){if(n in Bn)return Bn[n]}else"EPSG"in n?Bn["EPSG:"+n.EPSG]=n:"ESRI"in n?Bn["ESRI:"+n.ESRI]=n:"IAU2000"in n?Bn["IAU2000:"+n.IAU2000]=n:console.log(n);return}}OUe(Bn);function iVe(n){return typeof n=="string"}function rVe(n){return n in Bn}function aVe(n){return n.indexOf("+")!==0&&n.indexOf("[")!==-1||typeof n=="object"&&!("srsCode"in n)}var AW=["3857","900913","3785","102113"];function oVe(n){if(n.title)return n.title.toLowerCase().indexOf("epsg:")===0&&AW.indexOf(n.title.substr(5))>-1;var e=F5(n,"authority");if(e){var t=F5(e,"epsg");return t&&AW.indexOf(t)>-1}}function sVe(n){var e=F5(n,"extension");if(e)return F5(e,"proj4")}function lVe(n){return n[0]==="+"}function uVe(n){let e;if(iVe(n))if(rVe(n))e=Bn[n];else if(aVe(n)){e=ey(n);var t=sVe(e);t&&(e=vM(t))}else lVe(n)&&(e=vM(n));else"projName"in n?e=n:e=ey(n);return e&&oVe(e)?Bn["EPSG:3857"]:e}function CW(n,e){n=n||{};var t,i;if(!e)return n;for(i in e)t=e[i],t!==void 0&&(n[i]=t);return n}function es(n,e,t){var i=n*e;return t/Math.sqrt(1-i*i)}function zh(n){return n<0?-1:1}function It(n,e){return e||Math.abs(n)<=H0?n:n-zh(n)*uh}function eo(n,e,t){var i=n*t,r=.5*n;return i=Math.pow((1-i)/(1+i),r),Math.tan(.5*(vt-e))/i}function dh(n,e){for(var t=.5*n,i,r,a=vt-2*Math.atan(e),o=0;o<=15;o++)if(i=n*Math.sin(a),r=vt-2*Math.atan(e*Math.pow((1-i)/(1+i),t))-a,a+=r,Math.abs(r)<=1e-10)return a;return-9999}function cVe(){var n=this.b/this.a;this.es=1-n*n,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=es(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function dVe(n){var e=n.x,t=n.y;if(t*Ki>90&&t*Ki<-90&&e*Ki>180&&e*Ki<-180)return null;var i,r;if(Math.abs(Math.abs(t)-vt)<=Et)return null;if(this.sphere)i=this.x0+this.a*this.k0*It(e-this.long0,this.over),r=this.y0+this.a*this.k0*Math.log(Math.tan(N1+.5*t));else{var a=Math.sin(t),o=eo(this.e,t,a);i=this.x0+this.a*this.k0*It(e-this.long0,this.over),r=this.y0-this.a*this.k0*Math.log(o)}return n.x=i,n.y=r,n}function hVe(n){var e=n.x-this.x0,t=n.y-this.y0,i,r;if(this.sphere)r=vt-2*Math.atan(Math.exp(-t/(this.a*this.k0)));else{var a=Math.exp(-t/(this.a*this.k0));if(r=dh(this.e,a),r===-9999)return null}return i=It(this.long0+e/(this.a*this.k0),this.over),n.x=i,n.y=r,n}var fVe=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const pVe={init:cVe,forward:dVe,inverse:hVe,names:fVe};function vVe(){}function MW(n){return n}var h2e=["longlat","identity"];const mVe={init:vVe,forward:MW,inverse:MW,names:h2e};var gVe=[pVe,mVe],q9={},Ol=[];function f2e(n,e){var t=Ol.length;return n.names?(Ol[t]=n,n.names.forEach(function(i){q9[i.toLowerCase()]=t}),this):(console.log(e),!0)}function p2e(n){return n.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function yVe(n){if(!n)return!1;var e=n.toLowerCase();if(typeof q9[e]!="undefined"&&Ol[q9[e]]||(e=p2e(e),e in q9&&Ol[q9[e]]))return Ol[q9[e]]}function _Ve(){gVe.forEach(f2e)}const SVe={start:_Ve,add:f2e,get:yVe};var v2e={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const bVe=v2e.WGS84;function xVe(n,e,t,i){var r=n*n,a=e*e,o=(r-a)/r,s=0;i?(n*=1-o*(GUe+o*(UUe+o*VUe)),r=n*n,o=0):s=Math.sqrt(o);var l=(r-a)/a;return{es:o,e:s,ep2:l}}function wVe(n,e,t,i,r){if(!n){var a=F5(v2e,i);a||(a=bVe),n=a.a,e=a.b,t=a.rf}return t&&!e&&(e=(1-1/t)*n),(t===0||Math.abs(n-e)<Et)&&(r=!0,e=n),{a:n,b:e,rf:t,sphere:r}}var bm={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-0.395026,0.330772,-1.876073,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243648,-1.158828,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,6.681627,-31.611492,-19.848161,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-0.008393,0.000749,-0.010276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,0.02579,0.00965,0.01166,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"0.06155,-0.01087,-0.04019,0.039492,0.032722,0.032898,-0.009994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.309248,0.324822,0.497299,5.689063"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"372.87,149.23,585.29"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"},EPSG_10328:{towgs84:"0,0,0"},EPSG_9782:{towgs84:"0,0,0"},EPSG_9777:{towgs84:"0,0,0"},EPSG_10690:{towgs84:"0,0,0"},EPSG_10639:{towgs84:"0,0,0"},EPSG_10739:{towgs84:"0,0,0"},EPSG_7686:{towgs84:"0,0,0"},EPSG_8900:{towgs84:"0,0,0"},EPSG_5886:{towgs84:"0,0,0"},EPSG_7683:{towgs84:"0,0,0"},EPSG_6668:{towgs84:"0,0,0"},EPSG_20046:{towgs84:"0,0,0"},EPSG_10299:{towgs84:"0,0,0"},EPSG_10310:{towgs84:"0,0,0"},EPSG_10475:{towgs84:"0,0,0"},EPSG_4742:{towgs84:"0,0,0"},EPSG_10671:{towgs84:"0,0,0"},EPSG_10762:{towgs84:"0,0,0"},EPSG_10725:{towgs84:"0,0,0"},EPSG_10791:{towgs84:"0,0,0"},EPSG_10800:{towgs84:"0,0,0"},EPSG_10305:{towgs84:"0,0,0"},EPSG_10941:{towgs84:"0,0,0"},EPSG_10968:{towgs84:"0,0,0"},EPSG_10875:{towgs84:"0,0,0"},EPSG_6318:{towgs84:"0,0,0"},EPSG_10910:{towgs84:"0,0,0"}};for(var TVe in bm){var TT=bm[TVe];TT.datumName&&(bm[TT.datumName]=TT)}function AVe(n,e,t,i,r,a,o){var s={};return s.datum_type=pM,e&&(s.datum_type=BUe,s.datum_params=e.map(parseFloat),(s.datum_params[0]!==0||s.datum_params[1]!==0||s.datum_params[2]!==0)&&(s.datum_type=$8),s.datum_params.length>3&&(s.datum_params[3]!==0||s.datum_params[4]!==0||s.datum_params[5]!==0||s.datum_params[6]!==0)&&(s.datum_type=q8,s.datum_params[3]*=sd,s.datum_params[4]*=sd,s.datum_params[5]*=sd,s.datum_params[6]=s.datum_params[6]/1e6+1)),o&&(s.datum_type=e7,s.grids=o),s.a=t,s.b=i,s.es=r,s.ep2=a,s}var jR={};function CVe(n,e,t){return e instanceof ArrayBuffer?MVe(n,e,t):{ready:EVe(n,e)}}function MVe(n,e,t){var i=!0;t!==void 0&&t.includeErrorFields===!1&&(i=!1);var r=new DataView(e),a=LVe(r),o=IVe(r,a),s=DVe(r,o,a,i),l={header:o,subgrids:s};return jR[n]=l,l}function EVe(n,e){return J2(this,null,function*(){for(var t=[],i=yield e.getImageCount(),r=i-1;r>=0;r--){var a=yield e.getImage(r),o=yield a.readRasters(),s=o,l=[a.getWidth(),a.getHeight()],u=a.getBoundingBox().map(EW),c=typeof a.fileDirectory.getValue=="function"?a.fileDirectory.getValue("ModelPixelScale"):a.fileDirectory.ModelPixelScale,d=[c[0],c[1]].map(EW),h=u[0]+(l[0]-1)*d[0],f=u[3]-(l[1]-1)*d[1],p=s[0],m=s[1],v=[];for(let S=l[1]-1;S>=0;S--)for(let x=l[0]-1;x>=0;x--){var g=S*l[0]+x;v.push([-d5(m[g]),d5(p[g])])}t.push({del:d,lim:l,ll:[-h,f],cvs:v})}var _={header:{nSubgrids:i},subgrids:t};return jR[n]=_,_})}function PVe(n){if(n===void 0)return null;var e=n.split(",");return e.map(RVe)}function RVe(n){if(n.length===0)return null;var e=n[0]==="@";return e&&(n=n.slice(1)),n==="null"?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:n,mandatory:!e,grid:jR[n]||null,isNull:!1}}function EW(n){return n*Math.PI/180}function d5(n){return n/3600*Math.PI/180}function LVe(n){var e=n.getInt32(8,!1);return e===11?!1:(e=n.getInt32(8,!0),e!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function IVe(n,e){return{nFields:n.getInt32(8,e),nSubgridFields:n.getInt32(24,e),nSubgrids:n.getInt32(40,e),shiftType:mM(n,56,56+8).trim(),fromSemiMajorAxis:n.getFloat64(120,e),fromSemiMinorAxis:n.getFloat64(136,e),toSemiMajorAxis:n.getFloat64(152,e),toSemiMinorAxis:n.getFloat64(168,e)}}function mM(n,e,t){return String.fromCharCode.apply(null,new Uint8Array(n.buffer.slice(e,t)))}function DVe(n,e,t,i){for(var r=176,a=[],o=0;o<e.nSubgrids;o++){var s=kVe(n,r,t),l=FVe(n,r,s,t,i),u=Math.round(1+(s.upperLongitude-s.lowerLongitude)/s.longitudeInterval),c=Math.round(1+(s.upperLatitude-s.lowerLatitude)/s.latitudeInterval);a.push({ll:[d5(s.lowerLongitude),d5(s.lowerLatitude)],del:[d5(s.longitudeInterval),d5(s.latitudeInterval)],lim:[u,c],count:s.gridNodeCount,cvs:NVe(l)});var d=16;i===!1&&(d=8),r+=176+s.gridNodeCount*d}return a}function NVe(n){return n.map(function(e){return[d5(e.longitudeShift),d5(e.latitudeShift)]})}function kVe(n,e,t){return{name:mM(n,e+8,e+16).trim(),parent:mM(n,e+24,e+24+8).trim(),lowerLatitude:n.getFloat64(e+72,t),upperLatitude:n.getFloat64(e+88,t),lowerLongitude:n.getFloat64(e+104,t),upperLongitude:n.getFloat64(e+120,t),latitudeInterval:n.getFloat64(e+136,t),longitudeInterval:n.getFloat64(e+152,t),gridNodeCount:n.getInt32(e+168,t)}}function FVe(n,e,t,i,r){var a=e+176,o=16;r===!1&&(o=8);for(var s=[],l=0;l<t.gridNodeCount;l++){var u={latitudeShift:n.getFloat32(a+l*o,i),longitudeShift:n.getFloat32(a+l*o+4,i)};r!==!1&&(u.latitudeAccuracy=n.getFloat32(a+l*o+8,i),u.longitudeAccuracy=n.getFloat32(a+l*o+12,i)),s.push(u)}return s}function Aa(n,e){if(!(this instanceof Aa))return new Aa(n);this.forward=null,this.inverse=null,this.init=null,this.name,this.axis,this.names=null,this.title,e=e||function(u){if(u)throw u};var t=uVe(n);if(typeof t!="object"){e("Could not parse to valid json: "+n);return}var i=Aa.projections.get(t.projName);if(!i){e("Could not get projection name from: "+n);return}if(t.datumCode&&t.datumCode!=="none"){var r=F5(bm,t.datumCode);r&&(t.datum_params=t.datum_params||(r.towgs84?r.towgs84.split(","):null),t.ellps=r.ellipse,t.datumName=r.datumName?r.datumName:t.datumCode)}t.k0=t.k0||1,t.axis=t.axis||"enu",t.ellps=t.ellps||"wgs84",t.lat1=t.lat1||t.lat0;var a=wVe(t.a,t.b,t.rf,t.ellps,t.sphere),o=xVe(a.a,a.b,a.rf,t.R_A),s=PVe(t.nadgrids),l=t.datum||AVe(t.datumCode,t.datum_params,a.a,a.b,o.es,o.ep2,s);CW(this,t),CW(this,i),this.a=a.a,this.b=a.b,this.rf=a.rf,this.sphere=a.sphere,this.es=o.es,this.e=o.e,this.ep2=o.ep2,this.datum=l,"init"in this&&typeof this.init=="function"&&this.init(),e(null,this)}Aa.projections=SVe;Aa.projections.start();function OVe(n,e){return n.datum_type!==e.datum_type||n.a!==e.a||Math.abs(n.es-e.es)>5e-11?!1:n.datum_type===$8?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]:n.datum_type===q8?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]&&n.datum_params[3]===e.datum_params[3]&&n.datum_params[4]===e.datum_params[4]&&n.datum_params[5]===e.datum_params[5]&&n.datum_params[6]===e.datum_params[6]:!0}function m2e(n,e,t){var i=n.x,r=n.y,a=n.z?n.z:0,o,s,l,u;if(r<-vt&&r>-1.001*vt)r=-vt;else if(r>vt&&r<1.001*vt)r=vt;else{if(r<-vt)return{x:-1/0,y:-1/0,z:n.z};if(r>vt)return{x:1/0,y:1/0,z:n.z}}return i>Math.PI&&(i-=2*Math.PI),s=Math.sin(r),u=Math.cos(r),l=s*s,o=t/Math.sqrt(1-e*l),{x:(o+a)*u*Math.cos(i),y:(o+a)*u*Math.sin(i),z:(o*(1-e)+a)*s}}function g2e(n,e,t,i){var r=1e-12,a=r*r,o=30,s,l,u,c,d,h,f,p,m,v,g,_,S,x=n.x,A=n.y,C=n.z?n.z:0,M,I,D;if(s=Math.sqrt(x*x+A*A),l=Math.sqrt(x*x+A*A+C*C),s/t<r){if(M=0,l/t<r)return I=vt,D=-i,{x:n.x,y:n.y,z:n.z}}else M=Math.atan2(A,x);u=C/l,c=s/l,d=1/Math.sqrt(1-e*(2-e)*c*c),p=c*(1-e)*d,m=u*d,S=0;do S++,f=t/Math.sqrt(1-e*m*m),D=s*p+C*m-f*(1-e*m*m),h=e*f/(f+D),d=1/Math.sqrt(1-h*(2-h)*c*c),v=c*(1-h)*d,g=u*d,_=g*p-v*m,p=v,m=g;while(_*_>a&&S<o);return I=Math.atan(g/Math.abs(v)),{x:M,y:I,z:D}}function BVe(n,e,t){if(e===$8)return{x:n.x+t[0],y:n.y+t[1],z:n.z+t[2]};if(e===q8){var i=t[0],r=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];return{x:u*(n.x-l*n.y+s*n.z)+i,y:u*(l*n.x+n.y-o*n.z)+r,z:u*(-s*n.x+o*n.y+n.z)+a}}}function zVe(n,e,t){if(e===$8)return{x:n.x-t[0],y:n.y-t[1],z:n.z-t[2]};if(e===q8){var i=t[0],r=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=(n.x-i)/u,d=(n.y-r)/u,h=(n.z-a)/u;return{x:c+l*d-s*h,y:-l*c+d+o*h,z:s*c-o*d+h}}}function zv(n){return n===$8||n===q8}function GVe(n,e,t){if(OVe(n,e)||n.datum_type===pM||e.datum_type===pM)return t;var i=n.a,r=n.es;if(n.datum_type===e7){var a=PW(n,!1,t);if(a!==0)return;i=_W,r=SW}var o=e.a,s=e.b,l=e.es;if(e.datum_type===e7&&(o=_W,s=zUe,l=SW),r===l&&i===o&&!zv(n.datum_type)&&!zv(e.datum_type))return t;if(t=m2e(t,r,i),zv(n.datum_type)&&(t=BVe(t,n.datum_type,n.datum_params)),zv(e.datum_type)&&(t=zVe(t,e.datum_type,e.datum_params)),t=g2e(t,l,o,s),e.datum_type===e7){var u=PW(e,!0,t);if(u!==0)return}return t}function PW(n,e,t){if(n.grids===null||n.grids.length===0)return console.log("Grid shift grids not found"),-1;var i={x:-t.x,y:t.y},r={x:Number.NaN,y:Number.NaN},a=[];e:for(var o=0;o<n.grids.length;o++){var s=n.grids[o];if(a.push(s.name),s.isNull){r=i;break}if(s.grid===null){if(s.mandatory)return console.log("Unable to find mandatory grid '"+s.name+"'"),-1;continue}for(var l=s.grid.subgrids,u=0,c=l.length;u<c;u++){var d=l[u],h=(Math.abs(d.del[1])+Math.abs(d.del[0]))/1e4,f=d.ll[0]-h,p=d.ll[1]-h,m=d.ll[0]+(d.lim[0]-1)*d.del[0]+h,v=d.ll[1]+(d.lim[1]-1)*d.del[1]+h;if(!(p>i.y||f>i.x||v<i.y||m<i.x)&&(r=UVe(i,e,d),!isNaN(r.x)))break e}}return isNaN(r.x)?(console.log("Failed to find a grid shift table for location '"+-i.x*Ki+" "+i.y*Ki+" tried: '"+a+"'"),-1):(t.x=-r.x,t.y=r.y,0)}function UVe(n,e,t){var i={x:Number.NaN,y:Number.NaN};if(isNaN(n.x))return i;var r={x:n.x,y:n.y};r.x-=t.ll[0],r.y-=t.ll[1],r.x=It(r.x-Math.PI)+Math.PI;var a=RW(r,t);if(e){if(isNaN(a.x))return i;a.x=r.x-a.x,a.y=r.y-a.y;var o=9,s=1e-12,l,u;do{if(u=RW(a,t),isNaN(u.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}l={x:r.x-(u.x+a.x),y:r.y-(u.y+a.y)},a.x+=l.x,a.y+=l.y}while(o--&&Math.abs(l.x)>s&&Math.abs(l.y)>s);if(o<0)return console.log("Inverse grid shift iterator failed to converge."),i;i.x=It(a.x+t.ll[0]),i.y=a.y+t.ll[1]}else isNaN(a.x)||(i.x=n.x+a.x,i.y=n.y+a.y);return i}function RW(n,e){var t={x:n.x/e.del[0],y:n.y/e.del[1]},i={x:Math.floor(t.x),y:Math.floor(t.y)},r={x:t.x-1*i.x,y:t.y-1*i.y},a={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=e.lim[0]||i.y<0||i.y>=e.lim[1])return a;o=i.y*e.lim[0]+i.x;var s={x:e.cvs[o][0],y:e.cvs[o][1]};o++;var l={x:e.cvs[o][0],y:e.cvs[o][1]};o+=e.lim[0];var u={x:e.cvs[o][0],y:e.cvs[o][1]};o--;var c={x:e.cvs[o][0],y:e.cvs[o][1]},d=r.x*r.y,h=r.x*(1-r.y),f=(1-r.x)*(1-r.y),p=(1-r.x)*r.y;return a.x=f*s.x+h*l.x+p*c.x+d*u.x,a.y=f*s.y+h*l.y+p*c.y+d*u.y,a}var X9=["x","y","z"];function VVe(n,e){const t={};for(let i=0,r=n.axis.length;i<r;i++){if(i===2&&e.z===void 0)continue;let a=e[X9[i]];switch(n.axis[i]){case"e":t.x=a;break;case"w":t.x=-a;break;case"n":t.y=a;break;case"s":t.y=-a;break;case"u":t.z=a;break;case"d":t.z=-a;break;default:return null}}return t}function HVe(n,e){const t={};for(let i=0,r=n.axis.length;i<r;i++)if(!(i===2&&e.z===void 0))switch(n.axis[i]){case"e":t[X9[i]]=e.x;break;case"w":t[X9[i]]=-e.x;break;case"n":t[X9[i]]=e.y;break;case"s":t[X9[i]]=-e.y;break;case"u":t[X9[i]]=e.z;break;case"d":t[X9[i]]=-e.z;break;default:return null}return t}function $R(n){var e={x:n[0],y:n[1]};return n.length>2&&(e.z=n[2]),n.length>3&&(e.m=n[3]),e}function WVe(n){LW(n.x),LW(n.y)}function LW(n){if(typeof Number.isFinite=="function"){if(Number.isFinite(n))return;throw new TypeError("coordinates must be finite numbers")}if(typeof n!="number"||n!==n||!isFinite(n))throw new TypeError("coordinates must be finite numbers")}function jVe(n,e){return(n.datum.datum_type===$8||n.datum.datum_type===q8||n.datum.datum_type===e7)&&e.datumCode!=="WGS84"||(e.datum.datum_type===$8||e.datum.datum_type===q8||e.datum.datum_type===e7)&&n.datumCode!=="WGS84"}function ty(n,e,t,i){var r,a=t.z!==void 0;if(WVe(t),n.datum&&e.datum&&jVe(n,e)&&(r=new Aa("WGS84"),t=ty(n,r,t,i),n=r),i&&n.axis!=="enu"&&(t=VVe(n,t)),n.projName==="longlat")t={x:t.x*I0,y:t.y*I0,z:t.z||0};else if(n.to_meter&&(t={x:t.x*n.to_meter,y:t.y*n.to_meter,z:t.z||0}),t=n.inverse(t),!t)return;if(n.from_greenwich&&(t.x+=n.from_greenwich),t=GVe(n.datum,e.datum,t),!!t)return t=t,e.from_greenwich&&(t={x:t.x-e.from_greenwich,y:t.y,z:t.z||0}),e.projName==="longlat"?t={x:t.x*Ki,y:t.y*Ki,z:t.z||0}:(t=e.forward(t),e.to_meter&&(t={x:t.x/e.to_meter,y:t.y/e.to_meter,z:t.z||0})),i&&e.axis!=="enu"?HVe(e,t):(t&&!a&&e.projName!=="geocent"&&delete t.z,t)}function $Ve(n,e,t,i){var r;return Array.isArray(t)?r=$R(t):r={x:t.x,y:t.y,z:t.z,m:t.m},ty(n,e,r,i)}var IW=Aa("WGS84");function AT(n,e,t,i){var r,a,o;return Array.isArray(t)?(r=ty(n,e,$R(t),i)||{x:NaN,y:NaN},t.length>2?(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",a?typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y,t[2]].concat(t.slice(3)):i&&typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y].concat(t.slice(2))):[r.x,r.y]):(r=ty(n,e,{x:t.x,y:t.y,z:t.z,m:t.m},i)||{x:NaN,y:NaN},o=Object.keys(t),o.length===2||(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",o.forEach(function(s){s==="x"||s==="y"||s==="z"&&(a||i)||(r[s]=t[s])})),r)}function Gv(n){return n instanceof Aa?n:typeof n=="object"&&"oProj"in n?n.oProj:Aa(n)}function qVe(n,e,t){var i,r,a=!1,o;return typeof e=="undefined"?(r=Gv(n),i=IW,a=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(t=e,r=Gv(n),i=IW,a=!0),i||(i=Gv(n)),r||(r=Gv(e)),t?AT(i,r,t):(o={forward:function(s,l){return AT(i,r,s,l)},inverse:function(s,l){return AT(r,i,s,l)}},a&&(o.oProj=r),o)}var DW=6,y2e="AJSAJS",_2e="AFAFAF",Bl=65,Ui=73,ia=79,Ic=86,Dc=90;const XVe={forward:S2e,inverse:YVe,toPoint:b2e};function S2e(n,e){return e=e||5,JVe(KVe({lat:n[1],lon:n[0]}),e)}function YVe(n){var e=qR(w2e(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function b2e(n){var e=qR(w2e(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function CT(n){return n*(Math.PI/180)}function NW(n){return 180*(n/Math.PI)}function KVe(n){var e=n.lat,t=n.lon,i=6378137,r=.00669438,a=.9996,o,s,l,u,c,d,h,f=CT(e),p=CT(t),m,v;v=Math.floor((t+180)/6)+1,t===180&&(v=60),e>=56&&e<64&&t>=3&&t<12&&(v=32),e>=72&&e<84&&(t>=0&&t<9?v=31:t>=9&&t<21?v=33:t>=21&&t<33?v=35:t>=33&&t<42&&(v=37)),o=(v-1)*6-180+3,m=CT(o),s=r/(1-r),l=i/Math.sqrt(1-r*Math.sin(f)*Math.sin(f)),u=Math.tan(f)*Math.tan(f),c=s*Math.cos(f)*Math.cos(f),d=Math.cos(f)*(p-m),h=i*((1-r/4-3*r*r/64-5*r*r*r/256)*f-(3*r/8+3*r*r/32+45*r*r*r/1024)*Math.sin(2*f)+(15*r*r/256+45*r*r*r/1024)*Math.sin(4*f)-35*r*r*r/3072*Math.sin(6*f));var g=a*l*(d+(1-u+c)*d*d*d/6+(5-18*u+u*u+72*c-58*s)*d*d*d*d*d/120)+5e5,_=a*(h+l*Math.tan(f)*(d*d/2+(5-u+9*c+4*c*c)*d*d*d*d/24+(61-58*u+u*u+600*c-330*s)*d*d*d*d*d*d/720));return e<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(g),zoneNumber:v,zoneLetter:ZVe(e)}}function qR(n){var e=n.northing,t=n.easting,i=n.zoneLetter,r=n.zoneNumber;if(r<0||r>60)return null;var a=.9996,o=6378137,s=.00669438,l,u=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s)),c,d,h,f,p,m,v,g,_,S=t-5e5,x=e;i<"N"&&(x-=1e7),v=(r-1)*6-180+3,l=s/(1-s),m=x/a,g=m/(o*(1-s/4-3*s*s/64-5*s*s*s/256)),_=g+(3*u/2-27*u*u*u/32)*Math.sin(2*g)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*g)+151*u*u*u/96*Math.sin(6*g),c=o/Math.sqrt(1-s*Math.sin(_)*Math.sin(_)),d=Math.tan(_)*Math.tan(_),h=l*Math.cos(_)*Math.cos(_),f=o*(1-s)/Math.pow(1-s*Math.sin(_)*Math.sin(_),1.5),p=S/(c*a);var A=_-c*Math.tan(_)/f*(p*p/2-(5+3*d+10*h-4*h*h-9*l)*p*p*p*p/24+(61+90*d+298*h+45*d*d-252*l-3*h*h)*p*p*p*p*p*p/720);A=NW(A);var C=(p-(1+2*d+h)*p*p*p/6+(5-2*h+28*d-3*h*h+8*l+24*d*d)*p*p*p*p*p/120)/Math.cos(_);C=v+NW(C);var M;if(n.accuracy){var I=qR({northing:n.northing+n.accuracy,easting:n.easting+n.accuracy,zoneLetter:n.zoneLetter,zoneNumber:n.zoneNumber});M={top:I.lat,right:I.lon,bottom:A,left:C}}else M={lat:A,lon:C};return M}function ZVe(n){var e="Z";return 84>=n&&n>=72?e="X":72>n&&n>=64?e="W":64>n&&n>=56?e="V":56>n&&n>=48?e="U":48>n&&n>=40?e="T":40>n&&n>=32?e="S":32>n&&n>=24?e="R":24>n&&n>=16?e="Q":16>n&&n>=8?e="P":8>n&&n>=0?e="N":0>n&&n>=-8?e="M":-8>n&&n>=-16?e="L":-16>n&&n>=-24?e="K":-24>n&&n>=-32?e="J":-32>n&&n>=-40?e="H":-40>n&&n>=-48?e="G":-48>n&&n>=-56?e="F":-56>n&&n>=-64?e="E":-64>n&&n>=-72?e="D":-72>n&&n>=-80&&(e="C"),e}function JVe(n,e){var t="00000"+n.easting,i="00000"+n.northing;return n.zoneNumber+n.zoneLetter+QVe(n.easting,n.northing,n.zoneNumber)+t.substr(t.length-5,e)+i.substr(i.length-5,e)}function QVe(n,e,t){var i=x2e(t),r=Math.floor(n/1e5),a=Math.floor(e/1e5)%20;return eHe(r,a,i)}function x2e(n){var e=n%DW;return e===0&&(e=DW),e}function eHe(n,e,t){var i=t-1,r=y2e.charCodeAt(i),a=_2e.charCodeAt(i),o=r+n-1,s=a+e,l=!1;o>Dc&&(o=o-Dc+Bl-1,l=!0),(o===Ui||r<Ui&&o>Ui||(o>Ui||r<Ui)&&l)&&o++,(o===ia||r<ia&&o>ia||(o>ia||r<ia)&&l)&&(o++,o===Ui&&o++),o>Dc&&(o=o-Dc+Bl-1),s>Ic?(s=s-Ic+Bl-1,l=!0):l=!1,(s===Ui||a<Ui&&s>Ui||(s>Ui||a<Ui)&&l)&&s++,(s===ia||a<ia&&s>ia||(s>ia||a<ia)&&l)&&(s++,s===Ui&&s++),s>Ic&&(s=s-Ic+Bl-1);var u=String.fromCharCode(o)+String.fromCharCode(s);return u}function w2e(n){if(n&&n.length===0)throw"MGRSPoint coverting from nothing";for(var e=n.length,t=null,i="",r,a=0;!/[A-Z]/.test(r=n.charAt(a));){if(a>=2)throw"MGRSPoint bad conversion from: "+n;i+=r,a++}var o=parseInt(i,10);if(a===0||a+3>e)throw"MGRSPoint bad conversion from: "+n;var s=n.charAt(a++);if(s<="A"||s==="B"||s==="Y"||s>="Z"||s==="I"||s==="O")throw"MGRSPoint zone letter "+s+" not handled: "+n;t=n.substring(a,a+=2);for(var l=x2e(o),u=tHe(t.charAt(0),l),c=nHe(t.charAt(1),l);c<iHe(s);)c+=2e6;var d=e-a;if(d%2!==0)throw`MGRSPoint has to have an even number |
|
|
of digits after the zone letter and two 100km letters - front |
|
|
half for easting meters, second half for |
|
|
northing meters`+n;var h=d/2,f=0,p=0,m,v,g,_,S;return h>0&&(m=1e5/Math.pow(10,h),v=n.substring(a,a+h),f=parseFloat(v)*m,g=n.substring(a+h),p=parseFloat(g)*m),_=f+u,S=p+c,{easting:_,northing:S,zoneLetter:s,zoneNumber:o,accuracy:m}}function tHe(n,e){for(var t=y2e.charCodeAt(e-1),i=1e5,r=!1;t!==n.charCodeAt(0);){if(t++,t===Ui&&t++,t===ia&&t++,t>Dc){if(r)throw"Bad character: "+n;t=Bl,r=!0}i+=1e5}return i}function nHe(n,e){if(n>"V")throw"MGRSPoint given invalid Northing "+n;for(var t=_2e.charCodeAt(e-1),i=0,r=!1;t!==n.charCodeAt(0);){if(t++,t===Ui&&t++,t===ia&&t++,t>Ic){if(r)throw"Bad character: "+n;t=Bl,r=!0}i+=1e5}return i}function iHe(n){var e;switch(n){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+n}function I7(n,e,t){if(!(this instanceof I7))return new I7(n,e,t);if(Array.isArray(n))this.x=n[0],this.y=n[1],this.z=n[2]||0;else if(typeof n=="object")this.x=n.x,this.y=n.y,this.z=n.z||0;else if(typeof n=="string"&&typeof e=="undefined"){var i=n.split(",");this.x=parseFloat(i[0]),this.y=parseFloat(i[1]),this.z=parseFloat(i[2])||0}else this.x=n,this.y=e,this.z=t||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}I7.fromMGRS=function(n){return new I7(b2e(n))};I7.prototype.toMGRS=function(n){return S2e([this.x,this.y],n)};var rHe=1,aHe=.25,kW=.046875,FW=.01953125,OW=.01068115234375,oHe=.75,sHe=.46875,lHe=.013020833333333334,uHe=.007120768229166667,cHe=.3645833333333333,dHe=.005696614583333333,hHe=.3076171875;function XR(n){var e=[];e[0]=rHe-n*(aHe+n*(kW+n*(FW+n*OW))),e[1]=n*(oHe-n*(kW+n*(FW+n*OW)));var t=n*n;return e[2]=t*(sHe-n*(lHe+n*uHe)),t*=n,e[3]=t*(cHe-n*dHe),e[4]=t*n*hHe,e}function au(n,e,t,i){return t*=e,e*=e,i[0]*n-t*(i[1]+e*(i[2]+e*(i[3]+e*i[4])))}var fHe=20;function YR(n,e,t){for(var i=1/(1-e),r=n,a=fHe;a;--a){var o=Math.sin(r),s=1-e*o*o;if(s=(au(r,o,Math.cos(r),t)-n)*(s*Math.sqrt(s))*i,r-=s,Math.abs(s)<Et)return r}return r}function pHe(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=XR(this.es),this.ml0=au(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function vHe(n){var e=n.x,t=n.y,i=It(e-this.long0,this.over),r,a,o,s=Math.sin(t),l=Math.cos(t);if(this.es){var c=l*i,d=Math.pow(c,2),h=this.ep2*Math.pow(l,2),f=Math.pow(h,2),p=Math.abs(l)>Et?Math.tan(t):0,m=Math.pow(p,2),v=Math.pow(m,2);r=1-this.es*Math.pow(s,2),c=c/Math.sqrt(r);var g=au(t,s,l,this.en);a=this.a*(this.k0*c*(1+d/6*(1-m+h+d/20*(5-18*m+v+14*h-58*m*h+d/42*(61+179*v-v*m-479*m)))))+this.x0,o=this.a*(this.k0*(g-this.ml0+s*i*c/2*(1+d/12*(5-m+9*h+4*f+d/30*(61+v-58*m+270*h-330*m*h+d/56*(1385+543*v-v*m-3111*m))))))+this.y0}else{var u=l*Math.sin(i);if(Math.abs(Math.abs(u)-1)<Et)return 93;if(a=.5*this.a*this.k0*Math.log((1+u)/(1-u))+this.x0,o=l*Math.cos(i)/Math.sqrt(1-Math.pow(u,2)),u=Math.abs(o),u>=1){if(u-1>Et)return 93;o=0}else o=Math.acos(o);t<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return n.x=a,n.y=o,n}function mHe(n){var e,t,i,r,a=(n.x-this.x0)*(1/this.a),o=(n.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+o/this.k0,t=YR(e,this.es,this.en),Math.abs(t)<vt){var d=Math.sin(t),h=Math.cos(t),f=Math.abs(h)>Et?Math.tan(t):0,p=this.ep2*Math.pow(h,2),m=Math.pow(p,2),v=Math.pow(f,2),g=Math.pow(v,2);e=1-this.es*Math.pow(d,2);var _=a*Math.sqrt(e)/this.k0,S=Math.pow(_,2);e=e*f,i=t-e*S/(1-this.es)*.5*(1-S/12*(5+3*v-9*p*v+p-4*m-S/30*(61+90*v-252*p*v+45*g+46*p-S/56*(1385+3633*v+4095*g+1574*g*v)))),r=It(this.long0+_*(1-S/6*(1+2*v+p-S/20*(5+28*v+24*g+8*p*v+6*p-S/42*(61+662*v+1320*g+720*g*v))))/h,this.over)}else i=vt*zh(o),r=0;else{var s=Math.exp(a/this.k0),l=.5*(s-1/s),u=this.lat0+o/this.k0,c=Math.cos(u);e=Math.sqrt((1-Math.pow(c,2))/(1+Math.pow(l,2))),i=Math.asin(e),o<0&&(i=-i),l===0&&c===0?r=0:r=It(Math.atan2(l,c)+this.long0,this.over)}return n.x=r,n.y=i,n}var gHe=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const xm={init:pHe,forward:vHe,inverse:mHe,names:gHe};function T2e(n){var e=Math.exp(n);return e=(e-1/e)/2,e}function Xi(n,e){n=Math.abs(n),e=Math.abs(e);var t=Math.max(n,e),i=Math.min(n,e)/(t||1);return t*Math.sqrt(1+Math.pow(i,2))}function yHe(n){var e=1+n,t=e-1;return t===0?n:n*Math.log(e)/t}function _He(n){var e=Math.abs(n);return e=yHe(e*(1+e/(Xi(1,e)+1))),n<0?-e:e}function KR(n,e){for(var t=2*Math.cos(2*e),i=n.length-1,r=n[i],a=0,o;--i>=0;)o=-a+t*r+n[i],a=r,r=o;return e+o*Math.sin(2*e)}function SHe(n,e){for(var t=2*Math.cos(e),i=n.length-1,r=n[i],a=0,o;--i>=0;)o=-a+t*r+n[i],a=r,r=o;return Math.sin(e)*o}function bHe(n){var e=Math.exp(n);return e=(e+1/e)/2,e}function A2e(n,e,t){for(var i=Math.sin(e),r=Math.cos(e),a=T2e(t),o=bHe(t),s=2*r*o,l=-2*i*a,u=n.length-1,c=n[u],d=0,h=0,f=0,p,m;--u>=0;)p=h,m=d,h=c,d=f,c=-p+s*h-l*d+n[u],f=-m+l*h+s*d;return s=i*o,l=r*a,[s*c-l*f,s*f+l*c]}function xHe(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(xm.init.apply(this),this.forward=xm.forward,this.inverse=xm.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var n=this.es/(1+Math.sqrt(1-this.es)),e=n/(2-n),t=e;this.cgb[0]=e*(2+e*(-2/3+e*(-2+e*(116/45+e*(26/45+e*(-2854/675)))))),this.cbg[0]=e*(-2+e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))),t=t*e,this.cgb[1]=t*(7/3+e*(-8/5+e*(-227/45+e*(2704/315+e*(2323/945))))),this.cbg[1]=t*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),t=t*e,this.cgb[2]=t*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=t*(-26/15+e*(34/21+e*(8/5+e*(-12686/2835)))),t=t*e,this.cgb[3]=t*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=t*(1237/630+e*(-12/5+e*(-24832/14175))),t=t*e,this.cgb[4]=t*(4174/315+e*(-144838/6237)),this.cbg[4]=t*(-734/315+e*(109598/31185)),t=t*e,this.cgb[5]=t*(601676/22275),this.cbg[5]=t*(444337/155925),t=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+t*(1/4+t*(1/64+t/256))),this.utg[0]=e*(-.5+e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=t*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=t*(13/48+e*(-3/5+e*(557/1440+e*(281/630+e*(-1983433/1935360))))),t=t*e,this.utg[2]=t*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=t*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),t=t*e,this.utg[3]=t*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=t*(49561/161280+e*(-179/168+e*(6601661/7257600))),t=t*e,this.utg[4]=t*(-4583/161280+e*(108847/3991680)),this.gtu[4]=t*(34729/80640+e*(-3418889/1995840)),t=t*e,this.utg[5]=t*(-20648693/638668800),this.gtu[5]=t*(212378941/319334400);var i=KR(this.cbg,this.lat0);this.Zb=-this.Qn*(i+SHe(this.gtu,2*i))}function wHe(n){var e=It(n.x-this.long0,this.over),t=n.y;t=KR(this.cbg,t);var i=Math.sin(t),r=Math.cos(t),a=Math.sin(e),o=Math.cos(e);t=Math.atan2(i,o*r),e=Math.atan2(a*r,Xi(i,r*o)),e=_He(Math.tan(e));var s=A2e(this.gtu,2*t,2*e);t=t+s[0],e=e+s[1];var l,u;return Math.abs(e)<=2.623395162778?(l=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*t+this.Zb)+this.y0):(l=1/0,u=1/0),n.x=l,n.y=u,n}function THe(n){var e=(n.x-this.x0)*(1/this.a),t=(n.y-this.y0)*(1/this.a);t=(t-this.Zb)/this.Qn,e=e/this.Qn;var i,r;if(Math.abs(e)<=2.623395162778){var a=A2e(this.utg,2*t,2*e);t=t+a[0],e=e+a[1],e=Math.atan(T2e(e));var o=Math.sin(t),s=Math.cos(t),l=Math.sin(e),u=Math.cos(e);t=Math.atan2(o*u,Xi(l,u*s)),e=Math.atan2(l,u*s),i=It(e+this.long0,this.over),r=KR(this.cgb,t)}else i=1/0,r=1/0;return n.x=i,n.y=r,n}var AHe=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const wm={init:xHe,forward:wHe,inverse:THe,names:AHe};function CHe(n,e){if(n===void 0){if(n=Math.floor((It(e)+Math.PI)*30/Math.PI)+1,n<0)return 0;if(n>60)return 60}return n}var MHe="etmerc";function EHe(){var n=CHe(this.zone,this.long0);if(n===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(n)-183)*I0,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,wm.init.apply(this),this.forward=wm.forward,this.inverse=wm.inverse}var PHe=["Universal Transverse Mercator System","utm"];const RHe={init:EHe,names:PHe,dependsOn:MHe};function ZR(n,e){return Math.pow((1-n)/(1+n),e)}var LHe=20;function IHe(){var n=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*n*n),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(n/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+N1)/(Math.pow(Math.tan(.5*this.lat0+N1),this.C)*ZR(this.e*n,this.ratexp))}function DHe(n){var e=n.x,t=n.y;return n.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+N1),this.C)*ZR(this.e*Math.sin(t),this.ratexp))-vt,n.x=this.C*e,n}function NHe(n){for(var e=1e-14,t=n.x/this.C,i=n.y,r=Math.pow(Math.tan(.5*i+N1)/this.K,1/this.C),a=LHe;a>0&&(i=2*Math.atan(r*ZR(this.e*Math.sin(n.y),-.5*this.e))-vt,!(Math.abs(i-n.y)<e));--a)n.y=i;return a?(n.x=t,n.y=i,n):null}var kHe=["gauss"];const JR={init:IHe,forward:DHe,inverse:NHe,names:kHe};function FHe(){JR.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function OHe(n){var e,t,i,r;return n.x=It(n.x-this.long0,this.over),JR.forward.apply(this,[n]),e=Math.sin(n.y),t=Math.cos(n.y),i=Math.cos(n.x),r=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*t*i),n.x=r*t*Math.sin(n.x),n.y=r*(this.cosc0*e-this.sinc0*t*i),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n}function BHe(n){var e,t,i,r,a;if(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,a=Xi(n.x,n.y)){var o=2*Math.atan2(a,this.R2);e=Math.sin(o),t=Math.cos(o),r=Math.asin(t*this.sinc0+n.y*e*this.cosc0/a),i=Math.atan2(n.x*e,a*this.cosc0*t-n.y*this.sinc0*e)}else r=this.phic0,i=0;return n.x=i,n.y=r,JR.inverse.apply(this,[n]),n.x=It(n.x+this.long0,this.over),n}var zHe=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];const GHe={init:FHe,forward:OHe,inverse:BHe,names:zHe};function QR(n,e,t){return e*=t,Math.tan(.5*(vt+n))*Math.pow((1-e)/(1+e),.5*t)}function UHe(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Et&&(this.k0=.5*(1+zh(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=Et&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Et&&Math.abs(Math.cos(this.lat_ts))>Et&&(this.k0=.5*this.cons*es(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/eo(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=es(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(QR(this.lat0,this.sinlat0,this.e))-vt,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function VHe(n){var e=n.x,t=n.y,i=Math.sin(t),r=Math.cos(t),a,o,s,l,u,c,d=It(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=Et&&Math.abs(t+this.lat0)<=Et?(n.x=NaN,n.y=NaN,n):this.sphere?(a=2*this.k0/(1+this.sinlat0*i+this.coslat0*r*Math.cos(d)),n.x=this.a*a*r*Math.sin(d)+this.x0,n.y=this.a*a*(this.coslat0*i-this.sinlat0*r*Math.cos(d))+this.y0,n):(o=2*Math.atan(QR(t,i,this.e))-vt,l=Math.cos(o),s=Math.sin(o),Math.abs(this.coslat0)<=Et?(u=eo(this.e,t*this.con,this.con*i),c=2*this.a*this.k0*u/this.cons,n.x=this.x0+c*Math.sin(e-this.long0),n.y=this.y0-this.con*c*Math.cos(e-this.long0),n):(Math.abs(this.sinlat0)<Et?(a=2*this.a*this.k0/(1+l*Math.cos(d)),n.y=a*s):(a=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*s+this.cosX0*l*Math.cos(d))),n.y=a*(this.cosX0*s-this.sinX0*l*Math.cos(d))+this.y0),n.x=a*l*Math.sin(d)+this.x0,n))}function HHe(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,o=Math.sqrt(n.x*n.x+n.y*n.y);if(this.sphere){var s=2*Math.atan(o/(2*this.a*this.k0));return e=this.long0,t=this.lat0,o<=Et?(n.x=e,n.y=t,n):(t=Math.asin(Math.cos(s)*this.sinlat0+n.y*Math.sin(s)*this.coslat0/o),Math.abs(this.coslat0)<Et?this.lat0>0?e=It(this.long0+Math.atan2(n.x,-1*n.y),this.over):e=It(this.long0+Math.atan2(n.x,n.y),this.over):e=It(this.long0+Math.atan2(n.x*Math.sin(s),o*this.coslat0*Math.cos(s)-n.y*this.sinlat0*Math.sin(s)),this.over),n.x=e,n.y=t,n)}else if(Math.abs(this.coslat0)<=Et){if(o<=Et)return t=this.lat0,e=this.long0,n.x=e,n.y=t,n;n.x*=this.con,n.y*=this.con,i=o*this.cons/(2*this.a*this.k0),t=this.con*dh(this.e,i),e=this.con*It(this.con*this.long0+Math.atan2(n.x,-1*n.y),this.over)}else r=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,o<=Et?a=this.X0:(a=Math.asin(Math.cos(r)*this.sinX0+n.y*Math.sin(r)*this.cosX0/o),e=It(this.long0+Math.atan2(n.x*Math.sin(r),o*this.cosX0*Math.cos(r)-n.y*this.sinX0*Math.sin(r)),this.over)),t=-1*dh(this.e,Math.tan(.5*(vt+a)));return n.x=e,n.y=t,n}var WHe=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const jHe={init:UHe,forward:VHe,inverse:HHe,names:WHe,ssfn_:QR};function $He(){var n=this.lat0;this.lambda0=this.long0;var e=Math.sin(n),t=this.a,i=this.rf,r=1/i,a=2*r-Math.pow(r,2),o=this.e=Math.sqrt(a);this.R=this.k0*t*Math.sqrt(1-a)/(1-a*Math.pow(e,2)),this.alpha=Math.sqrt(1+a/(1-a)*Math.pow(Math.cos(n),4)),this.b0=Math.asin(e/this.alpha);var s=Math.log(Math.tan(Math.PI/4+this.b0/2)),l=Math.log(Math.tan(Math.PI/4+n/2)),u=Math.log((1+o*e)/(1-o*e));this.K=s-this.alpha*l+this.alpha*o/2*u}function qHe(n){var e=Math.log(Math.tan(Math.PI/4-n.y/2)),t=this.e/2*Math.log((1+this.e*Math.sin(n.y))/(1-this.e*Math.sin(n.y))),i=-this.alpha*(e+t)+this.K,r=2*(Math.atan(Math.exp(i))-Math.PI/4),a=this.alpha*(n.x-this.lambda0),o=Math.atan(Math.sin(a)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(a))),s=Math.asin(Math.cos(this.b0)*Math.sin(r)-Math.sin(this.b0)*Math.cos(r)*Math.cos(a));return n.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,n.x=this.R*o+this.x0,n}function XHe(n){for(var e=n.x-this.x0,t=n.y-this.y0,i=e/this.R,r=2*(Math.atan(Math.exp(t/this.R))-Math.PI/4),a=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),s=this.lambda0+o/this.alpha,l=0,u=a,c=-1e3,d=0;Math.abs(u-c)>1e-7;){if(++d>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+a/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(u))/2)),c=u,u=2*Math.atan(Math.exp(l))-Math.PI/2}return n.x=s,n.y=u,n}var YHe=["somerc"];const KHe={init:$He,forward:qHe,inverse:XHe,names:YHe};var Tl=1e-7;function ZHe(n){var e=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],t=typeof n.projName=="object"?Object.keys(n.projName)[0]:n.projName;return"no_uoff"in n||"no_off"in n||e.indexOf(t)!==-1||e.indexOf(p2e(t))!==-1}function JHe(){var n,e,t,i,r,a,o,s,l,u,c=0,d,h=0,f=0,p=0,m=0,v=0,g=0;this.no_off=ZHe(this),this.no_rot="no_rot"in this;var _=!1;"alpha"in this&&(_=!0);var S=!1;if("rectified_grid_angle"in this&&(S=!0),_&&(g=this.alpha),S&&(c=this.rectified_grid_angle,_||(g=0,_=!0)),_||S)h=this.longc;else if(f=this.long1,m=this.lat1,p=this.long2,v=this.lat2,Math.abs(m-v)<=Tl||(n=Math.abs(m))<=Tl||Math.abs(n-vt)<=Tl||Math.abs(Math.abs(this.lat0)-vt)<=Tl||Math.abs(Math.abs(v)-vt)<=Tl)throw new Error;var x=1-this.es;e=Math.sqrt(x),Math.abs(this.lat0)>Et?(s=Math.sin(this.lat0),t=Math.cos(this.lat0),n=1-this.es*s*s,this.B=t*t,this.B=Math.sqrt(1+this.es*this.B*this.B/x),this.A=this.B*this.k0*e/n,i=this.B*e/(t*Math.sqrt(n)),r=i*i-1,r<=0?r=0:(r=Math.sqrt(r),this.lat0<0&&(r=-r)),this.E=r+=i,this.E*=Math.pow(eo(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=i=r=1),_||S?(_?(d=Math.asin(Math.sin(g)/i),S||(c=g)):(d=c,g=Math.asin(i*Math.sin(d))),this.lam0=h-Math.asin(.5*(r-1/r)*Math.tan(d))/this.B):(a=Math.pow(eo(this.e,m,Math.sin(m)),this.B),o=Math.pow(eo(this.e,v,Math.sin(v)),this.B),r=this.E/a,l=(o-a)/(o+a),u=this.E*this.E,u=(u-o*a)/(u+o*a),n=f-p,n<-Math.PI?p-=uh:n>Math.PI&&(p+=uh),this.lam0=It(.5*(f+p)-Math.atan(u*Math.tan(.5*this.B*(f-p))/l)/this.B,this.over),d=Math.atan(2*Math.sin(this.B*It(f-this.lam0,this.over))/(r-1/r)),c=g=Math.asin(i*Math.sin(d))),this.singam=Math.sin(d),this.cosgam=Math.cos(d),this.sinrot=Math.sin(c),this.cosrot=Math.cos(c),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(g))),this.lat0<0&&(this.u_0=-this.u_0)),r=.5*d,this.v_pole_n=this.ArB*Math.log(Math.tan(N1-r)),this.v_pole_s=this.ArB*Math.log(Math.tan(N1+r))}function QHe(n){var e={},t,i,r,a,o,s,l,u;if(n.x=n.x-this.lam0,Math.abs(Math.abs(n.y)-vt)>Et){if(o=this.E/Math.pow(eo(this.e,n.y,Math.sin(n.y)),this.B),s=1/o,t=.5*(o-s),i=.5*(o+s),a=Math.sin(this.B*n.x),r=(t*this.singam-a*this.cosgam)/i,Math.abs(Math.abs(r)-1)<Et)throw new Error;u=.5*this.ArB*Math.log((1-r)/(1+r)),s=Math.cos(this.B*n.x),Math.abs(s)<Tl?l=this.A*n.x:l=this.ArB*Math.atan2(t*this.cosgam+a*this.singam,s)}else u=n.y>0?this.v_pole_n:this.v_pole_s,l=this.ArB*n.y;return this.no_rot?(e.x=l,e.y=u):(l-=this.u_0,e.x=u*this.cosrot+l*this.sinrot,e.y=l*this.cosrot-u*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function eWe(n){var e,t,i,r,a,o,s,l={};if(n.x=(n.x-this.x0)*(1/this.a),n.y=(n.y-this.y0)*(1/this.a),this.no_rot?(t=n.y,e=n.x):(t=n.x*this.cosrot-n.y*this.sinrot,e=n.y*this.cosrot+n.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*t),r=.5*(i-1/i),a=.5*(i+1/i),o=Math.sin(this.BrA*e),s=(o*this.cosgam+r*this.singam)/a,Math.abs(Math.abs(s)-1)<Et)l.x=0,l.y=s<0?-vt:vt;else{if(l.y=this.E/Math.sqrt((1+s)/(1-s)),l.y=dh(this.e,Math.pow(l.y,1/this.B)),l.y===1/0)throw new Error;l.x=-this.rB*Math.atan2(r*this.cosgam-o*this.singam,Math.cos(this.BrA*e))}return l.x+=this.lam0,l}var tWe=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"];const nWe={init:JHe,forward:QHe,inverse:eWe,names:tWe};function iWe(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<Et)){var n=this.b/this.a;this.e=Math.sqrt(1-n*n);var e=Math.sin(this.lat1),t=Math.cos(this.lat1),i=es(this.e,e,t),r=eo(this.e,this.lat1,e),a=Math.sin(this.lat2),o=Math.cos(this.lat2),s=es(this.e,a,o),l=eo(this.e,this.lat2,a),u=Math.abs(Math.abs(this.lat0)-vt)<Et?0:eo(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>Et?this.ns=Math.log(i/s)/Math.log(r/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=i/(this.ns*Math.pow(r,this.ns)),this.rh=this.a*this.f0*Math.pow(u,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function rWe(n){var e=n.x,t=n.y;Math.abs(2*Math.abs(t)-Math.PI)<=Et&&(t=zh(t)*(vt-2*Et));var i=Math.abs(Math.abs(t)-vt),r,a;if(i>Et)r=eo(this.e,t,Math.sin(t)),a=this.a*this.f0*Math.pow(r,this.ns);else{if(i=t*this.ns,i<=0)return null;a=0}var o=this.ns*It(e-this.long0,this.over);return n.x=this.k0*(a*Math.sin(o))+this.x0,n.y=this.k0*(this.rh-a*Math.cos(o))+this.y0,n}function aWe(n){var e,t,i,r,a,o=(n.x-this.x0)/this.k0,s=this.rh-(n.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(o*o+s*s),t=1):(e=-Math.sqrt(o*o+s*s),t=-1);var l=0;if(e!==0&&(l=Math.atan2(t*o,t*s)),e!==0||this.ns>0){if(t=1/this.ns,i=Math.pow(e/(this.a*this.f0),t),r=dh(this.e,i),r===-9999)return null}else r=-vt;return a=It(l/this.ns+this.long0,this.over),n.x=a,n.y=r,n}var oWe=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const sWe={init:iWe,forward:rWe,inverse:aWe,names:oWe};function lWe(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function uWe(n){var e,t,i,r,a,o,s,l=n.x,u=n.y,c=It(l-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),i=-c*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(t)+Math.sin(this.ad)*Math.cos(t)*Math.cos(i)),a=Math.asin(Math.cos(t)*Math.sin(i)/Math.cos(r)),o=this.n*a,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n),n.y=s*Math.cos(o)/1,n.x=s*Math.sin(o)/1,this.czech||(n.y*=-1,n.x*=-1),n}function cWe(n){var e,t,i,r,a,o,s,l,u=n.x;n.x=n.y,n.y=u,this.czech||(n.y*=-1,n.x*=-1),o=Math.sqrt(n.x*n.x+n.y*n.y),a=Math.atan2(n.y,n.x),r=a/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(r)),t=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(e)),n.x=this.long0-t/this.alfa,s=e,l=0;var c=0;do n.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(s))/(1-this.e*Math.sin(s)),this.e/2))-this.s45),Math.abs(s-n.y)<1e-10&&(l=1),s=n.y,c+=1;while(l===0&&c<15);return c>=15?null:n}var dWe=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const hWe={init:lWe,forward:uWe,inverse:cWe,names:dWe};function Ei(n,e,t,i,r){return n*r-e*Math.sin(2*r)+t*Math.sin(4*r)-i*Math.sin(6*r)}function Gh(n){return 1-.25*n*(1+n/16*(3+1.25*n))}function Uh(n){return .375*n*(1+.25*n*(1+.46875*n))}function Vh(n){return .05859375*n*n*(1+.75*n)}function Hh(n){return n*n*n*(35/3072)}function eL(n,e,t){var i=e*t;return n/Math.sqrt(1-i*i)}function H5(n){return Math.abs(n)<vt?n:n-zh(n)*Math.PI}function ny(n,e,t,i,r){var a,o;a=n/e;for(var s=0;s<15;s++)if(o=(n-(e*a-t*Math.sin(2*a)+i*Math.sin(4*a)-r*Math.sin(6*a)))/(e-2*t*Math.cos(2*a)+4*i*Math.cos(4*a)-6*r*Math.cos(6*a)),a+=o,Math.abs(o)<=1e-10)return a;return NaN}function fWe(){this.sphere||(this.e0=Gh(this.es),this.e1=Uh(this.es),this.e2=Vh(this.es),this.e3=Hh(this.es),this.ml0=this.a*Ei(this.e0,this.e1,this.e2,this.e3,this.lat0))}function pWe(n){var e,t,i=n.x,r=n.y;if(i=It(i-this.long0,this.over),this.sphere)e=this.a*Math.asin(Math.cos(r)*Math.sin(i)),t=this.a*(Math.atan2(Math.tan(r),Math.cos(i))-this.lat0);else{var a=Math.sin(r),o=Math.cos(r),s=eL(this.a,this.e,a),l=Math.tan(r)*Math.tan(r),u=i*Math.cos(r),c=u*u,d=this.es*o*o/(1-this.es),h=this.a*Ei(this.e0,this.e1,this.e2,this.e3,r);e=s*u*(1-c*l*(1/6-(8-l+8*d)*c/120)),t=h-this.ml0+s*a/o*c*(.5+(5-l+6*d)*c/24)}return n.x=e+this.x0,n.y=t+this.y0,n}function vWe(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r;if(this.sphere){var a=t+this.lat0;i=Math.asin(Math.sin(a)*Math.cos(e)),r=Math.atan2(Math.tan(e),Math.cos(a))}else{var o=this.ml0/this.a+t,s=ny(o,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(s)-vt)<=Et)return n.x=this.long0,n.y=vt,t<0&&(n.y*=-1),n;var l=eL(this.a,this.e,Math.sin(s)),u=l*l*l/this.a/this.a*(1-this.es),c=Math.pow(Math.tan(s),2),d=e*this.a/l,h=d*d;i=s-l*Math.tan(s)/u*d*d*(.5-(1+3*c)*d*d/24),r=d*(1-h*(c/3+(1+3*c)*c*h/15))/Math.cos(s)}return n.x=It(r+this.long0,this.over),n.y=H5(i),n}var mWe=["Cassini","Cassini_Soldner","cass"];const gWe={init:fWe,forward:pWe,inverse:vWe,names:mWe};function qo(n,e){var t;return n>1e-7?(t=n*e,(1-n*n)*(e/(1-t*t)-.5/n*Math.log((1-t)/(1+t)))):2*e}var yWe=.3333333333333333,_We=.17222222222222222,SWe=.10257936507936508,bWe=.06388888888888888,xWe=.0664021164021164,wWe=.016415012942191543;function C2e(n){var e,t=[];return t[0]=n*yWe,e=n*n,t[0]+=e*_We,t[1]=e*bWe,e*=n,t[0]+=e*SWe,t[1]+=e*xWe,t[2]=e*wWe,t}function M2e(n,e){var t=n+n;return n+e[0]*Math.sin(t)+e[1]*Math.sin(t+t)+e[2]*Math.sin(t+t+t)}var gM=1,yM=2,_M=3,Tm=4;function TWe(){var n=Math.abs(this.lat0);if(Math.abs(n-vt)<Et?this.mode=this.lat0<0?gM:yM:Math.abs(n)<Et?this.mode=_M:this.mode=Tm,this.es>0){var e;switch(this.qp=qo(this.e,1),this.mmf=.5/(1-this.es),this.apa=C2e(this.es),this.mode){case yM:this.dd=1;break;case gM:this.dd=1;break;case _M:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case Tm:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=qo(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===Tm&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function AWe(n){var e,t,i,r,a,o,s,l,u,c,d=n.x,h=n.y;if(d=It(d-this.long0,this.over),this.sphere){if(a=Math.sin(h),c=Math.cos(h),i=Math.cos(d),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+c*i:1+this.sinph0*a+this.cosph0*c*i,t<=Et)return null;t=Math.sqrt(2/t),e=t*c*Math.sin(d),t*=this.mode===this.EQUIT?a:this.cosph0*a-this.sinph0*c*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(h+this.lat0)<Et)return null;t=N1-h*.5,t=2*(this.mode===this.S_POLE?Math.cos(t):Math.sin(t)),e=t*Math.sin(d),t*=i}}else{switch(s=0,l=0,u=0,i=Math.cos(d),r=Math.sin(d),a=Math.sin(h),o=qo(this.e,a),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(s=o/this.qp,l=Math.sqrt(1-s*s)),this.mode){case this.OBLIQ:u=1+this.sinb1*s+this.cosb1*l*i;break;case this.EQUIT:u=1+l*i;break;case this.N_POLE:u=vt+h,o=this.qp-o;break;case this.S_POLE:u=h-vt,o=this.qp+o;break}if(Math.abs(u)<Et)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:u=Math.sqrt(2/u),this.mode===this.OBLIQ?t=this.ymf*u*(this.cosb1*s-this.sinb1*l*i):t=(u=Math.sqrt(2/(1+l*i)))*s*this.ymf,e=this.xmf*u*l*r;break;case this.N_POLE:case this.S_POLE:o>=0?(e=(u=Math.sqrt(o))*r,t=i*(this.mode===this.S_POLE?u:-u)):e=t=0;break}}return n.x=this.a*e+this.x0,n.y=this.a*t+this.y0,n}function CWe(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r,a,o,s,l,u;if(this.sphere){var c=0,d,h=0;if(d=Math.sqrt(e*e+t*t),r=d*.5,r>1)return null;switch(r=2*Math.asin(r),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(h=Math.sin(r),c=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(d)<=Et?0:Math.asin(t*h/d),e*=h,t=c*d;break;case this.OBLIQ:r=Math.abs(d)<=Et?this.lat0:Math.asin(c*this.sinph0+t*h*this.cosph0/d),e*=h*this.cosph0,t=(c-Math.sin(r)*this.sinph0)*d;break;case this.N_POLE:t=-t,r=vt-r;break;case this.S_POLE:r-=vt;break}i=t===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,t)}else{if(u=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,t*=this.dd,l=Math.sqrt(e*e+t*t),l<Et)return n.x=this.long0,n.y=this.lat0,n;o=2*Math.asin(.5*l/this.rq),a=Math.cos(o),e*=o=Math.sin(o),this.mode===this.OBLIQ?(u=a*this.sinb1+t*o*this.cosb1/l,s=this.qp*u,t=l*this.cosb1*a-t*this.sinb1*o):(u=t*o/l,s=this.qp*u,t=l*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(t=-t),s=e*e+t*t,!s)return n.x=this.long0,n.y=this.lat0,n;u=1-s/this.qp,this.mode===this.S_POLE&&(u=-u)}i=Math.atan2(e,t),r=M2e(Math.asin(u),this.apa)}return n.x=It(this.long0+i,this.over),n.y=r,n}var MWe=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];const EWe={init:TWe,forward:AWe,inverse:CWe,names:MWe,S_POLE:gM,N_POLE:yM,EQUIT:_M,OBLIQ:Tm};function O5(n){return Math.abs(n)>1&&(n=n>1?1:-1),Math.asin(n)}function PWe(){Math.abs(this.lat1+this.lat2)<Et||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=es(this.e3,this.sin_po,this.cos_po),this.qs1=qo(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=es(this.e3,this.sin_po,this.cos_po),this.qs2=qo(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=qo(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>Et?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function RWe(n){var e=n.x,t=n.y;this.sin_phi=Math.sin(t),this.cos_phi=Math.cos(t);var i=qo(this.e3,this.sin_phi),r=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,a=this.ns0*It(e-this.long0,this.over),o=r*Math.sin(a)+this.x0,s=this.rh-r*Math.cos(a)+this.y0;return n.x=o,n.y=s,n}function LWe(n){var e,t,i,r,a,o;return n.x-=this.x0,n.y=this.rh-n.y+this.y0,this.ns0>=0?(e=Math.sqrt(n.x*n.x+n.y*n.y),i=1):(e=-Math.sqrt(n.x*n.x+n.y*n.y),i=-1),r=0,e!==0&&(r=Math.atan2(i*n.x,i*n.y)),i=e*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(t=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,t)),a=It(r/this.ns0+this.long0,this.over),n.x=a,n.y=o,n}function IWe(n,e){var t,i,r,a,o,s=O5(.5*e);if(n<Et)return s;for(var l=n*n,u=1;u<=25;u++)if(t=Math.sin(s),i=Math.cos(s),r=n*t,a=1-r*r,o=.5*a*a/i*(e/(1-l)-t/a+.5/n*Math.log((1-r)/(1+r))),s=s+o,Math.abs(o)<=1e-7)return s;return null}var DWe=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"];const NWe={init:PWe,forward:RWe,inverse:LWe,names:DWe,phi1z:IWe};function kWe(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function FWe(n){var e,t,i,r,a,o,s,l,u=n.x,c=n.y;return i=It(u-this.long0,this.over),e=Math.sin(c),t=Math.cos(c),r=Math.cos(i),o=this.sin_p14*e+this.cos_p14*t*r,a=1,o>0||Math.abs(o)<=Et?(s=this.x0+this.a*a*t*Math.sin(i)/o,l=this.y0+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)/o):(s=this.x0+this.infinity_dist*t*Math.sin(i),l=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*t*r)),n.x=s,n.y=l,n}function OWe(n){var e,t,i,r,a,o;return n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,(e=Math.sqrt(n.x*n.x+n.y*n.y))?(r=Math.atan2(e,this.rc),t=Math.sin(r),i=Math.cos(r),o=O5(i*this.sin_p14+n.y*t*this.cos_p14/e),a=Math.atan2(n.x*t,e*this.cos_p14*i-n.y*this.sin_p14*t),a=It(this.long0+a,this.over)):(o=this.phic0,a=0),n.x=a,n.y=o,n}var BWe=["gnom"];const zWe={init:kWe,forward:FWe,inverse:OWe,names:BWe};function GWe(n,e){var t=1-(1-n*n)/(2*n)*Math.log((1-n)/(1+n));if(Math.abs(Math.abs(e)-t)<1e-6)return e<0?-1*vt:vt;for(var i=Math.asin(.5*e),r,a,o,s,l=0;l<30;l++)if(a=Math.sin(i),o=Math.cos(i),s=n*a,r=Math.pow(1-s*s,2)/(2*o)*(e/(1-n*n)-a/(1-s*s)+.5/n*Math.log((1-s)/(1+s))),i+=r,Math.abs(r)<=1e-10)return i;return NaN}function UWe(){this.sphere||(this.k0=es(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function VWe(n){var e=n.x,t=n.y,i,r,a=It(e-this.long0,this.over);if(this.sphere)i=this.x0+this.a*a*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(t)/Math.cos(this.lat_ts);else{var o=qo(this.e,Math.sin(t));i=this.x0+this.a*this.k0*a,r=this.y0+this.a*o*.5/this.k0}return n.x=i,n.y=r,n}function HWe(n){n.x-=this.x0,n.y-=this.y0;var e,t;return this.sphere?(e=It(this.long0+n.x/this.a/Math.cos(this.lat_ts),this.over),t=Math.asin(n.y/this.a*Math.cos(this.lat_ts))):(t=GWe(this.e,2*n.y*this.k0/this.a),e=It(this.long0+n.x/(this.a*this.k0),this.over)),n.x=e,n.y=t,n}var WWe=["cea"];const jWe={init:UWe,forward:VWe,inverse:HWe,names:WWe};function $We(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function qWe(n){var e=n.x,t=n.y,i=It(e-this.long0,this.over),r=H5(t-this.lat0);return n.x=this.x0+this.a*i*this.rc,n.y=this.y0+this.a*r,n}function XWe(n){var e=n.x,t=n.y;return n.x=It(this.long0+(e-this.x0)/(this.a*this.rc),this.over),n.y=H5(this.lat0+(t-this.y0)/this.a),n}var YWe=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const KWe={init:$We,forward:qWe,inverse:XWe,names:YWe};var BW=20;function ZWe(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Gh(this.es),this.e1=Uh(this.es),this.e2=Vh(this.es),this.e3=Hh(this.es),this.ml0=this.a*Ei(this.e0,this.e1,this.e2,this.e3,this.lat0)}function JWe(n){var e=n.x,t=n.y,i,r,a,o=It(e-this.long0,this.over);if(a=o*Math.sin(t),this.sphere)Math.abs(t)<=Et?(i=this.a*o,r=-1*this.a*this.lat0):(i=this.a*Math.sin(a)/Math.tan(t),r=this.a*(H5(t-this.lat0)+(1-Math.cos(a))/Math.tan(t)));else if(Math.abs(t)<=Et)i=this.a*o,r=-1*this.ml0;else{var s=eL(this.a,this.e,Math.sin(t))/Math.tan(t);i=s*Math.sin(a),r=this.a*Ei(this.e0,this.e1,this.e2,this.e3,t)-this.ml0+s*(1-Math.cos(a))}return n.x=i+this.x0,n.y=r+this.y0,n}function QWe(n){var e,t,i,r,a,o,s,l,u;if(i=n.x-this.x0,r=n.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=Et)e=It(i/this.a+this.long0,this.over),t=0;else{o=this.lat0+r/this.a,s=i*i/this.a/this.a+o*o,l=o;var c;for(a=BW;a;--a)if(c=Math.tan(l),u=-1*(o*(l*c+1)-l-.5*(l*l+s)*c)/((l-o)/c-1),l+=u,Math.abs(u)<=Et){t=l;break}e=It(this.long0+Math.asin(i*Math.tan(l)/this.a)/Math.sin(t),this.over)}else if(Math.abs(r+this.ml0)<=Et)t=0,e=It(this.long0+i/this.a,this.over);else{o=(this.ml0+r)/this.a,s=i*i/this.a/this.a+o*o,l=o;var d,h,f,p,m;for(a=BW;a;--a)if(m=this.e*Math.sin(l),d=Math.sqrt(1-m*m)*Math.tan(l),h=this.a*Ei(this.e0,this.e1,this.e2,this.e3,l),f=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),p=h/this.a,u=(o*(d*p+1)-p-.5*d*(p*p+s))/(this.es*Math.sin(2*l)*(p*p+s-2*o*p)/(4*d)+(o-p)*(d*f-2/Math.sin(2*l))-f),l-=u,Math.abs(u)<=Et){t=l;break}d=Math.sqrt(1-this.es*Math.pow(Math.sin(t),2))*Math.tan(t),e=It(this.long0+Math.asin(i*d/this.a)/Math.sin(t),this.over)}return n.x=e,n.y=t,n}var eje=["Polyconic","American_Polyconic","poly"];const tje={init:ZWe,forward:JWe,inverse:QWe,names:eje};function nje(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ije(n){var e,t=n.x,i=n.y,r=i-this.lat0,a=t-this.long0,o=r/sd*1e-5,s=a,l=1,u=0;for(e=1;e<=10;e++)l=l*o,u=u+this.A[e]*l;var c=u,d=s,h=1,f=0,p,m,v=0,g=0;for(e=1;e<=6;e++)p=h*c-f*d,m=f*c+h*d,h=p,f=m,v=v+this.B_re[e]*h-this.B_im[e]*f,g=g+this.B_im[e]*h+this.B_re[e]*f;return n.x=g*this.a+this.x0,n.y=v*this.a+this.y0,n}function rje(n){var e,t=n.x,i=n.y,r=t-this.x0,a=i-this.y0,o=a/this.a,s=r/this.a,l=1,u=0,c,d,h=0,f=0;for(e=1;e<=6;e++)c=l*o-u*s,d=u*o+l*s,l=c,u=d,h=h+this.C_re[e]*l-this.C_im[e]*u,f=f+this.C_im[e]*l+this.C_re[e]*u;for(var p=0;p<this.iterations;p++){var m=h,v=f,g,_,S=o,x=s;for(e=2;e<=6;e++)g=m*h-v*f,_=v*h+m*f,m=g,v=_,S=S+(e-1)*(this.B_re[e]*m-this.B_im[e]*v),x=x+(e-1)*(this.B_im[e]*m+this.B_re[e]*v);m=1,v=0;var A=this.B_re[1],C=this.B_im[1];for(e=2;e<=6;e++)g=m*h-v*f,_=v*h+m*f,m=g,v=_,A=A+e*(this.B_re[e]*m-this.B_im[e]*v),C=C+e*(this.B_im[e]*m+this.B_re[e]*v);var M=A*A+C*C;h=(S*A+x*C)/M,f=(x*A-S*C)/M}var I=h,D=f,E=1,P=0;for(e=1;e<=9;e++)E=E*I,P=P+this.D[e]*E;var F=this.lat0+P*sd*1e5,V=this.long0+D;return n.x=V,n.y=F,n}var aje=["New_Zealand_Map_Grid","nzmg"];const oje={init:nje,forward:ije,inverse:rje,names:aje};function sje(){}function lje(n){var e=n.x,t=n.y,i=It(e-this.long0,this.over),r=this.x0+this.a*i,a=this.y0+this.a*Math.log(Math.tan(Math.PI/4+t/2.5))*1.25;return n.x=r,n.y=a,n}function uje(n){n.x-=this.x0,n.y-=this.y0;var e=It(this.long0+n.x/this.a,this.over),t=2.5*(Math.atan(Math.exp(.8*n.y/this.a))-Math.PI/4);return n.x=e,n.y=t,n}var cje=["Miller_Cylindrical","mill"];const dje={init:sje,forward:lje,inverse:uje,names:cje};var hje=20;function fje(){this.long0=this.long0||0,this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=XR(this.es)}function E2e(n){var e,t,i=n.x,r=n.y;if(i=It(i-this.long0,this.over),this.sphere){if(!this.m)r=this.n!==1?Math.asin(this.n*Math.sin(r)):r;else for(var a=this.n*Math.sin(r),o=hje;o;--o){var s=(this.m*r+Math.sin(r)-a)/(this.m+Math.cos(r));if(r-=s,Math.abs(s)<Et)break}e=this.a*this.C_x*i*(this.m+Math.cos(r)),t=this.a*this.C_y*r}else{var l=Math.sin(r),u=Math.cos(r);t=this.a*au(r,l,u,this.en),e=this.a*i*u/Math.sqrt(1-this.es*l*l)}return n.x=e,n.y=t,n}function P2e(n){var e,t,i,r;return n.x-=this.x0,i=n.x/this.a,n.y-=this.y0,e=n.y/this.a,this.sphere?(e/=this.C_y,i=i/(this.C_x*(this.m+Math.cos(e))),this.m?e=O5((this.m*e+Math.sin(e))/this.n):this.n!==1&&(e=O5(Math.sin(e)/this.n)),i=It(i+this.long0,this.over),e=H5(e)):(e=YR(n.y/this.a,this.es,this.en),r=Math.abs(e),r<vt?(r=Math.sin(e),t=this.long0+n.x*Math.sqrt(1-this.es*r*r)/(this.a*Math.cos(e)),i=It(t,this.over)):r-Et<vt&&(i=this.long0)),n.x=i,n.y=e,n}var pje=["Sinusoidal","sinu"];const vje={init:fje,forward:E2e,inverse:P2e,names:pje};function mje(){this.sphere=!0,this.b=this.a,this.m=1,this.n=2.5707963267948966,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)}var gje=E2e,yje=P2e,_je=["Eckert_VI","eck6"];const Sje={init:mje,forward:gje,inverse:yje,names:_je};function bje(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0}function xje(n){for(var e=n.x,t=n.y,i=It(e-this.long0,this.over),r=t,a=Math.PI*Math.sin(t);;){var o=-(r+Math.sin(r)-a)/(1+Math.cos(r));if(r+=o,Math.abs(o)<Et)break}r/=2,Math.PI/2-Math.abs(t)<Et&&(i=0);var s=.900316316158*this.a*i*Math.cos(r)+this.x0,l=1.4142135623731*this.a*Math.sin(r)+this.y0;return n.x=s,n.y=l,n}function wje(n){var e,t;n.x-=this.x0,n.y-=this.y0,t=n.y/(1.4142135623731*this.a),Math.abs(t)>.999999999999&&(t=.999999999999),e=Math.asin(t);var i=It(this.long0+n.x/(.900316316158*this.a*Math.cos(e)),this.over);i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),t=(2*e+Math.sin(2*e))/Math.PI,Math.abs(t)>1&&(t=1);var r=Math.asin(t);return n.x=i,n.y=r,n}var Tje=["Mollweide","moll"];const Aje={init:bje,forward:xje,inverse:wje,names:Tje};function Cje(){Math.abs(this.lat1+this.lat2)<Et||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Gh(this.es),this.e1=Uh(this.es),this.e2=Vh(this.es),this.e3=Hh(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=es(this.e,this.sin_phi,this.cos_phi),this.ml1=Ei(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<Et?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=es(this.e,this.sin_phi,this.cos_phi),this.ml2=Ei(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Ei(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function Mje(n){var e=n.x,t=n.y,i;if(this.sphere)i=this.a*(this.g-t);else{var r=Ei(this.e0,this.e1,this.e2,this.e3,t);i=this.a*(this.g-r)}var a=this.ns*It(e-this.long0,this.over),o=this.x0+i*Math.sin(a),s=this.y0+this.rh-i*Math.cos(a);return n.x=o,n.y=s,n}function Eje(n){n.x-=this.x0,n.y=this.rh-n.y+this.y0;var e,t,i,r;this.ns>=0?(t=Math.sqrt(n.x*n.x+n.y*n.y),e=1):(t=-Math.sqrt(n.x*n.x+n.y*n.y),e=-1);var a=0;if(t!==0&&(a=Math.atan2(e*n.x,e*n.y)),this.sphere)return r=It(this.long0+a/this.ns,this.over),i=H5(this.g-t/this.a),n.x=r,n.y=i,n;var o=this.g-t/this.a;return i=ny(o,this.e0,this.e1,this.e2,this.e3),r=It(this.long0+a/this.ns,this.over),n.x=r,n.y=i,n}var Pje=["Equidistant_Conic","eqdc"];const Rje={init:Cje,forward:Mje,inverse:Eje,names:Pje};function Lje(){this.R=this.a}function Ije(n){var e=n.x,t=n.y,i=It(e-this.long0,this.over),r,a;Math.abs(t)<=Et&&(r=this.x0+this.R*i,a=this.y0);var o=O5(2*Math.abs(t/Math.PI));(Math.abs(i)<=Et||Math.abs(Math.abs(t)-vt)<=Et)&&(r=this.x0,t>=0?a=this.y0+Math.PI*this.R*Math.tan(.5*o):a=this.y0+Math.PI*this.R*-Math.tan(.5*o));var s=.5*Math.abs(Math.PI/i-i/Math.PI),l=s*s,u=Math.sin(o),c=Math.cos(o),d=c/(u+c-1),h=d*d,f=d*(2/u-1),p=f*f,m=Math.PI*this.R*(s*(d-p)+Math.sqrt(l*(d-p)*(d-p)-(p+l)*(h-p)))/(p+l);i<0&&(m=-m),r=this.x0+m;var v=l+d;return m=Math.PI*this.R*(f*v-s*Math.sqrt((p+l)*(l+1)-v*v))/(p+l),t>=0?a=this.y0+m:a=this.y0-m,n.x=r,n.y=a,n}function Dje(n){var e,t,i,r,a,o,s,l,u,c,d,h,f;return n.x-=this.x0,n.y-=this.y0,d=Math.PI*this.R,i=n.x/d,r=n.y/d,a=i*i+r*r,o=-Math.abs(r)*(1+a),s=o-2*r*r+i*i,l=-2*o+1+2*r*r+a*a,f=r*r/l+(2*s*s*s/l/l/l-9*o*s/l/l)/27,u=(o-s*s/3/l)/l,c=2*Math.sqrt(-u/3),d=3*f/u/c,Math.abs(d)>1&&(d>=0?d=1:d=-1),h=Math.acos(d)/3,n.y>=0?t=(-c*Math.cos(h+Math.PI/3)-s/3/l)*Math.PI:t=-(-c*Math.cos(h+Math.PI/3)-s/3/l)*Math.PI,Math.abs(i)<Et?e=this.long0:e=It(this.long0+Math.PI*(a-1+Math.sqrt(1+2*(i*i-r*r)+a*a))/2/i,this.over),n.x=e,n.y=t,n}var Nje=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"];const kje={init:Lje,forward:Ije,inverse:Dje,names:Nje};function Fje(n,e,t,i,r,a){const o=i-e,s=Math.atan((1-a)*Math.tan(n)),l=Math.atan((1-a)*Math.tan(t)),u=Math.sin(s),c=Math.cos(s),d=Math.sin(l),h=Math.cos(l);let f=o,p,m=100,v,g,_,S,x,A,C,M,I,D,E,P,F,V;do{if(v=Math.sin(f),g=Math.cos(f),_=Math.sqrt(h*v*(h*v)+(c*d-u*h*g)*(c*d-u*h*g)),_===0)return{azi1:0,s12:0};S=u*d+c*h*g,x=Math.atan2(_,S),A=c*h*v/_,C=1-A*A,M=C!==0?S-2*u*d/C:0,I=a/16*C*(4+a*(4-3*C)),p=f,f=o+(1-I)*a*A*(x+I*_*(M+I*S*(-1+2*M*M)))}while(Math.abs(f-p)>1e-12&&--m>0);return m===0?{azi1:NaN,s12:NaN}:(D=C*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),E=1+D/16384*(4096+D*(-768+D*(320-175*D))),P=D/1024*(256+D*(-128+D*(74-47*D))),F=P*_*(M+P/4*(S*(-1+2*M*M)-P/6*M*(-3+4*_*_)*(-3+4*M*M))),V=r*(1-a)*E*(x-F),{azi1:Math.atan2(h*v,c*d-u*h*g),s12:V})}function Oje(n,e,t,i,r,a){const o=Math.atan((1-a)*Math.tan(n)),s=Math.sin(o),l=Math.cos(o),u=Math.sin(t),c=Math.cos(t),d=Math.atan2(s,l*c),h=l*u,f=1-h*h,p=f*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),m=1+p/16384*(4096+p*(-768+p*(320-175*p))),v=p/1024*(256+p*(-128+p*(74-47*p)));let g=i/(r*(1-a)*m),_,S=100,x,A,C,M;do x=Math.cos(2*d+g),A=Math.sin(g),C=Math.cos(g),M=v*A*(x+v/4*(C*(-1+2*x*x)-v/6*x*(-3+4*A*A)*(-3+4*x*x))),_=g,g=i/(r*(1-a)*m)+M;while(Math.abs(g-_)>1e-12&&--S>0);if(S===0)return{lat2:NaN,lon2:NaN};const I=s*A-l*C*c,D=Math.atan2(s*C+l*A*c,(1-a)*Math.sqrt(h*h+I*I)),E=Math.atan2(A*u,l*C-s*A*c),P=a/16*f*(4+a*(4-3*f)),F=E-(1-P)*a*h*(g+P*A*(x+P*C*(-1+2*x*x))),V=e+F;return{lat2:D,lon2:V}}function Bje(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function zje(n){var e=n.x,t=n.y,i=Math.sin(n.y),r=Math.cos(n.y),a=It(e-this.long0,this.over),o,s,l,u,c,d,h,f,p,m,v;return this.sphere?Math.abs(this.sin_p12-1)<=Et?(n.x=this.x0+this.a*(vt-t)*Math.sin(a),n.y=this.y0-this.a*(vt-t)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=Et?(n.x=this.x0+this.a*(vt+t)*Math.sin(a),n.y=this.y0+this.a*(vt+t)*Math.cos(a),n):(p=this.sin_p12*i+this.cos_p12*r*Math.cos(a),h=Math.acos(p),f=h?h/Math.sin(h):1,n.x=this.x0+this.a*f*r*Math.sin(a),n.y=this.y0+this.a*f*(this.cos_p12*i-this.sin_p12*r*Math.cos(a)),n):(o=Gh(this.es),s=Uh(this.es),l=Vh(this.es),u=Hh(this.es),Math.abs(this.sin_p12-1)<=Et?(c=this.a*Ei(o,s,l,u,vt),d=this.a*Ei(o,s,l,u,t),n.x=this.x0+(c-d)*Math.sin(a),n.y=this.y0-(c-d)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=Et?(c=this.a*Ei(o,s,l,u,vt),d=this.a*Ei(o,s,l,u,t),n.x=this.x0+(c+d)*Math.sin(a),n.y=this.y0+(c+d)*Math.cos(a),n):Math.abs(e)<Et&&Math.abs(t-this.lat0)<Et?(n.x=n.y=0,n):(m=Fje(this.lat0,this.long0,t,e,this.a,this.f),v=m.azi1,n.x=m.s12*Math.sin(v),n.y=m.s12*Math.cos(v),n))}function Gje(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,o,s,l,u,c,d,h,f,p,m,v;return this.sphere?(e=Math.sqrt(n.x*n.x+n.y*n.y),e>2*vt*this.a?void 0:(t=e/this.a,i=Math.sin(t),r=Math.cos(t),a=this.long0,Math.abs(e)<=Et?o=this.lat0:(o=O5(r*this.sin_p12+n.y*i*this.cos_p12/e),s=Math.abs(this.lat0)-vt,Math.abs(s)<=Et?this.lat0>=0?a=It(this.long0+Math.atan2(n.x,-n.y),this.over):a=It(this.long0-Math.atan2(-n.x,n.y),this.over):a=It(this.long0+Math.atan2(n.x*i,e*this.cos_p12*r-n.y*this.sin_p12*i),this.over)),n.x=a,n.y=o,n)):(l=Gh(this.es),u=Uh(this.es),c=Vh(this.es),d=Hh(this.es),Math.abs(this.sin_p12-1)<=Et?(h=this.a*Ei(l,u,c,d,vt),e=Math.sqrt(n.x*n.x+n.y*n.y),f=h-e,o=ny(f/this.a,l,u,c,d),a=It(this.long0+Math.atan2(n.x,-1*n.y),this.over),n.x=a,n.y=o,n):Math.abs(this.sin_p12+1)<=Et?(h=this.a*Ei(l,u,c,d,vt),e=Math.sqrt(n.x*n.x+n.y*n.y),f=e-h,o=ny(f/this.a,l,u,c,d),a=It(this.long0+Math.atan2(n.x,n.y),this.over),n.x=a,n.y=o,n):(p=Math.atan2(n.x,n.y),m=Math.sqrt(n.x*n.x+n.y*n.y),v=Oje(this.lat0,this.long0,p,m,this.a,this.f),n.x=v.lon2,n.y=v.lat2,n))}var Uje=["Azimuthal_Equidistant","aeqd"];const Vje={init:Bje,forward:zje,inverse:Gje,names:Uje};function Hje(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function Wje(n){var e,t,i,r,a,o,s,l,u=n.x,c=n.y;return i=It(u-(this.long0||0),this.over),e=Math.sin(c),t=Math.cos(c),r=Math.cos(i),o=this.sin_p14*e+this.cos_p14*t*r,a=1,(o>0||Math.abs(o)<=Et)&&(s=this.a*a*t*Math.sin(i),l=(this.y0||0)+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)),n.x=s,n.y=l,n}function jje(n){var e,t,i,r,a,o,s,l,u;return n.x-=this.x0||0,n.y-=this.y0||0,e=Math.sqrt(n.x*n.x+n.y*n.y),t=O5(e/this.a),i=Math.sin(t),r=Math.cos(t),l=this.long0||0,u=this.lat0||0,o=l,Math.abs(e)<=Et?(s=u,n.x=o,n.y=s,n):(s=O5(r*this.sin_p14+n.y*i*this.cos_p14/e),a=Math.abs(u)-vt,Math.abs(a)<=Et?(u>=0?o=It(l+Math.atan2(n.x,-n.y),this.over):o=It(l-Math.atan2(-n.x,n.y),this.over),n.x=o,n.y=s,n):(o=It(l+Math.atan2(n.x*i,e*this.cos_p14*r-n.y*this.sin_p14*i),this.over),n.x=o,n.y=s,n))}var $je=["ortho"];const qje={init:Hje,forward:Wje,inverse:jje,names:$je};var A0={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},k1={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Xje(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=vt-N1/2?this.face=A0.TOP:this.lat0<=-(vt-N1/2)?this.face=A0.BOTTOM:Math.abs(this.long0)<=N1?this.face=A0.FRONT:Math.abs(this.long0)<=vt+N1?this.face=this.long0>0?A0.RIGHT:A0.LEFT:this.face=A0.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Yje(n){var e={x:0,y:0},t,i,r,a,o,s,l={value:0};if(n.x-=this.long0,this.es!==0?t=Math.atan(this.one_minus_f_squared*Math.tan(n.y)):t=n.y,i=n.x,this.face===A0.TOP)a=vt-t,i>=N1&&i<=vt+N1?(l.value=k1.AREA_0,r=i-vt):i>vt+N1||i<=-(vt+N1)?(l.value=k1.AREA_1,r=i>0?i-H0:i+H0):i>-(vt+N1)&&i<=-N1?(l.value=k1.AREA_2,r=i+vt):(l.value=k1.AREA_3,r=i);else if(this.face===A0.BOTTOM)a=vt+t,i>=N1&&i<=vt+N1?(l.value=k1.AREA_0,r=-i+vt):i<N1&&i>=-N1?(l.value=k1.AREA_1,r=-i):i<-N1&&i>=-(vt+N1)?(l.value=k1.AREA_2,r=-i-vt):(l.value=k1.AREA_3,r=i>0?-i+H0:-i-H0);else{var u,c,d,h,f,p,m;this.face===A0.RIGHT?i=t7(i,+vt):this.face===A0.BACK?i=t7(i,+H0):this.face===A0.LEFT&&(i=t7(i,-vt)),h=Math.sin(t),f=Math.cos(t),p=Math.sin(i),m=Math.cos(i),u=f*m,c=f*p,d=h,this.face===A0.FRONT?(a=Math.acos(u),r=Uv(a,d,c,l)):this.face===A0.RIGHT?(a=Math.acos(c),r=Uv(a,d,-u,l)):this.face===A0.BACK?(a=Math.acos(-u),r=Uv(a,d,-c,l)):this.face===A0.LEFT?(a=Math.acos(-c),r=Uv(a,d,u,l)):(a=r=0,l.value=k1.AREA_0)}return s=Math.atan(12/H0*(r+Math.acos(Math.sin(r)*Math.cos(N1))-vt)),o=Math.sqrt((1-Math.cos(a))/(Math.cos(s)*Math.cos(s))/(1-Math.cos(Math.atan(1/Math.cos(r))))),l.value===k1.AREA_1?s+=vt:l.value===k1.AREA_2?s+=H0:l.value===k1.AREA_3&&(s+=1.5*H0),e.x=o*Math.cos(s),e.y=o*Math.sin(s),e.x=e.x*this.a+this.x0,e.y=e.y*this.a+this.y0,n.x=e.x,n.y=e.y,n}function Kje(n){var e={lam:0,phi:0},t,i,r,a,o,s,l,u,c,d={value:0};if(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,i=Math.atan(Math.sqrt(n.x*n.x+n.y*n.y)),t=Math.atan2(n.y,n.x),n.x>=0&&n.x>=Math.abs(n.y)?d.value=k1.AREA_0:n.y>=0&&n.y>=Math.abs(n.x)?(d.value=k1.AREA_1,t-=vt):n.x<0&&-n.x>=Math.abs(n.y)?(d.value=k1.AREA_2,t=t<0?t+H0:t-H0):(d.value=k1.AREA_3,t+=vt),c=H0/12*Math.tan(t),o=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),s=Math.atan(o),r=Math.cos(t),a=Math.tan(i),l=1-r*r*a*a*(1-Math.cos(Math.atan(1/Math.cos(s)))),l<-1?l=-1:l>1&&(l=1),this.face===A0.TOP)u=Math.acos(l),e.phi=vt-u,d.value===k1.AREA_0?e.lam=s+vt:d.value===k1.AREA_1?e.lam=s<0?s+H0:s-H0:d.value===k1.AREA_2?e.lam=s-vt:e.lam=s;else if(this.face===A0.BOTTOM)u=Math.acos(l),e.phi=u-vt,d.value===k1.AREA_0?e.lam=-s+vt:d.value===k1.AREA_1?e.lam=-s:d.value===k1.AREA_2?e.lam=-s-vt:e.lam=s<0?-s-H0:-s+H0;else{var h,f,p;h=l,c=h*h,c>=1?p=0:p=Math.sqrt(1-c)*Math.sin(s),c+=p*p,c>=1?f=0:f=Math.sqrt(1-c),d.value===k1.AREA_1?(c=f,f=-p,p=c):d.value===k1.AREA_2?(f=-f,p=-p):d.value===k1.AREA_3&&(c=f,f=p,p=-c),this.face===A0.RIGHT?(c=h,h=-f,f=c):this.face===A0.BACK?(h=-h,f=-f):this.face===A0.LEFT&&(c=h,h=f,f=-c),e.phi=Math.acos(-p)-vt,e.lam=Math.atan2(f,h),this.face===A0.RIGHT?e.lam=t7(e.lam,-vt):this.face===A0.BACK?e.lam=t7(e.lam,-H0):this.face===A0.LEFT&&(e.lam=t7(e.lam,+vt))}if(this.es!==0){var m,v,g;m=e.phi<0?1:0,v=Math.tan(e.phi),g=this.b/Math.sqrt(v*v+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g)),m&&(e.phi=-e.phi)}return e.lam+=this.long0,n.x=e.lam,n.y=e.phi,n}function Uv(n,e,t,i){var r;return n<Et?(i.value=k1.AREA_0,r=0):(r=Math.atan2(e,t),Math.abs(r)<=N1?i.value=k1.AREA_0:r>N1&&r<=vt+N1?(i.value=k1.AREA_1,r-=vt):r>vt+N1||r<=-(vt+N1)?(i.value=k1.AREA_2,r=r>=0?r-H0:r+H0):(i.value=k1.AREA_3,r+=vt)),r}function t7(n,e){var t=n+e;return t<-H0?t+=uh:t>+H0&&(t-=uh),t}var Zje=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const Jje={init:Xje,forward:Yje,inverse:Kje,names:Zje};var SM=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Nc=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],R2e=.8487,L2e=1.3523,I2e=Ki/5,Qje=1/I2e,zl=18,iy=function(n,e){return n[0]+e*(n[1]+e*(n[2]+e*n[3]))},e$e=function(n,e){return n[1]+e*(2*n[2]+e*3*n[3])};function t$e(n,e,t,i){for(var r=e;i;--i){var a=n(r);if(r-=a,Math.abs(a)<t)break}return r}function n$e(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function i$e(n){var e=It(n.x-this.long0,this.over),t=Math.abs(n.y),i=Math.floor(t*I2e);i<0?i=0:i>=zl&&(i=zl-1),t=Ki*(t-Qje*i);var r={x:iy(SM[i],t)*e,y:iy(Nc[i],t)};return n.y<0&&(r.y=-r.y),r.x=r.x*this.a*R2e+this.x0,r.y=r.y*this.a*L2e+this.y0,r}function r$e(n){var e={x:(n.x-this.x0)/(this.a*R2e),y:Math.abs(n.y-this.y0)/(this.a*L2e)};if(e.y>=1)e.x/=SM[zl][0],e.y=n.y<0?-vt:vt;else{var t=Math.floor(e.y*zl);for(t<0?t=0:t>=zl&&(t=zl-1);;)if(Nc[t][0]>e.y)--t;else if(Nc[t+1][0]<=e.y)++t;else break;var i=Nc[t],r=5*(e.y-i[0])/(Nc[t+1][0]-i[0]);r=t$e(function(a){return(iy(i,a)-e.y)/e$e(i,a)},r,Et,100),e.x/=iy(SM[t],r),e.y=(5*t+r)*I0,n.y<0&&(e.y=-e.y)}return e.x=It(e.x+this.long0,this.over),e}var a$e=["Robinson","robin"];const o$e={init:n$e,forward:i$e,inverse:r$e,names:a$e};function s$e(){this.name="geocent"}function l$e(n){var e=m2e(n,this.es,this.a);return e}function u$e(n){var e=g2e(n,this.es,this.a,this.b);return e}var c$e=["Geocentric","geocentric","geocent","Geocent"];const d$e={init:s$e,forward:l$e,inverse:u$e,names:c$e};var ri={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},fc={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function h$e(){if(Object.keys(fc).forEach(function(t){if(typeof this[t]=="undefined")this[t]=fc[t].def;else{if(fc[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);fc[t].num&&(this[t]=parseFloat(this[t]))}fc[t].degrees&&(this[t]=this[t]*I0)}.bind(this)),Math.abs(Math.abs(this.lat0)-vt)<Et?this.mode=this.lat0<0?ri.S_POLE:ri.N_POLE:Math.abs(this.lat0)<Et?this.mode=ri.EQUIT:(this.mode=ri.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var n=this.tilt,e=this.azi;this.cg=Math.cos(e),this.sg=Math.sin(e),this.cw=Math.cos(n),this.sw=Math.sin(n)}function f$e(n){n.x-=this.long0;var e=Math.sin(n.y),t=Math.cos(n.y),i=Math.cos(n.x),r,a;switch(this.mode){case ri.OBLIQ:a=this.sinph0*e+this.cosph0*t*i;break;case ri.EQUIT:a=t*i;break;case ri.S_POLE:a=-e;break;case ri.N_POLE:a=e;break}switch(a=this.pn1/(this.p-a),r=a*t*Math.sin(n.x),this.mode){case ri.OBLIQ:a*=this.cosph0*e-this.sinph0*t*i;break;case ri.EQUIT:a*=e;break;case ri.N_POLE:a*=-(t*i);break;case ri.S_POLE:a*=t*i;break}var o,s;return o=a*this.cg+r*this.sg,s=1/(o*this.sw*this.h1+this.cw),r=(r*this.cg-a*this.sg)*this.cw*s,a=o*s,n.x=r*this.a,n.y=a*this.a,n}function p$e(n){n.x/=this.a,n.y/=this.a;var e={x:n.x,y:n.y},t,i,r;r=1/(this.pn1-n.y*this.sw),t=this.pn1*n.x*r,i=this.pn1*n.y*this.cw*r,n.x=t*this.cg+i*this.sg,n.y=i*this.cg-t*this.sg;var a=Xi(n.x,n.y);if(Math.abs(a)<Et)e.x=0,e.y=n.y;else{var o,s;switch(s=1-a*a*this.pfact,s=(this.p-Math.sqrt(s))/(this.pn1/a+a/this.pn1),o=Math.sqrt(1-s*s),this.mode){case ri.OBLIQ:e.y=Math.asin(o*this.sinph0+n.y*s*this.cosph0/a),n.y=(o-this.sinph0*Math.sin(e.y))*a,n.x*=s*this.cosph0;break;case ri.EQUIT:e.y=Math.asin(n.y*s/a),n.y=o*a,n.x*=s;break;case ri.N_POLE:e.y=Math.asin(o),n.y=-n.y;break;case ri.S_POLE:e.y=-Math.asin(o);break}e.x=Math.atan2(n.x,n.y)}return n.x=e.x+this.long0,n.y=e.y,n}var v$e=["Tilted_Perspective","tpers"];const m$e={init:h$e,forward:f$e,inverse:p$e,names:v$e};function g$e(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var n=1-this.es,e=1/n;this.radius_p=Math.sqrt(n),this.radius_p2=n,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function y$e(n){var e=n.x,t=n.y,i,r,a,o;if(e=e-this.long0,this.shape==="ellipse"){t=Math.atan(this.radius_p2*Math.tan(t));var s=this.radius_p/Xi(this.radius_p*Math.cos(t),Math.sin(t));if(r=s*Math.cos(e)*Math.cos(t),a=s*Math.sin(e)*Math.cos(t),o=s*Math.sin(t),(this.radius_g-r)*r-a*a-o*o*this.radius_p_inv2<0)return n.x=Number.NaN,n.y=Number.NaN,n;i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/Xi(o,i)),n.y=this.radius_g_1*Math.atan(o/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(o/Xi(a,i)))}else this.shape==="sphere"&&(i=Math.cos(t),r=Math.cos(e)*i,a=Math.sin(e)*i,o=Math.sin(t),i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/Xi(o,i)),n.y=this.radius_g_1*Math.atan(o/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(o/Xi(a,i))));return n.x=n.x*this.a,n.y=n.y*this.a,n}function _$e(n){var e=-1,t=0,i=0,r,a,o,s;if(n.x=n.x/this.a,n.y=n.y/this.a,this.shape==="ellipse"){this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*Xi(1,i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*Xi(1,t));var l=i/this.radius_p;if(r=t*t+l*l+e*e,a=2*this.radius_g*e,o=a*a-4*r*this.C,o<0)return n.x=Number.NaN,n.y=Number.NaN,n;s=(-a-Math.sqrt(o))/(2*r),e=this.radius_g+s*e,t*=s,i*=s,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e),n.y=Math.atan(this.radius_p_inv2*Math.tan(n.y))}else if(this.shape==="sphere"){if(this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*Math.sqrt(1+i*i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*Math.sqrt(1+t*t)),r=t*t+i*i+e*e,a=2*this.radius_g*e,o=a*a-4*r*this.C,o<0)return n.x=Number.NaN,n.y=Number.NaN,n;s=(-a-Math.sqrt(o))/(2*r),e=this.radius_g+s*e,t*=s,i*=s,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e)}return n.x=n.x+this.long0,n}var S$e=["Geostationary Satellite View","Geostationary_Satellite","geos"];const b$e={init:g$e,forward:y$e,inverse:_$e,names:S$e};var ld=1.340264,ud=-.081106,cd=893e-6,dd=.003796,ry=Math.sqrt(3)/2;function x$e(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=C2e(this.es),this.qp=qo(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function w$e(n){var e=It(n.x-this.long0,this.over),t=n.y,i=Math.sin(t);this.es!==0&&(i=qo(this.e,i)/this.qp);var r=Math.asin(ry*i),a=r*r,o=a*a*a;return n.x=e*Math.cos(r)/(ry*(ld+3*ud*a+o*(7*cd+9*dd*a))),n.y=r*(ld+ud*a+o*(cd+dd*a)),this.es!==0&&(n.x*=this.rqda,n.y*=this.rqda),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n}function T$e(n){n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,this.es!==0&&(n.x/=this.rqda,n.y/=this.rqda);var e=1e-9,t=12,i=n.y,r,a,o,s,l,u;for(u=0;u<t&&(r=i*i,a=r*r*r,o=i*(ld+ud*r+a*(cd+dd*r))-n.y,s=ld+3*ud*r+a*(7*cd+9*dd*r),i-=l=o/s,!(Math.abs(l)<e));++u);return r=i*i,a=r*r*r,n.x=ry*n.x*(ld+3*ud*r+a*(7*cd+9*dd*r))/Math.cos(i),n.y=Math.asin(Math.sin(i)/ry),this.es!==0&&(n.y=M2e(n.y,this.apa)),n.x=It(n.x+this.long0,this.over),n}var A$e=["eqearth","Equal Earth","Equal_Earth"];const C$e={init:x$e,forward:w$e,inverse:T$e,names:A$e};var hh=1e-10;function M$e(){var n;if(this.phi1=this.lat1,Math.abs(this.phi1)<hh)throw new Error;this.es?(this.en=XR(this.es),this.m1=au(this.phi1,this.am1=Math.sin(this.phi1),n=Math.cos(this.phi1),this.en),this.am1=n/(Math.sqrt(1-this.es*this.am1*this.am1)*this.am1),this.inverse=P$e,this.forward=E$e):(Math.abs(this.phi1)+hh>=vt?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=L$e,this.forward=R$e)}function E$e(n){var e=It(n.x-(this.long0||0),this.over),t=n.y,i,r,a;return i=this.am1+this.m1-au(t,r=Math.sin(t),a=Math.cos(t),this.en),r=a*e/(i*Math.sqrt(1-this.es*r*r)),n.x=i*Math.sin(r),n.y=this.am1-i*Math.cos(r),n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function P$e(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i,r;if(t=Xi(n.x,n.y=this.am1-n.y),r=YR(this.am1+this.m1-t,this.es,this.en),(e=Math.abs(r))<vt)e=Math.sin(r),i=t*Math.atan2(n.x,n.y)*Math.sqrt(1-this.es*e*e)/Math.cos(r);else if(Math.abs(e-vt)<=hh)i=0;else throw new Error;return n.x=It(i+(this.long0||0),this.over),n.y=H5(r),n}function R$e(n){var e=It(n.x-(this.long0||0),this.over),t=n.y,i,r;return r=this.cphi1+this.phi1-t,Math.abs(r)>hh?(n.x=r*Math.sin(i=e*Math.cos(t)/r),n.y=this.cphi1-r*Math.cos(i)):n.x=n.y=0,n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function L$e(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i=Xi(n.x,n.y=this.cphi1-n.y);if(t=this.cphi1+this.phi1-i,Math.abs(t)>vt)throw new Error;return Math.abs(Math.abs(t)-vt)<=hh?e=0:e=i*Math.atan2(n.x,n.y)/Math.cos(t),n.x=It(e+(this.long0||0),this.over),n.y=H5(t),n}var I$e=["bonne","Bonne (Werner lat_1=90)"];const D$e={init:M$e,names:I$e},zW={OBLIQUE:{forward:B$e,inverse:G$e},TRANSVERSE:{forward:z$e,inverse:U$e}},ay={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function N$e(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=h2e.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const n=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),e=Aa(n);if(!e)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);e.long0=0,this.obliqueProjection=e;let t;const i=Object.keys(ay),r=s=>{if(typeof this[s]=="undefined")return;const l=parseFloat(this[s])*I0;if(isNaN(l))throw new Error("Invalid value for "+s+": "+this[s]);return l};for(let s=0;s<i.length;s++){const l=i[s],u=ay[l],c=Object.entries(u);if(c.some(([h])=>typeof this[h]!="undefined")){t=u;for(let h=0;h<c.length;h++){const[f,p]=c[h],m=r(f);if(typeof m=="undefined")throw new Error("Missing parameter: "+f+".");this[p]=m}break}}if(!t)throw new Error("No valid parameters provided for ob_tran projection.");const{lamp:a,phip:o}=O$e(this,t);this.lamp=a,Math.abs(o)>Et?(this.cphip=Math.cos(o),this.sphip=Math.sin(o),this.projectionType=zW.OBLIQUE):this.projectionType=zW.TRANSVERSE}function k$e(n){return this.projectionType.forward(this,n)}function F$e(n){return this.projectionType.inverse(this,n)}function O$e(n,e){let t,i;if(e===ay.ROTATE){let r=n.oLongC,a=n.oLatC,o=n.oAlpha;if(Math.abs(Math.abs(a)-vt)<=Et)throw new Error("Invalid value for o_lat_c: "+n.o_lat_c+" should be < 90°");i=r+Math.atan2(-1*Math.cos(o),-1*Math.sin(o)*Math.sin(a)),t=Math.asin(Math.cos(a)*Math.sin(o))}else if(e===ay.NEW_POLE)i=n.oLongP,t=n.oLatP;else{let r=n.oLong1,a=n.oLat1,o=n.oLong2,s=n.oLat2,l=Math.abs(a);if(Math.abs(a)>vt-Et)throw new Error("Invalid value for o_lat_1: "+n.o_lat_1+" should be < 90°");if(Math.abs(s)>vt-Et)throw new Error("Invalid value for o_lat_2: "+n.o_lat_2+" should be < 90°");if(Math.abs(a-s)<Et)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(l<Et)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");i=Math.atan2(Math.cos(a)*Math.sin(s)*Math.cos(r)-Math.sin(a)*Math.cos(s)*Math.cos(o),Math.sin(a)*Math.cos(s)*Math.sin(o)-Math.cos(a)*Math.sin(s)*Math.sin(r)),t=Math.atan(-1*Math.cos(i-r)/Math.tan(a))}return{lamp:i,phip:t}}function B$e(n,e){let{x:t,y:i}=e;t=It(t-n.long0,n.over);const r=Math.cos(t),a=Math.sin(i),o=Math.cos(i);e.x=It(Math.atan2(o*Math.sin(t),n.sphip*o*r+n.cphip*a)+n.lamp),e.y=Math.asin(n.sphip*a-n.cphip*o*r);const s=n.obliqueProjection.forward(e);return n.isIdentity&&(s.x*=Ki,s.y*=Ki),s}function z$e(n,e){let{x:t,y:i}=e;t=It(t-n.long0,n.over);const r=Math.cos(i),a=Math.cos(t);e.x=It(Math.atan2(r*Math.sin(t),Math.sin(i))+n.lamp),e.y=Math.asin(-1*r*a);const o=n.obliqueProjection.forward(e);return n.isIdentity&&(o.x*=Ki,o.y*=Ki),o}function G$e(n,e){n.isIdentity&&(e.x*=I0,e.y*=I0);const t=n.obliqueProjection.inverse(e);let{x:i,y:r}=t;if(i<Number.MAX_VALUE){i-=n.lamp;const a=Math.cos(i),o=Math.sin(r),s=Math.cos(r);e.x=Math.atan2(s*Math.sin(i),n.sphip*s*a-n.cphip*o),e.y=Math.asin(n.sphip*o+n.cphip*s*a)}return e.x=It(e.x+n.long0),e}function U$e(n,e){n.isIdentity&&(e.x*=I0,e.y*=I0);const t=n.obliqueProjection.inverse(e);let{x:i,y:r}=t;if(i<Number.MAX_VALUE){const a=Math.cos(r);i-=n.lamp,e.x=Math.atan2(a*Math.sin(i),-1*Math.sin(r)),e.y=Math.asin(a*Math.cos(i))}return e.x=It(e.x+n.long0),e}var V$e=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"];const H$e={init:N$e,forward:k$e,inverse:F$e,names:V$e};function W$e(n){n.Proj.projections.add(xm),n.Proj.projections.add(wm),n.Proj.projections.add(RHe),n.Proj.projections.add(GHe),n.Proj.projections.add(jHe),n.Proj.projections.add(KHe),n.Proj.projections.add(nWe),n.Proj.projections.add(sWe),n.Proj.projections.add(hWe),n.Proj.projections.add(gWe),n.Proj.projections.add(EWe),n.Proj.projections.add(NWe),n.Proj.projections.add(zWe),n.Proj.projections.add(jWe),n.Proj.projections.add(KWe),n.Proj.projections.add(tje),n.Proj.projections.add(oje),n.Proj.projections.add(dje),n.Proj.projections.add(vje),n.Proj.projections.add(Sje),n.Proj.projections.add(Aje),n.Proj.projections.add(Rje),n.Proj.projections.add(kje),n.Proj.projections.add(Vje),n.Proj.projections.add(qje),n.Proj.projections.add(Jje),n.Proj.projections.add(o$e),n.Proj.projections.add(d$e),n.Proj.projections.add(m$e),n.Proj.projections.add(b$e),n.Proj.projections.add(C$e),n.Proj.projections.add(D$e),n.Proj.projections.add(H$e)}const b_=Object.assign(qVe,{defaultDatum:"WGS84",Proj:Aa,WGS84:new Aa("WGS84"),Point:I7,toPoint:$R,defs:Bn,nadgrid:CVe,transform:$Ve,mgrs:XVe,version:"__VERSION__"});W$e(b_);try{let n=()=>new DecompressionStream("deflate-raw"),e=t=>new Response(t);n(),D2e=t=>e(e(t).body.pipeThrough(n())).arrayBuffer().then(i=>new Uint8Array(i))}catch(n){}var D2e,GW=new TextDecoder,MT=n=>{throw Error("but-unzip~"+n)};function*j$e(n,e=D2e){let t=n.length-21,i=t-65536,r=new DataView(n.buffer,n.byteOffset),a=l=>r.getUint16(l+t,1),o=l=>r.getUint32(l+t,1),s=(l,u)=>n.subarray(t+=l,t+=u);for(;t>i&&(t=n.lastIndexOf(80,t-1))+1&&(n[t+1]-75||n[t+2]-5||n[t+3]-6););for(t<0&&MT(2),i=a(10),i-a(8)&&MT(3),t=o(16);i--;){let l=a(10),u=a(28),c=a(30),d=a(32),h=o(20),f=o(42),p=GW.decode(s(46,u)),m=GW.decode(s(c,d)),v=t,g;t=f,g=s(30+a(26)+a(28),h),yield{filename:p,comment:m,read:()=>l-8?l?MT(1):g:e(g)},t=v}}const $$e=/.+\.(shp|dbf|json|prj|cpg)$/i,q$e=n=>J2(void 0,null,function*(){const e={},t=[];for(const a of j$e(n))$$e.test(a.filename)&&t.push(Promise.resolve(a.read()).then(o=>e[a.filename]=o));yield Promise.all(t);const i={},r=new TextDecoder;for(const[a,o]of Object.entries(e))a.slice(-3).toLowerCase()==="shp"||a.slice(-3).toLowerCase()==="dbf"?i[a]=new DataView(o.buffer,o.byteOffset,o.byteLength):i[a]=r.decode(o);return i}),X$e=globalThis.URL,Y$e=(n,e)=>{if(!e)return n;const t=new X$e(n);return t.pathname=`${t.pathname}.${e}`,t.href};function fh(n,e){return J2(this,null,function*(){const t=Y$e(n,e),i=e==="prj"||e==="cpg";try{const r=yield fetch(t);if(r.status>399)throw new Error(r.statusText);if(i)return r.text();const a=yield r.arrayBuffer();return new DataView(a)}catch(r){if(i||e==="dbf")return!1;throw r}})}function K$e(n){let e=0,t=1;const i=n.length;let r,a;const o=[n[0][0],n[0][1],n[0][0],n[0][1]];for(;t<i;)r=a||n[0],a=n[t],e+=(a[0]-r[0])*(a[1]+r[1]),t++,a[0]<o[0]&&(o[0]=a[0]),a[1]<o[1]&&(o[1]=a[1]),a[0]>o[2]&&(o[2]=a[0]),a[1]>o[3]&&(o[3]=a[1]);return{ring:n,clockWise:e>0,bbox:o,children:[]}}function UW(n,e){return!(n.bbox[0]>e.bbox[0]||n.bbox[1]>e.bbox[1]||n.bbox[2]<e.bbox[2]||n.bbox[3]<e.bbox[3])}function N2e(n,e=!1){const t=[],i=[];for(const o of n){const s=K$e(o);s.clockWise!==e?t.push(s):i.push(s)}const r=[];for(const o of i){let s;for(const l of t)UW(l,o)&&(s?UW(s,l)&&(s=l):s=l);s?s.children.push(o.ring):r.push(o)}if(e)return{outers:t,orphens:r};if(r.length&&!e){const o=N2e(n,!0);if(o.orphens.length===0){const s=[];for(const l of o.outers)s.push([l.ring.toReversed()].concat(l.children.map(u=>u.toReversed())));return s}}const a=[];for(const o of t)a.push([o.ring].concat(o.children));return a}Y0.prototype.parsePoint=function(n){return{type:"Point",coordinates:this.parseCoord(n,0)}};Y0.prototype.parseZPoint=function(n){const e=this.parsePoint(n);return e.coordinates.push(n.getFloat64(16,!0)),e};Y0.prototype.parsePointArray=function(n,e,t){const i=[];let r=0;for(;r<t;)i.push(this.parseCoord(n,e)),e+=16,r++;return i};Y0.prototype.parseZPointArray=function(n,e,t,i){let r=0;for(;r<t;)i[r].push(n.getFloat64(e,!0)),r++,e+=8;return i};Y0.prototype.parseArrayGroup=function(n,e,t,i,r){const a=[];let o=0,s,l=0,u;for(;o<i;)o++,t+=4,s=l,o===i?l=r:l=n.getInt32(t,!0),u=l-s,u&&(a.push(this.parsePointArray(n,e,u)),e+=u<<4);return a};Y0.prototype.parseZArrayGroup=function(n,e,t,i){let r=0;for(;r<t;)i[r]=this.parseZPointArray(n,e,i[r].length,i[r]),e+=i[r].length<<3,r++;return i};Y0.prototype.parseMultiPoint=function(n){const e={},t=n.getInt32(32,!0);if(!t)return null;const i=this.parseCoord(n,0),r=this.parseCoord(n,16);e.bbox=[i[0],i[1],r[0],r[1]];const a=36;return t===1?(e.type="Point",e.coordinates=this.parseCoord(n,a)):(e.type="MultiPoint",e.coordinates=this.parsePointArray(n,a,t)),e};Y0.prototype.parseZMultiPoint=function(n){const e=this.parseMultiPoint(n);if(!e)return null;let t;if(e.type==="Point")return e.coordinates.push(n.getFloat64(72,!0)),e;t=e.coordinates.length;const i=52+(t<<4);return e.coordinates=this.parseZPointArray(n,i,t,e.coordinates),e};Y0.prototype.parsePolyline=function(n){const e={},t=n.getInt32(32,!0);if(!t)return null;const i=this.parseCoord(n,0),r=this.parseCoord(n,16);e.bbox=[i[0],i[1],r[0],r[1]];const a=n.getInt32(36,!0);let o,s;return t===1?(e.type="LineString",o=44,e.coordinates=this.parsePointArray(n,o,a)):(e.type="MultiLineString",o=40+(t<<2),s=40,e.coordinates=this.parseArrayGroup(n,o,s,t,a)),e};Y0.prototype.parseZPolyline=function(n){const e=this.parsePolyline(n);if(!e)return null;const t=e.coordinates.length;let i;return e.type==="LineString"?(i=60+(t<<4),e.coordinates=this.parseZPointArray(n,i,t,e.coordinates),e):(i=56+(e.coordinates.reduce(function(a,o){return a+o.length},0)<<4)+(t<<2),e.coordinates=this.parseZArrayGroup(n,i,t,e.coordinates),e)};Y0.prototype.polyFuncs=function(n){return n&&(n.type==="LineString"?(n.type="Polygon",n.coordinates=[n.coordinates],n):(n.coordinates=N2e(n.coordinates),n.coordinates.length===1?(n.type="Polygon",n.coordinates=n.coordinates[0],n):(n.type="MultiPolygon",n)))};Y0.prototype.parsePolygon=function(n){return this.polyFuncs(this.parsePolyline(n))};Y0.prototype.parseZPolygon=function(n){return this.polyFuncs(this.parseZPolyline(n))};const VW={1:"parsePoint",3:"parsePolyline",5:"parsePolygon",8:"parseMultiPoint",11:"parseZPoint",13:"parseZPolyline",15:"parseZPolygon",18:"parseZMultiPoint"};function Z$e(n){return n?function(e,t){const i=[e.getFloat64(t,!0),e.getFloat64(t+8,!0)];return n.inverse(i)}:function(e,t){return[e.getFloat64(t,!0),e.getFloat64(t+8,!0)]}}function Y0(n,e){if(!(this instanceof Y0))return new Y0(n,e);this.buffer=n,this.headers=this.parseHeader(),this.shpFuncs(e),this.rows=this.getRows()}Y0.prototype.shpFuncs=function(n){let e=this.headers.shpCode;if(e>20&&(e-=20),!(e in VW))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[VW[e]],this.parseCoord=Z$e(n)};Y0.prototype.getShpCode=function(){return this.parseHeader().shpCode};Y0.prototype.parseHeader=function(){const n=this.buffer;return{length:n.getInt32(24)<<1,version:n.getInt32(28,!0),shpCode:n.getInt32(32,!0),bbox:[n.getFloat64(36,!0),n.getFloat64(44,!0),n.getFloat64(52,!0),n.getFloat64(60,!0)]}};Y0.prototype.getRows=function(){let n=100;const e=this.buffer.byteLength-8,t=[];let i;for(;n<=e&&(i=this.getRow(n),!!i);)n+=8,n+=i.len,i.type?t.push(this.parseFunc(i.data)):t.push(null);return t};Y0.prototype.getRow=function(n){const e=this.buffer.getInt32(n),t=this.buffer.getInt32(n+4)<<1;if(t===0)return{id:e,len:t,type:0};if(!(n+t+8>this.buffer.byteLength))return{id:e,len:t,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+n+12,t-4),type:this.buffer.getInt32(n+8,!0)}};function tL(n,e){return new Y0(n,e).rows}var J$e=/^(?:ANSI\s)?(\d+)$/m;function k2e(n,e){if(!n)return i;try{new TextDecoder(n.trim())}catch(r){var t=J$e.exec(n);return t&&!e?k2e("windows-"+t[1],!0):(n=void 0,i)}return i;function i(r){var a=new TextDecoder(n||void 0),o=a.decode(r,{stream:!0})+a.decode();return o.replace(/\0/g,"").trim()}}function Q$e(n){var e={};return e.lastUpdated=new Date(n.getUint8(1)+1900,n.getUint8(2),n.getUint8(3)),e.records=n.getUint32(4,!0),e.headerLen=n.getUint16(8,!0),e.recLen=n.getUint16(10,!0),e}function eqe(n,e,t){for(var i=[],r=32;r<e&&(i.push({name:t(new Uint8Array(n.buffer.slice(n.byteOffset+r,n.byteOffset+r+11))),dataType:String.fromCharCode(n.getUint8(r+11)),len:n.getUint8(r+16),decimal:n.getUint8(r+17)}),n.getUint8(r+32)!==13);)r+=32;return i}function tqe(n,e,t,i,r){const a=new Uint8Array(n.buffer.slice(n.byteOffset+e,n.byteOffset+e+t));var o=r(a);switch(i){case"N":case"F":case"O":return parseFloat(o,10);case"D":return new Date(o.slice(0,4),parseInt(o.slice(4,6),10)-1,o.slice(6,8));case"L":return o.toLowerCase()==="y"||o.toLowerCase()==="t";default:return o}}function nqe(n,e,t,i){for(var r={},a=0,o=t.length,s,l;a<o;)l=t[a],s=tqe(n,e,l.len,l.dataType,i),e+=l.len,typeof s!="undefined"&&(r[l.name]=s),a++;return r}function nL(n,e){for(var t=k2e(e),i=Q$e(n),r=eqe(n,i.headerLen-1,t),a=(r.length+1<<5)+2,o=i.recLen,s=i.records,l=[];s;)l.push(nqe(n,a,r,t)),a+=o,s--;return l}const iqe=globalThis.URL,rqe=n=>{if(!n)throw new Error("forgot to pass buffer");if(D7(n))return new Uint8Array(n);if(D7(n.buffer))return n.BYTES_PER_ELEMENT===1?n:new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")},aqe=new TextDecoder,F2e=n=>{if(n){if(typeof n=="string")return n;if(D7(n)||ArrayBuffer.isView(n)||iL(n))return aqe.decode(n)}},O2e=n=>{if(!n)throw new Error("forgot to pass buffer");if(iL(n))return n;if(D7(n))return new DataView(n);if(D7(n.buffer))return new DataView(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")};function D7(n){return n instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(n)==="[object ArrayBuffer]"}function iL(n){return n instanceof globalThis.DataView||Object.prototype.toString.call(n)==="[object DataView]"}const rL=function([n,e]){const t={};t.type="FeatureCollection",t.features=[];let i=0;const r=n.length;for(e||(e=[]);i<r;)t.features.push({type:"Feature",geometry:n[i],properties:e[i]||{}}),i++;return t},B2e=function(n,e){return J2(this,null,function*(){let t;n=rqe(n);const i=yield q$e(n),r=[];e=e||[];for(t in i)t.indexOf("__MACOSX")===-1&&(t.slice(-4).toLowerCase()===".shp"?(r.push(t.slice(0,-4)),i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=i[t]):t.slice(-4).toLowerCase()===".prj"?i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=b_(i[t]):t.slice(-5).toLowerCase()===".json"||e.indexOf(t.split(".").pop())>-1?r.push(t.slice(0,-3)+t.slice(-3).toLowerCase()):(t.slice(-4).toLowerCase()===".dbf"||t.slice(-4).toLowerCase()===".cpg")&&(i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=i[t]));if(!r.length)throw new Error("no layers founds");const a=r.map(function(o){let s,l;const u=o.lastIndexOf(".");return u>-1&&o.slice(u).indexOf("json")>-1?(s=JSON.parse(i[o]),s.fileName=o.slice(0,u)):e.indexOf(o.slice(u+1))>-1?(s=i[o],s.fileName=o):(i[o+".dbf"]&&(l=nL(i[o+".dbf"],i[o+".cpg"])),s=rL([tL(i[o+".shp"],i[o+".prj"]),l]),s.fileName=o),s});return a.length===1?a[0]:a})};function oqe(n,e){return J2(this,null,function*(){const t=yield fh(n);return B2e(t,e)})}const sqe=n=>J2(void 0,null,function*(){const e=yield Promise.all([fh(n,"shp"),fh(n,"prj")]);let t=!1;try{e[1]&&(t=b_(e[1]))}catch(i){t=!1}return tL(e[0],t)}),lqe=n=>J2(void 0,null,function*(){const[e,t]=yield Promise.all([fh(n,"dbf"),fh(n,"cpg")]);if(e)return nL(e,t)}),HW=(n,e)=>{var i;return new iqe(n,(i=globalThis==null?void 0:globalThis.document)==null?void 0:i.location).pathname.slice(-4).toLowerCase()===e},uqe=({shp:n,dbf:e,cpg:t,prj:i})=>{const r=[dqe(n,i)];return e&&r.push(hqe(e,t)),rL(r)},cqe=function(n,e){return J2(this,null,function*(){if(typeof n!="string"){if(D7(n)||ArrayBuffer.isView(n)||iL(n))return B2e(n);if(n.shp)return uqe(n);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(HW(n,".zip"))return oqe(n,e);HW(n,".shp")&&(n=n.slice(0,-4));const t=yield Promise.all([sqe(n),lqe(n)]);return rL(t)})},dqe=function(n,e){if(n=O2e(n),e=F2e(e),typeof e=="string")try{e=b_(e)}catch(t){e=!1}return tL(n,e)},hqe=function(n,e){return n=O2e(n),e=F2e(e),nL(n,e)};const fqe={class:"engineering-analysis-panel"},pqe={class:"analysis-card analysis-workbench"},vqe={class:"analysis-card-head"},mqe={key:0},gqe=["disabled"],yqe=["disabled"],_qe={key:1,class:"analysis-drawing-stage"},Sqe={class:"analysis-point-count"},bqe=["disabled"],xqe=["disabled"],wqe={key:2,class:"analysis-boundary-bar"},Tqe={class:"analysis-card analysis-result"},Aqe={class:"analysis-card-head"},Cqe={key:0},Mqe={key:0,class:"analysis-empty"},Eqe={class:"analysis-conclusion-head"},Pqe={class:"analysis-conclusion-tags"},Rqe={key:0,class:"analysis-empty is-success"},Lqe={key:1,class:"analysis-project-list"},Iqe=["onPointerup"],Dqe={class:"analysis-project-name"},Nqe={class:"analysis-project-meta"},kqe={__name:"EngineeringAnalysisPanel",props:{drawingPointCount:{type:Number,default:0}},emits:["drawing-change","finish-drawing","undo-point","clear-boundary","analysis-result","focus-project"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=H2(!1),o=H2(null),s=H2([]),l=H2([]),u=H2(""),c=H2("idle"),d=H2([]);let h=null;const f=Ye(()=>{var Ne;const Te=l.value.length,$e=s.value.length,Xe=s.value.reduce((u2,P2)=>u2+Number(P2.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:O2((Ne=o.value)==null?void 0:Ne.geometry),featureCount:Te,projectCount:$e,overlapAreaWanMu:Xe}}),p=Ye(()=>u.value?u.value:c.value==="loading"?"项目库加载中":c.value==="error"?"项目库加载失败":""),m=Ye(()=>o.value?s.value.length?"已发现建设记录":"未发现建设记录":"未分析"),v=Ye(()=>a.value&&i.drawingPointCount>=3),g=Ye(()=>{if(!o.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!s.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${Z(f.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const Te=Ge(s.value),$e=T2(s.value),Xe=[...s.value].sort((P2,d2)=>Number(d2.overlapAreaWanMu||0)-Number(P2.overlapAreaWanMu||0))[0],Ne=ee(f.value.overlapAreaWanMu),u2=s.value.length>=6||f.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:s.value.length>=6?"is-heavy":"is-hit",verdict:u2,summary:`该边界命中 ${s.value.length} 个历史项目,叠加约 ${Ne} 亩,项目类型以${Te.name}为主,年份集中在 ${$e}。`,tags:[`主类型 ${Te.name}`,`年份 ${$e}`,`最大叠加 ${ee(Xe==null?void 0:Xe.overlapAreaWanMu)} 亩`],advice:`重点复核“${z2(Xe==null?void 0:Xe.projectName)}”(${(Xe==null?void 0:Xe.year)||"未知"},${(Xe==null?void 0:Xe.category)||"未知类型"})与拟建范围的重合边界。`}});cr(()=>{F().catch(()=>{})});function _(Te){return J2(this,null,function*(){var Xe;const $e=(Xe=Te.target.files)==null?void 0:Xe[0];if(Te.target.value="",!!$e){u.value="";try{const Ne=yield S($e);a.value&&(a.value=!1,r("drawing-change",!1)),r("clear-boundary"),yield P(Ne)}catch(Ne){u.value="边界文件解析失败"}}})}function S(Te){return J2(this,null,function*(){const $e=String(Te.name||"").toLowerCase();if($e.endsWith(".json")||$e.endsWith(".geojson"))return x(JSON.parse(yield Te.text()));if($e.endsWith(".zip")){const Xe=yield cqe(yield Te.arrayBuffer());return x(Xe)}throw new Error("unsupported file")})}function x(Te){const $e=G(Te).filter(Xe=>xe(Xe==null?void 0:Xe.geometry));if($e.length)return W($e);throw new Error("no polygon")}function A(){a.value||(u.value="",a.value=!0,o.value=null,s.value=[],l.value=[],r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value}),r("drawing-change",!0))}function C(){a.value&&(a.value=!1,r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value}))}function M(){v.value&&r("finish-drawing")}function I(){r("undo-point")}function D(){a.value=!1,o.value=null,s.value=[],l.value=[],u.value="",r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value})}function E(Te){Te!=null&&Te.geometry&&(a.value=!1,P(Te))}function P(Te){return J2(this,null,function*(){o.value=Te,l.value=[],s.value=[];let $e=[];try{const Xe=yield F();$e=Y(Te,Xe),l.value=$e,s.value=Q($e)}catch(Xe){u.value="项目库加载失败"}r("analysis-result",{boundary:Te,matches:$e,rows:s.value,summary:f.value})})}function F(){return J2(this,null,function*(){return d.value.length?d.value:h||(c.value="loading",h=fetch(V("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then($e=>{if(!$e.ok)throw new Error(`HTTP ${$e.status}`);return $e.json()}).then($e=>{const Xe=G($e).filter(Ne=>{var u2;return(u2=Ne==null?void 0:Ne.geometry)==null?void 0:u2.coordinates}).map((Ne,u2)=>Z2(b2({},Ne),{properties:Z2(b2({},Ne.properties||{}),{source_index:u2})}));return d.value=Xe,c.value="success",Xe}).catch($e=>{throw c.value="error",h=null,$e}),h)})}function V(Te){return Te?/^https?:\/\//.test(Te)||Te.startsWith("/")?Te:`./${Te}`:""}function G(Te){return Te?Array.isArray(Te)?Te.flatMap($e=>G($e)):Te.type==="FeatureCollection"?(Te.features||[]).filter(Boolean):Te.type==="Feature"?Te.geometry?[Te]:[]:Oe(Te)?[{type:"Feature",properties:{},geometry:Te}]:typeof Te=="object"?Object.values(Te).flatMap($e=>G($e)):[]:[]}function W(Te){const $e=Te.flatMap(Xe=>Xe.geometry.type==="Polygon"?[Xe.geometry.coordinates]:Xe.geometry.coordinates);return $e.length===1?{type:"Feature",properties:Te[0].properties||{},geometry:{type:"Polygon",coordinates:$e[0]}}:{type:"Feature",properties:{sourceFeatureCount:Te.length},geometry:{type:"MultiPolygon",coordinates:$e}}}function Y(Te,$e=d.value){const Xe=Ce(Te.geometry);return $e.filter(Ne=>K(Ne.geometry,Te.geometry,Xe)).map(Ne=>({feature:Ne,properties:Ne.properties||{},overlapAreaWanMu:Ee(Ne,Te.geometry)}))}function Q(Te){const $e=new Map;return Te.forEach(Xe=>{const Ne=Xe.properties||{},u2=Ne.project_name||Ne.projectName||"未命名项目",P2=$e.get(u2)||{key:u2,projectName:u2,category:Ne.project_category||"未知类型",year:Ne.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(Ne.source_index||0)};P2.featureCount+=1,P2.overlapAreaWanMu+=Number(Xe.overlapAreaWanMu||0),P2.features.push(Xe.feature),$e.set(u2,P2)}),[...$e.values()].map(Xe=>Z2(b2({},Xe),{overlapAreaWanMu:Number(Xe.overlapAreaWanMu.toFixed(4))}))}function K(Te,$e,Xe){if(!R2(Ce(Te),Xe))return!1;const Ne=je($e);return Ne.length?xe(Te)?ae(Te,Ne):(Te==null?void 0:Te.type)==="Point"?f2(Te.coordinates,Ne):(Te==null?void 0:Te.type)==="MultiPoint"?Te.coordinates.some(u2=>f2(u2,Ne)):(Te==null?void 0:Te.type)==="LineString"?ie(Te.coordinates,Ne):(Te==null?void 0:Te.type)==="MultiLineString"?Te.coordinates.some(u2=>ie(u2,Ne)):!1:!1}function ae(Te,$e){const Xe=je(Te);return Xe.length?Xe.some(Ne=>Ne.some(u2=>f2(u2,$e)))||$e.some(Ne=>Ne.some(u2=>f2(u2,Xe)))||Xe.some(Ne=>$e.some(u2=>S2(Ne,u2))):!1}function ie(Te=[],$e){return!Array.isArray(Te)||!Te.length?!1:Te.some(Xe=>f2(Xe,$e))?!0:$e.some(Xe=>he(Te,Xe))}function he(Te,$e){for(let Xe=1;Xe<Te.length;Xe+=1)for(let Ne=1;Ne<$e.length;Ne+=1)if(p2(Te[Xe-1],Te[Xe],$e[Ne-1],$e[Ne]))return!0;return!1}function Ee(Te,$e){const Xe=Te==null?void 0:Te.geometry,Ne=je(Xe),u2=je($e),P2=v2(Te),d2=O2($e);if(!Ne.length||!u2.length)return 0;const st=Ne.reduce((_t,ut)=>_t+ut.filter(Ht=>f2(Ht,u2)).length,0),pt=Ne.reduce((_t,ut)=>_t+ut.length,0);return st?Number((P2*Math.max(.08,Math.min(1,st/Math.max(pt,1)))).toFixed(4)):u2.reduce((_t,ut)=>_t+ut.filter(Ht=>f2(Ht,Ne)).length,0)?Number(Math.min(P2,d2).toFixed(4)):Ne.some(_t=>u2.some(ut=>S2(_t,ut)))?Number((Math.min(P2,d2)*.12).toFixed(4)):0}function je(Te){var $e;return(Te==null?void 0:Te.type)==="Polygon"?[(($e=Te.coordinates)==null?void 0:$e[0])||[]]:(Te==null?void 0:Te.type)==="MultiPolygon"?Te.coordinates.map(Xe=>(Xe==null?void 0:Xe[0])||[]).filter(Xe=>Xe.length):[]}function xe(Te){return(Te==null?void 0:Te.type)==="Polygon"||(Te==null?void 0:Te.type)==="MultiPolygon"}function Oe(Te){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(Te==null?void 0:Te.type)}function f2(Te,$e){return $e.some(Xe=>B2(Te,Xe))}function B2(Te,$e){var P2,d2,st,pt;let Xe=!1;const Ne=Number(Te==null?void 0:Te[0]),u2=Number(Te==null?void 0:Te[1]);for(let yt=0,_t=$e.length-1;yt<$e.length;_t=yt++){const ut=Number((P2=$e[yt])==null?void 0:P2[0]),Ht=Number((d2=$e[yt])==null?void 0:d2[1]),Ue=Number((st=$e[_t])==null?void 0:st[0]),it=Number((pt=$e[_t])==null?void 0:pt[1]);Ht>u2!=it>u2&&Ne<(Ue-ut)*(u2-Ht)/(it-Ht)+ut&&(Xe=!Xe)}return Xe}function S2(Te,$e){for(let Xe=1;Xe<Te.length;Xe+=1)for(let Ne=1;Ne<$e.length;Ne+=1)if(p2(Te[Xe-1],Te[Xe],$e[Ne-1],$e[Ne]))return!0;return!1}function p2(Te,$e,Xe,Ne){if(!X2(Te,$e,Xe,Ne))return!1;const u2=(yt,_t,ut)=>(Number(_t[0])-Number(yt[0]))*(Number(ut[1])-Number(yt[1]))-(Number(_t[1])-Number(yt[1]))*(Number(ut[0])-Number(yt[0])),P2=u2(Te,$e,Xe),d2=u2(Te,$e,Ne),st=u2(Xe,Ne,Te),pt=u2(Xe,Ne,$e);return P2===0&&w2(Xe,Te,$e)||d2===0&&w2(Ne,Te,$e)||st===0&&w2(Te,Xe,Ne)||pt===0&&w2($e,Xe,Ne)?!0:(P2>0&&d2<0||P2<0&&d2>0)&&(st>0&&pt<0||st<0&&pt>0)}function X2(Te,$e,Xe,Ne){const u2=A2([Te,$e]),P2=A2([Xe,Ne]);return R2(u2,P2)}function w2(Te,$e,Xe){const Ne=Number(Te==null?void 0:Te[0]),u2=Number(Te==null?void 0:Te[1]),P2=Number($e==null?void 0:$e[0]),d2=Number($e==null?void 0:$e[1]),st=Number(Xe==null?void 0:Xe[0]),pt=Number(Xe==null?void 0:Xe[1]),yt=(Ne-P2)*(pt-d2)-(u2-d2)*(st-P2);return Math.abs(yt)>1e-10?!1:Ne>=Math.min(P2,st)-1e-10&&Ne<=Math.max(P2,st)+1e-10&&u2>=Math.min(d2,pt)-1e-10&&u2<=Math.max(d2,pt)+1e-10}function Ce(Te){const $e=[];return _2(Te==null?void 0:Te.coordinates,$e),$e.length?$e.reduce((Xe,Ne)=>({minLng:Math.min(Xe.minLng,Number(Ne[0])),minLat:Math.min(Xe.minLat,Number(Ne[1])),maxLng:Math.max(Xe.maxLng,Number(Ne[0])),maxLat:Math.max(Xe.maxLat,Number(Ne[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function R2(Te,$e){return!Te||!$e?!1:!(Te.maxLng<$e.minLng||Te.minLng>$e.maxLng||Te.maxLat<$e.minLat||Te.minLat>$e.maxLat)}function v2(Te){return O2(Te==null?void 0:Te.geometry)}function O2(Te){return(Te==null?void 0:Te.type)==="Polygon"?k(Te.coordinates):(Te==null?void 0:Te.type)==="MultiPolygon"?Te.coordinates.reduce(($e,Xe)=>$e+k(Xe),0):0}function k(Te=[]){const $e=Te[0]||[];if($e.length<3)return 0;const Xe=$e.reduce((d2,st)=>d2+Number(st[1]||0),0)/$e.length,Ne=111320*Math.cos(Xe*Math.PI/180),u2=110540;let P2=0;for(let d2=0;d2<$e.length;d2+=1){const st=$e[d2],pt=$e[(d2+1)%$e.length],yt=Number(st[0]||0)*Ne,_t=Number(st[1]||0)*u2,ut=Number(pt[0]||0)*Ne,Ht=Number(pt[1]||0)*u2;P2+=yt*Ht-ut*_t}return Math.abs(P2)/2/666.6666667/1e4}function _2(Te,$e){if(Array.isArray(Te)){if(typeof Te[0]=="number"&&typeof Te[1]=="number"){$e.push(Te);return}Te.forEach(Xe=>_2(Xe,$e))}}function A2(Te){return Te.reduce(($e,Xe)=>({minLng:Math.min($e.minLng,Number(Xe==null?void 0:Xe[0])),minLat:Math.min($e.minLat,Number(Xe==null?void 0:Xe[1])),maxLng:Math.max($e.maxLng,Number(Xe==null?void 0:Xe[0])),maxLat:Math.max($e.maxLat,Number(Xe==null?void 0:Xe[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function Z(Te){const $e=Number(Te||0);return Number.isFinite($e)?Number($e.toFixed($e>=10?2:4)).toString():"0"}function ee(Te){const $e=Number(Te||0)*1e4;return Number.isFinite($e)?$e>=1e3?Number($e.toFixed(0)).toLocaleString("zh-CN"):$e>=10?Number($e.toFixed(1)).toLocaleString("zh-CN"):Number($e.toFixed(2)).toString():"0"}function Ge(Te=[]){const $e=new Map;return Te.forEach(Xe=>{const Ne=Xe.category||"未知类型",u2=$e.get(Ne)||{name:Ne,count:0,area:0};u2.count+=1,u2.area+=Number(Xe.overlapAreaWanMu||0),$e.set(Ne,u2)}),[...$e.values()].sort((Xe,Ne)=>Ne.area-Xe.area||Ne.count-Xe.count)[0]||{name:"未知类型",count:0,area:0}}function T2(Te=[]){const $e=Te.map(u2=>Number(u2.year)).filter(u2=>Number.isFinite(u2));if(!$e.length)return"未知年份";const Xe=Math.min(...$e),Ne=Math.max(...$e);return Xe===Ne?`${Xe} 年`:`${Xe}-${Ne} 年`}function z2(Te,$e=18){const Xe=String(Te||"未命名项目");return Xe.length>$e?`${Xe.slice(0,$e)}...`:Xe}return e({applyDrawnBoundary:E}),(Te,$e)=>(Ae(),Pe("div",fqe,[B("div",pqe,[B("div",vqe,[$e[0]||($e[0]=B("span",null,"工程分析",-1)),p.value?(Ae(),Pe("strong",mqe,Fe(p.value),1)):Lt("",!0)]),a.value?Lt("",!0):(Ae(),Pe("div",{key:0,class:Xt(["analysis-operation",{"has-boundary":o.value}])},[B("label",{class:Xt(["analysis-entry is-upload",{"is-disabled":a.value}])},[B("input",{type:"file",accept:".zip,.json,.geojson",disabled:a.value,onChange:_},null,40,gqe),B("span",null,Fe(o.value?"更换边界":"上传边界"),1),$e[1]||($e[1]=B("strong",null,"SHP / GeoJSON",-1))],2),B("button",{type:"button",class:"analysis-entry is-draw",disabled:a.value,onPointerup:Hi(A,["stop","prevent"])},[B("span",null,Fe(o.value?"重新绘制":"在线绘制"),1),$e[2]||($e[2]=B("strong",null,"地图圈定",-1))],40,yqe)],2)),a.value?(Ae(),Pe("div",_qe,[B("div",Sqe,[$e[3]||($e[3]=B("span",null,"已落点",-1)),B("strong",null,Fe(n.drawingPointCount),1),$e[4]||($e[4]=B("em",null,"点",-1)),$e[5]||($e[5]=B("small",null,"至少 3 点",-1))]),B("button",{type:"button",class:"analysis-control is-primary",disabled:!v.value,onPointerup:Hi(M,["stop","prevent"])}," 完成分析 ",40,bqe),B("button",{type:"button",class:"analysis-control",disabled:!n.drawingPointCount,onPointerup:Hi(I,["stop","prevent"])},"撤销",40,xqe),B("button",{type:"button",class:"analysis-control is-danger",onPointerup:Hi(C,["stop","prevent"])},"删除图形",32)])):o.value?(Ae(),Pe("div",wqe,[$e[6]||($e[6]=B("span",null,"边界已加载",-1)),B("strong",null,Fe(s.value.length?`命中 ${s.value.length} 项`:m.value),1),B("button",{type:"button",onPointerup:Hi(D,["stop","prevent"])},"删除图形",32)])):Lt("",!0)]),B("div",Tqe,[B("div",Aqe,[$e[7]||($e[7]=B("span",null,"建设记录核查",-1)),o.value?(Ae(),Pe("strong",Cqe,Fe(m.value),1)):Lt("",!0)]),o.value?(Ae(),Pe(bt,{key:1},[B("div",{class:Xt(["analysis-conclusion",g.value.levelClass])},[B("div",Eqe,[$e[8]||($e[8]=B("span",null,"分析结论",-1)),B("strong",null,Fe(g.value.verdict),1)]),B("p",null,Fe(g.value.summary),1),B("div",Pqe,[(Ae(!0),Pe(bt,null,Nt(g.value.tags,Xe=>(Ae(),Pe("span",{key:Xe},Fe(Xe),1))),128))]),B("small",null,Fe(g.value.advice),1)],2),s.value.length?(Ae(),Pe("div",Lqe,[(Ae(!0),Pe(bt,null,Nt(s.value,Xe=>(Ae(),Pe("button",{key:Xe.key,type:"button",class:"analysis-project-row",onPointerup:Hi(Ne=>Te.$emit("focus-project",Xe),["stop","prevent"])},[B("span",Dqe,Fe(Xe.projectName),1),B("div",Nqe,[B("strong",null,Fe(Xe.year),1),B("em",null,Fe(Xe.category),1),B("small",null,"叠加 "+Fe(ee(Xe.overlapAreaWanMu))+" 亩",1)]),B("b",null,Fe(Xe.featureCount)+" 个要素",1)],40,Iqe))),128))])):(Ae(),Pe("div",Rqe,"该边界范围内暂未匹配到已建设项目"))],64)):(Ae(),Pe("div",Mqe))])]))}},Fqe=dy(kqe,[["__scopeId","data-v-04b20a7e"]]),h5=(n,e)=>n.reduce((t,i)=>t+Number(i[e]||0),0),on=(n,e=2)=>Number(Number(n||0).toFixed(e)),Xa={kpi:{projectCount:22,featureCount:29280,subjectFeatureCount:1478,controlPointCount:27802,areaWanMu:175.3693,lengthKm:1250.62,townshipCount:10},categories:[{name:"草地修复",subjectFeatureCount:1067,areaWanMu:168.0339,lengthKm:1238.18,projectCount:13},{name:"林地修复",subjectFeatureCount:244,areaWanMu:7.3354,lengthKm:0,projectCount:6},{name:"湿地修复",subjectFeatureCount:167,areaWanMu:0,lengthKm:12.44,projectCount:3}],measures:[{name:"草原改良",subjectFeatureCount:285,areaWanMu:84.2792,lengthKm:467.5,projectCount:8},{name:"人工种草",subjectFeatureCount:532,areaWanMu:29.1561,lengthKm:0,projectCount:13},{name:"封育治理",subjectFeatureCount:45,areaWanMu:21.2487,lengthKm:0,projectCount:1},{name:"围栏建设",subjectFeatureCount:223,areaWanMu:19.4235,lengthKm:660.88,projectCount:9},{name:"林草碳汇试点",subjectFeatureCount:11,areaWanMu:12.5759,lengthKm:0,projectCount:1},{name:"水源涵养",subjectFeatureCount:82,areaWanMu:5.6993,lengthKm:0,projectCount:1},{name:"人工种草/补播",subjectFeatureCount:46,areaWanMu:2.8162,lengthKm:0,projectCount:4},{name:"防风固沙林",subjectFeatureCount:6,areaWanMu:.1303,lengthKm:0,projectCount:1},{name:"草种繁育",subjectFeatureCount:4,areaWanMu:.04,lengthKm:0,projectCount:1},{name:"种草围栏",subjectFeatureCount:77,areaWanMu:0,lengthKm:109.81,projectCount:1},{name:"小型坝",subjectFeatureCount:8,areaWanMu:0,lengthKm:8.83,projectCount:1},{name:"微型坝",subjectFeatureCount:159,areaWanMu:0,lengthKm:3.61,projectCount:2}],years:[{name:2017,areaWanMu:.1412,lengthKm:0,projectCount:1},{name:2018,areaWanMu:.5608,lengthKm:0,projectCount:1},{name:2019,areaWanMu:12.513,lengthKm:0,projectCount:1},{name:2020,areaWanMu:35.9848,lengthKm:0,projectCount:2},{name:2021,areaWanMu:25.0755,lengthKm:467.5,projectCount:5},{name:2022,areaWanMu:72.024,lengthKm:656.05,projectCount:8},{name:2023,areaWanMu:29.07,lengthKm:114.64,projectCount:3},{name:"未知",areaWanMu:0,lengthKm:12.44,projectCount:2}],townships:[{name:"麦洼乡",areaWanMu:28.5019,lengthKm:84.28,projectCount:3},{name:"龙日镇",areaWanMu:15.8472,lengthKm:46.05,projectCount:2},{name:"安曲镇",areaWanMu:13.1168,lengthKm:0,projectCount:2},{name:"瓦切镇",areaWanMu:6.6824,lengthKm:214.41,projectCount:4},{name:"色地镇",areaWanMu:6.344,lengthKm:101.25,projectCount:3},{name:"刷经寺镇",areaWanMu:5.6528,lengthKm:126.26,projectCount:1},{name:"邛溪镇",areaWanMu:2.3127,lengthKm:101.39,projectCount:4},{name:"阿木乡",areaWanMu:1.34,lengthKm:59.5,projectCount:2},{name:"查尔玛乡",areaWanMu:.7001,lengthKm:37.56,projectCount:1}],projects:[{projectName:"阿坝州红原县2020年退牧还草工程项目",projectCategory:"草地修复",year:2020,areaWanMu:35.6232,lengthKm:0,measureTypes:["人工种草","围栏建设"],townships:[],subjectFeatureCount:73},{projectName:"四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-2022年",projectCategory:"草地修复",year:2022,areaWanMu:21.5,lengthKm:172.31,measureTypes:["人工种草","围栏建设","种草围栏","草原改良"],townships:["刷经寺镇","龙日镇"],subjectFeatureCount:273},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理项目-草原封育治理-700",projectCategory:"草地修复",year:2022,areaWanMu:21.2487,lengthKm:272.25,measureTypes:["围栏建设","封育治理"],townships:["瓦切镇","色地镇","邛溪镇"],subjectFeatureCount:90},{projectName:"四川省阿坝州 2023 年中央财政林业草原改革发展资金预算(第三批)——红原县草原生态修复项目",projectCategory:"草地修复",year:2023,areaWanMu:18.79,lengthKm:32.32,measureTypes:["人工种草","围栏建设","草原改良","草种繁育"],townships:["瓦切镇","麦洼乡"],subjectFeatureCount:102},{projectName:"阿坝州红原县2022年第二批重点生态保护和修护治理——红原县林草碳汇创新开发建设试点项目",projectCategory:"草地修复",year:2022,areaWanMu:12.5759,lengthKm:0,measureTypes:["林草碳汇试点"],townships:["安曲镇"],subjectFeatureCount:11},{projectName:"四川省红原县2019年草原生态修复治理项目退化草地治理和天然草原改良",projectCategory:"草地修复",year:2019,areaWanMu:12.513,lengthKm:0,measureTypes:["人工种草/补播","草原改良"],townships:[],subjectFeatureCount:25},{projectName:"阿坝州红原县2021年若尔盖—甘南草原湿地生态保护和修复项目-1880",projectCategory:"草地修复",year:2021,areaWanMu:11.0031,lengthKm:467.5,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:229},{projectName:"2023 年度四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-1315",projectCategory:"草地修复",year:2023,areaWanMu:10.28,lengthKm:82.32,measureTypes:["人工种草","围栏建设","草原改良"],townships:["查尔玛乡","麦洼乡"],subjectFeatureCount:50},{projectName:"阿坝州红原县 2022 年中央财政林业草原生态保护恢复(第二批)——草原生态修复治理补助项目-1972",projectCategory:"草地修复",year:2022,areaWanMu:8.2,lengthKm:113.37,measureTypes:["围栏建设","草原改良","人工种草"],townships:["色地镇","邛溪镇","阿木乡"],subjectFeatureCount:127},{projectName:"阿坝州红原县2021年省级草原生态保护恢复项目-1790",projectCategory:"草地修复",year:2021,areaWanMu:7,lengthKm:0,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:16},{projectName:"阿坝州红原县 2021 年中央财政林业草原生态保护恢复项目-984",projectCategory:"草地修复",year:2021,areaWanMu:6.5,lengthKm:0,measureTypes:["草原改良","人工种草"],townships:[],subjectFeatureCount:14},{projectName:"红原县2022年度黄河上游水源涵养补给区综合治理项目实施方案(代作业设计)变更后最终版",projectCategory:"林地修复",year:2022,areaWanMu:5.6993,lengthKm:0,measureTypes:["水源涵养"],townships:["安曲镇","瓦切镇"],subjectFeatureCount:82},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理——草原生态修复治理项目-1500",projectCategory:"草地修复",year:2022,areaWanMu:2,lengthKm:81.05,measureTypes:["人工种草","围栏建设"],townships:["瓦切镇","色地镇","麦洼乡"],subjectFeatureCount:53},{projectName:"阿坝州红原县 2022 年省级林业草原生态保护恢复——草原生态修复治理补助项目-888",projectCategory:"草地修复",year:2022,areaWanMu:.8,lengthKm:17.07,measureTypes:["人工种草","围栏建设"],townships:["阿木乡"],subjectFeatureCount:4},{projectName:"红原县2018年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2018,areaWanMu:.5608,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:107},{projectName:"红原县2021年黄河上游水源涵养补给区生态综合治理项目",projectCategory:"林地修复",year:2021,areaWanMu:.5224,lengthKm:0,measureTypes:["人工种草/补播"],townships:["邛溪镇"],subjectFeatureCount:14},{projectName:"红原县2020年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2020,areaWanMu:.3617,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:31},{projectName:"2017年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2017,areaWanMu:.1412,lengthKm:0,measureTypes:["人工种草","防风固沙林"],townships:["邛溪镇"],subjectFeatureCount:8},{projectName:"红原县2021年人工造林封山育林项目",projectCategory:"林地修复",year:2021,areaWanMu:.05,lengthKm:0,measureTypes:["围栏建设"],townships:[],subjectFeatureCount:2},{projectName:"4980小型坝(1)(1)",projectCategory:"湿地修复",year:"未知",areaWanMu:0,lengthKm:8.83,measureTypes:["小型坝"],townships:[],subjectFeatureCount:8},{projectName:"红原县蓄水保湿工程-小型坝和微型坝(1)(1)",projectCategory:"湿地修复",year:2023,areaWanMu:0,lengthKm:3.61,measureTypes:["微型坝"],townships:[],subjectFeatureCount:59},{projectName:"4980微型坝成型(1)(1)",projectCategory:"湿地修复",year:2022,areaWanMu:0,lengthKm:0,measureTypes:["微型坝"],townships:[],subjectFeatureCount:100}]},WW=[{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"工程分析",bottomLabel:"工程分析"}],ca=[{name:"麦洼乡",grasslandAreaWanMu:31.41,wetlandAreaWanMu:11.16,ecologyJobs:179,yakCount:61720,livestockCount:63507,cover:85,villages:"洞拉村、滚塘村、让里村、茸塔玛村"},{name:"瓦切镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.15,ecologyJobs:160,yakCount:33887,livestockCount:34589,cover:85,villages:"唐日村、德香村、日干村"},{name:"色地镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.16,ecologyJobs:39,yakCount:9572,livestockCount:9843,cover:86,villages:"色永村"}],Zi={name:"若尔盖国家公园红原区域",totalAreaWanMu:161.31,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:on(h5(ca,"cover")/ca.length,1),townCount:ca.length,villageCount:ca.reduce((n,e)=>n+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:3023,ecologyJobCount:h5(ca,"ecologyJobs"),yakCount:h5(ca,"yakCount"),livestockCount:h5(ca,"livestockCount")};Zi.otherProtectedAreaWanMu=on(Zi.totalAreaWanMu-Zi.grasslandAreaWanMu-Zi.wetlandAreaWanMu,2);ca.map(n=>({key:n.name,name:n.name,value:on(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${n.grasslandAreaWanMu} / 湿地 ${n.wetlandAreaWanMu}`}));ca.map(n=>({key:`${n.name}-town`,name:n.name,value:on(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:n.villages}));const Oqe=[{key:"core-protection",name:"核心保护区",value:67.36,unit:"万亩"},{key:"general-control",name:"一般控制区",value:93.95,unit:"万亩"}],Bqe=43.66,zqe=on(Bqe*(192.26/297.29),2),Gqe={麦洼乡:[{name:"洞拉村",grassland:.29,wetland:.34,household:.3,yak:.32,edible:.31,woodland:.3},{name:"滚塘村",grassland:.26,wetland:.27,household:.25,yak:.25,edible:.26,woodland:.25},{name:"让里村",grassland:.24,wetland:.21,household:.24,yak:.23,edible:.23,woodland:.24},{name:"茸塔玛村",grassland:.21,wetland:.18,household:.21,yak:.2,edible:.2,woodland:.21}],瓦切镇:[{name:"唐日村",grassland:.38,wetland:.42,household:.36,yak:.4,edible:.39,woodland:.38},{name:"德香村",grassland:.32,wetland:.32,household:.33,yak:.32,edible:.32,woodland:.32},{name:"日干村",grassland:.3,wetland:.26,household:.31,yak:.28,edible:.29,woodland:.3}],色地镇:[{name:"色永村",grassland:1,wetland:1,household:1,yak:1,edible:1,woodland:1}]},Uqe=h5(ca,"livestockCount")||h5(ca,"yakCount")||1,oy=ca.map(n=>Z2(b2({},n),{householdCount:Math.round(Zi.householdCount*Number(n.livestockCount||n.yakCount||0)/Uqe),edibleGrasslandWanTon:on(Number(n.grasslandAreaWanMu||0)/Math.max(Zi.grasslandAreaWanMu,1)*zqe,2)})),jW=Zi.householdCount-h5(oy,"householdCount");jW&&oy[0]&&(oy[0].householdCount+=jW);const aL=(n,e=h5(n,"value"))=>n.map(t=>Z2(b2({},t),{extra:t.extra||`占比 ${on(Number(t.value||0)/Math.max(e,1)*100,1)}%`})),Vqe=aL([{key:"park-scope-grassland",name:"草地",value:Zi.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:Zi.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:Zi.otherProtectedAreaWanMu,unit:"万亩"}]),ou=({sourceKey:n,weightKey:e,unit:t="万亩",decimals:i=2,sortByValue:r=!0})=>{const a=oy.flatMap(s=>(Gqe[s.name]||[]).map(u=>({key:`${s.name}-${u.name}-${n}`,name:u.name,town:s.name,value:on(Number(s[n]||0)*Number(u[e]||0),i),unit:t}))).filter(s=>Number(s.value)>0),o=r?a.sort((s,l)=>Number(l.value||0)-Number(s.value||0)):a;return aL(o)},Hqe=ou({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1}),Wqe=ou({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"}),jqe=ou({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0}),z2e=ou({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0}),$qe={洞拉村:[102.82,33.22],滚塘村:[102.9,33.23],让里村:[102.99,33.23],茸塔玛村:[103.08,33.2],唐日村:[102.5,33.11],德香村:[102.63,33.12],日干村:[102.72,33.08],色永村:[103.12,33.04]},qqe=z2e.map(n=>{const e=$qe[n.name];return e?Z2(b2({},n),{lng:e[0],lat:e[1],value:n.value,rawValue:n.value,metricLabel:"牦牛数量",displayUnit:n.unit,displayMode:"park-village"}):null}).filter(Boolean),Xqe=ou({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"}),Yqe=ou({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"}),Kqe=[{zh:"国家公园面积",value:Zi.totalAreaWanMu,unit:"万亩",decimals:2},{zh:"草地面积",value:Zi.grasslandAreaWanMu,unit:"万亩",decimals:2},{zh:"湿地面积",value:Zi.wetlandAreaWanMu,unit:"万亩",decimals:2},{zh:"牦牛数量",value:Zi.yakCount,unit:"头",decimals:0}],Zqe=[{zh:"修复项目",value:Xa.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:Xa.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:Xa.kpi.lengthKm,unit:"公里",decimals:2},{zh:"涉及乡镇",value:Xa.kpi.townshipCount,unit:"个",decimals:0}];function Jqe(n){return n==="engineering-analysis"?[]:(n==="restoration"?Zqe:Kqe).map((t,i)=>b2({icon:i%2===0?"xiaoshoujine":"zongxiaoliang",en:""},t))}const Qqe={left:[{key:"park-resource-scope",title:"显示范围资源占比",type:"donut",rows:Vqe},{key:"park-wetland-village",title:"湿地分布村级对比",type:"line",rows:Hqe.slice(0,8)},{key:"park-woodland-village",title:"林地分布村级排行",type:"heat",rows:Yqe.slice(0,8)},{key:"park-grassland-village",title:"草地分布村级排行",type:"peak",rows:Wqe.slice(0,8)}],right:[{key:"park-household-village",title:"牧户分布村级排行",type:"column",variant:"pin",rows:jqe.slice(0,8)},{key:"park-yak-village",title:"牦牛分布村级排行",type:"bar",variant:"distribution",rows:z2e.slice(0,8)},{key:"park-edible-grass-village",title:"可食草地资源分布",type:"split",rows:Xqe.slice(0,8)},{key:"park-zoning-ledger",title:"核心区和一般区分区面积",type:"structure",rows:aL(Oqe)}]},G2e=(Xa.townships||[]).filter(n=>/[乡镇]$/.test(String(n.name||""))).slice(0,8),U2e=(Xa.projects||[]).map((n,e)=>{const t=Number(n.areaWanMu)>0,i=Number(n.lengthKm)>0,r=t?{value:on(n.areaWanMu,2),unit:"万亩",metric:"治理面积"}:i?{value:on(n.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:n.subjectFeatureCount||0,unit:"个",metric:"主体要素"},a=(n.measureTypes||[]).join("、"),o=(n.townships||[]).join("、");return{key:n.id||n.projectName,index:e+1,name:n.projectName,projectName:n.projectName,category:n.projectCategory,year:n.year||"未知",areaWanMu:on(n.areaWanMu,4),lengthKm:on(n.lengthKm,2),measure:a,townships:o,subjectFeatureCount:n.subjectFeatureCount||0,value:r.value,unit:r.unit,metric:r.metric,extra:[n.year||"未知",a].filter(Boolean).join(" / "),searchText:[n.projectName,n.projectCategory,n.year,a,o].filter(Boolean).join(" ")}});U2e.map((n,e)=>{const t=e%6,i=Math.floor(e/6),r=102.42+t*.045,a=32.55+i*.035,o=.018+Math.min(.024,Number(n.areaWanMu||0)/1200);return{type:"Feature",properties:{project_name:n.projectName,project_category:n.category,year:n.year,areaWanMu:n.areaWanMu,lengthKm:n.lengthKm,townships:n.townships,measure:n.measure},geometry:{type:"Polygon",coordinates:[[[r,a],[r+o,a+o*.22],[r+o*.82,a+o],[r-o*.16,a+o*.72],[r,a]]]}}});const eXe={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",rows:(Xa.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:on(n.areaWanMu,2),unit:"万亩",extra:`${n.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"bar",variant:"distribution",rows:G2e.map(n=>({key:n.name,name:n.name,value:on(n.areaWanMu,2),unit:"万亩",extra:`${on(n.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(Xa.categories||[]).map(n=>({key:n.name,name:n.name,value:on(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.subjectFeatureCount}个图斑`}))},{key:"restoration-year-length",title:"年度工程长度",type:"column",variant:"slim",rows:(Xa.years||[]).filter(n=>Number(n.lengthKm)>0).map(n=>({key:n.name,name:`${n.name}`,value:on(n.lengthKm,2),unit:"公里",extra:`${n.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(Xa.measures||[]).slice(0,8).map(n=>({key:n.name,name:n.name,value:on(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"slim",rows:(Xa.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:n.projectCount,unit:"个",extra:`${on(n.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:U2e}]},tXe={left:[],right:[]};function nXe(n){return n==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:G2e.map(e=>({name:e.name,value:on(e.areaWanMu,2),unit:"万亩"}))}:n==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园覆盖村",scope:"village",labelMode:"village",hideTownNames:!1,displayMode:"park-village",metricLabel:"牦牛数量",unit:"头",rows:qqe}}const iXe={class:"forest-grass-wet ecological-protection"},rXe={class:"forest-grass-wet-ui ecological-protection-ui"},aXe={key:0,class:"fgw-left"},oXe={class:"fgw-side-stack is-left"},sXe={key:1,class:"fgw-right"},lXe={class:"fgw-side-stack is-right"},uXe={class:"fgw-bottom-topic ecological-bottom-topic"},cXe={key:0,class:"loading"},dXe={class:"loading-progress"},hXe={class:"value"},$W=190,fXe=12,pXe={__name:"index",props:{activeView:{type:String,default:"national-park"},showLoading:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(n,{emit:e}){const t=n,i=e,r=H2(null),a=H2(null),o=H2(""),s=H2(""),l=H2(null),u=H2(!1),c=H2(!1),d=H2(null),h=H2(0),f=H2(t.showLoading),p=H2(null),m=H2(0),v=H2({type:"idle",text:"等待生态保护图层加载"});let g=null,_=!1;const S=Ye(()=>["national-park","restoration","engineering-analysis"].includes(t.activeView)?t.activeView:"national-park"),x=Ye(()=>S.value==="engineering-analysis"),A=Ye(()=>o.value?Oh(S.value,o.value):null),C=Ye(()=>{var k;return(((k=A.value)==null?void 0:k.legends)||[]).find(_2=>_2.key===s.value)||null}),M=Ye(()=>{const k=A.value;return!k||!C.value?k:Z2(b2({},k),{cqlFilter:C.value.cqlFilter||k.cqlFilter,activeLegend:C.value,name:C.value.name||k.name})}),I=Ye(()=>S.value==="restoration"?eXe:S.value==="engineering-analysis"?tXe:Qqe),D=Ye(()=>I.value.left||[]),E=Ye(()=>I.value.right||[]),P=$W*2+fXe,F=Ye(()=>!!d.value),V=Ye(()=>{if(c.value||u.value||!l.value)return 186;const k=Ee(l.value);return Math.min(480,Math.max(300,86+Math.min(k,12)*34))}),G=Ye(()=>{if(!d.value)return{};const k=460,_2=V.value,A2=24,Z=K(d.value),ee=Z.x>1420?-k-28:28,Ge=Math.min(Math.max(Z.x+ee,A2),1920-k-A2),T2=Math.min(Math.max(Z.y-_2-72,188),1080-_2-132);return{left:`${Ge}px`,top:`${T2}px`,right:"auto",bottom:"auto"}});cr(()=>{document.addEventListener("pointerdown",v2,!0),Q(),W(S.value)}),Or(()=>{_=!0,document.removeEventListener("pointerdown",v2,!0)}),$0(S,k=>{W(k)}),$0(o,()=>{s.value="",R2()}),$0(s,()=>{R2()});function W(k){var Z,ee,Ge,T2,z2;const _2=ym.find(Te=>Te.key===k)||ym[0],A2=p_(k);s.value="",o.value=_2.defaultLayerKey||((Z=A2[0])==null?void 0:Z.key)||"",p.value=nXe(k),m.value=0,(Ge=(ee=r.value)==null?void 0:ee.setBoundaryDrawing)==null||Ge.call(ee,!1),k!=="engineering-analysis"&&((z2=(T2=r.value)==null?void 0:T2.clearAnalysisBoundary)==null||z2.call(T2)),R2(),i("module-stats",{moduleKey:"ecological-protection",viewKey:k,items:Jqe(k)})}function Y(k){i("view-change",["national-park","restoration","engineering-analysis"].includes(k)?k:"national-park")}function Q(){var Z;g=new ru;let k=!1;const _2={progress:0};g.instance.on("onProgress",(ee,Ge,T2)=>{const z2=Math.floor(Ge/T2*100);N0.to(_2,{progress:z2,onUpdate:()=>{h.value=Math.floor(_2.progress)}})});const A2=()=>J2(this,null,function*(){var ee,Ge;_||k||(k=!0,(ee=r.value)==null||ee.loadMap(g),yield O2(),yield Ji(),(Ge=r.value)==null||Ge.play())});g.instance.on("onLoad",A2),(Z=g.ready)==null||Z.then(A2).catch(()=>{_||(v.value={type:"error",text:"地图资源加载失败"})})}function K(k){const _2=document.querySelector(".ecological-protection"),A2=_2==null?void 0:_2.getBoundingClientRect();return!(A2!=null&&A2.width)||!(A2!=null&&A2.height)?k:{x:(k.x-A2.left)/A2.width*1920,y:(k.y-A2.top)/A2.height*1080}}function ae(k,_2){return`${S.value}-${_2}-${(k==null?void 0:k.key)||(k==null?void 0:k.title)||"panel"}`}function ie(k){return(k==null?void 0:k.span)===2}function he(k){return ie(k)?P:$W}function Ee(k){const _2=(k==null?void 0:k.properties)||{};return Object.keys(_2).filter(A2=>{const Z=_2[A2];return Z==null||Z===""?!1:!["geom","wkt","geometry","the_geom","raw_properties"].includes(String(A2).toLowerCase())}).length}function je(k){var A2,Z;const _2=(Z=(A2=k==null?void 0:k.feature)!=null?A2:k)!=null?Z:null;if(!_2){R2();return}l.value=_2,u.value=!1,k!=null&&k.screen&&(d.value=k.screen)}function xe(k){v.value=k}function Oe(k,_2){var Z,ee;if(S.value!=="restoration"||(k==null?void 0:k.key)!=="restoration-projects")return;const A2=(_2==null?void 0:_2.projectName)||(_2==null?void 0:_2.name);A2&&(R2(),(ee=(Z=r.value)==null?void 0:Z.focusProject)==null||ee.call(Z,A2))}function f2(k){var _2,A2;R2(),m.value=0,(A2=(_2=r.value)==null?void 0:_2.setBoundaryDrawing)==null||A2.call(_2,k)}function B2(){var k,_2;(_2=(k=r.value)==null?void 0:k.finishBoundaryDrawing)==null||_2.call(k)}function S2(){var k,_2;(_2=(k=r.value)==null?void 0:k.undoBoundaryPoint)==null||_2.call(k)}function p2(){var k,_2;m.value=0,(_2=(k=r.value)==null?void 0:k.clearAnalysisBoundary)==null||_2.call(k)}function X2(k={}){var _2,A2,Z;m.value=k.pointCount||((_2=k.points)==null?void 0:_2.length)||0,k.status==="complete"&&k.feature&&(m.value=0,(Z=(A2=a.value)==null?void 0:A2.applyDrawnBoundary)==null||Z.call(A2,k.feature)),k.status==="clear"&&(m.value=0)}function w2(k={}){var _2,A2;(A2=(_2=r.value)==null?void 0:_2.showAnalysisResult)==null||A2.call(_2,{boundary:k.boundary,matches:k.matches}),S.value}function Ce(k){var A2,Z;const _2=((k==null?void 0:k.features)||[]).filter(Boolean);(Z=(A2=r.value)==null?void 0:A2.showAnalysisResult)==null||Z.call(A2,{matches:_2})}function R2(){var k,_2;l.value=null,u.value=!1,d.value=null,(_2=(k=r.value)==null?void 0:k.clearSelectedFeature)==null||_2.call(k)}function v2(k){if(!F.value)return;const _2=document.querySelector(".fgw-map-feature-info"),A2=k.target;_2&&A2 instanceof Node&&_2.contains(A2)||R2()}function O2(){return f.value?new Promise(k=>{N0.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{f.value=!1,k()}})}):Promise.resolve()}return(k,_2)=>{var A2;return Ae(),Pe("div",iXe,[ft(iu,{ref_key:"mapSceneRef",ref:r,"active-layer":M.value,"map-ranking":p.value,onFeatureLoading:_2[0]||(_2[0]=Z=>c.value=Z),onFeatureInfo:je,onLayerStatus:xe,onDrawBoundary:X2},null,8,["active-layer","map-ranking"]),B("div",rXe,[x.value?Lt("",!0):(Ae(),Pe("div",aXe,[B("div",oXe,[(Ae(!0),Pe(bt,null,Nt(D.value,Z=>(Ae(),Gn(M3,{key:ae(Z,"left"),class:Xt(["fgw-side-card left-card",{"is-double":ie(Z)}]),title:Z.title,width:398,height:he(Z)},{default:m3(()=>[ft(Ar,{panel:Z,compact:"",onRowSelect:ee=>Oe(Z,ee)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),x.value?Lt("",!0):(Ae(),Pe("div",sXe,[B("div",lXe,[(Ae(!0),Pe(bt,null,Nt(E.value,Z=>(Ae(),Gn(M3,{key:ae(Z,"right"),class:Xt(["fgw-side-card right-card",{"is-double":ie(Z)}]),title:Z.title,width:398,height:he(Z)},{default:m3(()=>[ft(Ar,{panel:Z,compact:"",onRowSelect:ee=>Oe(Z,ee)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),x.value?(Ae(),Gn(Fqe,{key:2,ref_key:"engineeringAnalysisRef",ref:a,"drawing-point-count":m.value,onDrawingChange:f2,onFinishDrawing:B2,onUndoPoint:S2,onClearBoundary:p2,onAnalysisResult:w2,onFocusProject:Ce},null,8,["drawing-point-count"])):Lt("",!0),B("div",{class:Xt(["fgw-map-layer-tools",{"is-analysis":x.value}])},[ft(HR,{modelValue:o.value,"onUpdate:modelValue":_2[1]||(_2[1]=Z=>o.value=Z),"selected-legend-key":s.value,"onUpdate:selectedLegendKey":_2[2]||(_2[2]=Z=>s.value=Z),"topic-key":S.value,legends:((A2=M.value)==null?void 0:A2.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])],2),F.value?(Ae(),Pe("div",{key:3,class:"fgw-map-feature-info",style:J3(G.value)},[ft(r2e,{feature:l.value,empty:u.value,loading:c.value,width:460,height:V.value},null,8,["feature","empty","loading","height"])],4)):Lt("",!0),B("div",uXe,[ft(__,{"model-value":S.value,topics:_1(ym),"onUpdate:modelValue":Y},null,8,["model-value","topics"])])]),f.value?(Ae(),Pe("div",cXe,[_2[4]||(_2[4]=f8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),B("div",dXe,[B("span",hXe,Fe(h.value),1),_2[3]||(_2[3]=B("span",{class:"unit"},"%",-1))])])):Lt("",!0)])}}},bM=gXe("/jsyApi"),vXe="/openApi";function mXe(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function gXe(n){const e=String(n||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function yXe(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return k3(n)}function sy(n,e,t,i={}){return oo(mXe(n,e),{params:t,timeout:i.timeout||16e3}).then(yXe)}function _Xe(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:[]}function SXe(n){return Array.isArray(n)?n.length>0:!n||typeof n!="object"?n!=null&&n!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","area","yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(t=>n[t]!==void 0&&n[t]!==null&&n[t]!=="")}function bXe(){return J2(this,arguments,function*({areaCode:n,pasturesId:e}={}){const t={areaCode:n,pasturesId:e},i=[()=>sy(bM,"/ai/livestockBalance",t,{timeout:18e3}),()=>sy(vXe,"/ai/balance/advice",t,{timeout:18e3})];let r;for(const a of i)try{const o=yield a();if(SXe(o))return o}catch(o){r=o}throw r||new Error("草畜平衡接口不可用")})}function xXe(n){return J2(this,null,function*(){const e=[()=>sy(bM,"/area/children",{areaCode:n},{timeout:12e3}),()=>sy(bM,"/map/areaCode",{areaCode:n},{timeout:12e3})];let t,i=!1;for(const r of e)try{const a=_Xe(yield r());if(a.length)return a;i=!0}catch(a){t=a}if(i)return[];throw t||new Error("区划接口不可用")})}const V2e="/jsyApi";function H2e(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function W2e(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return k3(n)}function x_(n,e,t={}){return oo(H2e(V2e,n),{params:e,timeout:t.timeout||12e3}).then(W2e)}function w_(n,e,t={}){return oo(H2e(V2e,n),{method:"POST",params:e,timeout:t.timeout||12e3}).then(W2e)}function wXe(){return w_("/api/dataItem?group=pastures").then(e6)}function TXe(){return w_("/api/muhu/distribution").then(e6)}function AXe(){return w_("/api/muhu/age").then(e6)}function CXe(){return w_("/api/muhu/upline_rate").then(e6)}function e6(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:n!=null&&n.data?e6(n.data):n!=null&&n.result?e6(n.result):[]}function j2e(n="",e=1,t=80){return x_("/api/home/muhu_list",{query:n,page:e,pageSize:t}).then(e6)}function xM(n){return x_("/api/home/grasslandByPastureId",{id:n}).then(e6)}function MXe(n){return x_("/api/pasturesDetails",{id:n}).then(e=>(e==null?void 0:e.data)||e||{})}function $2e(){return x_("/api/pasturesList").then(e6)}function EXe(){return J2(this,null,function*(){const[n,e,t,i,r,a]=yield Promise.allSettled([wXe(),TXe(),AXe(),CXe(),$2e(),j2e("",1,300)]),o=r.status==="fulfilled"?r.value:[],s=a.status==="fulfilled"?a.value:[],l=YW(s)?s:YW(o)?o:s.length?s:o,u=PXe(l,o,s);return{core:n.status==="fulfilled"?n.value:[],distribution:e.status==="fulfilled"?e.value:[],age:t.status==="fulfilled"?t.value:[],online:i.status==="fulfilled"?i.value:[],list:u}})}function PXe(n=[],...e){const t=new Map;return e.flat().forEach(i=>{XW(i).forEach(r=>{const a=t.get(r)||{};t.set(r,qW(a,i))})}),(Array.isArray(n)?n:[]).map(i=>{const r=XW(i).map(a=>t.get(a)).find(Boolean);return r?qW(i,r):i})}function qW(n={},e={}){const t=b2({},n);return Object.entries(e||{}).forEach(([i,r])=>{(t[i]===void 0||t[i]===null||t[i]==="")&&(t[i]=r)}),t}function XW(n={}){return[n.id,n.pastureId,n.pasturesId,n.pastures_id,n.muhuId,n.muhu_id,n.name,n.pasturesName,n.pastures_name,n.muhuName,n.muhu_name,n.pastureName,n.pasture_name].map(e=>String(e||"").trim()).filter(Boolean)}function YW(n=[]){return(Array.isArray(n)?n:[]).some(e=>{var r,a,o,s,l,u;const t=(l=(s=(o=(a=(r=e==null?void 0:e.grasslandArea)!=null?r:e==null?void 0:e.grassland_area)!=null?a:e==null?void 0:e.acreage)!=null?o:e==null?void 0:e.area)!=null?s:e==null?void 0:e.areaRange)!=null?l:e==null?void 0:e.area_range;if(typeof t=="number")return t>0;const i=Number((u=String(t!=null?t:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:u[0]);return Number.isFinite(i)&&i>0})}const RXe=(n,e=2)=>{const t=x6(10,e);return Math.round((Number(n)||0)*t)/t},wM=n=>RXe((Number(n)||0)/1e4,2),q2e=[{key:"pasture-total",name:"牧户数量",value:9110,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"yield"},{key:"avg-grassland-area",name:"户均草地面积",value:1131,unit:"亩",icon:"area"},{key:"joint-household-count",name:"联户数量",value:237,unit:"户",icon:"town"},{key:"poverty-monitor-count",name:"防反贫监测户",value:122,unit:"户",icon:"town"},{key:"average-income",name:"人均收入",value:19679,unit:"元/年",icon:"rate"}],X2e=q2e,Y2e=q2e.map(n=>Z2(b2({},n),{zh:n.name,decimals:0})),oL=[{areaCode:"513233100",areaName:"邛溪镇",number:1452,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",number:1500,year:2024},{areaCode:"513233103",areaName:"安曲镇",number:76,year:2024},{areaCode:"513233105",areaName:"龙日镇",number:828,year:2024},{areaCode:"513233202",areaName:"江茸乡",number:902,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",number:450,year:2024},{areaCode:"513233204",areaName:"瓦切镇",number:602,year:2024},{areaCode:"513233205",areaName:"阿木乡",number:300,year:2024},{areaCode:"513233207",areaName:"麦洼乡",number:1204,year:2024},{areaCode:"513233208",areaName:"色地镇",number:2638,year:2024}].map(n=>Z2(b2({},n),{key:n.areaCode,name:n.areaName,value:n.number,unit:"户"})),K2e=[{areaCode:"513233105",areaName:"龙日镇",uplineRate:4,year:2024},{areaCode:"513233207",areaName:"麦洼乡",uplineRate:52,year:2024},{areaCode:"513233103",areaName:"安曲镇",uplineRate:22,year:2024},{areaCode:"513233100",areaName:"邛溪镇",uplineRate:23,year:2024},{areaCode:"513233208",areaName:"色地镇",uplineRate:8,year:2024},{areaCode:"513233205",areaName:"阿木乡",uplineRate:12,year:2024},{areaCode:"513233202",areaName:"江茸乡",uplineRate:14,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(n=>Z2(b2({},n),{key:n.areaCode,name:n.areaName,value:n.uplineRate,unit:"%",extra:`${n.uplineRate}%`})),Z2e=[{areaName:"全县",ageRange:"0-20",sex:"男",number:340,value:340,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:348,value:348,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1700,value:1700,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:2104,value:2104,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:680,value:680,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:580,value:580,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:60,value:60,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:60,value:60,year:2024}],J2e=(n,e,t,i)=>Array.from(n.reduce((r,a)=>{const o=a[e]||"未标注",s=r.get(o)||{key:o,name:o,value:0,unit:i};return s.value+=Number(a[t])||0,r.set(o,s),r},new Map).values()),LXe=J2e(Z2e,"ageRange","value","人"),Q2e=[{key:"male",name:"男",value:4820,unit:"人"},{key:"female",name:"女",value:5132,unit:"人"}],N8=[{name:"更洼尔",areaName:"瓦切镇",acreage:4704.87,summerAcreage:2267.26,winterAcreage:2437.61,year:2024},{name:"涉尔丹",areaName:"麦洼乡",acreage:1426.53,summerAcreage:687.82,winterAcreage:738.71,year:2024},{name:"热布丹",areaName:"查尔玛乡",acreage:2176.09,summerAcreage:1049.37,winterAcreage:1126.72,year:2024},{name:"王西卓玛",areaName:"阿木乡",acreage:4126.13,summerAcreage:1989.59,winterAcreage:2136.54,year:2024},{name:"阿尔",areaName:"色地镇",acreage:1249.48,summerAcreage:602.25,winterAcreage:647.23,year:2024},{name:"尕让吉",areaName:"邛溪镇",acreage:3688.72,summerAcreage:1778.56,winterAcreage:1910.16,year:2024},{name:"华尔甲",areaName:"安曲镇",acreage:2956.44,summerAcreage:1425.01,winterAcreage:1531.43,year:2024},{name:"泽让措",areaName:"江茸乡",acreage:3448.36,summerAcreage:1662.61,winterAcreage:1785.75,year:2024},{name:"扎西让布",areaName:"龙日镇",acreage:2689.1,summerAcreage:1296.15,winterAcreage:1392.95,year:2024},{name:"格桑卓玛",areaName:"刷经寺镇",acreage:3187.64,summerAcreage:1536.84,winterAcreage:1650.8,year:2024}].map(n=>Z2(b2({},n),{township:n.areaName,grasslandArea:n.acreage,value:n.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${n.name} ${n.areaName}`})),IXe=J2e(N8,"township","grasslandArea","亩").map(n=>Z2(b2({},n),{value:wM(n.value),unit:"万亩"})),DXe=Array.from(N8.reduce((n,e)=>{const t=e.township||"未填写",i=n.get(t)||{key:`${t}-season`,name:t,values:{summer:0,winter:0}};return i.values.summer+=Number(e.summerAcreage)||0,i.values.winter+=Number(e.winterAcreage)||0,n.set(t,i),n},new Map).values()).map(n=>Z2(b2({},n),{values:{summer:wM(n.values.summer),winter:wM(n.values.winter)},unit:"万亩"})),NXe=oL.map(n=>({name:n.name,value:n.value,unit:"户"})),ET={topStats:Y2e,coreRows:X2e,townRows:oL,ageRows:Z2e,genderRows:Q2e,onlineRows:K2e,list:N8},N7={grasslandCapacityPerMu:.047,yakToSheepUnit:4.8},kXe={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},Vv=[{key:"healthy",label:"草畜平衡",shortLabel:"平衡",range:"≤ 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"轻度超载",shortLabel:"关注",range:"0% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],ra={areaRange:["areaRange","area_range","acreage","grasslandArea","area"],yakNumber:["yakNumber","yak_number","number","yakCount","livestockCount"],bearingCapacity:["bearingCapacity","bearing_capacity","capacity","theoryCapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity"],overloadRate:["overloadRate","overload_rate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceAdivce","balance_adivce"],year:["year"],areaName:["areaName","area_name","name"],pasturesName:["pasturesName","pastures_name","pastureName","muhuName","name"]},FXe=["grasslandArea","grassland_area","acreage","areaRange","area_range","area","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"],sL={邛溪镇:"513233100",刷经寺镇:"513233101",安曲镇:"513233103",龙日镇:"513233105",江茸乡:"513233202",查尔玛乡:"513233203",瓦切镇:"513233204",阿木乡:"513233205",麦洼乡:"513233207",色地镇:"513233208"},pa=(n,e=2)=>{const t=x6(10,e);return Math.round((Number(n)||0)*t)/t},OXe={色地镇:1.38,麦洼乡:1.26,阿木乡:1.12,瓦切镇:1.2,查尔玛乡:1.04,江茸乡:.88,龙日镇:1.16,安曲镇:1.28,刷经寺镇:.78,邛溪镇:1.08};function H1(n,e=null){if(n==null||n==="")return e;const t=typeof n=="string"?n.replace(/,/g,"").replace(/%/g,"").trim():n,i=Number(t);return Number.isFinite(i)?i:e}function tn(n={},e=[],t=void 0){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function Am(n,e={}){var i;const t=H1(n);return t===null?"--":t.toLocaleString("zh-CN",{maximumFractionDigits:(i=e.maximumFractionDigits)!=null?i:Number.isInteger(t)?0:2})}function PT(n){const e=H1(n);return e===null?"--":`${Am(e)}%`}function Wh(n){const e=H1(n);return e===null||e<=0?Vv[0]:e<=10?Vv[1]:e<=20?Vv[2]:Vv[3]}function TM(n){return Math.round((Number(n)||0)*N7.yakToSheepUnit)}function AM(n){return Math.round((Number(n)||0)*N7.grasslandCapacityPerMu)}function T_({key:n,type:e,name:t,areaCode:i,pasturesId:r,areaRange:a,yakNumber:o,location:s,township:l,hasBoundary:u=!1,boundaryCount:c=0,grasslands:d=[],source:h,pressureFactor:f=1}){const p=AM(a),m=Math.round(TM(o)*f),v=p?pa((m-p)/p*100,1):0,g=Wh(v);return{key:n,type:e,name:t,areaCode:i,pasturesId:r,areaRange:pa(a,0),yakNumber:pa(o,0),bearingCapacity:p,livestockCapacity:m,overloadRate:v,level:g.label,advice:g.actions.join(";"),year:"2026",location:s,township:l,hasBoundary:!!u,boundaryCount:Number(c)||0,grasslands:d,source:h}}const jh=Bh.map((n,e)=>T_({key:`town-${n.zoneName}`,type:"town",name:n.zoneName,areaCode:sL[n.zoneName],areaRange:n.grasslandArea,yakNumber:n.yakCount,location:null,pressureFactor:OXe[n.zoneName]||1,index:e})),BXe=jh.reduce((n,e)=>n+e.areaRange,0),zXe=jh.reduce((n,e)=>n+e.yakNumber,0),Cm=jh.reduce((n,e)=>n+e.bearingCapacity,0),ete=jh.reduce((n,e)=>n+e.livestockCapacity,0),tte=Cm?pa((ete-Cm)/Cm*100,1):0,KW=Wh(tte),GXe=Z2(b2({},kXe),{areaRange:BXe,yakNumber:zXe,bearingCapacity:Cm,livestockCapacity:ete,overloadRate:tte,level:KW.label,advice:KW.actions.join(";"),year:"2026"}),UXe=Mm(N8.map(n=>T_({key:n.id||n.key||n.name,type:"pasture",name:n.name,areaCode:sL[n.township],pasturesId:n.id,areaRange:n.grasslandArea,yakNumber:n.yakCount,location:n.location,township:n.township,hasBoundary:n.hasBoundary||n.canLocate||h8(n),source:n}))),ZW=[GXe,...jh,...UXe];function VXe(n={},e={}){var S,x,A,C,M,I,D,E,P,F,V,G,W;const t=tn(n,ra.areaRange),i=tn(n,ra.yakNumber),r=tn(n,ra.bearingCapacity),a=tn(n,ra.livestockCapacity),o=H1(tn(n,ra.overloadRate)),s=H1(e.yakNumber),l=jXe(n,a,s),u=H1(t,(S=e.areaRange)!=null?S:0),c=l!==null&&i===(n==null?void 0:n.yak_number)?H1(tn(n,["number","yakCount","yak_count","livestockCount","livestock_count"]),s!=null?s:Math.round(l/N7.yakToSheepUnit)):H1(i,(x=e.yakNumber)!=null?x:0),d=H1(e.bearingCapacity),h=H1(e.livestockCapacity),f=t!=null&&t!=="",p=i!=null&&i!=="",m=(M=(C=(A=H1(a))!=null?A:l)!=null?C:p?TM(c):h)!=null?M:TM(c),v=(E=(D=(I=H1(r))!=null?I:$Xe(m,o))!=null?D:f?AM(u):d)!=null?E:AM(u),g=o!==null?pa(o,1):v?pa((m-v)/v*100,1):0,_=Wh(g);return Z2(b2(b2({},e),n),{key:e.key||n.key||n.id||n.areaCode||n.pasturesId||e.name,type:e.type||n.type||(n.pasturesId?"pasture":"town"),name:tn(n,[...ra.pasturesName,...ra.areaName],e.name||"核算对象"),areaCode:n.areaCode||n.area_code||e.areaCode,pasturesId:n.pasturesId||n.pastures_id||e.pasturesId,areaRange:u,yakNumber:c,bearingCapacity:v,livestockCapacity:m,overloadRate:g,level:tn(n,ra.level,_.label),advice:tn(n,ra.advice,e.advice||_.actions.join(";")),year:tn(n,ra.year,e.year||"当前年度"),hasBoundary:!!((V=(F=(P=n.hasBoundary)!=null?P:n.has_boundary)!=null?F:n.canLocate)!=null?V:e.hasBoundary),boundaryCount:H1((G=n.boundaryCount)!=null?G:n.boundary_count,(W=e.boundaryCount)!=null?W:0),grasslands:Array.isArray(n.grasslands)?n.grasslands:e.grasslands,source:n.raw||n.source||e.source})}function JW(n=[],e=new Map){return(Array.isArray(n)?n:[]).map((t,i)=>WXe(t,i,e)).filter(Boolean).sort(nte)}function Mm(n=[]){return[...Array.isArray(n)?n:[]].sort(nte)}function nte(n,e){const t=ly(n)?1:0,i=ly(e)?1:0;if(t!==i)return i-t;const r=uy(n),a=uy(e),o=r>0?1:0,s=a>0?1:0;return o!==s?s-o:r!==a?a-r:String((n==null?void 0:n.name)||"").localeCompare(String((e==null?void 0:e.name)||""),"zh-CN")}function ly(n={}){return n!=null&&n.hasBoundary||n!=null&&n.has_boundary||n!=null&&n.canLocate||n!=null&&n.hasGeometry||n!=null&&n.has_geometry||(Number(n==null?void 0:n.boundaryCount)||Number(n==null?void 0:n.boundary_count)||0)>0||Array.isArray(n==null?void 0:n.boundaryList)&&n.boundaryList.length||Array.isArray(n==null?void 0:n.geometryList)&&n.geometryList.length||Array.isArray(n==null?void 0:n.features)&&n.features.length||Array.isArray(n==null?void 0:n.grasslands)&&n.grasslands.some(h8)||Array.isArray(n==null?void 0:n.boundaryRows)&&n.boundaryRows.some(h8)?!0:h8(n)||ite(n).some(h8)}function uy(n={}){const e=FXe.map(i=>HXe(n==null?void 0:n[i]));return e.find(i=>i>0)||e.find(i=>i===0)||0}function HXe(n){if(typeof n=="number")return Number.isFinite(n)?n:0;const e=String(n!=null?n:"").trim();if(!e||e==="--")return 0;const t=e.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!t)return 0;const i=Number(t[0]);return Number.isFinite(i)?e.includes("万")?i*1e4:i:0}function WXe(n={},e=0,t=new Map){const i=tn(n,["pasturesId","pastures_id","pastureId","pasture_id","muhuId","id","value"]),r=tn(n,[...ra.pasturesName,"herdsmanName","ownerName","label"],i||"");if(!r&&!i)return null;const a=tn(n,["township","townName","areaName","area_name","zoneName","address"]),o=ite(n),s=o.filter(h8),l=i?t.get(String(i)):null,u=(l==null?void 0:l.rows)||[],c=u.length?u:o,d=uy(n)||qXe(c),h=!!(l!=null&&l.hasBoundary||s.length||h8(n));return T_({key:i?`pasture-${i}`:`pasture-${r}-${e}`,type:"pasture",name:r,areaCode:n.areaCode||n.area_code||sL[a],pasturesId:i,areaRange:d,yakNumber:H1(tn(n,ra.yakNumber),0),location:n.location,township:a,hasBoundary:h,boundaryCount:u.length||s.length,grasslands:u.length?u:s.length?s:o,source:n})}function jXe(n={},e,t=null){if(!n||typeof n!="object"||e!=null&&e!=="")return null;const i=Object.prototype.hasOwnProperty.call(n,"yak_number"),r=["overload_rate","overloadRate","advice","balanceAdvice","level","conclusion"].some(s=>n[s]!==void 0&&n[s]!==null&&n[s]!==""),a=H1(n.yak_number);if(!i||!r||a===null)return null;const o=H1(t);return o!==null&&o>0?a>o*1.5?a:null:a}function $Xe(n,e){const t=H1(n),i=H1(e);return t===null||i===null||i<=-100?null:Math.round(t/(1+i/100))}function qXe(n=[]){return(Array.isArray(n)?n:[]).reduce((e,t)=>{const i=uy(t);return e+(i>0?i:0)},0)}function ite(n={}){const e=[];["grasslands","grasslandList","grasslandRows","boundaryRows","boundaryList","geometryList","landList","plots","features"].forEach(r=>{const a=n==null?void 0:n[r];Array.isArray(a)?e.push(...a):Array.isArray(a==null?void 0:a.rows)?e.push(...a.rows):Array.isArray(a==null?void 0:a.list)?e.push(...a.list):Array.isArray(a==null?void 0:a.data)&&e.push(...a.data)});const i=tn(n,["wkt","geo","geom","geometryWkt","shape"]);return(i||n!=null&&n.geometry)&&e.push(Z2(b2({},n),{id:(n==null?void 0:n.grasslandId)||(n==null?void 0:n.gid)||(n==null?void 0:n.id),pastureId:(n==null?void 0:n.pastureId)||(n==null?void 0:n.pasturesId)||(n==null?void 0:n.pastures_id)||(n==null?void 0:n.muhuId)||(n==null?void 0:n.id),name:(n==null?void 0:n.grasslandName)||(n==null?void 0:n.name),wkt:i,geometry:n==null?void 0:n.geometry})),e.filter(Boolean)}function h8(n={}){var e,t;return typeof n=="string"?!!n.trim():(n==null?void 0:n.type)==="Feature"||n!=null&&n.type&&(n!=null&&n.coordinates)||(e=n==null?void 0:n.geometry)!=null&&e.type||(t=n==null?void 0:n.geometry)!=null&&t.coordinates||typeof(n==null?void 0:n.geometry)=="string"?!0:!!tn(n,["wkt","geo","geom","geometryWkt","shape"])}function XXe(n={}){const e=H1(n.bearingCapacity,0),t=H1(n.livestockCapacity,0),i=H1(n.areaRange,0),r=H1(n.yakNumber,0),a=H1(n.overloadRate,e?(t-e)/e*100:0),o=t-e,s=e?pa(t/e*100,1):0,l=Wh(a),u=Math.round(r*N7.yakToSheepUnit),c=u?pa(t/u,2):1,d=i?pa(e/i,4):N7.grasslandCapacityPerMu;return{bearing:e,livestock:t,areaRange:i,yakNumber:r,yakSheepUnit:u,pressureFactor:c,bearingCoefficient:d,overloadRate:pa(a,1),delta:o,usageRate:s,risk:l,bearingPercent:Math.max(4,Math.min(100,pa(e/Math.max(e,t,1)*100,1))),livestockPercent:Math.max(4,Math.min(100,pa(t/Math.max(e,t,1)*100,1)))}}function YXe(n={},e=Wh(n.overloadRate)){const t=String(n.advice||"").trim(),i=t?t.split(/[。;;\n]/).map(o=>o.trim()).filter(Boolean):[],r=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],a=i.filter(o=>r.some(s=>o.includes(s))?!1:e.key==="healthy"?!0:!r.some(s=>o.includes(s)));return[...e.actions||[],...a].filter((o,s,l)=>l.indexOf(o)===s).slice(0,4)}const KXe={class:"grass-livestock-balance"},ZXe={class:"balance-screen"},JXe={class:"balance-selector"},QXe={class:"balance-scope-tabs"},eYe=["onClick"],tYe={class:"balance-target-list"},nYe=["title","onClick"],iYe={class:"balance-action-box"},rYe=["disabled"],aYe={key:0,class:"balance-running"},oYe={class:"balance-running-head"},sYe={class:"balance-core-inner"},lYe={class:"balance-running-title"},uYe={class:"balance-progress-line"},cYe={class:"balance-live-process"},dYe={key:1,class:"balance-waiting"},hYe={class:"balance-wait-core"},fYe={class:"balance-core-ring is-empty"},pYe={class:"balance-core-inner"},vYe={class:"balance-preflight"},mYe={key:2,class:"balance-analysis"},gYe={class:"balance-dashboard"},yYe={class:"balance-object-block"},_Ye={class:"balance-core"},SYe={class:"balance-core-inner"},bYe={class:"balance-compare"},xYe={class:"balance-bar-row"},wYe={class:"balance-bar-row is-livestock"},TYe={class:"balance-detail"},AYe={class:"balance-process"},CYe={class:"balance-section-title"},MYe={class:"balance-process-track"},EYe={class:"balance-decision"},PYe={class:"balance-section-title"},RYe={class:"balance-conclusion"},LYe={class:"balance-advice-list"},IYe=326,DYe=720,NYe=1310,kYe=820,FYe=4200,OYe={__name:"index",emits:["loading-progress","map-ready"],setup(n,{emit:e}){const t=e,i=H2("county"),r=H2(""),a=H2("idle"),o=H2(0),s=H2(0),l=H2({}),u=Mm(ZW.filter(Ne=>Ne.type==="pasture")),c=H2([]),d=H2(u);let h=!1,f=0,p=null,m=0,v=0,g=null;const _=Ye(()=>[...ZW.filter(Ne=>Ne.type!=="pasture"),...c.value,...d.value].map(Ne=>VXe(l.value[Ne.key],Ne))),S=Ye(()=>_.value.filter(Ne=>Ne.type==="county")),x=Ye(()=>_.value.filter(Ne=>Ne.type==="town")),A=Ye(()=>_.value.filter(Ne=>Ne.type==="village")),C=Ye(()=>Mm(_.value.filter(Ne=>Ne.type==="pasture"))),M=Ye(()=>i.value==="town"?x.value:i.value==="village"?A.value:i.value==="pasture"?C.value:S.value),I=Ye(()=>_.value.find(Ne=>Ne.key===r.value)||null),D=Ye(()=>!!I.value),E=Ye(()=>a.value==="running"),P=Ye(()=>D.value&&a.value==="done"),F=Ye(()=>XXe(I.value||{})),V=Ye(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"},{key:"pasture",name:"牧户"}]),G=Ye(()=>{var Ne;return((Ne=V.value.find(u2=>u2.key===i.value))==null?void 0:Ne.name)||"县"}),W=Ye(()=>I.value?I.value.pasturesId?`牧户编号 ${I.value.pasturesId}`:I.value.areaCode?`行政区划 ${I.value.areaCode}`:I.value.township||"核算对象":"等待选择核算对象"),Y=Ye(()=>D.value?P.value?"分析已完成":E.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),Q=Ye(()=>P.value?"草畜平衡分析舱":"草畜平衡分析"),K=Ye(()=>D.value?E.value?"分析中":"待开始":"待选择"),ae=Ye(()=>D.value?E.value?`${I.value.name} 正在分析`:`${I.value.name} 待开始分析`:"先选择一个核算对象"),ie=Ye(()=>D.value?E.value?"正在读取核算参数、执行公式计算,并生成结论与调控建议。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇、村或牧户后,系统才会进入草地承载力核算。"),he=Ye(()=>{const Ne=F.value;return`${Ne.delta>0?"超载量":"承载余量"} ${Am(Math.abs(Ne.delta))},承载利用率 ${PT(Ne.usageRate)}。`}),Ee=Ye(()=>{const Ne=Math.max(0,Math.min(130,Number(F.value.usageRate)||0));return`${Math.round(Ne/130*360)}deg`}),je=Ye(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与单位面积产草能力。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食部分与生态保留量,折算可利用草量。"},{key:"livestock",index:"03",name:"载畜量折算",desc:"将牦牛存栏按标准折算系数换算为载畜压力。"},{key:"balance",index:"04",name:"平衡判定",desc:"比对理论承载力与实际载畜量,判定平衡状态。"}]),xe=Ye(()=>{const Ne=F.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",expression:"正在汇总草地范围、面积和生产力参数",result:"已核算"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",expression:"正在扣除不可食与生态保留部分",result:"已折算"},{key:"livestock",index:"03",name:"载畜量折算",desc:"形成实际载畜压力口径",pending:"等待载畜折算",expression:"正在按牦牛存栏和折算系数换算载畜压力",result:"已折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",expression:Ne.delta>0?"正在判定超载风险并生成调控方向":"正在判定平衡状态并生成监测方向",result:Ne.risk.label}]}),Oe=Ye(()=>xe.value[Math.min(s.value,xe.value.length-1)]||xe.value[0]),f2=Ye(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:P.value?"草地生产力已核算":D.value?"等待核算":"等待选择",state:D.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:P.value?"可利用草量已折算":"分析后折算",state:E.value?"active":P.value?"done":D.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:P.value?"载畜压力已换算":"等待折算",state:E.value?"active":P.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:P.value?F.value.risk.label:"等待判定",state:P.value?"done":"disabled"}]),B2=Ye(()=>P.value?YXe(I.value,F.value.risk):[]);cr(()=>{t("loading-progress",{progress:100}),t("map-ready"),Ce(),A2()}),Or(()=>{h=!0,f+=1,m+=1,v+=1,Te()}),$0(()=>{var Ne;return(Ne=I.value)==null?void 0:Ne.key},()=>{a.value="idle",o.value=0,s.value=0,g=null,Te()});function S2(Ne){i.value=Ne,r.value="",a.value="idle"}function p2(Ne){Ne&&(i.value=["county","town","village","pasture"].includes(Ne.type)?Ne.type:"county",r.value=Ne.key,a.value="idle")}function X2(){if(!I.value||E.value)return;a.value="running",o.value=0,s.value=0,Te();const Ne=Date.now(),u2=w2();g=u2,p=window.setInterval(()=>{if(h)return;const P2=g===u2?92:100;o.value=Math.min(P2,o.value+2),s.value=Math.min(xe.value.length-1,Math.floor(o.value/25))},140),u2.finally(()=>J2(this,null,function*(){const P2=FYe-(Date.now()-Ne);P2>0&&(yield new Promise(d2=>window.setTimeout(d2,P2))),!(h||a.value!=="running"||g!==u2)&&(g=null,o.value=100,s.value=xe.value.length-1,Te(),a.value="done")}))}function w2(){return J2(this,null,function*(){const Ne=I.value;if(!Ne||l.value[Ne.key])return null;const u2=++f;try{const P2=yield bXe({areaCode:Ne.type==="pasture"?void 0:Ne.areaCode,pasturesId:Ne.type==="pasture"?Ne.pasturesId:void 0});return h||u2!==f||!P2?null:(l.value=Z2(b2({},l.value),{[Ne.key]:P2}),P2)}catch(P2){return null}})}function Ce(){return J2(this,null,function*(){const Ne=++m,u2=x.value.filter(P2=>P2==null?void 0:P2.areaCode).map(P2=>b2({},P2));if(u2.length)try{const P2=yield Promise.all(u2.map(d2=>J2(this,null,function*(){try{const st=yield xXe(d2.areaCode);return h||Ne!==m?[]:R2(st,d2)}catch(st){return[]}})));if(h||Ne!==m)return;c.value=P2.flat()}catch(P2){if(h||Ne!==m)return;c.value=[]}})}function R2(Ne=[],u2={}){const P2=(Array.isArray(Ne)?Ne:[]).filter(_t=>{const ut=O2(_t),Ht=k(_t);return!!(ut||Ht)}),d2=P2.length||1,st=(H1(u2.areaRange,0)||0)/d2,pt=(H1(u2.yakNumber,0)||0)/d2,yt=_2(u2);return P2.map((_t,ut)=>v2(_t,ut,u2,{areaRange:st,yakNumber:pt,pressureFactor:yt})).filter(Boolean)}function v2(Ne={},u2=0,P2={},d2={}){const st=O2(Ne),pt=k(Ne)||(st?`村级区划${st}`:"");if(!st&&!pt)return null;const yt=H1(tn(Ne,["areaRange","area_range","grasslandArea","grassland_area","acreage","area"]),d2.areaRange),_t=H1(tn(Ne,["yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count"]),d2.yakNumber);return T_({key:`village-${st||`${P2.key||P2.name}-${pt}-${u2}`}`,type:"village",name:pt,areaCode:st,areaRange:yt,yakNumber:_t,township:P2.name,source:Ne,pressureFactor:d2.pressureFactor})}function O2(Ne={}){return String(tn(Ne,["areaCode","area_code","code","value","id","areaId","area_id"],"")||"").trim()}function k(Ne={}){return String(tn(Ne,["areaName","area_name","name","label","zoneName","villageName","village_name"],"")||"").trim()}function _2(Ne={}){const u2=H1(Ne.yakNumber,0),P2=H1(Ne.livestockCapacity,0),d2=u2*N7.yakToSheepUnit,st=d2?P2/d2:1;return Number.isFinite(st)&&st>0?st:1}function A2(){return J2(this,null,function*(){const Ne=++v;try{const[u2,P2]=yield Promise.allSettled([j2e("",1,1e4),$2e()]);if(h||Ne!==v)return;const d2=u2.status==="fulfilled"?u2.value:[],st=P2.status==="fulfilled"?P2.value:[],pt=Z(d2,st),yt=JW(pt);yt.length&&(d.value=yt);const _t=yield T2(yt,Ne);if(h||Ne!==v||!_t.size)return;d.value=JW(pt,_t)}catch(u2){d.value=u}})}function Z(Ne=[],u2=[]){const P2=new Map;(Array.isArray(u2)?u2:[]).forEach(st=>{Ge(st).forEach(pt=>{P2.set(pt,b2(b2({},P2.get(pt)||{}),st))})});const d2=Array.isArray(Ne)&&Ne.length?Ne:u2;return(Array.isArray(d2)?d2:[]).map(st=>{const pt=Ge(st).map(yt=>P2.get(yt)).find(Boolean);return pt?ee(st,pt):st})}function ee(Ne={},u2={}){const P2=b2({},Ne);return Object.entries(u2).forEach(([d2,st])=>{(P2[d2]===void 0||P2[d2]===null||P2[d2]==="")&&(P2[d2]=st)}),P2}function Ge(Ne={}){return[Ne.id,Ne.pasturesId,Ne.pastures_id,Ne.pastureId,Ne.pasture_id,Ne.muhuId,Ne.muhu_id,Ne.name,Ne.pasturesName,Ne.pastures_name,Ne.muhuName,Ne.muhu_name,Ne.pastureName,Ne.pasture_name].map(u2=>String(u2||"").trim()).filter(Boolean)}function T2(){return J2(this,arguments,function*(Ne=[],u2){const P2=new Map,d2=Ne.filter(st=>st==null?void 0:st.pasturesId);return yield z2(d2,12,st=>J2(this,null,function*(){if(!(h||u2!==v))try{const pt=yield xM(st.pasturesId);if(h||u2!==v)return;P2.set(String(st.pasturesId),{rows:Array.isArray(pt)?pt:[],hasBoundary:ly({grasslands:pt})}),ly({grasslands:pt})&&(d.value=Mm(d.value.map(yt=>String(yt.pasturesId)===String(st.pasturesId)?Z2(b2({},yt),{hasBoundary:!0,boundaryCount:Array.isArray(pt)?pt.length:yt.boundaryCount,grasslands:Array.isArray(pt)?pt:yt.grasslands}):yt)))}catch(pt){P2.set(String(st.pasturesId),{rows:[],hasBoundary:!1})}})),P2})}function z2(){return J2(this,arguments,function*(Ne=[],u2=6,P2){const d2=[...Ne],st=Array.from({length:Math.min(u2,d2.length)},()=>J2(this,null,function*(){for(;d2.length&&!h;){const pt=d2.shift();yield P2(pt)}}));yield Promise.all(st)})}function Te(){p&&(window.clearInterval(p),p=null)}function $e(Ne){return P.value||E.value&&Ne<=s.value}function Xe(Ne){return Ne<s.value||P.value?"done":Ne===s.value&&E.value?"active":"pending"}return(Ne,u2)=>(Ae(),Pe("div",KXe,[u2[13]||(u2[13]=B("div",{class:"balance-backdrop","aria-hidden":"true"},[B("div",{class:"balance-orbit is-left"}),B("div",{class:"balance-orbit is-right"}),B("div",{class:"balance-energy-band"})],-1)),B("div",ZXe,[ft(M3,{class:"balance-card balance-target-card",title:"核算对象",width:IYe,height:DYe},{default:m3(()=>{var P2;return[B("div",JXe,[B("div",QXe,[(Ae(!0),Pe(bt,null,Nt(V.value,d2=>(Ae(),Pe("button",{key:d2.key,type:"button",class:Xt({active:i.value===d2.key}),onClick:st=>S2(d2.key)},Fe(d2.name),11,eYe))),128))]),B("div",tYe,[(Ae(!0),Pe(bt,null,Nt(M.value,d2=>{var st;return Ae(),Pe("button",{key:d2.key,type:"button",class:Xt({active:d2.key===((st=I.value)==null?void 0:st.key)}),title:d2.name,onClick:pt=>p2(d2)},[B("span",null,Fe(d2.name),1)],10,nYe)}),128))]),B("div",iYe,[u2[0]||(u2[0]=B("span",null,"当前对象",-1)),B("strong",null,Fe(((P2=I.value)==null?void 0:P2.name)||"未选择"),1),B("small",null,Fe(Y.value),1),B("button",{type:"button",disabled:!D.value||E.value,onClick:X2},Fe(E.value?"分析中...":P.value?"重新分析":"开始分析"),9,rYe)])])]}),_:1}),ft(M3,{class:"balance-card balance-sheet-card",title:Q.value,width:NYe,height:kYe},{default:m3(()=>[B("div",{class:Xt(["balance-sheet",{"is-ready":P.value,"is-running":E.value}])},[u2[12]||(u2[12]=B("div",{class:"balance-field-lines","aria-hidden":"true"},[B("i"),B("i"),B("i")],-1)),E.value?(Ae(),Pe("section",aYe,[B("div",oYe,[B("div",{class:"balance-core-ring is-running",style:J3({"--usage-angle":`${o.value*3.6}deg`})},[B("div",sYe,[u2[1]||(u2[1]=B("span",null,"分析进度",-1)),B("strong",null,Fe(o.value)+"%",1),B("small",null,Fe(Oe.value.name),1)])],4),B("div",lYe,[B("span",null,Fe(I.value.name),1),B("strong",null,Fe(Oe.value.desc),1),B("small",null,Fe(Oe.value.expression),1),B("div",uYe,[B("i",{style:J3({width:`${o.value}%`})},null,4)])])]),B("div",cYe,[(Ae(!0),Pe(bt,null,Nt(xe.value,(P2,d2)=>(Ae(),Pe("div",{key:P2.key,class:Xt(["balance-live-step",`is-${Xe(d2)}`])},[B("span",null,Fe(P2.index),1),B("div",null,[B("strong",null,Fe(P2.name),1),B("p",null,Fe($e(d2)?P2.expression:P2.pending),1)]),B("em",null,Fe($e(d2)?P2.result:"等待"),1)],2))),128))])])):P.value?(Ae(),Pe("section",mYe,[B("div",gYe,[B("div",yYe,[B("span",null,Fe(G.value)+"核算对象",1),B("strong",null,Fe(I.value.name),1),B("small",null,Fe(W.value),1)]),B("div",_Ye,[B("div",{class:"balance-core-ring",style:J3({"--usage-angle":Ee.value})},[B("div",SYe,[u2[5]||(u2[5]=B("span",null,"承载利用率",-1)),B("strong",null,Fe(_1(PT)(F.value.usageRate)),1),B("small",null,"超载率 "+Fe(_1(PT)(F.value.overloadRate)),1)])],4),u2[6]||(u2[6]=B("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),B("div",{class:Xt(["balance-verdict-card",`is-${F.value.risk.key}`])},[u2[7]||(u2[7]=B("span",null,"分析结论",-1)),B("strong",null,Fe(F.value.risk.label),1),B("small",null,Fe(F.value.delta>0?"需调控载畜量":"承载能力可覆盖"),1)],2)]),B("div",bYe,[B("div",xYe,[u2[8]||(u2[8]=B("span",null,"理论承载力",-1)),B("div",null,[B("i",{style:J3({width:`${F.value.bearingPercent}%`})},null,4)]),B("strong",null,Fe(_1(Am)(F.value.bearing)),1)]),B("div",wYe,[u2[9]||(u2[9]=B("span",null,"实际载畜量",-1)),B("div",null,[B("i",{style:J3({width:`${F.value.livestockPercent}%`})},null,4)]),B("strong",null,Fe(_1(Am)(F.value.livestock)),1)])]),B("div",TYe,[B("div",AYe,[B("div",CYe,[u2[10]||(u2[10]=B("span",null,"分析过程",-1)),B("small",null,Fe(I.value.year||"当前年度"),1)]),B("div",MYe,[(Ae(!0),Pe(bt,null,Nt(f2.value,P2=>(Ae(),Pe("span",{key:`track-${P2.key}`,class:Xt(`is-${P2.state}`)},Fe(P2.name),3))),128))]),(Ae(!0),Pe(bt,null,Nt(je.value,P2=>(Ae(),Pe("div",{key:P2.key,class:"balance-formula-row"},[B("span",null,Fe(P2.index),1),B("div",null,[B("strong",null,Fe(P2.name),1),B("p",null,Fe(P2.desc),1)])]))),128))]),B("div",EYe,[B("div",PYe,[u2[11]||(u2[11]=B("span",null,"结论与建议",-1)),B("small",null,Fe(F.value.delta>0?"需要调控":"保持监测"),1)]),B("div",RYe,[B("strong",null,Fe(F.value.risk.description),1),B("p",null,Fe(he.value),1)]),B("div",LYe,[(Ae(!0),Pe(bt,null,Nt(B2.value,(P2,d2)=>(Ae(),Pe("div",{key:`${P2}-${d2}`,class:"balance-advice-item"},[B("span",null,Fe(d2+1),1),B("p",null,Fe(P2),1)]))),128))])])])])):(Ae(),Pe("section",dYe,[B("div",hYe,[B("div",fYe,[B("div",pYe,[B("span",null,Fe(K.value),1),B("strong",null,Fe(D.value?I.value.name:"草畜平衡"),1),B("small",null,Fe(D.value?"待执行模型分析":"等待核算对象"),1)])]),B("h2",null,Fe(ae.value),1),B("p",null,Fe(ie.value),1)]),B("div",vYe,[B("span",{class:Xt({active:D.value})},"对象锁定",2),u2[2]||(u2[2]=B("i",null,null,-1)),B("span",{class:Xt({active:D.value})},"等待启动分析",2),u2[3]||(u2[3]=B("i",null,null,-1)),u2[4]||(u2[4]=B("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title"])])]))}},rte="/jsyApi",W5="/openApi",BYe=new Date().getFullYear();function zYe(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function GYe(n){if((n==null?void 0:n.success)===!1&&(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code))throw new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");return k3(n)}function as(n,e,t,i={}){return oo(zYe(n,e),{params:t,timeout:i.timeout||18e3}).then(GYe)}function UYe(){return as(rte,"/api/yak/distribution").then(n=>ate(n))}function VYe(){return as(rte,"/api/yak/forecast").then(n=>ate(n))}function QW(n=BYe){return as(W5,"/yak/trade/overview",typeof n=="object"?n:{year:n}).then(t=>t||{})}function HYe(){return as(W5,"/yak/trade/options").then(n=>n||{})}function ej(n={}){return as(W5,"/yak/trade/records",n).then(e=>e||{})}function WYe(n={}){return as(W5,"/yak/epidemic/analysis",n).then(e=>e||{})}function tj(n={}){return as(W5,"/yak/epidemic/records",n).then(e=>e||{})}function jYe(n={}){return as(W5,"/yak/epidemic/stats",n).then(e=>e||{})}function $Ye(n={}){return as(W5,"/yak/epidemic/village-stats",n).then(e=>e||{})}function qYe(n){return as(W5,"/yak/epidemic/detail",{earTag:n}).then(e=>e||null)}function XYe(){return J2(this,null,function*(){return(yield UYe()).map((e,t)=>({key:n7(e,["areaCode","area_code","code","id"],`yak-town-${t}`),name:n7(e,["areaName","area_name","zoneName","townName","name"],`区域${t+1}`),value:lL(n7(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,t)=>t.value-e.value)})}function YYe(){return J2(this,null,function*(){return(yield VYe()).map((e,t)=>{const i=n7(e,["month","date","name","time"],`预测${t+1}`);return{key:`${i}-${t}`,name:KYe(i),value:lL(n7(e,["number","count","yakCount","value"])),unit:"头",extra:ZYe("增速",n7(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function ate(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.records)?n.records:Array.isArray(n==null?void 0:n.data)?n.data:[]}function n7(n,e,t=""){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function KYe(n){const e=String(n||""),t=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return t?`${Number(t[1])}月`:e}function ZYe(n,e){const t=lL(e);return Number.isFinite(t)?`${n}:${t.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function lL(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const JYe={class:"yak-management"},QYe={key:0,class:"yak-map-loading"},eKe={class:"yak-management-ui"},tKe={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},nKe=["onClick"],iKe={key:1,class:"forecast-year-switcher","aria-label":"预测年份切换"},rKe=["onClick"],aKe={class:"yak-left"},oKe={class:"yak-side-stack is-left"},sKe={class:"estimate-summary-card"},lKe={class:"estimate-flow-row"},uKe={class:"estimate-flow-item"},cKe={class:"estimate-flow-item is-adjustment"},dKe={class:"estimate-result-band"},hKe={class:"forecast-summary-card"},fKe={class:"forecast-result-row"},pKe={class:"forecast-result-main"},vKe={class:"forecast-simple-grid"},mKe={class:"epidemic-overview-card"},gKe={class:"epidemic-main-value"},yKe={class:"epidemic-progress-ring"},_Ke={class:"epidemic-overview-grid"},SKe={class:"epidemic-chain-card"},bKe={class:"epidemic-chain-row"},xKe={class:"epidemic-chain-note"},wKe={class:"epidemic-chain-metrics"},TKe={key:0,class:"epidemic-three-pie-card"},AKe={class:"epidemic-three-pie-visual"},CKe={class:"epidemic-three-pie-center"},MKe={class:"epidemic-three-pie-legend"},EKe={key:1,class:"epidemic-empty"},PKe={class:"trade-overview-card"},RKe={class:"trade-main-metric"},LKe={class:"trade-metric-grid"},IKe={class:"yak-right"},DKe={class:"yak-side-stack is-right"},NKe={class:"forecast-heat-list"},kKe={class:"epidemic-record-table is-double"},FKe={class:"epidemic-record-toolbar"},OKe={class:"epidemic-record-rows"},BKe=["onClick"],zKe={key:0,class:"epidemic-empty"},GKe={class:"trade-cert-card"},UKe={class:"trade-cert-main"},VKe={class:"trade-dest-list"},HKe={key:0,class:"epidemic-empty"},WKe={class:"trade-ledger-table"},jKe={class:"trade-ledger-toolbar"},$Ke={class:"trade-ledger-rows"},qKe=["onClick"],XKe={key:0,class:"epidemic-empty"},YKe={class:"trade-ledger-pager"},KKe=["disabled"],ZKe=["disabled"],JKe={class:"yak-bottom-topic"},QKe={class:"epidemic-ledger-dialog"},eZe={class:"epidemic-ledger-dialog-head"},tZe={class:"epidemic-ledger-filters"},nZe=["value"],iZe=["value"],rZe={class:"epidemic-ledger-workspace"},aZe={class:"epidemic-ledger-list"},oZe=["onClick"],sZe={key:0,class:"epidemic-empty"},lZe={class:"epidemic-ledger-detail"},uZe={class:"epidemic-detail-head"},cZe={class:"epidemic-detail-scroll"},dZe={class:"epidemic-detail-section-title"},hZe={class:"epidemic-detail-grid is-modal"},fZe={key:0,class:"epidemic-detail-section"},pZe={class:"epidemic-modal-photo-strip"},vZe=["src"],mZe={class:"epidemic-ledger-pager"},gZe=["disabled"],yZe=["disabled"],_Ze={class:"epidemic-ledger-dialog trade-ledger-dialog"},SZe={class:"epidemic-ledger-dialog-head"},bZe={class:"epidemic-ledger-filters trade-ledger-filters"},xZe=["value"],wZe=["value"],TZe=["value"],AZe={class:"epidemic-ledger-workspace trade-ledger-workspace"},CZe={class:"epidemic-ledger-list trade-ledger-modal-list"},MZe=["onClick"],EZe={key:0,class:"epidemic-empty"},PZe={class:"epidemic-ledger-detail trade-ledger-detail"},RZe={class:"epidemic-detail-head"},LZe={class:"epidemic-detail-grid is-modal trade-detail-grid"},IZe={class:"is-wide"},DZe={class:"is-wide"},NZe=["disabled"],kZe={class:"epidemic-ledger-pager"},FZe=["disabled"],OZe=["disabled"],R1=398,L1=190,BZe="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",nj=14,RT=12,ij=14,zZe=5e3,Hv=6,GZe=4200,UZe={__name:"index",emits:["module-stats"],setup(n,{emit:e}){const t=e,i=L1*2+12,r=L1*2+12,a=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],o=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],s=["#30dcff","#ffd76c","#27f0c0","#7aa7ff","#ff8f6b","#a6f06d","#9ea7ff"],l={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},u=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#ffd76c"},{key:"epidemic",name:"牦牛防疫",color:"#27f0c0"},{key:"trade",name:"牦牛交易",color:"#ffcf62"}],c=H2("structure"),d=H2("2027"),h=H2(0),f=H2([]),p=H2([]),m=H2({metrics:{}}),v=H2({rows:[],year:null}),g=H2({rows:[]}),_=H2([]),S=H2(0),x=H2(!1),A=H2(""),C=H2(!1),M=H2([]),I=H2(0),D=H2(1),E=H2(!1),P=H2(""),F=H2(null),V=H2(null),G=H2(!1),W=H2({keyword:"",town:"",medicine:"",startDate:"",endDate:""}),Y=H2({years:[],latestYear:null}),Q=H2({metrics:{},hasData:!1}),K=H2([]),ae=H2(0),ie=H2(null),he=H2(!1),Ee=H2(""),je=H2(1),xe=H2(""),Oe=H2(""),f2=H2(!1),B2=H2([]),S2=H2(0),p2=H2(1),X2=H2(!1),w2=H2(""),Ce=H2(null),R2=H2({keyword:"",startTown:"",usageType:"",certType:""}),v2=H2(null),O2=H2(!1);let k=null,_2=!1,A2=null,Z=null,ee=0;const Ge=Ye(()=>t2e(d.value)),T2=Ye(()=>e2e+GR),z2=Ye(()=>Ge.value.stock-K6),Te=Ye(()=>{var X;return((X=Ls.find(q=>q.key==="adultCow"))==null?void 0:X.ratio)||0}),$e=Ye(()=>{var X;return((X=Ls.find(q=>q.key==="calf"))==null?void 0:X.ratio)||0}),Xe=Ye(()=>c3(f.value.length?f.value:fM,fM)),Ne=Ye(()=>p.value.length>=6?p.value:SGe),u2=Ye(()=>TGe(Ge.value)),P2=Ye(()=>wGe(Ge.value)),d2=Ye(()=>{var X;return((X=m.value)==null?void 0:X.metrics)||{}}),st=Ye(()=>{var X;return C2((X=m.value)==null?void 0:X.dateTrend).sort(U3)}),pt=Ye(()=>{var X;return C2((X=m.value)==null?void 0:X.medicineCounts)}),yt=Ye(()=>pt.value.filter(X=>X.value>0).map((X,q)=>Z2(b2({},X),{key:X.key||`${X.name}-${q}`,unit:"条"}))),_t=Ye(()=>yt.value.map(X=>`${X.name}:${X.value}`).join("|")||"epidemic-medicine-empty"),ut=Ye(()=>{var X;return C2((X=m.value)==null?void 0:X.ownerRanks).slice(0,8)}),Ht=Ye(()=>Math.max(pt.value.filter(X=>X.name!=="未填写").length,1)),Ue=Ye(()=>{var X;return((X=pt.value.find(q=>q.name&&q.name!=="未填写"))==null?void 0:X.name)||"-"}),it=Ye(()=>_e(d2.value,["total","vaccine"])),St=Ye(()=>_e(d2.value,["owners"])),jt=Ye(()=>_e(d2.value,["villages"])),Ve=Ye(()=>l2.value.length),lt=Ye(()=>{var X;return((X=l2.value[0])==null?void 0:X.name)||"-"}),at=Ye(()=>{const X=_.value.map(q=>q.operateTime).filter(Boolean).sort();return X.length?m2(X[X.length-1]):"-"}),kt=Ye(()=>{const X=Math.max(...pt.value.map(q=>Number(q.value||0)),0);return X>0?X:Math.round(it.value/Ht.value)}),Pt=Ye(()=>{var q;const X=t1((q=v.value)==null?void 0:q.rows);return X.length?X:l2.value.map(ce=>({name:ce.name,recordCount:Number(ce.recordCount||0),earTagCount:Number(ce.earTagCount||0),ratio:ce.ratio,source:"ledger"}))}),wt=Ye(()=>{var q;const X=new Set;return hi((q=g.value)==null?void 0:q.rows).filter(ce=>Number.isFinite(ce.lng)&&Number.isFinite(ce.lat)).map((ce,Je)=>{const k2=`${ce.lng.toFixed(4)},${ce.lat.toFixed(4)}`,At=X.has(k2)?(Je%3-1)*.012:0;return X.add(k2),Z2(b2({},ce),{name:ce.village,value:ce.earTagCount,unit:"万头",lng:ce.lng+At,lat:ce.lat-At*.65,displayValue:Number((ce.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${Je+1}名`})})}),l2=Ye(()=>{var q;const X=new Map;return C2((q=m.value)==null?void 0:q.townCounts).forEach(ce=>{const Je=We(ce.name);Je&&X.set(Je,Number(X.get(Je)||0)+Number(ce.value||0))}),[...X.entries()].map(([ce,Je])=>{const k2=Math.round(Je/Ht.value),At=it.value?Je/it.value*100:0;return{name:ce,recordCount:Je,earTagCount:k2,ratio:At}}).sort((ce,Je)=>Number(Je.recordCount||0)-Number(ce.recordCount||0))}),Y2=Ye(()=>_.value.slice(0,13)),rt=Ye(()=>Math.max(Math.ceil(I.value/nj),1)),Ft=Ye(()=>V.value||F.value||{}),Re=Ye(()=>qe(Ft.value)),s2=Ye(()=>{const X=Ft.value||{};return[{title:"基础信息",fields:[e2("电子耳标",X.earTag,{wide:!0}),e2("台账编号",X.epidemicId)]},{title:"牧户信息",fields:[e2("养殖户",X.owner),e2("联系电话",N2(X.phone)),e2("证件类型",X.idType),e2("证件号码",ot(X.idNo))]},{title:"行政地址",fields:[e2("镇/乡",X.town),e2("村",X.village),e2("详细地址",X.location,{wide:!0})]},{title:"畜只信息",fields:[e2("畜种",X.livestockType),e2("性别",X.sex),e2("畜龄",X.age),e2("体重",U2(X.weight))]},{title:"防疫信息",fields:[e2("疫苗/药品",X.medicine),e2("防疫类型",X.preventionType),e2("免疫方式",X.method),e2("剂量",dt(X.dose)),e2("免疫时间",m2(X.operateTime)),e2("操作员",X.operator)]}].map(q=>Z2(b2({},q),{fields:q.fields.filter(Boolean)})).filter(q=>q.fields.length)}),et=Ye(()=>{var X;return C2((X=m.value)==null?void 0:X.townCounts).map(q=>q.name)}),P3=Ye(()=>pt.value.map(X=>X.name).filter(X=>X&&X!=="未填写")),me=Ye(()=>{var X;return((X=Q.value)==null?void 0:X.metrics)||{}}),ze=Ye(()=>{var X,q,ce,Je,k2,At,F3,K3;return W2((X=Y.value)==null?void 0:X.years,(q=Q.value)==null?void 0:q.availableYears,(ce=Q.value)==null?void 0:ce.available_years,(Je=Q.value)==null?void 0:Je.yearSummary,(k2=Q.value)==null?void 0:k2.year_summary,(At=Q.value)==null?void 0:At.latestYear,(F3=Q.value)==null?void 0:F3.latest_year,(K3=Q.value)==null?void 0:K3.year)}),Qe=Ye(()=>{var X,q;return gt(((X=Q.value)==null?void 0:X.monthTrend)||((q=Q.value)==null?void 0:q.month_trend),"name")});Ye(()=>{var X,q;return Gt(((X=Q.value)==null?void 0:X.yearSummary)||((q=Q.value)==null?void 0:q.year_summary))});const y2=Ye(()=>{var X,q;return gt(((X=Q.value)==null?void 0:X.startTownCounts)||((q=Q.value)==null?void 0:q.start_town_counts),"name")}),ct=Ye(()=>{var X,q;return gt(((X=Q.value)==null?void 0:X.usageCounts)||((q=Q.value)==null?void 0:q.usage_counts),"name")}),Le=Ye(()=>{const X=y2.value.map(ce=>{const Je=String(ce.name||"").trim(),k2=We(Je),At=e1(k2||Je);return Z2(b2({},ce),{rawName:Je,name:At,displayName:At,town:k2,mapTownName:k2})}).filter(ce=>ce.name&&ce.name!=="未填写").slice(0,10),q=Math.max(...X.map(ce=>ce.headCount),1);return X.map((ce,Je)=>Z2(b2({},ce),{key:ce.key||`${ce.mapTownName||ce.name}-${Je}`,value:ce.headCount,unit:"头",ratio:Math.max(8,Math.round(ce.headCount/q*100))}))}),M2=Ye(()=>K.value.slice(0,RT)),$t=Ye(()=>Math.max(Math.ceil(ae.value/RT),1)),we=Ye(()=>Math.max(Math.ceil(S2.value/ij),1)),n2=Ye(()=>Ce.value||{}),E2=Ye(()=>n2.value.certId||n2.value.factoryCode||""),D2=Ye(()=>{var q,ce;const X=p3(((q=Y.value)==null?void 0:q.startTowns)||((ce=Y.value)==null?void 0:ce.start_towns));return X.length?X:y3(y2.value.map(Je=>Je.name))}),L2=Ye(()=>{var q,ce;const X=p3(((q=Y.value)==null?void 0:q.usageTypes)||((ce=Y.value)==null?void 0:ce.usage_types));return X.length?X:y3(ct.value.map(Je=>Je.name))}),Ot=Ye(()=>{var q,ce,Je,k2;const X=d3(((q=Y.value)==null?void 0:q.certTypeOptions)||((ce=Y.value)==null?void 0:ce.cert_type_options));return X.length?X:p3(((Je=Y.value)==null?void 0:Je.certTypes)||((k2=Y.value)==null?void 0:k2.cert_types)).map(At=>({value:At,label:At}))}),n3=Ye(()=>Le.value.map((X,q)=>({key:X.key||`${X.name}-${q}`,name:X.displayName||X.name,displayName:X.displayName||X.name,rawName:X.rawName,town:X.mapTownName||X.town||We(X.name),mapTownName:X.mapTownName||X.town||We(X.name),value:X.headCount,headCount:X.headCount,recordCount:X.recordCount,ratio:X.ratio,unit:"头"}))),l3=Ye(()=>Xe.value.map(X=>Z2(b2({},X),{adultCowRatio:Te.value,calfRatio:$e.value,adultCow:Math.round(X.count*Te.value/100),calf:Math.round(X.count*$e.value/100)}))),f3=Ye(()=>{const X=l3.value,q=X.length,ce=Math.max(Math.ceil(q/Hv),1),Je=h.value%ce,k2=Je*Hv,At=Math.min(k2+Hv,q);return{page:Je,pageCount:ce,start:k2,end:At,total:q,rows:X.slice(k2,At)}}),J=Ye(()=>c.value==="forecast"?u2.value:Xe.value),H=Ye(()=>c.value==="forecast"?"forecast":"count"),w=Ye(()=>E_(J.value,H.value)),T=Ye(()=>({key:"yak-marks-layer",layerName:"ne:daping_yak_marks",name:"牦牛识别标记",opacity:.96,queryBuffer:10,legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]})),R=Ye(()=>{var ce;const q=hi((ce=g.value)==null?void 0:ce.rows).map(Je=>n1(Je.town,Je.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:q.length?q.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#24F6C4",strokeColor:"#FFF06A",selectable:!1}]}}),N=Ye(()=>c.value==="epidemic"?R.value:c.value==="trade"?null:T.value),z=Ye(()=>c.value==="trade"?{scope:"trade-flow",title:`${ie.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:Z2(b2({},l),{total:ke("headCount")}),rows:n3.value}:{scope:c.value==="epidemic"?"village":"town",hideTownNames:c.value==="epidemic",title:c.value==="forecast"?`${Ge.value.shortLabel}预测存栏`:c.value==="epidemic"?"村级防疫信息":"乡镇估算存栏",metricLabel:c.value==="forecast"?"预测":c.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:c.value==="epidemic"?wt.value:w.value.map(X=>({name:X.name,value:Number((X.value/1e4).toFixed(2)),unit:"万头"}))}),U=Ye(()=>({color:a,tooltip:Z0(X=>`${X.name}<br/>结构占比:${X.percent}%<br/>估算数量:${S3(X.value)}头<br/>来源:无人机识别 + 专家共识模型`),legend:{orient:"vertical",right:8,top:"middle",itemWidth:9,itemHeight:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:11}},series:[{name:"畜群结构",type:"pie",radius:["46%","70%"],center:["33%","52%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:11,formatter:"{d}%"},labelLine:{lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.9)",borderWidth:3},data:Ls.map(X=>({name:X.name,value:X.count}))}]})),ue=Ye(()=>({color:a,tooltip:Z0(X=>`${X.name}<br/>占比:${X.percent}%<br/>估算数量:${S3(X.value)}头`),legend:{orient:"vertical",right:6,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(X){const q=Ls.find(ce=>ce.name===X);return q?`${X} ${Y5(q.ratio)} ${l0(q.count)}头`:X},textStyle:{color:"rgba(222, 250, 255, 0.82)",fontSize:10,rich:{}}},graphic:{type:"text",left:"28%",top:"45%",style:{text:l0(K6),fill:"#ffffff",fontFamily:"D-DIN, Arial, sans-serif",fontSize:19,fontWeight:900,textAlign:"center"}},series:[{name:"结构明细",type:"pie",radius:["34%","66%"],center:["31%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3,shadowBlur:8,shadowColor:"rgba(0, 0, 0, 0.28)"},data:Ls.map(X=>({name:X.name,value:X.count}))}]})),pe=Ye(()=>({color:["#ffd76c","#30dcff"],tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X){const q=X.map(ce=>`${ce.marker}${ce.seriesName}:${S3(Math.abs(ce.value))}头`);return`${X[0].name}<br/>${q.join("<br/>")}`}}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:11}},grid:{left:22,right:22,top:32,bottom:12,containLabel:!0},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:X=>l0(Math.abs(X))},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:xT.map(X=>X.age),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:11},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"母牛",type:"bar",stack:"gender",barWidth:12,data:xT.map(X=>-X.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:xT.map(X=>X.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),de=Ye(()=>{const X=Xe.value,q=X.map(ce=>ce.count);return{color:a,tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(ce){const Je=ce.map(k2=>`${k2.marker}${k2.seriesName}:${S3(k2.value)}头`);return`${ce[0].name}<br/>${Je.join("<br/>")}<br/>估算存栏:${S3(q[ce[0].dataIndex])}头<br/>结构依据:专家共识比例`}}),legend:{top:-2,right:0,itemWidth:8,itemHeight:6,itemGap:6,textStyle:{color:"rgba(222, 250, 255, 0.75)",fontSize:10}},grid:{left:54,right:30,top:22,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.56)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:X.map(ce=>ce.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:Ls.map(ce=>({name:ce.name.replace("(≤1岁)","").replace("(1-2岁)",""),type:"bar",stack:"town",barWidth:X.length>8?6:11,data:X.map(Je=>Math.round(Je.count*ce.ratio/100))}))}}),se=Ye(()=>vi(Xe.value,"count","头",{style:"ladder",tooltipFormatter(X){const q=Xe.value[X.dataIndex];return`${q.name}<br/>估算存栏:${S3(q.count)}头<br/>来源:无人机识别`}})),re=Ye(()=>{const X=f3.value,q=X.rows,ce=Math.max(...q.map(Je=>Je.adultCow+Je.calf),1);return{color:["#30dcff","#ffd76c"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(Je){const k2=q[Je[0].dataIndex],At=Je.filter(F3=>["成年母牛","幼畜"].includes(F3.seriesName)).map(F3=>`${F3.marker}${F3.seriesName}:${S3(F3.value)}头`);return`${k2.name}<br/>母幼合计:${S3(k2.adultCow+k2.calf)}头<br/>${At.join("<br/>")}<br/>依据:无人机识别 + 专家共识模型`}}),legend:{data:["成年母牛","幼畜"],top:2,left:2,itemWidth:10,itemHeight:7,itemGap:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},graphic:X.total>Hv?{type:"text",right:4,top:3,silent:!0,style:{text:`${X.start+1}-${X.end} / ${X.total}`,fill:"rgba(222, 250, 255, 0.62)",fontSize:10,fontWeight:600}}:void 0,grid:{left:18,right:18,top:42,bottom:44,containLabel:!1},xAxis:{type:"category",data:q.map(Je=>Je.name),axisLabel:{color:"rgba(223, 250, 255, 0.78)",fontSize:10,lineHeight:12,interval:0,margin:8,formatter:cn},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(ce*1.28),axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.08)",type:"dashed"}}},series:[{name:"基础群规模",type:"bar",barWidth:15,barGap:"-100%",data:q.map(Je=>Je.adultCow+Je.calf),tooltip:{show:!1},itemStyle:{borderRadius:[8,8,1,1],color:"rgba(48, 220, 255, 0.07)"},silent:!0},{name:"成年母牛",type:"bar",stack:"foundation",barWidth:15,data:q.map(Je=>Je.adultCow),itemStyle:{borderRadius:[1,1,0,0],color:new fn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.34)"},{offset:1,color:"#30dcff"}])}},{name:"幼畜",type:"bar",stack:"foundation",barWidth:15,data:q.map(Je=>Je.calf),itemStyle:{borderRadius:[8,8,1,1],color:new fn(0,0,0,1,[{offset:0,color:"#ffd76c"},{offset:1,color:"rgba(255, 215, 108, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:Je})=>l0(q[Je].adultCow+q[Je].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),Be=Ye(()=>{const X=pW.slice().sort((Je,k2)=>k2.value-Je.value),q=pW.reduce((Je,k2)=>Je+k2.value,0),ce=X.map(Je=>Je.yoy||0);return{color:X.map(Je=>Je.color),tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(Je){const k2=X[Je[0].dataIndex];return`${k2.label}<br/>数量:${S3(k2.value)}头<br/>占比:${Y5(k2.value/q*100)}<br/>同比:${k2.yoy>0?"+":""}${k2.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:X.map(Je=>Je.label),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:10,interval:0,margin:10},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...ce)-1)),max:Math.max(8,Math.ceil(Math.max(...ce)+1)),axisLabel:{color:"rgba(255, 215, 108, 0.68)",fontSize:10,formatter:"{value}%"},splitLine:{show:!1},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:16,data:X.map((Je,k2)=>({value:Je.value,itemStyle:{borderRadius:[8,8,2,2],color:new fn(0,0,0,1,[{offset:0,color:Je.color},{offset:.72,color:`${Je.color}cc`},{offset:1,color:`${Je.color}18`}]),shadowBlur:k2===0?12:7,shadowColor:Je.color},label:{show:!0,position:"top",color:k2===0?"#ffd76c":"#ffffff",fontSize:10,formatter:({value:At})=>l0(At)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:ce,lineStyle:{width:2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2},label:{show:!0,position:"top",color:"#ffd76c",fontSize:10,formatter:({value:Je})=>`${Je>0?"+":""}${Je}%`}}]}}),be=Ye(()=>{const X=n2e(Ge.value);return{color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:Z2(b2({},Z0()),{trigger:"axis"}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:40,top:34,bottom:28},xAxis:{type:"category",boundaryGap:!1,data:X.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Ge.value.months>18?4:Ge.value.months>12?2:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:l0},splitLine:{show:!1}}],series:[s4("预测存栏",X.stock,"#30dcff",0,!0),s4("繁殖补充",X.births,"#ffd76c",1),s4("出栏扣减",X.outflow,"#ff8f6b",1)]}}),ge=Ye(()=>({color:["#30dcff","#ffd76c"],tooltip:Z2(b2({},Z0()),{trigger:"axis"}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:40,right:42,top:34,bottom:28},xAxis:{type:"category",data:Ne.value.map(X=>X.month||X.name),axisLabel:{color:"rgba(223, 250, 255, 0.68)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10},splitLine:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:12,data:Ne.value.map(X=>X.count||X.value),itemStyle:{borderRadius:[8,8,0,0],color:new fn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"增速",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:Ne.value.map(X=>X.speed||X.growthRate||0),lineStyle:{width:2.4,color:"#ffd76c"},itemStyle:{color:"#ffd76c"}}]})),ye=Ye(()=>({tooltip:Z0(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:vW.map(X=>({name:X.name,max:100})),axisName:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},splitArea:{areaStyle:{color:["rgba(48, 220, 255, 0.04)","rgba(39, 240, 192, 0.02)"]}},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.18)"}}},series:[{type:"radar",data:[{name:"预测因子",value:vW.map(X=>X.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#ffd76c"}}]}]})),Ze=Ye(()=>vi(u2.value,"forecast","头")),fe=Ye(()=>{const X=P2.value;return{color:a,tooltip:Z0(q=>{var Je;const ce=X.find(k2=>k2.name===q.name);return`${q.name}<br/>预测占比:${Y5((Je=ce==null?void 0:ce.ratio)!=null?Je:q.percent)}<br/>预测数量:${S3((ce==null?void 0:ce.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(q){const ce=X.find(Je=>Je.name===q);return ce?`${q} ${Y5(ce.ratio)}`:q},textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:10}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:({percent:q})=>q>=4?`${q}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:X.map(q=>({name:q.name,value:q.count}))}]}}),O=Ye(()=>({color:["#ffd76c","#ff8f6b","#7aa7ff"],tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:26,top:34,bottom:28},xAxis:{type:"category",data:Vi.map(X=>X.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"繁殖补充",type:"bar",barWidth:12,data:Vi.map(X=>X.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:Vi.map(X=>-X.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:Vi.map(X=>X.correction),lineStyle:{width:2.4}}]})),te=Ye(()=>{const X=u2.value,q=Math.max(...X.map(ce=>Math.abs(ce.change)),1);return X.map(ce=>Z2(b2({},ce),{width:Math.max(8,Math.round(Math.abs(ce.change)/q*100))}))}),oe=Ye(()=>{const X=st.value,q=X.map(Je=>Je.value),ce=Math.max(...q,1);return{color:["#27f0c0","#ffd76c"],tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(39, 240, 192, 0.34)"}},formatter(Je){const k2=Je[0];return`${k2.name}<br/>防疫记录:${S3(k2.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:X.map(Je=>Je.name),axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Math.max(Math.floor(X.length/7),0)},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.1)",type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:q,itemStyle:{borderRadius:[7,7,0,0],color:new fn(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.08)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.92)",fontSize:10,formatter:({value:Je})=>Je>=ce*.42?l0(Je):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:q,lineStyle:{width:2.4,color:"#ffd76c"}}]}}),De=Ye(()=>{const X=Pt.value,q=X.length>8?10:12,ce=q+8,Je=X.map(b1=>Number(b1.recordCount||0)),k2=X.map(b1=>Number(b1.earTagCount||0)),At=Math.max(...Je,1),F3=X.map(()=>Math.ceil(At*1.08)),K3=new fn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:.48,color:"rgba(48, 220, 255, 0.06)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}]),w1=new fn(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#ffe06b"],title:{text:`台账总量:{value|${l0(it.value)}条}`,right:0,top:0,textStyle:{color:"#fff",fontSize:12,fontWeight:500,rich:{value:{color:"#22f1ff",borderColor:"#14bdf4",borderWidth:1,borderRadius:2,padding:[2,6,3,6],fontSize:12,fontWeight:700}}}},tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(b1){const y1=X[b1[0].dataIndex];return[`${y1.name}`,`防疫记录:${S3(y1.recordCount)}条`,`耳标数量:${S3(y1.earTagCount)}头`,"数据来源:防疫台账"].join("<br/>")}}),legend:[{data:["防疫记录"],top:0,left:0,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1},{data:["耳标数"],top:0,left:82,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1}],grid:{left:36,right:8,top:38,bottom:50},xAxis:{type:"category",data:X.map(b1=>b1.name),axisLabel:{color:"#fff",fontSize:10,interval:0,formatter:x0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(At*1.2),nameTextStyle:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,align:"left"},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:l0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(51, 89, 113, 0.16)",type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:ce,barGap:"-100%",data:F3,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:K3}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:q,barMinHeight:2,z:3,data:Je.map(b1=>({value:b1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:w1,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[q+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:Je.map(b1=>({value:b1,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[ce+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:Je,itemStyle:{color:"rgba(48, 220, 255, 0.24)",shadowBlur:10,shadowColor:"rgba(48, 220, 255, 0.45)"}},{name:"耳标数",type:"line",smooth:!0,showSymbol:!1,z:9,data:k2,lineStyle:{width:2.2,color:"#ffe06b",shadowBlur:8,shadowColor:"rgba(255, 224, 107, 0.5)"},itemStyle:{color:"#ffe06b"}}]}}),He=Ye(()=>{const X=ut.value;return{tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(q){const ce=X[q[0].dataIndex];return`${ce.name}<br/>防疫记录:${S3(ce.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:l0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.08)",type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:X.map(q=>q.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"记录",type:"bar",barWidth:9,data:X.map((q,ce)=>({value:q.value,itemStyle:{borderRadius:[0,8,8,0],color:new fn(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#27f0c0","#30dcff","#ffd76c"][ce%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:q})=>l0(q)}},{type:"scatter",symbolSize:7,data:X.map(q=>q.value),itemStyle:{color:"#ffd76c",shadowBlur:8,shadowColor:"#ffd76c"}}]}}),i2=Ye(()=>{const X=Qe.value;return{color:["#30dcff","#ffd76c"],tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(q){const ce=q.find(k2=>k2.seriesName==="流通头数"),Je=q.find(k2=>k2.seriesName==="出证记录");return`${(ce==null?void 0:ce.axisValue)||""}<br/>流通头数:${S3((ce==null?void 0:ce.value)||0)}头<br/>出证记录:${S3((Je==null?void 0:Je.value)||0)}条`}}),legend:{top:4,right:10,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10}},grid:{left:42,right:38,top:34,bottom:28},xAxis:{type:"category",data:X.map(q=>q.name),axisLabel:{color:"rgba(255, 255, 255, 0.8)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.76)",fontSize:10,formatter:l0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.74)",fontSize:10,formatter:l0},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:X.map(q=>q.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new fn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"出证记录",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:X.map(q=>q.recordCount),lineStyle:{width:2.2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),a2=Ye(()=>vi(y2.value.slice(0,10),"headCount","头",{colors:s,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(X){const q=y2.value[X.dataIndex];return`${q.name}<br/>流通头数:${S3(q.headCount)}头<br/>出证记录:${S3(q.recordCount)}条`}})),x2=Ye(()=>{const X=ct.value;return{color:s,tooltip:Z0(q=>{const ce=X.find(Je=>Je.name===q.name);return`${q.name}<br/>占比:${q.percent}%<br/>流通头数:${S3(q.value)}头<br/>出证记录:${S3((ce==null?void 0:ce.recordCount)||0)}条`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10},formatter(q){const ce=X.find(Je=>Je.name===q);return ce?`${q} ${l0(ce.headCount)}头`:q}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{color:"#fff",fontSize:10,formatter:({percent:q})=>q>=3?`${q}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:X.map(q=>({name:q.name,value:q.headCount}))}]}}),G2=Ye(()=>{const X=[{name:"省外A证",value:ke("outProvinceHeads","aCertHeads")},{name:"省内B证",value:ke("inProvinceHeads","bCertHeads")}];return{color:["#ffd76c","#30dcff"],tooltip:Z0(q=>`${q.name}<br/>流通头数:${S3(q.value)}头<br/>占比:${q.percent}%`),series:[{type:"pie",radius:["48%","72%"],center:["50%","52%"],label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:X}]}});cr(()=>{o4(),Q1(),y0(),v3(),F2(),zt()}),Or(()=>{var X,q;_2=!0,Ut(),e3(),(q=(X=v2.value)==null?void 0:X.destroyMap)==null||q.call(X)}),$0([c,Ge,Xe,kt,it,ie,me],()=>{s6()},{immediate:!0}),$0(c,()=>{F2(),zt()}),$0(f3,X=>{h.value>=X.pageCount&&(h.value=0),zt()});function $2(X){d.value=X,F2()}function F2(){Ut(),!(c.value!=="forecast"||_2)&&(A2=window.setInterval(Dt,zZe))}function Dt(){const X=Vi.findIndex(ce=>ce.key===d.value),q=X>=0?(X+1)%Vi.length:0;d.value=Vi[q].key}function Ut(){A2&&(window.clearInterval(A2),A2=null)}function zt(){e3(),!(c.value!=="structure"||_2||f3.value.pageCount<=1)&&(Z=window.setInterval(i3,GZe))}function i3(){const X=f3.value.pageCount;X<=1||(h.value=(h.value+1)%X)}function e3(){Z&&(window.clearInterval(Z),Z=null)}function c3(X=[],q=[]){const ce=new Map;return q.forEach(Je=>{const k2=e1(Je.name);k2&&ce.set(k2,Z2(b2({},Je),{name:k2,count:Number(Je.count||0)}))}),X.forEach(Je=>{const k2=e1(Je.name);if(!k2)return;const At=ce.get(k2)||{};ce.set(k2,Z2(b2(b2({},At),Je),{name:k2,count:Number.isFinite(Number(Je.count))?Number(Je.count):Number(At.count||0)}))}),[...ce.values()].sort((Je,k2)=>Number(k2.count||0)-Number(Je.count||0))}function e1(X){return X||""}function We(X){return String(X||"").trim()}function C2(X=[]){return Array.isArray(X)?X.map((q,ce)=>{var Je,k2,At;return{key:q.key||q.id||`${q.name||q.label||"item"}-${ce}`,name:String(q.name||q.label||q.town||q.village||"未填写"),value:Number((At=(k2=(Je=q.value)!=null?Je:q.count)!=null?k2:q.total)!=null?At:0)}}).filter(q=>q.name&&Number.isFinite(q.value)):[]}function W2(...X){const q=X.flatMap(ce=>Array.isArray(ce)?ce:[ce]).map(ce=>{var Je,k2,At;return ce&&typeof ce=="object"?(At=(k2=(Je=ce.year)!=null?Je:ce.value)!=null?k2:ce.latestYear)!=null?At:ce.latest_year:ce}).map(Number).filter(ce=>Number.isFinite(ce)&&ce>0);return[...new Set(q)].sort((ce,Je)=>ce-Je)}function gt(X=[],q="name"){return Array.isArray(X)?X.map((ce,Je)=>{var k2,At,F3,K3,w1,b1,y1,mi,wn,u0,J0,u6,uo,c6,K5,d6,h6;return{key:ce.key||ce.id||`${ce[q]||ce.name||ce.label||"trade"}-${Je}`,name:String(ce[q]||ce.name||ce.label||ce.town||"未填写"),recordCount:Number((F3=(At=(k2=ce.recordCount)!=null?k2:ce.record_count)!=null?At:ce.count)!=null?F3:0),headCount:Number((y1=(b1=(w1=(K3=ce.headCount)!=null?K3:ce.head_count)!=null?w1:ce.amount)!=null?b1:ce.value)!=null?y1:0),lng:O1((u6=(J0=(u0=(wn=(mi=ce.lng)!=null?mi:ce.longitude)!=null?wn:ce.destLng)!=null?u0:ce.dest_lng)!=null?J0:ce.destLongitude)!=null?u6:ce.dest_longitude),lat:O1((h6=(d6=(K5=(c6=(uo=ce.lat)!=null?uo:ce.latitude)!=null?c6:ce.destLat)!=null?K5:ce.dest_lat)!=null?d6:ce.destLatitude)!=null?h6:ce.dest_latitude)}}).filter(ce=>ce.name&&Number.isFinite(ce.headCount)):[]}function Gt(X=[]){return Array.isArray(X)?X.map(q=>{var ce,Je,k2,At,F3,K3;return{year:Number(q.year),recordCount:Number((Je=(ce=q.recordCount)!=null?ce:q.record_count)!=null?Je:0),headCount:Number((K3=(F3=(At=(k2=q.headCount)!=null?k2:q.head_count)!=null?At:q.amount)!=null?F3:q.value)!=null?K3:0)}}).filter(q=>Number.isFinite(q.year)&&Number.isFinite(q.headCount)):[]}function p3(X=[]){return Array.isArray(X)?y3(X.map(q=>{var ce,Je,k2;return q&&typeof q=="object"?(k2=(Je=(ce=q.value)!=null?ce:q.label)!=null?Je:q.name)!=null?k2:"":q})):[]}function d3(X=[]){return Array.isArray(X)?X.map(q=>{var ce,Je,k2,At,F3,K3;if(q&&typeof q=="object"){const w1=(k2=(Je=(ce=q.value)!=null?ce:q.name)!=null?Je:q.label)!=null?k2:"",b1=(K3=(F3=(At=q.label)!=null?At:q.name)!=null?F3:q.value)!=null?K3:w1;return w1?{value:String(w1),label:String(b1||w1)}:null}return q?{value:String(q),label:String(q)}:null}).filter(Boolean):[]}function y3(X=[]){return[...new Set(X.map(q=>String(q||"").trim()).filter(Boolean))]}function t1(X=[]){if(!Array.isArray(X))return[];const q=new Map;X.forEach((Je,k2)=>{var b1,y1,mi,wn,u0,J0;const At=We(Je.name||Je.areaName||Je.area_name||Je.town||Je.label||"");if(!At)return;const F3=O1((mi=(y1=(b1=Je.value)!=null?b1:Je.number)!=null?y1:Je.count)!=null?mi:Je.total);if(!Number.isFinite(F3))return;const K3=q.get(At)||{key:Je.areaCode||Je.area_code||`${At}-${k2}`,name:At,recordCount:0,earTagCount:0,source:"stats"};K3.recordCount+=F3;const w1=O1((J0=(u0=(wn=Je.earTagCount)!=null?wn:Je.ear_tag_count)!=null?u0:Je.headCount)!=null?J0:Je.head_count);K3.earTagCount+=Number.isFinite(w1)?w1:0,q.set(At,K3)});const ce=[...q.values()].reduce((Je,k2)=>Je+Number(k2.recordCount||0),0);return[...q.values()].map(Je=>Z2(b2({},Je),{earTagCount:Je.earTagCount||Math.round(Number(Je.recordCount||0)/Ht.value),ratio:ce?Number(Je.recordCount||0)/ce*100:0})).sort((Je,k2)=>Number(k2.recordCount||0)-Number(Je.recordCount||0))}function Br(X={}){var k2,At;const q=Array.isArray(X)?{rows:X}:X||{},ce=q.result||{};return{rows:q.rows||q.data||q.list||q.records||[],year:(At=(k2=q.year)!=null?k2:ce.year)!=null?At:null}}function hi(X=[]){return Array.isArray(X)?X.map((q,ce)=>{var mi,wn,u0,J0,u6,uo,c6,K5,d6,h6,l4,$h;const Je=We(q.town||q.townName||q.town_name||""),k2=String(q.village||q.villageName||q.village_name||q.name||"").trim(),At=O1((u0=(wn=(mi=q.recordCount)!=null?mi:q.record_count)!=null?wn:q.records)!=null?u0:q.total),F3=O1((c6=(uo=(u6=(J0=q.earTagCount)!=null?J0:q.ear_tag_count)!=null?u6:q.headCount)!=null?uo:q.head_count)!=null?c6:q.value),K3=O1((d6=(K5=q.imageCount)!=null?K5:q.image_count)!=null?d6:q.images),w1=O1((h6=q.imageRate)!=null?h6:q.image_rate),b1=O1((l4=q.lng)!=null?l4:q.longitude),y1=O1(($h=q.lat)!=null?$h:q.latitude);return{key:q.key||q.id||`${Je}-${k2}-${ce}`,town:Je,village:k2,recordCount:Number.isFinite(At)?At:0,earTagCount:Number.isFinite(F3)?F3:0,imageCount:Number.isFinite(K3)?K3:0,imageRate:Number.isFinite(w1)?w1:0,lng:b1,lat:y1}}).filter(q=>q.town&&q.village&&Number.isFinite(q.earTagCount)).sort((q,ce)=>Number(ce.earTagCount||0)-Number(q.earTagCount||0)):[]}function O1(X){if(X==null||X==="")return NaN;const q=Number(String(X).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(q)?q:NaN}function qn(X){return String(X||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function n1(X,q){const ce=We(X),Je=String(q||"").trim();if(!ce||!Je)return"";const k2=`${ce}${Je}`,At=qn(k2),F3=qn(Je);return`(full_name LIKE '%${At}%' OR name = '${At}' OR name = '${F3}')`}function x0(X){return cn(X)}function cn(X){const q=String(X||"").trim();if(!q)return"";const ce=q.match(/^(.+)(镇|乡|村)$/);return ce?`${ce[1]} |
|
|
${ce[2]}`:q}function U3(X,q){return x1(X.name)-x1(q.name)}function x1(X){const q=String(X||"").match(/(\d{1,2})\D+(\d{1,2})/);return q?Number(q[1])*100+Number(q[2]):Number.MAX_SAFE_INTEGER}function _3(X=[]){return Array.isArray(X)?X.map(Vt).filter(Boolean):[]}function Vt(X){return X?{epidemicId:X.epidemicId||X.epidemic_id||X.id||"",earTag:X.earTag||X.ear_tag||"",owner:X.owner||"",idType:X.idType||X.id_type||"",idNo:X.idNo||X.id_no||"",phone:X.phone||"",town:X.town||"",village:X.village||"",location:X.location||"",livestockType:X.livestockType||X.livestock_type||"",age:X.age||"",sex:X.sex||"",weight:X.weight||X.weightKg||X.weight_kg||"",preventionType:X.preventionType||X.prevention_type||"",method:X.method||"",medicine:X.medicine||"",dose:X.dose||"",operator:X.operator||"",operateTime:X.operateTime||X.operate_time||"",imagePaths:X.imagePaths||X.image_paths||""}:null}function w3(X=[]){return Array.isArray(X)?X.map(v1).filter(Boolean):[]}function v1(X){var q,ce,Je,k2;return X?{certId:X.certId||X.cert_id||X.id||"",certType:X.certType||X.cert_type||"",certScopeName:X.certScopeName||X.cert_scope_name||"",factoryCode:X.factoryCode||X.factory_code||"",ownerName:X.ownerName||X.owner_name||"",ownerPhone:X.ownerPhone||X.owner_phone||"",transportNumber:X.transportNumber||X.transport_number||"",amount:Number((k2=(Je=(ce=(q=X.amount)!=null?q:X.headCount)!=null?ce:X.head_count)!=null?Je:X.value)!=null?k2:0),unitName:X.unitName||X.unit_name||"头",animalTypeName:X.animalTypeName||X.animal_type_name||"",usageTypeName:X.usageTypeName||X.usage_type_name||"",startTown:X.startTown||X.start_town||"",startRegionFullName:X.startRegionFullName||X.start_region_full_name||"",destProvince:X.destProvince||X.dest_province||"",destRegionFullName:X.destRegionFullName||X.dest_region_full_name||"",quarantineOfficerName:X.quarantineOfficerName||X.quarantine_officer_name||"",issueTime:X.issueTime||X.issue_time||"",statusName:X.statusName||X.status_name||""}:null}function _e(X,q){for(const ce of q){const Je=Number(X==null?void 0:X[ce]);if(Number.isFinite(Je))return Je}return 0}function ke(...X){return _e(me.value,X)}function qe(X={}){return String(X.imagePaths||"").split(";").map(q=>q.trim()).filter(Boolean)}function t2(X){const ce=String(X||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${BZe}/${ce}`}function ve(X){return X==null||X===""?"-":X}function c2(X){const q=String(X!=null?X:"").trim();return!!(q&&q!=="-")}function e2(X,q,ce={}){return c2(q)?b2({label:X,value:q},ce):null}function m2(X){return X?String(X).slice(0,10):"-"}function N2(X){const q=String(X||"").trim();return q?q.length<7?q:`${q.slice(0,3)}****${q.slice(-4)}`:"-"}function ot(X){const q=String(X||"").trim();return q?q.length<=4?q:`****${q.slice(-4)}`:"-"}function U2(X){const q=String(X!=null?X:"").trim();if(!q)return"-";if(/kg|公斤|千克/i.test(q))return q;const ce=Number(q);return Number.isFinite(ce)?`${S3(ce)}kg`:q}function dt(X){return String(X!=null?X:"").trim()||"-"}function m1(X={}){return X.certScopeName||X.certType||"-"}function Q1(){return J2(this,null,function*(){var ce,Je;const[X,q]=yield Promise.allSettled([XYe(),YYe()]);X.status==="fulfilled"&&((ce=X.value)!=null&&ce.length)&&(f.value=CGe(X.value.map(k2=>({name:k2.name,count:Number(k2.value)})).filter(k2=>k2.name&&Number.isFinite(k2.count)))),q.status==="fulfilled"&&((Je=q.value)!=null&&Je.length)&&(p.value=q.value.map(k2=>({month:k2.name,count:Number(k2.value),speed:R_(k2.extra)})).filter(k2=>k2.month&&Number.isFinite(k2.count)))})}function v3(){return J2(this,arguments,function*(X=ie.value){var q,ce,Je,k2,At,F3;he.value=!0,Ee.value="";try{(ce=(q=Y.value)==null?void 0:q.years)!=null&&ce.length||(Y.value=yield HYe());const K3=W2((Je=Y.value)==null?void 0:Je.years),w1=Number(((k2=Y.value)==null?void 0:k2.latestYear)||((At=Y.value)==null?void 0:At.latest_year)||K3[K3.length-1]),b1=Number(X||ie.value||w1||K3[K3.length-1]);ie.value=b1;let y1=yield QW({year:b1});const mi=(F3=y1==null?void 0:y1.hasData)!=null?F3:y1==null?void 0:y1.has_data,wn=Number((y1==null?void 0:y1.latestYear)||(y1==null?void 0:y1.latest_year)||w1);mi===!1&&wn&&wn!==b1&&(ie.value=wn,y1=yield QW({year:wn})),Q.value=y1||{metrics:{},hasData:!1},yield X1(1)}catch(K3){Ee.value="交易数据接口异常",Q.value={metrics:{},hasData:!1},K.value=[],ae.value=0}finally{he.value=!1}})}function X1(){return J2(this,arguments,function*(X=je.value){var ce,Je;if(!ie.value)return;const q={year:ie.value,page:X,pageSize:RT,keyword:Oe.value};try{const k2=yield ej(q);K.value=w3(k2.rows),ae.value=Number(((ce=k2.page)==null?void 0:ce.totalCount)||k2.totalCount||K.value.length||0),je.value=Number(((Je=k2.page)==null?void 0:Je.page)||X||1)}catch(k2){Ee.value=Ee.value||"交易台账接口异常",K.value=[],ae.value=0}})}function I3(X){const q=Number(X);!Number.isFinite(q)||q===Number(ie.value)||(ie.value=q,je.value=1,xe.value="",Oe.value="",v3(q))}function g1(){Oe.value=xe.value.trim(),X1(1)}function fi(X){const q=Math.min(Math.max(Number(X)||1,1),$t.value);X1(q)}function pi(X=null){f2.value=!0,X&&(Ce.value=X),lo(1,X)}function z3(){f2.value=!1}function B1(){lo(1)}function so(){R2.value={keyword:"",startTown:"",usageType:"",certType:""},lo(1)}function o6(X){const q=Math.min(Math.max(Number(X)||1,1),we.value);lo(q)}function lo(){return J2(this,arguments,function*(X=p2.value,q=null){var k2,At;if(!ie.value)return;X2.value=!0,w2.value="";const ce=R2.value,Je={year:ie.value,page:X,pageSize:ij,keyword:ce.keyword.trim(),startTown:ce.startTown,usageType:ce.usageType,certType:ce.certType};try{const F3=yield ej(Je);B2.value=w3(F3.rows),S2.value=Number(((k2=F3.page)==null?void 0:k2.totalCount)||F3.totalCount||B2.value.length||0),p2.value=Number(((At=F3.page)==null?void 0:At.page)||X||1);const K3=q?q.certId||q.factoryCode:"",w1=K3?B2.value.find(b1=>(b1.certId||b1.factoryCode)===K3)||q:B2.value[0]||null;j5(w1)}catch(F3){w2.value="交易台账接口异常",B2.value=[],S2.value=0,Ce.value=null}finally{X2.value=!1}})}function j5(X){Ce.value=X||null}function $5(X){var q,ce;X!=null&&X.startTown&&(c.value="trade",(ce=(q=v2.value)==null?void 0:q.focusTown)==null||ce.call(q,We(X.startTown),{distanceScale:.78,duration:.8}))}function y0(){return J2(this,null,function*(){var k2;x.value=!0,A.value="";const[X,q,ce,Je]=yield Promise.allSettled([WYe(),tj({page:1,pageSize:8}),jYe(),$Ye()]);if(X.status==="fulfilled"?m.value=X.value||{metrics:{}}:(A.value="防疫统计接口异常",m.value={metrics:{}}),q.status==="fulfilled"){const At=q.value||{};_.value=_3(At.rows),S.value=Number(((k2=At.page)==null?void 0:k2.totalCount)||At.totalCount||_.value.length||0)}else A.value=A.value||"防疫台账接口异常",_.value=[],S.value=0;ce.status==="fulfilled"?v.value=Br(ce.value):v.value={rows:[],year:null},Je.status==="fulfilled"?g.value=Je.value||{rows:[]}:g.value={rows:[]},x.value=!1})}function Y1(X=null){C.value=!0,X&&(F.value=X,V.value=null),ss(1,X)}function Xn(){C.value=!1}function Ii(){ss(1)}function zr(){W.value={keyword:"",town:"",medicine:"",startDate:"",endDate:""},ss(1)}function os(X){ss(X)}function ss(){return J2(this,arguments,function*(X=D.value,q=null){var Je,k2;E.value=!0,P.value="";const ce=Z2(b2({},W.value),{page:X,pageSize:nj});try{const At=yield tj(ce);M.value=_3(At.rows),I.value=Number(((Je=At.page)==null?void 0:Je.totalCount)||At.totalCount||M.value.length||0),D.value=Number(((k2=At.page)==null?void 0:k2.page)||X||1);const F3=q||M.value[0]||null;F3?q5(F3):(F.value=null,V.value=null)}catch(At){P.value="台账接口异常",M.value=[],I.value=0}finally{E.value=!1}})}function q5(X){return J2(this,null,function*(){if(F.value=X,V.value=null,!(X!=null&&X.earTag)&&!(X!=null&&X.epidemicId))return;const q=++ee;G.value=!0;try{const ce=yield qYe(X.earTag||X.epidemicId);q===ee&&(V.value=Vt(ce)||X)}catch(ce){q===ee&&(V.value=X)}finally{q===ee&&(G.value=!1)}})}function o4(){var q;k=new ru;const X=(ce=0)=>J2(this,null,function*(){var k2,At;if(_2)return;yield Ji();const Je=v2.value;if((k2=Je==null?void 0:Je.loadMap)==null||k2.call(Je,k),Je!=null&&Je.canvasMap){O2.value=!0,(At=Je.play)==null||At.call(Je);return}ce<24&&window.setTimeout(()=>X(ce+1),120)});(q=k.ready)==null||q.then(X).catch(()=>{O2.value=!0})}function s6(){if(c.value==="epidemic"){t("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:it.value,unit:"条"},{zh:"防疫耳标",value:kt.value,unit:"头"},{zh:"疫苗类型",value:Ht.value,unit:"类"},{zh:"涉及村数",value:jt.value,unit:"个"}]});return}if(c.value==="forecast"){const X=Ge.value.stock-K6;t("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:Ge.value.stock,unit:"头"},{zh:"繁殖补充",value:Ge.value.births,unit:"头"},{zh:"出栏流出",value:Ge.value.outflow,unit:"头"},{zh:"预测净变化",value:X,unit:"头"}]});return}if(c.value==="trade"){t("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:ke("headCount"),unit:"头"},{zh:"出证记录",value:ke("recordCount"),unit:"条"},{zh:"交易销售",value:ke("saleHeadCount"),unit:"头"},{zh:"运输车辆",value:ke("vehicleCount"),unit:"辆"}]});return}t("module-stats",{moduleKey:"yak-management",items:[{zh:"无人机识别总数",value:lh,unit:"头"},{zh:"专家共识模型修正",value:T2.value,unit:"头"},{zh:"当前存栏预估数量",value:K6,unit:"头"}]})}function vi(X,q,ce,Je={}){const k2=Je.labelKey||"name",At=Je.colors||a,F3=Math.max(...X.map(u0=>Number(u0[q]||0)),1),K3=X.length>8,w1=Je.style==="ladder",b1=K3?w1?7:6:X.length>6?11:13,y1=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],mi=Je.axisTextColor||"rgba(223, 250, 255, 0.82)",wn=Je.dimAxisTextColor||"rgba(223, 250, 255, 0.56)";return{tooltip:Z2(b2({},Z0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(u0){if(Je.tooltipFormatter)return Je.tooltipFormatter(u0[0]);const J0=X[u0[0].dataIndex];return`${J0[k2]}<br/>数值:${S3(J0[q])}${ce}`}}),grid:{left:K3?58:74,right:K3?50:54,top:K3?3:14,bottom:K3?5:14},xAxis:{type:"value",axisLabel:{color:wn,fontSize:10,formatter:ce==="%"?"{value}%":l0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",inverse:!0,data:X.map(u0=>u0[k2]),axisLabel:{color:mi,fontSize:K3?9:11,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:b1,barGap:"-100%",data:X.map((u0,J0)=>({value:u0[q],itemStyle:{borderRadius:w1?[1,10,10,1]:[0,7,7,0],color:M_(w1?y1[J0%y1.length]:At[J0%At.length],w1),shadowBlur:w1?10:0,shadowColor:w1?At[J0%At.length]:"transparent"}})),showBackground:!0,backgroundStyle:{color:w1?"rgba(48, 220, 255, 0.035)":"rgba(48, 220, 255, 0.055)",borderRadius:w1?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:"#ffffff",fontSize:K3?9:10,formatter:({value:u0})=>`${ce==="%"?Y5(u0):l0(u0)}`},markLine:Je.showAverage===!1?void 0:{silent:!0,symbol:"none",label:{show:!1},lineStyle:{color:"rgba(255, 215, 108, 0.22)",type:"dashed",width:1},data:[{xAxis:Math.round(F3*.72)}]}},...w1?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,b1+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:X.map((u0,J0)=>({value:u0[q],itemStyle:{color:"#ffffff",opacity:J0<3?.82:.5,shadowBlur:8,shadowColor:y1[J0%y1.length]}}))}]:[]]}}function M_(X,q=!1){return new fn(0,0,1,0,[{offset:0,color:q?`${X}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:q?X:`${X}cc`},{offset:1,color:X}])}function s4(X,q,ce,Je=0,k2=!1){return{name:X,type:"line",yAxisIndex:Je,smooth:!0,symbolSize:5,data:q,lineStyle:{width:2.5,color:ce},itemStyle:{color:ce},areaStyle:k2?{color:new fn(0,0,0,1,[{offset:0,color:`${ce}44`},{offset:1,color:`${ce}05`}])}:void 0}}function E_(X,q){const ce=new Map;return X.forEach(Je=>{const k2=P_(Je.name);if(!k2)return;const At=ce.get(k2)||{name:k2,value:0};At.value+=Number(Je[q]||0),ce.set(k2,At)}),[...ce.values()].sort((Je,k2)=>k2.value-Je.value)}function P_(X){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[X]||""}function Z0(X){return{trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,textStyle:{color:"#e7fbff",fontSize:12},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);",formatter:X}}function R_(X){const q=String(X||"").match(/-?\d+(?:\.\d+)?/);return q?Number(q[0]):0}function S3(X){const q=Number(X);return Number.isFinite(q)?q.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(q)?0:2}):"--"}function l0(X){const q=Number(X);return Number.isFinite(q)?Math.abs(q)>=1e4?`${(q/1e4).toFixed(Math.abs(q)>=1e5?0:1)}万`:Math.round(q).toLocaleString("zh-CN"):"--"}function X5(X,q=2){const ce=Number(X);return Number.isFinite(ce)?`${(ce/1e4).toFixed(q)}万`:"--"}function Y5(X){const q=Number(X);return Number.isFinite(q)?`${Number.isInteger(q)?q:q.toFixed(1)}%`:"--"}function l6(X){const q=Number(X);return Number.isFinite(q)?`${q>=0?"+":"-"}${S3(Math.abs(q))}`:"--"}return(X,q)=>(Ae(),Pe("div",JYe,[ft(iu,{ref_key:"mapSceneRef",ref:v2,class:"yak-map-scene","active-layer":N.value,"map-ranking":z.value},null,8,["active-layer","map-ranking"]),q[78]||(q[78]=B("div",{class:"yak-map-scrim"},null,-1)),O2.value?Lt("",!0):(Ae(),Pe("div",QYe,"3D地图加载中")),B("div",eKe,[c.value==="trade"&&ze.value.length?(Ae(),Pe("div",tKe,[q[20]||(q[20]=B("span",null,"交易年份",-1)),(Ae(!0),Pe(bt,null,Nt(ze.value,ce=>(Ae(),Pe("button",{key:ce,type:"button",class:Xt({active:Number(ce)===Number(ie.value)}),onClick:Je=>I3(ce)},Fe(ce),11,nKe))),128))])):Lt("",!0),c.value==="forecast"?(Ae(),Pe("div",iKe,[q[21]||(q[21]=B("span",null,"预测年份",-1)),(Ae(!0),Pe(bt,null,Nt(_1(Vi),ce=>(Ae(),Pe("button",{key:ce.key,type:"button",class:Xt({active:ce.key===d.value}),onClick:Je=>$2(ce.key)},Fe(ce.shortLabel),11,rKe))),128))])):Lt("",!0),B("div",aKe,[B("div",oKe,[c.value==="structure"?(Ae(),Pe(bt,{key:0},[ft(M3,{class:"yak-side-card left-card",title:"存栏估算",width:R1,height:L1},{default:m3(()=>[B("div",sKe,[B("div",lKe,[B("span",uKe,[q[23]||(q[23]=B("em",null,"无人机识别总数",-1)),B("strong",null,[Z1(Fe(S3(_1(lh))),1),q[22]||(q[22]=B("small",null,"头",-1))])]),B("span",cKe,[q[25]||(q[25]=B("em",null,"专家共识模型修正",-1)),B("strong",{class:Xt({positive:T2.value>0,negative:T2.value<0})},[Z1(Fe(l6(T2.value)),1),q[24]||(q[24]=B("small",null,"头",-1))],2)])]),B("div",dKe,[q[27]||(q[27]=B("span",null,"当前存栏预估数量",-1)),B("strong",null,[Z1(Fe(S3(_1(K6))),1),q[26]||(q[26]=B("em",null,"头",-1))])])])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"畜群结构占比",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:U.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:pe.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:de.value,autoresize:!0},null,8,["option"])]),_:1})],64)):c.value==="forecast"?(Ae(),Pe(bt,{key:1},[ft(M3,{class:"yak-side-card left-card",title:"畜群预测",width:R1,height:L1},{default:m3(()=>[B("div",hKe,[B("div",fKe,[B("div",pKe,[B("span",null,Fe(Ge.value.label)+"预测存栏",1),B("strong",null,[Z1(Fe(S3(Ge.value.stock)),1),q[28]||(q[28]=B("em",null,"头",-1))])]),B("div",{class:Xt(["forecast-change-badge",{positive:z2.value>0,negative:z2.value<0}])},[q[30]||(q[30]=B("span",null,"较当前",-1)),B("strong",null,[Z1(Fe(l6(z2.value)),1),q[29]||(q[29]=B("em",null,"头",-1))])],2)]),B("div",vKe,[B("span",null,[q[31]||(q[31]=B("em",null,"补充",-1)),B("strong",null,Fe(X5(Ge.value.births))+"头",1)]),B("span",null,[q[32]||(q[32]=B("em",null,"流出",-1)),B("strong",null,Fe(X5(Ge.value.outflow))+"头",1)]),B("span",null,[q[33]||(q[33]=B("em",null,"周期",-1)),B("strong",null,Fe(Ge.value.months)+"个月",1)])])])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"未来存栏趋势",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:be.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"月度数量预测",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:ge.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"预测因子雷达",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:ye.value,autoresize:!0},null,8,["option"])]),_:1})],64)):c.value==="epidemic"?(Ae(),Pe(bt,{key:2},[ft(M3,{class:"yak-side-card left-card",title:"防疫总览",width:R1,height:L1},{default:m3(()=>[B("div",mKe,[B("div",gKe,[q[35]||(q[35]=B("span",null,"防疫记录",-1)),B("strong",null,[Z1(Fe(S3(it.value)),1),q[34]||(q[34]=B("em",null,"条",-1))])]),B("div",yKe,[B("strong",null,Fe(S3(kt.value)),1),q[36]||(q[36]=B("span",null,"耳标数",-1))]),B("div",_Ke,[B("span",null,[q[37]||(q[37]=B("em",null,"覆盖乡镇",-1)),B("strong",null,Fe(Ve.value)+"个",1)]),B("span",null,[q[38]||(q[38]=B("em",null,"养殖户",-1)),B("strong",null,Fe(S3(St.value))+"户",1)]),B("span",null,[q[39]||(q[39]=B("em",null,"涉及村数",-1)),B("strong",null,Fe(S3(jt.value))+"个",1)]),B("span",null,[q[40]||(q[40]=B("em",null,"疫苗类型",-1)),B("strong",null,Fe(Ht.value)+"类",1)])])])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"防疫覆盖概况",width:R1,height:L1},{default:m3(()=>[B("div",SKe,[B("div",bKe,[B("span",null,[q[41]||(q[41]=B("em",null,"覆盖乡镇",-1)),B("strong",null,Fe(Ve.value),1)]),B("span",null,[q[42]||(q[42]=B("em",null,"耳标数",-1)),B("strong",null,Fe(S3(kt.value)),1)]),B("span",null,[q[43]||(q[43]=B("em",null,"行政村",-1)),B("strong",null,Fe(S3(jt.value)),1)])]),B("div",xKe,[B("span",null,"最近免疫:"+Fe(at.value)+";主用疫苗:"+Fe(Ue.value)+";重点乡镇:"+Fe(lt.value)+"。",1)]),B("div",wKe,[B("span",null,[q[44]||(q[44]=B("em",null,"疫苗类型数",-1)),B("strong",null,Fe(Ht.value)+"类",1)]),B("span",null,[q[45]||(q[45]=B("em",null,"养殖户数",-1)),B("strong",null,Fe(S3(St.value))+"户",1)])])])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"防疫作业趋势",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:oe.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"疫苗类型分布",width:R1,height:L1},{default:m3(()=>[yt.value.length?(Ae(),Pe("div",TKe,[B("div",AKe,[(Ae(),Gn(Uee,{key:_t.value,data:yt.value,delay:3e3,colors:o,opacity:.62,class:"epidemic-three-pie"},{default:m3(({data:ce})=>[B("div",CKe,[B("strong",null,Fe(l0((ce==null?void 0:ce.count)||it.value)),1),B("span",null,Fe((ce==null?void 0:ce.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),B("div",MKe,[(Ae(!0),Pe(bt,null,Nt(yt.value,(ce,Je)=>(Ae(),Pe("div",{key:ce.key||ce.name,class:"epidemic-three-pie-row"},[B("i",{style:J3({borderColor:o[Je%o.length]})},null,4),B("span",null,Fe(ce.name),1),B("strong",null,Fe(l0(ce.value)),1),B("em",null,Fe(ce.unit),1)]))),128))])])):(Ae(),Pe("div",EKe,"暂无疫苗类型数据"))]),_:1})],64)):c.value==="trade"?(Ae(),Pe(bt,{key:3},[ft(M3,{class:"yak-side-card left-card",title:"交易年度总览",width:R1,height:L1},{default:m3(()=>[B("div",PKe,[B("div",RKe,[B("span",null,Fe(ie.value)+"年流通总量",1),B("strong",null,[Z1(Fe(S3(ke("headCount"))),1),q[46]||(q[46]=B("em",null,"头",-1))])]),B("div",LKe,[B("span",null,[q[47]||(q[47]=B("em",null,"出证记录",-1)),B("strong",null,Fe(S3(ke("recordCount")))+"条",1)]),B("span",null,[q[48]||(q[48]=B("em",null,"交易销售",-1)),B("strong",null,Fe(S3(ke("saleHeadCount")))+"头",1)]),B("span",null,[q[49]||(q[49]=B("em",null,"运输车辆",-1)),B("strong",null,Fe(S3(ke("vehicleCount")))+"辆",1)])])])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"交易流通趋势",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:i2.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"来源乡镇分布",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:a2.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card left-card",title:"用途结构统计",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:x2.value,autoresize:!0},null,8,["option"])]),_:1})],64)):Lt("",!0)])]),B("div",IKe,[B("div",DKe,[c.value==="structure"?(Ae(),Pe(bt,{key:0},[ft(M3,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:se.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"母牛与幼畜分布",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:re.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"出栏/交易影响",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:Be.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"结构明细",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:ue.value,autoresize:!0},null,8,["option"])]),_:1})],64)):c.value==="forecast"?(Ae(),Pe(bt,{key:1},[ft(M3,{class:"yak-side-card right-card",title:"乡镇预测排行",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:Ze.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"期末结构预测",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:fe.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"补充/流出对比",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:O.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"预测变化热力",width:R1,height:L1},{default:m3(()=>[B("div",NKe,[(Ae(!0),Pe(bt,null,Nt(te.value,ce=>(Ae(),Pe("div",{key:ce.name,class:"heat-row",style:J3({"--heat-width":`${ce.width}%`})},[B("span",null,Fe(ce.name),1),B("strong",null,Fe(l6(ce.change)),1)],4))),128))])]),_:1})],64)):c.value==="epidemic"?(Ae(),Pe(bt,{key:2},[ft(M3,{class:"yak-side-card right-card",title:"防疫统计",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:De.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"养殖户防疫排行",width:R1,height:L1},{default:m3(()=>[ft(_1(G0),{class:"yak-chart",option:He.value,autoresize:!0},null,8,["option"])]),_:1}),ft(M3,{class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:R1,height:i},{default:m3(()=>[B("div",kKe,[B("div",FKe,[B("span",null,"共 "+Fe(S3(S.value))+" 条",1),B("button",{type:"button",onClick:q[0]||(q[0]=ce=>Y1())},"查看更多")]),q[50]||(q[50]=B("div",{class:"epidemic-record-header"},[B("span",null,"电子耳标"),B("span",null,"养殖户"),B("span",null,"镇/乡"),B("span",null,"疫苗"),B("span",null,"时间")],-1)),B("div",OKe,[(Ae(!0),Pe(bt,null,Nt(Y2.value,ce=>(Ae(),Pe("button",{key:ce.epidemicId||ce.earTag,type:"button",onClick:Je=>Y1(ce)},[B("span",null,Fe(ve(ce.earTag)),1),B("span",null,Fe(ve(ce.owner)),1),B("span",null,Fe(ve(ce.town)),1),B("strong",null,Fe(ve(ce.medicine)),1),B("span",null,Fe(m2(ce.operateTime)),1)],8,BKe))),128)),_.value.length?Lt("",!0):(Ae(),Pe("div",zKe,Fe(x.value?"防疫台账读取中":A.value||"暂无防疫记录"),1))])])]),_:1})],64)):c.value==="trade"?(Ae(),Pe(bt,{key:3},[ft(M3,{class:"yak-side-card right-card",title:"出证结构统计",width:R1,height:L1},{default:m3(()=>[B("div",GKe,[B("div",UKe,[B("span",null,[q[52]||(q[52]=B("em",null,"省外流通 A证",-1)),B("strong",null,[Z1(Fe(S3(ke("outProvinceHeads","aCertHeads"))),1),q[51]||(q[51]=B("b",null,"头",-1))]),B("small",null,Fe(S3(ke("outProvinceCount","aCertCount")))+"条记录",1)]),B("span",null,[q[54]||(q[54]=B("em",null,"省内流通 B证",-1)),B("strong",null,[Z1(Fe(S3(ke("inProvinceHeads","bCertHeads"))),1),q[53]||(q[53]=B("b",null,"头",-1))]),B("small",null,Fe(S3(ke("inProvinceCount","bCertCount")))+"条记录",1)])]),ft(_1(G0),{class:"trade-cert-chart",option:G2.value,autoresize:!0},null,8,["option"])])]),_:1}),ft(M3,{class:"yak-side-card right-card",title:"出栏来源排行",width:R1,height:L1},{default:m3(()=>[B("div",VKe,[(Ae(!0),Pe(bt,null,Nt(Le.value,(ce,Je)=>(Ae(),Pe("div",{key:ce.name,class:"trade-dest-row",style:J3({"--trade-ratio":`${ce.ratio}%`})},[B("span",null,Fe(Je+1),1),B("strong",null,Fe(ce.name),1),B("em",null,Fe(l0(ce.headCount))+"头",1)],4))),128)),Le.value.length?Lt("",!0):(Ae(),Pe("div",HKe,Fe(he.value?"交易数据读取中":Ee.value||"暂无出栏来源数据"),1))])]),_:1}),ft(M3,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:R1,height:r},{default:m3(()=>[B("div",WKe,[B("div",jKe,[B("span",null,"共 "+Fe(S3(ae.value))+" 条",1),B("div",null,[en(B("input",{"onUpdate:modelValue":q[1]||(q[1]=ce=>xe.value=ce),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:Gl(g1,["enter"])},null,544),[[Y9,xe.value]]),B("button",{type:"button",onClick:g1},"搜索"),B("button",{type:"button",class:"is-more",onClick:q[2]||(q[2]=ce=>pi())},"查看更多")])]),q[55]||(q[55]=B("div",{class:"trade-ledger-header"},[B("span",null,"货主"),B("span",null,"车牌"),B("span",null,"数量"),B("span",null,"源头"),B("span",null,"用途"),B("span",null,"时间")],-1)),B("div",$Ke,[(Ae(!0),Pe(bt,null,Nt(M2.value,ce=>(Ae(),Pe("button",{key:ce.certId,type:"button",onClick:Je=>$5(ce)},[B("span",null,Fe(ve(ce.ownerName)),1),B("span",null,Fe(ve(ce.transportNumber)),1),B("strong",null,Fe(S3(ce.amount))+"头",1),B("span",null,Fe(ve(ce.startTown)),1),B("span",null,Fe(ve(ce.usageTypeName)),1),B("span",null,Fe(m2(ce.issueTime)),1)],8,qKe))),128)),M2.value.length?Lt("",!0):(Ae(),Pe("div",XKe,Fe(he.value?"交易台账读取中":Ee.value||"暂无交易记录"),1))]),B("div",YKe,[B("span",null,"第 "+Fe(je.value)+" / "+Fe($t.value)+" 页",1),B("button",{type:"button",disabled:je.value<=1,onClick:q[3]||(q[3]=ce=>fi(je.value-1))},"上一页",8,KKe),B("button",{type:"button",disabled:je.value>=$t.value,onClick:q[4]||(q[4]=ce=>fi(je.value+1))},"下一页",8,ZKe)])])]),_:1})],64)):Lt("",!0)])]),B("div",JKe,[ft(__,{"model-value":c.value,topics:u,"onUpdate:modelValue":q[5]||(q[5]=ce=>c.value=ce)},null,8,["model-value"])])]),C.value?(Ae(),Pe("div",{key:1,class:"epidemic-ledger-modal",onClick:Hi(Xn,["self"])},[B("div",QKe,[B("div",eZe,[B("div",null,[q[56]||(q[56]=B("span",null,"牦牛防疫台账",-1)),B("strong",null,Fe(S3(I.value))+" 条记录",1)]),B("button",{type:"button",onClick:Xn},"关闭")]),B("div",tZe,[en(B("input",{"onUpdate:modelValue":q[6]||(q[6]=ce=>W.value.keyword=ce),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:Gl(Ii,["enter"])},null,544),[[Y9,W.value.keyword]]),en(B("select",{"onUpdate:modelValue":q[7]||(q[7]=ce=>W.value.town=ce)},[q[57]||(q[57]=B("option",{value:""},"全部镇/乡",-1)),(Ae(!0),Pe(bt,null,Nt(et.value,ce=>(Ae(),Pe("option",{key:ce,value:ce},Fe(ce),9,nZe))),128))],512),[[xu,W.value.town]]),en(B("select",{"onUpdate:modelValue":q[8]||(q[8]=ce=>W.value.medicine=ce)},[q[58]||(q[58]=B("option",{value:""},"全部疫苗",-1)),(Ae(!0),Pe(bt,null,Nt(P3.value,ce=>(Ae(),Pe("option",{key:ce,value:ce},Fe(ce),9,iZe))),128))],512),[[xu,W.value.medicine]]),en(B("input",{"onUpdate:modelValue":q[9]||(q[9]=ce=>W.value.startDate=ce),type:"date"},null,512),[[Y9,W.value.startDate]]),en(B("input",{"onUpdate:modelValue":q[10]||(q[10]=ce=>W.value.endDate=ce),type:"date"},null,512),[[Y9,W.value.endDate]]),B("button",{type:"button",onClick:Ii},"检索"),B("button",{type:"button",class:"is-ghost",onClick:zr},"重置")]),B("div",rZe,[B("div",aZe,[q[59]||(q[59]=B("div",{class:"epidemic-ledger-table-head"},[B("span",null,"电子耳标"),B("span",null,"养殖户"),B("span",null,"镇/乡"),B("span",null,"村"),B("span",null,"疫苗"),B("span",null,"免疫时间"),B("span",null,"图片")],-1)),(Ae(!0),Pe(bt,null,Nt(M.value,ce=>{var Je,k2;return Ae(),Pe("button",{key:ce.epidemicId||ce.earTag,type:"button",class:Xt({active:(((Je=F.value)==null?void 0:Je.epidemicId)||((k2=F.value)==null?void 0:k2.earTag))===(ce.epidemicId||ce.earTag)}),onClick:At=>q5(ce)},[B("span",null,Fe(ve(ce.earTag)),1),B("span",null,Fe(ve(ce.owner)),1),B("span",null,Fe(ve(ce.town)),1),B("span",null,Fe(ve(ce.village)),1),B("strong",null,Fe(ve(ce.medicine)),1),B("span",null,Fe(m2(ce.operateTime)),1),B("span",null,Fe(qe(ce).length?`${qe(ce).length}张`:"无"),1)],10,oZe)}),128)),M.value.length?Lt("",!0):(Ae(),Pe("div",sZe,Fe(E.value?"台账读取中":P.value||"暂无匹配记录"),1))]),B("div",lZe,[B("div",uZe,[B("span",null,Fe(ve(Ft.value.earTag)),1),B("strong",null,Fe(G.value?"加载中":m2(Ft.value.operateTime)),1)]),B("div",cZe,[(Ae(!0),Pe(bt,null,Nt(s2.value,ce=>(Ae(),Pe("section",{key:ce.title,class:"epidemic-detail-section"},[B("div",dZe,Fe(ce.title),1),B("div",hZe,[(Ae(!0),Pe(bt,null,Nt(ce.fields,Je=>(Ae(),Pe("span",{key:`${ce.title}-${Je.label}`,class:Xt({"is-wide":Je.wide})},[B("em",null,Fe(Je.label),1),B("strong",null,Fe(Je.value),1)],2))),128))])]))),128)),Re.value.length?(Ae(),Pe("section",fZe,[q[60]||(q[60]=B("div",{class:"epidemic-detail-section-title"},"现场照片",-1)),B("div",pZe,[(Ae(!0),Pe(bt,null,Nt(Re.value.slice(0,6),ce=>(Ae(),Pe("img",{key:ce,src:t2(ce),alt:"防疫照片"},null,8,vZe))),128))])])):Lt("",!0)])])]),B("div",mZe,[B("span",null,"第 "+Fe(D.value)+" / "+Fe(rt.value)+" 页",1),B("button",{type:"button",disabled:D.value<=1,onClick:q[11]||(q[11]=ce=>os(D.value-1))},"上一页",8,gZe),B("button",{type:"button",disabled:D.value>=rt.value,onClick:q[12]||(q[12]=ce=>os(D.value+1))},"下一页",8,yZe)])])])):Lt("",!0),f2.value?(Ae(),Pe("div",{key:2,class:"epidemic-ledger-modal trade-ledger-modal",onClick:Hi(z3,["self"])},[B("div",_Ze,[B("div",SZe,[B("div",null,[q[61]||(q[61]=B("span",null,"牦牛交易出证台账",-1)),B("strong",null,Fe(ie.value)+"年 "+Fe(S3(S2.value))+" 条记录",1)]),B("button",{type:"button",onClick:z3},"关闭")]),B("div",bZe,[en(B("input",{"onUpdate:modelValue":q[13]||(q[13]=ce=>R2.value.keyword=ce),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:Gl(B1,["enter"])},null,544),[[Y9,R2.value.keyword]]),en(B("select",{"onUpdate:modelValue":q[14]||(q[14]=ce=>R2.value.startTown=ce)},[q[62]||(q[62]=B("option",{value:""},"全部源头乡镇",-1)),(Ae(!0),Pe(bt,null,Nt(D2.value,ce=>(Ae(),Pe("option",{key:ce,value:ce},Fe(ce),9,xZe))),128))],512),[[xu,R2.value.startTown]]),en(B("select",{"onUpdate:modelValue":q[15]||(q[15]=ce=>R2.value.usageType=ce)},[q[63]||(q[63]=B("option",{value:""},"全部用途",-1)),(Ae(!0),Pe(bt,null,Nt(L2.value,ce=>(Ae(),Pe("option",{key:ce,value:ce},Fe(ce),9,wZe))),128))],512),[[xu,R2.value.usageType]]),en(B("select",{"onUpdate:modelValue":q[16]||(q[16]=ce=>R2.value.certType=ce)},[q[64]||(q[64]=B("option",{value:""},"全部证书",-1)),(Ae(!0),Pe(bt,null,Nt(Ot.value,ce=>(Ae(),Pe("option",{key:ce.value,value:ce.value},Fe(ce.label),9,TZe))),128))],512),[[xu,R2.value.certType]]),B("button",{type:"button",onClick:B1},"检索"),B("button",{type:"button",class:"is-ghost",onClick:so},"重置")]),B("div",AZe,[B("div",CZe,[q[65]||(q[65]=B("div",{class:"trade-ledger-modal-table-head"},[B("span",null,"货主"),B("span",null,"证书"),B("span",null,"车牌号"),B("span",null,"数量"),B("span",null,"源头"),B("span",null,"用途"),B("span",null,"出证时间"),B("span",null,"状态")],-1)),(Ae(!0),Pe(bt,null,Nt(B2.value,ce=>(Ae(),Pe("button",{key:ce.certId||ce.factoryCode,type:"button",class:Xt({active:E2.value===(ce.certId||ce.factoryCode)}),onClick:Je=>j5(ce)},[B("span",null,Fe(ve(ce.ownerName)),1),B("span",null,Fe(ve(ce.certType||ce.certScopeName)),1),B("span",null,Fe(ve(ce.transportNumber)),1),B("strong",null,Fe(S3(ce.amount))+"头",1),B("span",null,Fe(ve(ce.startTown)),1),B("span",null,Fe(ve(ce.usageTypeName)),1),B("span",null,Fe(m2(ce.issueTime)),1),B("span",null,Fe(ve(ce.statusName)),1)],10,MZe))),128)),B2.value.length?Lt("",!0):(Ae(),Pe("div",EZe,Fe(X2.value?"交易台账读取中":w2.value||"暂无匹配记录"),1))]),B("div",PZe,[B("div",RZe,[B("span",null,Fe(ve(n2.value.factoryCode||n2.value.certId)),1),B("strong",null,Fe(m2(n2.value.issueTime)),1)]),B("div",LZe,[B("span",null,[q[66]||(q[66]=B("em",null,"货主",-1)),B("strong",null,Fe(ve(n2.value.ownerName)),1)]),B("span",null,[q[67]||(q[67]=B("em",null,"联系方式",-1)),B("strong",null,Fe(N2(n2.value.ownerPhone)),1)]),B("span",null,[q[68]||(q[68]=B("em",null,"证书类型",-1)),B("strong",null,Fe(m1(n2.value)),1)]),B("span",null,[q[69]||(q[69]=B("em",null,"车牌号",-1)),B("strong",null,Fe(ve(n2.value.transportNumber)),1)]),B("span",null,[q[70]||(q[70]=B("em",null,"牦牛数量",-1)),B("strong",null,Fe(S3(n2.value.amount))+"头",1)]),B("span",null,[q[71]||(q[71]=B("em",null,"用途",-1)),B("strong",null,Fe(ve(n2.value.usageTypeName)),1)]),B("span",null,[q[72]||(q[72]=B("em",null,"源头乡镇",-1)),B("strong",null,Fe(ve(n2.value.startTown)),1)]),B("span",null,[q[73]||(q[73]=B("em",null,"目的省份",-1)),B("strong",null,Fe(ve(n2.value.destProvince)),1)]),B("span",null,[q[74]||(q[74]=B("em",null,"检疫员",-1)),B("strong",null,Fe(ve(n2.value.quarantineOfficerName)),1)]),B("span",null,[q[75]||(q[75]=B("em",null,"状态",-1)),B("strong",null,Fe(ve(n2.value.statusName)),1)]),B("span",IZe,[q[76]||(q[76]=B("em",null,"源头地区",-1)),B("strong",null,Fe(ve(n2.value.startRegionFullName)),1)]),B("span",DZe,[q[77]||(q[77]=B("em",null,"目的地",-1)),B("strong",null,Fe(ve(n2.value.destRegionFullName)),1)])]),B("button",{type:"button",class:"trade-detail-locate",disabled:!n2.value.startTown,onClick:q[17]||(q[17]=ce=>$5(n2.value))}," 定位源头乡镇 ",8,NZe)])]),B("div",kZe,[B("span",null,"第 "+Fe(p2.value)+" / "+Fe(we.value)+" 页",1),B("button",{type:"button",disabled:p2.value<=1,onClick:q[18]||(q[18]=ce=>o6(p2.value-1))},"上一页",8,FZe),B("button",{type:"button",disabled:p2.value>=we.value,onClick:q[19]||(q[19]=ce=>o6(p2.value+1))},"下一页",8,OZe)])])])):Lt("",!0)]))}};const VZe={class:"pasture-management"},HZe={key:0,class:"pasture-map-loading"},WZe={class:"pasture-management-ui"},jZe={class:"pasture-left"},$Ze={class:"pasture-side-stack is-left"},qZe={class:"pasture-right"},XZe={class:"pasture-side-stack is-right"},YZe={class:"pasture-map-layer-tools"},O9=398,B9=190,KZe=12,ZZe={__name:"index",emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=e,i=B9*2+KZe,r=H2(null),a=H2(!1),o=H2(ET),s=H2(N8),l=H2(""),u=H2(""),c=["牧户数量","户均牦牛头数","户均草地面积","联户数量"];let d=null,h=!1,f=!1,p=0;const m={513233100:"邛溪镇",513233101:"刷经寺镇",513233103:"安曲镇",513233105:"龙日镇",513233202:"江茸乡",513233203:"查尔玛乡",513233204:"瓦切镇",513233205:"阿木乡",513233207:"麦洼乡",513233208:"色地镇"},v={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},g={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},_=Ft(iOe),S=Ye(()=>{const me=Oh("grassland","grassland-distribution");return me?[Z2(b2({},me),{name:"草场边界",legends:[{name:"草场边界",fillColor:"#1D953F",strokeColor:"#1D953F"}]})]:[]}),x=Ye(()=>l.value&&S.value.find(me=>me.key===l.value)||null),A=Ye(()=>{var me;return(((me=x.value)==null?void 0:me.legends)||[]).find(ze=>ze.key===u.value)||null}),C=Ye(()=>{var ze;const me=x.value;return me?(ze=A.value)!=null&&ze.cqlFilter?Z2(b2({},me),{cqlFilter:A.value.cqlFilter,activeLegend:A.value,name:A.value.name||me.name}):me:null}),M=Ye(()=>k(o.value.core).length?k(o.value.core):X2e),I=Ye(()=>ee(o.value.distribution).length?ee(o.value.distribution):oL),D=Ye(()=>Ge(o.value.online).length?Ge(o.value.online):K2e),E=Ye(()=>T2(o.value.age).length?T2(o.value.age):LXe),P=Ye(()=>z2(o.value.age).length?z2(o.value.age):Q2e),F=Ye(()=>d2(s.value).length?d2(s.value):IXe),V=Ye(()=>st(s.value).length?st(s.value):DXe),G=Ye(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,rows:(I.value.length?I.value:NXe).slice(0,8).map(me=>({name:me.name,value:Number(me.value)||0,unit:me.unit||"户"}))})),W=Ye(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:I.value})),Y=Ye(()=>({key:"pasture-grassland-area",type:"heat",rows:F.value})),Q=Ye(()=>({key:"pasture-season",type:"stackColumn",segments:[{key:"summer",name:"夏草场"},{key:"winter",name:"冬草场"}],rows:V.value.slice(0,7)})),K=Ye(()=>({key:"pasture-online",type:"line",rows:D.value})),ae=Ye(()=>({key:"pasture-age",type:"column",variant:"slim",rows:E.value})),ie=Ye(()=>({key:"pasture-gender",type:"donut",rows:P.value})),he=Ye(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",searchKeys:["name","township","id","grasslandArea"],columns:[{key:"name",label:"牧户名称",field:"name",width:"30%"},{key:"grasslandArea",label:"草场面积",field:"grasslandArea",width:"28%",align:"right",strong:!0,format:"number",unit:"亩"},{key:"township",label:"区域",field:"township",width:"24%"},{key:"locate",label:"定位",field:"locateText",width:"18%",align:"center",fallback:"定位"}],rows:s.value}));cr(()=>{v2(),w2(),Ee()}),Or(()=>{var me,ze;f=!0,(ze=(me=r.value)==null?void 0:me.destroyMap)==null||ze.call(me)});function Ee(){return J2(this,null,function*(){try{const me=yield EXe();if(f)return;o.value=b2(b2({},ET),me),v2();const ze=Te(me.list);s.value=ze.length?ze:$e(N8),je(s.value)}catch(me){o.value=ET,s.value=$e(N8)}})}function je(){return J2(this,arguments,function*(me=[]){const ze=++p,Qe=(Array.isArray(me)?me:[]).filter(Le=>(Le==null?void 0:Le.township)==="--"&&ut(Le)).slice(0,80);if(!Qe.length)return;const y2=yield p2(Qe,5,Le=>J2(this,null,function*(){const M2=ut(Le);let $t=[],we=null;try{$t=f2(yield xM(M2))}catch(L2){$t=[]}let n2=it(Le,$t)||jt(Le,Le.name,M2);if(!n2){try{we=yield MXe(M2)}catch(L2){we=null}n2=B2(we)}const E2=!!(M2||$t.some(_t)||_t(Le));if(!n2&&!$t.length&&E2===Le.canLocate)return null;const D2={key:Le.key,id:Le.id,realPastureId:M2,name:Le.name,township:n2||Le.township,grasslands:$t.length?$t:Le.grasslands,canLocate:E2,locateText:E2?"定位":"--"};return xe(D2,ze),D2}));if(f||ze!==p)return;const ct=new Map;y2.filter(Boolean).forEach(Le=>{[Le.key,Le.id,Le.realPastureId,Le.name].filter(Boolean).forEach(M2=>{ct.set(String(M2),Le)})}),ct.size&&Oe(ct)})}function xe(me,ze=p){if(!me||f||ze!==p)return;const Qe=new Map;[me.key,me.id,me.realPastureId,me.name].filter(Boolean).forEach(y2=>{Qe.set(String(y2),me)}),Oe(Qe)}function Oe(me){me!=null&&me.size&&(s.value=s.value.map(ze=>{const Qe=[ze.key,ze.id,ze.realPastureId,ze.name].filter(Boolean).map(ct=>me.get(String(ct))).find(Boolean);if(!Qe)return ze;const y2=Qe.township&&Qe.township!=="--"?Qe.township:ze.township;return Z2(b2({},ze),{township:y2,grasslands:Qe.grasslands,canLocate:Qe.canLocate,locateText:Qe.locateText,searchText:[ze.name,y2,ze.id].filter(Boolean).join(" ")})}))}function f2(me=[]){const ze=[];return(Array.isArray(me)?me:[]).forEach(Qe=>{const y2=yt(Qe);y2.length?ze.push(...y2):Qe&&typeof Qe=="object"&&ze.push(Qe)}),ze}function B2(me){const ze=Array.isArray(me)?me:Array.isArray(me==null?void 0:me.rows)?me.rows:Array.isArray(me==null?void 0:me.list)?me.list:Array.isArray(me==null?void 0:me.data)?me.data:[me];for(const Qe of ze.filter(Boolean)){const y2=Array.isArray(Qe==null?void 0:Qe.fields)?Qe.fields:Array.isArray(Qe==null?void 0:Qe.children)?Qe.children:[],ct=Ue(Qe,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(ct)return St(S2(ct));for(const M2 of y2){const $t=String((M2==null?void 0:M2.name)||(M2==null?void 0:M2.label)||(M2==null?void 0:M2.title)||"").trim(),we=Ue(M2,["value","text","content"]);if(we&&/区域|地址|乡镇/.test($t))return St(S2(we))}const Le=Object.entries(Qe||{}).filter(([M2])=>/fullName|full_name|address|areaName|area_name|town/i.test(M2)).map(([,M2])=>M2);for(const M2 of Le)if(M2)return St(S2(M2))}return""}function S2(me){const ze=String(me||"").trim();if(!ze||ze==="--")return"";const Qe=ze.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(Qe==null?void 0:Qe[1])||ze}function p2(me,ze,Qe){return J2(this,null,function*(){const y2=new Array(me.length);let ct=0;const Le=Array.from({length:Math.min(ze,me.length)},()=>J2(this,null,function*(){for(;ct<me.length;){const M2=ct;ct+=1,y2[M2]=yield Qe(me[M2],M2)}}));return yield Promise.all(Le),y2})}function X2(me){return J2(this,null,function*(){var M2,$t,we,n2,E2,D2;if(!Ht(me)){($t=(M2=r.value)==null?void 0:M2.focusPasture)==null||$t.call(M2,{name:me==null?void 0:me.name});return}const ze=ut(me);let Qe=[];if(ze)try{Qe=yield xM(ze)}catch(L2){Qe=[]}const y2=yt(me),ct=Qe.filter(_t),Le=ct.length?ct:y2;if(!Le.length){(n2=(we=r.value)==null?void 0:we.focusPasture)==null||n2.call(we,{name:me==null?void 0:me.name});return}(D2=(E2=r.value)==null?void 0:E2.focusPasture)==null||D2.call(E2,{name:me==null?void 0:me.name,grasslands:Le})})}function w2(){var me,ze,Qe;d=new ru,h=!1,t("loading-progress",{progress:0}),(ze=(me=d.instance)==null?void 0:me.on)==null||ze.call(me,"onProgress",(y2,ct,Le)=>{t("loading-progress",{progress:Math.floor(ct/(Le||1)*100),path:y2,itemsLoaded:ct,itemsTotal:Le})}),(Qe=d.ready)==null||Qe.then(()=>{h=!0,R2()}).catch(()=>{a.value=!0,t("map-ready")})}function Ce(){h&&R2()}function R2(me=0){return J2(this,null,function*(){var Qe,y2;if(f||!h||!d)return;yield Ji();const ze=r.value;if((Qe=ze==null?void 0:ze.loadMap)==null||Qe.call(ze,d),ze!=null&&ze.canvasMap){a.value=!0,t("loading-progress",{progress:100}),t("map-ready"),(y2=ze.play)==null||y2.call(ze);return}if(me<24){window.setTimeout(()=>R2(me+1),120);return}a.value=!0,t("map-ready")})}function v2(){t("module-stats",{moduleKey:"pasture-management",items:O2().map(me=>({zh:me.name,name:me.name,value:me.value,unit:me.unit,decimals:Number.isInteger(Number(me.value))?0:2}))})}function O2(){const me=new Map;return(Array.isArray(M.value)?M.value:[]).forEach(ze=>{!(ze!=null&&ze.name)||Z(ze.name)||me.set(ze.name,ze)}),c.map(ze=>me.get(ze)||Y2e.find(Qe=>Qe.name===ze||Qe.zh===ze)).filter(Boolean).slice(0,4)}function k(me=[]){return(Array.isArray(me)?me:[]).map((ze,Qe)=>{const y2=ze.key||ze.id||ze.code||ze.name||ze.zh||`${Qe}`,ct=ze.name||ze.title||ze.label||ze.zh,Le=_2(ct,y2),M2=Ue(ze,["value","num","count","dataValue"]);if(!Le||M2===void 0||M2===null||M2==="")return null;const $t=A2(Le,M2,ze.unit||ze.dw||"");return{key:y2,name:$t.name,value:$t.value,unit:$t.unit,icon:ze.icon||["town","area","yield","rate"][Qe%4]}}).filter(Boolean)}function _2(me,ze){const Qe=String(me||ze||""),y2=String(ze||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test(y2)||/户均.*牦牛|牦牛.*户均/.test(Qe)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test(y2)||/户均.*草地|草地.*户均/.test(Qe)?"户均草地面积":/income|revenue|人均收入/.test(y2)||Qe.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test(y2)||Qe.includes("防反贫")||Qe.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test(y2)||Qe.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test(y2)||Qe.includes("牧户数量")?"牧户数量":/yak/.test(y2)||Qe.includes("牦牛")?null:/grass/.test(y2)||Qe.includes("草地面积")?"草地面积":/wet/.test(y2)||Qe.includes("湿地")?"湿地面积":Qe.includes("牧户")||Qe.includes("牧场")?"牧户数量":/project/.test(y2)||Qe.includes("工程")||Qe.includes("项目")?"工程数量":/base/.test(y2)||Qe.includes("基地")?"基地数量":Qe}function A2(me,ze,Qe){const y2=Number(ze)||0;return me==="户均牦牛头数"?{name:me,value:y2,unit:Qe||"头"}:me==="户均草地面积"?{name:me,value:y2,unit:Qe||"亩"}:me==="人均收入"?{name:me,value:y2,unit:Qe||"元/年"}:me==="联户数量"||me==="防反贫监测户"?{name:me,value:y2,unit:Qe||"户"}:(me.includes("草地")||me.includes("湿地"))&&!String(Qe).includes("万")?{name:me,value:Math.round(y2/1e4*100)/100,unit:"万亩"}:me.includes("牧户")?{name:me,value:y2,unit:Qe||"户"}:me.includes("工程")||me.includes("项目")||me.includes("基地")?{name:me,value:y2,unit:Qe||"个"}:{name:me,value:y2,unit:Qe}}function Z(me){return me==="草地面积"||me==="湿地面积"||me==="区域数量"||me==="牦牛数量"}function ee(me=[]){return(Array.isArray(me)?me:[]).map(ze=>{const Qe=Ue(ze,["areaName","area_name","name","townName","zoneName"]),y2=Ue(ze,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!Qe||y2===void 0||y2===null||y2===""?null:{key:ze.code||ze.areaCode||ze.area_code||Qe,name:Qe,value:Number(y2)||0,unit:"户"}}).filter(Boolean).sort((ze,Qe)=>Qe.value-ze.value)}function Ge(me=[]){return(Array.isArray(me)?me:[]).map(ze=>{const Qe=Ue(ze,["areaName","area_name","name","townName","zoneName"]),y2=Number(Ue(ze,["registeredMuhuCount","registered_muhu_count","registeredCount"])),ct=Number(Ue(ze,["muhuCount","muhu_count","onlineCount"])),Le=Ue(ze,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),M2=Le!=null&&Le!==""?Le:y2>0?ct/y2*100:void 0;return!Qe||M2===void 0||M2===null||M2===""?null:{key:ze.code||ze.areaCode||ze.area_code||Qe,name:Qe,value:Number(String(M2).replace("%",""))||0,unit:"%",extra:Number.isFinite(ct)&&Number.isFinite(y2)&&y2>0?`${ct}/${y2}户`:ze.extra}}).filter(Boolean).slice(0,7)}function T2(me=[]){const ze=new Map;return(Array.isArray(me)?me:[]).forEach(Qe=>{const y2=Ue(Qe,["ageRange","age_range","age","name","label"]),ct=Ue(Qe,["number","value","count","num"]);!y2||ct===void 0||ct===null||ct===""||ze.set(y2,(ze.get(y2)||0)+(Number(ct)||0))}),Array.from(ze.entries()).map(([Qe,y2])=>({key:Qe,name:Qe,value:y2,unit:"人"}))}function z2(me=[]){const ze=new Map;return(Array.isArray(me)?me:[]).forEach(Qe=>{const y2=Ue(Qe,["sex","gender","name"]),ct=Ue(Qe,["number","value","count","num"]);if(!y2||ct===void 0||ct===null||ct==="")return;const Le=String(y2).includes("女")?"女":String(y2).includes("男")?"男":y2;ze.set(Le,(ze.get(Le)||0)+(Number(ct)||0))}),Array.from(ze.entries()).map(([Qe,y2])=>({key:Qe,name:Qe,value:y2,unit:"人"}))}function Te(me=[]){return(Array.isArray(me)?me:[]).map((ze,Qe)=>{const y2=Ue(ze,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!y2)return null;const ct=yt(ze),Le=Ne(ze)||u2(ct),M2=ut(ze),$t=it(ze,ct)||jt(ze,y2,M2),we=Z2(b2({},ze),{key:ze.key||ze.id||ze.pasturesId||ze.pastures_id||`${y2}-${Qe}`,id:M2||ze.id||ze.pastureId||ze.pasturesId||ze.pastures_id||ze.muhuId||ze.key,realPastureId:M2,name:y2,township:$t||"--",grasslandArea:Le,acreage:Le,grasslands:ct});return we.canLocate=!!(M2||ct.some(_t)||_t(ze)),we.locateText=we.canLocate?"定位":"--",we.value=we.grasslandArea,we.unit="亩",we.searchText=[we.name,we.township,we.id].filter(Boolean).join(" "),we}).filter(Boolean).sort(Xe)}function $e(me=[]){return[...Array.isArray(me)?me:[]].map(ze=>Z2(b2({},ze),{grasslandArea:Ne(ze),acreage:Ne(ze)})).sort(Xe)}function Xe(me,ze){const Qe=Ne(me),y2=Ne(ze),ct=Qe>0?1:0,Le=y2>0?1:0;if(ct!==Le)return Le-ct;const M2=Ht(me)?1:0,$t=Ht(ze)?1:0;return M2!==$t?$t-M2:Qe!==y2?y2-Qe:String((me==null?void 0:me.name)||"").localeCompare(String((ze==null?void 0:ze.name)||""),"zh-CN")}function Ne(me={}){const Qe=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(ct=>P2(me==null?void 0:me[ct]));return Qe.find(ct=>ct>0)||Qe.find(ct=>ct===0)||0}function u2(me=[]){return(Array.isArray(me)?me:[]).reduce((ze,Qe)=>ze+Ne(Qe),0)}function P2(me){if(typeof me=="number")return Number.isFinite(me)?me:0;const ze=String(me!=null?me:"").trim();if(!ze||ze==="--")return 0;const Qe=ze.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!Qe)return 0;const y2=Number(Qe[0]);return Number.isFinite(y2)?ze.includes("万")?y2*1e4:y2:0}function d2(me=[]){return pt(me,ze=>Number(ze.grasslandArea)||0,"万亩",ze=>Math.round(ze/1e4*100)/100)}function st(me=[]){const ze=new Map;return(Array.isArray(me)?me:[]).forEach(Qe=>{const y2=(Qe==null?void 0:Qe.township)||(Qe==null?void 0:Qe.areaName)||(Qe==null?void 0:Qe.area_name);if(!y2||y2==="--")return;const ct=ze.get(y2)||{key:`${y2}-season`,name:y2,values:{summer:0,winter:0},total:0,unit:"万亩"};ct.values.summer+=Number(Ue(Qe,["summerAcreage","summer_acreage","summerArea","summer_area"]))||0,ct.values.winter+=Number(Ue(Qe,["winterAcreage","winter_acreage","winterArea","winter_area"]))||0,ct.total=ct.values.summer+ct.values.winter,ze.set(y2,ct)}),Array.from(ze.values()).filter(Qe=>Qe.total>0).map(Qe=>Z2(b2({},Qe),{value:Math.round(Qe.total/1e4*100)/100,values:{summer:Math.round(Qe.values.summer/1e4*100)/100,winter:Math.round(Qe.values.winter/1e4*100)/100}})).sort((Qe,y2)=>y2.value-Qe.value)}function pt(me=[],ze,Qe,y2=ct=>ct){const ct=new Map;return(Array.isArray(me)?me:[]).forEach(Le=>{const M2=(Le==null?void 0:Le.township)||(Le==null?void 0:Le.areaName)||(Le==null?void 0:Le.area_name);if(!M2||M2==="--")return;const $t=ct.get(M2)||{key:M2,name:M2,value:0,unit:Qe},we=ze(Le);$t.value+=Number(we)||0,ct.set(M2,$t)}),Array.from(ct.values()).map(Le=>Z2(b2({},Le),{value:y2(Le.value)})).filter(Le=>Number.isFinite(Le.value)&&Le.value>0).sort((Le,M2)=>M2.value-Le.value)}function yt(me={}){const ze=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(ct=>{const Le=me==null?void 0:me[ct];Array.isArray(Le)?ze.push(...Le):Array.isArray(Le==null?void 0:Le.rows)?ze.push(...Le.rows):Array.isArray(Le==null?void 0:Le.list)?ze.push(...Le.list):Array.isArray(Le==null?void 0:Le.data)&&ze.push(...Le.data)});const y2=Ue(me,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(y2||me!=null&&me.geometry)&&ze.push(Z2(b2({},me),{id:(me==null?void 0:me.grasslandId)||(me==null?void 0:me.gid)||(me==null?void 0:me.id),pastureId:(me==null?void 0:me.pastureId)||(me==null?void 0:me.pasturesId)||(me==null?void 0:me.pastures_id)||(me==null?void 0:me.muhuId)||(me==null?void 0:me.id),name:(me==null?void 0:me.grasslandName)||(me==null?void 0:me.name),wkt:y2,geometry:me==null?void 0:me.geometry})),ze.filter(Boolean)}function _t(me={}){var ze,Qe;return typeof me=="string"?!!me.trim():(me==null?void 0:me.type)==="Feature"||me!=null&&me.type&&(me!=null&&me.coordinates)||(ze=me==null?void 0:me.geometry)!=null&&ze.type||(Qe=me==null?void 0:me.geometry)!=null&&Qe.coordinates||typeof(me==null?void 0:me.geometry)=="string"?!0:!!Ue(me,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function ut(me={}){const ze=(me==null?void 0:me.realPastureId)||(me==null?void 0:me.pastureId)||(me==null?void 0:me.pasturesId)||(me==null?void 0:me.pastures_id)||(me==null?void 0:me.muhuId)||(me==null?void 0:me.id);return ze==null||ze===""?null:ze}function Ht(me={}){return me!=null&&me.canLocate||ut(me)||_t(me)?!0:yt(me).some(_t)}function Ue(me={},ze=[]){for(const Qe of ze){const y2=me==null?void 0:me[Qe];if(y2!=null&&y2!=="")return y2}}function it(me={},ze=[]){const Qe=Ue(me,["township","townName","town_name","areaName","area_name","zoneName","zone_name"]);if(Qe)return St(Qe);const y2=lt(Ue(me,["areaCode","area_code","townCode","town_code","code"]));if(y2)return y2;for(const Le of ze){const M2=Ue(Le,["township","townName","town_name","areaName","area_name","zoneName","zone_name"]);if(M2)return St(M2);const $t=lt(Ue(Le,["areaCode","area_code","townCode","town_code","code"]));if($t)return $t}const ct=at(me);if(ct)return ct;for(const Le of ze){const M2=at(Le);if(M2)return M2}return""}function St(me){const ze=String(me||"").trim();if(!ze||ze==="--")return"";if(m[ze])return m[ze];const Qe=lt(ze);return Qe||ze}function jt(me={},ze="",Qe=""){const y2=[Qe,me.realPastureId,me.pastureId,me.pasturesId,me.pastures_id,me.muhuId,me.id];for(const Le of y2){const M2=v[String(Le||"").trim()];if(M2)return St(M2)}const ct=[ze,me.name,me.pasturesName,me.pastures_name,me.muhuName,me.muhu_name,me.pastureName,me.pasture_name];for(const Le of ct){const M2=g[Ve(Le)];if(M2)return St(M2)}return""}function Ve(me){return String(me||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function lt(me){const ze=String(me||"").trim();if(!ze)return"";const Qe=ze.replace(/\D/g,"");return Qe&&(oOe(Qe)||m[Qe]||m[Qe.slice(0,9)])||""}function at(me={}){const ze=kt(me),Qe=Re(ze);if(!Qe)return"";const y2=_.find(ct=>et(Qe,ct.geometry));return y2!=null&&y2.name?St(y2.name):""}function kt(me={}){var y2,ct;if((me==null?void 0:me.type)==="Feature")return kt(me.geometry);if(me!=null&&me.type&&(me!=null&&me.coordinates))return me;if((y2=me==null?void 0:me.geometry)!=null&&y2.type||(ct=me==null?void 0:me.geometry)!=null&&ct.coordinates)return me.geometry;const ze=Ue(me,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!ze||typeof ze!="string")return null;const Qe=ze.trim();if(!Qe)return null;if(Qe.startsWith("{")||Qe.startsWith("["))try{const Le=JSON.parse(Qe);return kt(Le)}catch(Le){return null}return Pt(Qe)}function Pt(me){var Le;const ze=String(me||"").trim(),Qe=ze.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),y2=(Le=Qe==null?void 0:Qe[1])==null?void 0:Le.toUpperCase();if(!y2)return null;const ct=ze.slice(ze.indexOf("("));return y2==="POINT"?{type:"Point",coordinates:wt(ct)}:y2==="MULTIPOINT"?{type:"MultiPoint",coordinates:rt(ct).map(wt).filter(Boolean)}:y2==="LINESTRING"?{type:"LineString",coordinates:l2(ct)}:y2==="MULTILINESTRING"?{type:"MultiLineString",coordinates:rt(ct).map(l2).filter(M2=>M2.length)}:y2==="POLYGON"?{type:"Polygon",coordinates:Y2(ct)}:y2==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:rt(ct).map(Y2).filter(M2=>M2.length)}:null}function wt(me){const ze=String(me||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return ze.length>=2&&Number.isFinite(ze[0])&&Number.isFinite(ze[1])?[ze[0],ze[1]]:null}function l2(me){return String(me||"").replace(/^\(+|\)+$/g,"").split(",").map(wt).filter(Boolean)}function Y2(me){return rt(me).map(l2).filter(ze=>ze.length>=3)}function rt(me){const ze=[];let Qe=0,y2=-1;return Array.from(String(me||"")).forEach((ct,Le)=>{ct==="("?(Qe===0&&(y2=Le+1),Qe+=1):ct===")"&&(Qe-=1,Qe===0&&y2>=0&&(ze.push(me.slice(y2,Le)),y2=-1))}),ze.length?ze:[String(me||"")]}function Ft(me){try{const ze=typeof me=="string"?JSON.parse(me):me;return((ze==null?void 0:ze.features)||[]).map(Qe=>{var y2,ct,Le,M2;return{name:((y2=Qe==null?void 0:Qe.properties)==null?void 0:y2.name)||((ct=Qe==null?void 0:Qe.properties)==null?void 0:ct.areaName)||((Le=Qe==null?void 0:Qe.properties)==null?void 0:Le.townName),code:(M2=Qe==null?void 0:Qe.properties)==null?void 0:M2.code,geometry:Qe==null?void 0:Qe.geometry}}).filter(Qe=>{var y2;return Qe.name&&((y2=Qe.geometry)==null?void 0:y2.coordinates)})}catch(ze){return[]}}function Re(me){const ze=s2(me);if(!ze.length)return null;const Qe=ze.reduce((y2,ct)=>({lng:y2.lng+ct[0],lat:y2.lat+ct[1]}),{lng:0,lat:0});return[Qe.lng/ze.length,Qe.lat/ze.length]}function s2(me){const ze=[],Qe=y2=>{if(Array.isArray(y2)){if(y2.length>=2&&Number.isFinite(Number(y2[0]))&&Number.isFinite(Number(y2[1]))){ze.push([Number(y2[0]),Number(y2[1])]);return}y2.forEach(Qe)}};return Qe(me==null?void 0:me.coordinates),ze}function et(me,ze){return!me||!(ze!=null&&ze.coordinates)?!1:ze.type==="Polygon"?P3(me,ze.coordinates):ze.type==="MultiPolygon"?ze.coordinates.some(Qe=>P3(me,Qe)):!1}function P3(me,ze){var M2,$t,we,n2;const Qe=ze==null?void 0:ze[0];if(!Array.isArray(Qe)||Qe.length<3)return!1;let y2=!1;const ct=me[0],Le=me[1];for(let E2=0,D2=Qe.length-1;E2<Qe.length;D2=E2++){const L2=Number((M2=Qe[E2])==null?void 0:M2[0]),Ot=Number(($t=Qe[E2])==null?void 0:$t[1]),n3=Number((we=Qe[D2])==null?void 0:we[0]),l3=Number((n2=Qe[D2])==null?void 0:n2[1]);Ot>Le!=l3>Le&&ct<(n3-L2)*(Le-Ot)/(l3-Ot||1e-12)+L2&&(y2=!y2)}return y2}return(me,ze)=>{var Qe;return Ae(),Pe("div",VZe,[ft(iu,{ref_key:"mapSceneRef",ref:r,class:"pasture-map-scene","active-layer":C.value,"map-ranking":G.value,onSceneMounted:Ce},null,8,["active-layer","map-ranking"]),ze[2]||(ze[2]=B("div",{class:"pasture-map-scrim"},null,-1)),a.value?Lt("",!0):(Ae(),Pe("div",HZe,"3D地图加载中")),B("div",WZe,[B("div",jZe,[B("div",$Ze,[ft(M3,{class:"pasture-side-card left-card",title:"牧户区域统计",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:W.value,compact:""},null,8,["panel"])]),_:1}),ft(M3,{class:"pasture-side-card left-card",title:"草地面积分布",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:Y.value,compact:""},null,8,["panel"])]),_:1}),ft(M3,{class:"pasture-side-card left-card",title:"夏冬草场面积",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:Q.value,compact:""},null,8,["panel"])]),_:1}),ft(M3,{class:"pasture-side-card left-card",title:"牧户上线率",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:K.value,compact:""},null,8,["panel"])]),_:1})])]),B("div",qZe,[B("div",XZe,[ft(M3,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:ae.value,compact:""},null,8,["panel"])]),_:1}),ft(M3,{class:"pasture-side-card right-card",title:"牧户性别统计",width:O9,height:B9},{default:m3(()=>[ft(Ar,{panel:ie.value,compact:""},null,8,["panel"])]),_:1}),ft(M3,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:O9,height:i},{default:m3(()=>[ft(Ar,{panel:he.value,compact:"",onRowSelect:X2},null,8,["panel"])]),_:1})])]),B("div",YZe,[ft(HR,{modelValue:l.value,"onUpdate:modelValue":ze[0]||(ze[0]=y2=>l.value=y2),"selected-legend-key":u.value,"onUpdate:selectedLegendKey":ze[1]||(ze[1]=y2=>u.value=y2),"topic-key":"grassland",layers:S.value,legends:((Qe=C.value)==null?void 0:Qe.legends)||[],width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])])])])}}},CM=[{key:"family-pasture",name:"家庭生态牧场",color:"#24f6c4",unit:"户",metricLabel:"牧场",width:126},{key:"artificial-grassland",name:"人工草地",color:"#7ee269",unit:"万亩",metricLabel:"草地",width:112},{key:"scale-breeding",name:"规模化养殖基地",subName:"牦牛选育场",color:"#32dcff",unit:"个",metricLabel:"基地",width:132},{key:"forage-storage",name:"防灾减灾",subName:"饲草储备库",color:"#ffe06b",unit:"个",metricLabel:"库点",width:126},{key:"slaughter-processing",name:"屠宰与加工",color:"#ff9a62",unit:"家",metricLabel:"主体",width:112},{key:"farm-equipment",name:"农机装备",color:"#30dcff",unit:"套",metricLabel:"装备",width:112},{key:"social-service",name:"社会化服务",subName:"金融/疫病/银行/保险/培训",color:"#9ea7ff",unit:"个",metricLabel:"主体",width:132}],ote=[{key:"support-disaster-001",name:"嚷口防灾减灾饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"刷经寺镇",address:"壤口村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.489619,latitude:32.20577086},{key:"support-disaster-002",name:"安曲防灾减灾饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"安曲镇",address:"夺龙村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.3283137,latitude:32.63727531},{key:"support-disaster-003",name:"瓦切唐日合作社饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"瓦切镇",address:"唐日村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.6162349,latitude:33.11047864},{key:"support-disaster-004",name:"瓦切牧草交易中心饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"瓦切镇",address:"达俄村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.6014834,latitude:33.09604707},{key:"support-disaster-005",name:"龙日坝龙日坝村 1 饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"龙日镇",address:"龙日坝村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.383916,latitude:32.44992916},{key:"support-disaster-006",name:"龙日坝龙日坝村 2 饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"龙日镇",address:"龙日坝村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.3834086,latitude:32.45041994},{key:"support-disaster-007",name:"江茸乡饲草储备库",stageKey:"forage-storage",typeName:"防灾减灾饲草储备库",capacity:1500,capacityUnit:"吨",town:"江茸乡",address:"茸日玛村",status:"正常运营",products:"燕麦草、披碱草、老芒麦",longitude:102.256868,latitude:32.46996565}],uL=[{key:"support-processing-001",name:"西部牦牛产业集团有限责任公司",stageKey:"slaughter-processing",typeName:"乳制品加工",capacity:3e3,capacityUnit:"吨",outputValue:3e4,town:"邛溪镇",address:"瑞庆西路37号",status:"存续(在营)",products:"牦牛奶粉",longitude:102.5292,latitude:32.7917},{key:"support-processing-002",name:"四川红原菊乐牦牛乳业有限公司",stageKey:"slaughter-processing",typeName:"乳制品加工",capacity:4e3,capacityUnit:"吨",outputValue:7e3,town:"邛溪镇",address:"瑞庆东路76号附6号",status:"存续(在营)",products:"圣舟牦牛奶",longitude:102.5666,latitude:32.8179},{key:"support-processing-003",name:"四川雅克乳业有限公司",stageKey:"slaughter-processing",typeName:"乳制品加工",capacity:1e3,capacityUnit:"吨",outputValue:3e3,town:"邛溪镇",address:"瑞庆西路",status:"存续(在营)",products:"牦牛酸奶、牦牛奶粉",longitude:102.5315,latitude:32.7921},{key:"support-processing-004",name:"四川红原遛遛牛食品有限责任公司",stageKey:"slaughter-processing",typeName:"肉制品加工",capacity:4500,capacityUnit:"吨",outputValue:8e3,town:"邛溪镇",address:"瑞庆东路72号",status:"存续(在营)",products:"风干牦牛肉、卤制牦牛肉",longitude:102.5592,latitude:32.8151},{key:"support-processing-005",name:"四川红原黑帐篷牦牛肉食品有限责任公司",stageKey:"slaughter-processing",typeName:"肉制品加工",capacity:300,capacityUnit:"吨",outputValue:1e3,town:"邛溪镇",address:"瑞庆中路",status:"存续(在营)",products:"风干牦牛肉、牦牛肉礼包",longitude:102.551,latitude:32.7987},{key:"support-processing-006",name:"红原御坊斋牦牛肉制品厂",stageKey:"slaughter-processing",typeName:"肉制品加工",capacity:200,capacityUnit:"吨",outputValue:600,town:"邛溪镇",address:"阳嘎北街",status:"存续(在营)",products:"牛肉干、牦牛肉粒",longitude:102.5431,latitude:32.7962},{key:"support-processing-007",name:"四川牦牛火了生态农业科技有限公司",stageKey:"slaughter-processing",typeName:"肉制品加工",capacity:0,capacityUnit:"吨",outputValue:500,town:"邛溪镇",address:"瑞庆中路13号附1号",status:"存续(在营)",products:"包装牦牛肉干",longitude:102.5402,latitude:32.7958}],JZe=2618,QZe=220605,rj=zR.reduce((n,e)=>n+Number(e.devices||0),0),eJe=ote.reduce((n,e)=>n+Number(e.capacity||0),0),tJe=uL.reduce((n,e)=>n+Number(e.capacity||0),0);uL.reduce((n,e)=>n+Number(e.outputValue||0),0);new Set(Bh.map(n=>n.zoneName)).size;Vo.herdsmanCount,aj(Vo.grasslandArea),aj(Vo.grasslandArea),Vo.baseCount,ote.length,uL.length;function nJe(n){return CM.find(e=>e.key===n)||CM[0]}function aj(n){const e=Number(n||0)/1e4;return Number(e.toFixed(1))}const iJe={class:"yak-industry-chain"},rJe={key:0,class:"industry-map-loading"},aJe={class:"industry-point-detail__head"},oJe={class:"industry-point-detail__name"},sJe={class:"industry-point-detail__grid"},lJe={class:"industry-bottom-switcher"},uJe={__name:"index",emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=e,i=H2("family-pasture"),r=H2(null),a=H2(!1),o=H2(null),s=H2({x:0,y:0});let l=null,u=!1;const c=Ye(()=>nJe(i.value)),d=Ye(()=>{var P;const D=Oh("yak-industry-chain","yak-industry-points"),E=(P=D==null?void 0:D.legends)==null?void 0:P.find(F=>{var V;return((V=F.match)==null?void 0:V.value)===i.value});return D&&Z2(b2({},D),{activeLegend:E||{key:`yak-industry-empty-${i.value}`,name:c.value.name,fillColor:c.value.color,strokeColor:c.value.color,match:{field:"stageKey",value:i.value}}})}),h=Ye(()=>CM.map(D=>({key:D.key,name:D.name,color:D.color,width:D.width}))),f=Ye(()=>({showTownNames:!0,showBars:!1,showPointMarkers:!1,title:`${c.value.name}排行`,metricLabel:c.value.metricLabel,unit:c.value.unit,rows:[]})),p=Ye(()=>{const D=o.value;return D?[{label:"所属环节",value:M(D.stageName)},{label:"点位类型",value:M(D.categoryName)},{label:"所在乡镇",value:M(D.town)},{label:"村/地址",value:M(D.village||D.address)},{label:"能力规模",value:C(D)},{label:"联系人",value:M(D.contactName)},{label:"联系电话",value:M(D.contactPhone)},{label:"运行状态",value:M(D.status)}].filter(E=>E.value!==void 0&&E.value!==null&&String(E.value).trim()!==""):[]}),m=Ye(()=>{var D,E;return M(((D=o.value)==null?void 0:D.categoryName)||((E=o.value)==null?void 0:E.stageName))}),v=Ye(()=>{var D;return M((D=o.value)==null?void 0:D.name)}),g=Ye(()=>{const V={x:Math.max(24,Math.min(1896,Number(s.value.x||0))),y:Math.max(24,Math.min(1056,Number(s.value.y||0)))},G=V.x>1320,W=G?Math.max(24,V.x-430-28):Math.min(1920-430-24,V.x+28),Y=Math.min(Math.max(V.y-252/2,128),1080-252-116),Q=Math.min(Math.max(V.y-Y,42),252-38);return{left:`${W}px`,top:`${Y}px`,"--point-arrow-top":`${Q}px`,"--point-arrow-side":G?"100%":"0px","--point-arrow-offset":G?"-1px":"-9px","--point-arrow-rotate":G?"-45deg":"135deg"}});cr(S),Or(()=>{var D,E;u=!0,(E=(D=r.value)==null?void 0:D.destroyMap)==null||E.call(D)});function _(D){i.value=D,A()}function S(){var E,P,F;l=new ru,t("loading-progress",{progress:0}),(P=(E=l.instance)==null?void 0:E.on)==null||P.call(E,"onProgress",(V,G,W)=>{t("loading-progress",{progress:Math.floor(G/(W||1)*100),path:V,itemsLoaded:G,itemsTotal:W})});const D=(V=0)=>J2(this,null,function*(){var W,Y;if(u)return;yield Ji();const G=r.value;if((W=G==null?void 0:G.loadMap)==null||W.call(G,l),G!=null&&G.canvasMap){a.value=!0,t("loading-progress",{progress:100}),t("map-ready"),(Y=G.play)==null||Y.call(G);return}if(V<24){window.setTimeout(()=>D(V+1),120);return}a.value=!0,t("map-ready")});(F=l.ready)==null||F.then(D).catch(()=>{a.value=!0,t("map-ready")})}function x(D={}){var P;const E=((P=D.feature)==null?void 0:P.properties)||{};if(E.stageKey){o.value=E,s.value=I(D.screen);return}o.value=null}function A(){var E,P,F,V;o.value=null;const D=((P=(E=r.value)==null?void 0:E.canvasMap)==null?void 0:P.value)||((F=r.value)==null?void 0:F.canvasMap);(V=D==null?void 0:D.clearSelectedFeature)==null||V.call(D)}function C(D){return D.capacity===void 0||D.capacity===null||D.capacity===""?"":`${D.capacity}${D.capacityUnit||""}`}function M(D){return String(D!=null?D:"").replace(/\bcxpt[-_./\s]*/gi,"").replace(/\s+/g," ").trim()}function I(D={}){var Y;const E=document.querySelector("#large-screen"),P=(Y=E==null?void 0:E.getBoundingClientRect)==null?void 0:Y.call(E),F=P!=null&&P.width?1920/P.width:1,V=P!=null&&P.height?1080/P.height:1,G=(P==null?void 0:P.left)||0,W=(P==null?void 0:P.top)||0;return{x:(Number(D.x)-G)*F,y:(Number(D.y)-W)*V}}return(D,E)=>(Ae(),Pe("div",iJe,[ft(iu,{ref_key:"mapSceneRef",ref:r,class:"industry-map-scene","active-layer":d.value,"map-ranking":f.value,onFeatureInfo:x},null,8,["active-layer","map-ranking"]),E[0]||(E[0]=B("div",{class:"industry-map-scrim"},null,-1)),a.value?Lt("",!0):(Ae(),Pe("div",rJe,"3D地图加载中")),o.value?(Ae(),Pe("div",{key:1,class:"industry-point-detail",style:J3(g.value)},[B("div",aJe,[B("span",null,Fe(m.value),1),B("button",{type:"button",title:"关闭",onClick:A},"×")]),B("div",oJe,Fe(v.value),1),B("div",sJe,[(Ae(!0),Pe(bt,null,Nt(p.value,P=>(Ae(),Pe("div",{key:P.label,class:"industry-point-detail__row"},[B("span",null,Fe(P.label),1),B("strong",null,Fe(P.value),1)]))),128))])],4)):Lt("",!0),B("div",lJe,[ft(__,{"model-value":i.value,topics:h.value,"onUpdate:modelValue":_},null,8,["model-value","topics"])])]))}},A_="/openApi";function cJe(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function C_(n,e,t,i={}){return oo(cJe(n,e),{params:t,timeout:i.timeout}).then(dJe)}function dJe(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return k3(n)}function hJe(n,e=window.location.hash||window.location.pathname,t="智慧管理"){return C_(A_,"/ai/stat/question",{question:n,pagePath:e,pageName:t},{timeout:45e3})}function fJe(n){return C_(A_,"/ai/balance/targets",{question:n},{timeout:18e3}).then(e=>Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[])}function pJe({areaCode:n,pasturesId:e}={}){return C_(A_,"/ai/balance/advice",{areaCode:n,pasturesId:e},{timeout:18e3})}function vJe(){return C_(A_,"/ai/balance/welcome",void 0,{timeout:12e3})}const mJe="/openApi";function gJe(n){return/^https?:\/\//.test(n)?n:`${mJe}${n.startsWith("/")?n:`/${n}`}`}function yJe(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"图表接口请求失败");throw t.code=n==null?void 0:n.code,t}return k3(n)}function _Je(i){return J2(this,arguments,function*(n,e=window.location.hash||window.location.pathname,t="智慧管理"){const r=yield oo(gJe("/ai/stat/charts"),{params:{question:n,pagePath:e,pageName:t},timeout:3e4}).then(yJe);return(Array.isArray(r==null?void 0:r.charts)?r.charts:[]).map(SJe).filter(o=>o.rows.length)})}function SJe(n,e){const t=Array.isArray(n==null?void 0:n.rows)?n.rows:[];return{id:(n==null?void 0:n.id)||`smart-chart-${e}`,type:bJe(n==null?void 0:n.type),title:(n==null?void 0:n.title)||`统计图表${e+1}`,subtitle:(n==null?void 0:n.subtitle)||xJe(n==null?void 0:n.source),unit:(n==null?void 0:n.unit)||"",source:(n==null?void 0:n.source)||{},rows:t.map((i,r)=>({key:(i==null?void 0:i.key)||`${(i==null?void 0:i.name)||"row"}-${r}`,name:String((i==null?void 0:i.name)||`指标${r+1}`),value:wJe(i==null?void 0:i.value),rawValue:i==null?void 0:i.value,unit:(i==null?void 0:i.unit)||(n==null?void 0:n.unit)||"",extra:(i==null?void 0:i.extra)||""})).filter(i=>i.name&&Number.isFinite(i.value))}}function bJe(n){return["pie","donut"].includes(n)?"pie":["line","trend"].includes(n)?"line":"bar"}function xJe(n={}){const e=n.table?`来源:${n.table}`:"来源:openApi 统计库",t=n.period?`,${n.period}`:"";return`${e}${t}`}function wJe(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const TJe={class:"wisdom-management"},AJe={class:"wisdom-chat"},CJe={key:0,class:"wisdom-empty-state"},MJe={class:"wisdom-prompt-grid"},EJe=["disabled","onClick"],PJe={key:0,class:"wisdom-message-mark"},RJe={class:"wisdom-bubble"},LJe={key:0,class:"wisdom-steps"},IJe={key:1,class:"wisdom-digesting"},DJe={key:2,class:"wisdom-chart-list"},NJe={key:3,class:"wisdom-insight-list"},kJe=["innerHTML"],FJe={key:5,class:"wisdom-stream-caret"},OJe={key:6,class:"wisdom-suggestion-list"},BJe=["disabled","onClick"],zJe={key:7,class:"wisdom-choice-list"},GJe=["disabled","onClick"],UJe={class:"wisdom-input-shell"},VJe=["disabled"],HJe=["disabled"],WJe={key:0,class:"wisdom-button-loading"},jJe={__name:"index",setup(n){const e=dae({loader:()=>hae(()=>import("./SmartChartRenderer-beccabe3-1782921062964.js"),["./SmartChartRenderer-beccabe3-1782921062964.js","./index-1782921062964.js","./index-47d6f37a-balabala-1782921062964.css","./SmartChartRenderer-8fd37aa6-balabala-1782921062964.css"],import.meta.url),loadingComponent:{template:'<div class="smart-chart-loading">正在绘制统计图表</div>'}}),t=H2(""),i=H2([]),r=H2(!1),a=H2(null),o=H2("可以直接询问牦牛数量、草地面积、牧户情况、饲草产量、林地面积、基地分布、畜群结构和交易流通等统计问题。"),s=[{label:"牦牛分布",question:"牦牛分布"},{label:"畜群结构",question:"牦牛结构占比"},{label:"草地面积",question:"草地面积分布"},{label:"草畜平衡",question:"红原县草畜平衡建议"},{label:"湿地类型",question:"湿地类型结构"},{label:"公益林保护",question:"公益林保护等级统计"}];let l=null;cr(()=>{vJe().then(Q=>{const K=(Q==null?void 0:Q.value)||(Q==null?void 0:Q.text)||Q;typeof K=="string"&&K.trim()&&(o.value=K)}).catch(()=>{})}),Or(()=>{P()});function u(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function c(){return J2(this,arguments,function*(Q=t.value){const K=String(Q||"").trim();if(!K||r.value)return;const ae={id:u(),role:"user",text:K},ie={id:u(),role:"assistant",steps:[`正在理解:${K}`],digesting:!0,digestText:"小牧正在匹配业务数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};if(i.value=[...i.value,ae,ie],t.value="",r.value=!0,yield W(),m(K)){yield h(K,ie.id);return}yield d(K,ie.id)})}function d(Q,K){return J2(this,null,function*(){M(K,{digestText:"正在理解问题并查询统计库"});const ae=hJe(Q,window.location.hash||window.location.pathname,"智慧管理"),ie=_Je(Q,window.location.hash||window.location.pathname,"智慧管理"),[he,Ee]=yield Promise.allSettled([ae,ie]),je=Ee.status==="fulfilled"?Ee.value||[]:[],xe=Ee.status==="rejected"?Ee.reason:null;if(he.status==="fulfilled"){const Oe=he.value,f2=(Oe==null?void 0:Oe.answer)||"小牧暂时没有查到相关统计数据,可以换一种说法再问一次。",B2=[`正在理解:${Q}`,"已查询统计库","已生成统计回答"];je.length?B2.push(`已生成 ${je.length} 个数据图表`):xe&&B2.push("图表生成暂时不可用"),M(K,{digesting:!1,steps:B2,insights:je.length?A(je):[],suggestions:C(Q,je),allowFollowUp:!0}),E(K,xe?`${f2} |
|
|
|
|
|
**图表状态** |
|
|
- ${D(xe,"图表接口暂时不可用,已先返回文字分析。")}`:f2,je);return}if(je.length){M(K,{digesting:!1,steps:[`正在理解:${Q}`,"已查询统计库",`已生成 ${je.length} 个数据图表`,"文字分析暂时不可用"],insights:A(je),suggestions:C(Q,je),allowFollowUp:!0}),E(K,"文字分析服务暂时没有返回结果,已按统计库真实数据生成可视化图表。",je);return}I(K,D(he.reason,"小牧暂时没有获取到统计结果,请稍后再试。"))})}function h(Q,K){return J2(this,null,function*(){M(K,{digestText:"正在检索草畜平衡对象"});try{const ae=yield fJe(Q),ie=v(ae);if(!ie.length){M(K,{digesting:!1,steps:[`正在理解:${Q}`,"未匹配到草畜平衡对象"]}),E(K,"暂时没有匹配到对应的区域或牧户。可以输入更明确的乡镇、村名、牧户或牧场名称,例如“红原县草畜平衡建议”。");return}if(ie.length>1){M(K,{digesting:!1,steps:[`正在理解:${Q}`,"已匹配多个对象,请选择一个继续"],choices:ie.slice(0,8)}),r.value=!1;return}yield p(ie[0],K)}catch(ae){I(K,D(ae,"草畜平衡对象检索失败,请稍后再试。"))}})}function f(Q){return J2(this,null,function*(){if(r.value)return;const K=Q.name||Q.label||"草畜平衡建议",ae={id:u(),role:"user",text:K},ie={id:u(),role:"assistant",steps:[`已选择:${K}`],digesting:!0,digestText:"正在消化草畜平衡数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};i.value=[...i.value,ae,ie],r.value=!0,yield W(),yield p(Q,ie.id)})}function p(Q,K){return J2(this,null,function*(){const ae=(Q==null?void 0:Q.name)||(Q==null?void 0:Q.label)||"该区域",ie=g(Q);M(K,{steps:[`已锁定:${ae}`,"正在消化草畜平衡数据"],digestText:"正在生成平衡建议"});try{const he=yield pJe(ie);M(K,{digesting:!1,steps:[`已锁定:${ae}`,"已生成草畜平衡建议"]}),E(K,_(ae,he||{}))}catch(he){I(K,D(he,"小牧刚才没有消化成功,请稍后再问一次。"))}})}function m(Q){return/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧|牧场建议|牧户建议/.test(Q)}function v(Q=[]){return Q.map((K,ae)=>({key:(K==null?void 0:K.key)||(K==null?void 0:K.type)||"area_code",value:(K==null?void 0:K.value)||(K==null?void 0:K.id)||(K==null?void 0:K.code)||(K==null?void 0:K.areaCode)||(K==null?void 0:K.pasturesId),name:(K==null?void 0:K.name)||(K==null?void 0:K.label)||(K==null?void 0:K.areaName)||(K==null?void 0:K.pasturesName)||`对象${ae+1}`,raw:K})).filter(K=>K.value||K.name==="红原县")}function g(Q){return(Q==null?void 0:Q.key)==="pasturesId"||(Q==null?void 0:Q.key)==="pastures_id"?{pasturesId:Q.value}:{areaCode:(Q==null?void 0:Q.value)||"513233"}}function _(Q,K={}){const ae=S(K,["areaRange","arearange","area_range","area","acreage"],0),ie=S(K,["yakNumber","yaknumber","yak_number","livestock_capacity","livestockCapacity","livestockcapacity"],0),he=S(K,["level","conclusion"],"暂无等级"),Ee=S(K,["overloadRate","overloadrate","overload_rate"],0),je=S(K,["advice","balanceAdvice","balanceadvice","balance_advice"],"暂无建议,请稍后再试。");return`**${Q}草畜平衡建议** |
|
|
|
|
|
- 草地面积:${x(ae)} 亩 |
|
|
- 牦牛/载畜量:${x(ie)} 头 |
|
|
- 草畜平衡等级:${he} |
|
|
- 超载率:${x(Ee)}% |
|
|
|
|
|
**建议** |
|
|
${je}`}function S(Q,K,ae=""){for(const ie of K){const he=Q==null?void 0:Q[ie];if(he!=null&&he!=="")return he}return ae}function x(Q){const K=Number(String(Q).replace(/,/g,""));return Number.isFinite(K)?K.toLocaleString("zh-CN",{maximumFractionDigits:2}):Q||"--"}function A(Q=[]){const K=[];return Q.slice(0,2).forEach(ae=>{var B2;const ie=(ae.rows||[]).map(S2=>Z2(b2({},S2),{value:Number(S2.value)})).filter(S2=>S2.name&&Number.isFinite(S2.value));if(!ie.length)return;const he=ae.unit||((B2=ie.find(S2=>S2.unit))==null?void 0:B2.unit)||"",Ee=ie.slice().sort((S2,p2)=>p2.value-S2.value),je=ie.reduce((S2,p2)=>S2+p2.value,0),xe=je/ie.length,Oe=Ee[0],f2=Ee[Ee.length-1];K.push({label:"最高",value:`${Oe.name} ${x(Oe.value)}${he}`,note:ae.title}),ie.length>2&&K.push({label:ae.type==="pie"?"占比项":"最低",value:`${f2.name} ${x(f2.value)}${he}`,note:ae.type==="pie"?"最小结构项":"低值区域"}),K.push({label:"合计",value:`${x(je)}${he}`,note:ie.length>1?`覆盖 ${ie.length} 项`:ae.title}),ae.type!=="pie"&&ie.length>1&&K.push({label:"均值",value:`${x(xe)}${he}`,note:"按当前图表项计算"})}),K.slice(0,4)}function C(Q,K=[]){const ae=String(Q||""),ie=[],he=(Ee,je)=>{!ie.some(xe=>xe.question===je)&&je!==ae&&ie.push({label:Ee,question:je})};return(/牦牛|畜群|存栏|牛/.test(ae)||K.some(Ee=>{var je,xe;return(xe=(je=Ee.source)==null?void 0:je.localKey)==null?void 0:xe.includes("yak")}))&&(he("看畜群结构","牦牛结构占比"),he("看存栏预测","牦牛存栏预测"),he("看交易结构","牦牛交易结构")),/草地|草原|饲草|鲜草/.test(ae)&&(he("看草地健康","草地健康占比"),he("看生产力","草地生产力分布"),he("看退化统计","草地退化统计")),/湿地/.test(ae)&&(he("看湿地类型","湿地类型结构"),he("看湿地级别","湿地级别面积统计")),/林地|公益林|森林/.test(ae)&&(he("看权属结构","林地权属结构"),he("看公益林等级","公益林保护等级统计")),/草畜|平衡|承载|载畜/.test(ae)&&(he("看牦牛分布","牦牛分布"),he("看草地面积","草地面积分布")),he("换个图表",`${ae} 图表`),ie.slice(0,3)}function M(Q,K,ae=!0){i.value=i.value.map(ie=>ie.id===Q?b2(b2({},ie),K):ie),ae&&W()}function I(Q,K){M(Q,{digesting:!1,steps:["请求已结束"]}),E(Q,K)}function D(Q,K){const ae=String((Q==null?void 0:Q.message)||"");return(Q==null?void 0:Q.code)===401||(Q==null?void 0:Q.code)==="401"||(Q==null?void 0:Q.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(ae)?"接口需要登录授权。当前智慧管理不会使用假数据,请先完成平台登录或使用 openApi 统计库口径继续问数。":(Q==null?void 0:Q.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(ae)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(Q==null?void 0:Q.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(ae)?"本次请求被中断了,请重新发送一次。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(ae)||/[a-zA-Z]{4,}/.test(ae)?K:ae||K}function E(Q,K,ae=[]){P();const ie=String(K||""),he=ie.length>1200?36:ie.length>700?24:14;let Ee=0;const je=ae.length>0;M(Q,{fullText:ie,visibleText:"",streaming:!0,choices:[],charts:ae}),je&&Y();const xe=()=>{if(Ee=Math.min(Ee+he,ie.length),M(Q,{visibleText:ie.slice(0,Ee),streaming:Ee<ie.length},!je),Ee>=ie.length){l=null,ae.length&&M(Q,{charts:ae},!1),r.value=!1;return}l=window.setTimeout(xe,18)};l=window.setTimeout(xe,0)}function P(){l&&(window.clearTimeout(l),l=null)}function F(Q){const K=G(Q).split(/\r?\n/),ae=[];let ie=[],he=!1;const Ee=()=>{ie.length&&(ae.push(`<${he?"ol":"ul"}>${ie.map(je=>`<li>${V(je)}</li>`).join("")}</${he?"ol":"ul"}>`),ie=[],he=!1)};return K.forEach(je=>{const xe=je.trim();if(!xe){Ee();return}const Oe=xe.match(/^#{1,4}\s+(.+)$/)||xe.match(/^\*\*(.+)\*\*$/);if(Oe){Ee(),ae.push(`<h3>${V(Oe[1])}</h3>`);return}const f2=xe.match(/^\d+[.)、]\s+(.+)$/),B2=xe.match(/^[-*]\s+(.+)$/);if(f2||B2){const S2=!!f2;ie.length&&he!==S2&&Ee(),he=S2,ie.push(f2?f2[1]:B2[1]);return}Ee(),ae.push(`<p>${V(xe)}</p>`)}),Ee(),ae.join("")}function V(Q){return Q.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>")}function G(Q){return String(Q||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function W(){return J2(this,null,function*(){yield Ji(),window.requestAnimationFrame(()=>{a.value&&(a.value.scrollTop=a.value.scrollHeight)})})}function Y(){return J2(this,null,function*(){yield Ji(),window.requestAnimationFrame(()=>{const Q=a.value,K=Q==null?void 0:Q.querySelector(".wisdom-message.is-assistant:last-child .wisdom-chart-list");if(!Q||!K)return;const ae=Q.getBoundingClientRect(),ie=K.getBoundingClientRect();Q.scrollTop+=ie.top-ae.top-12})})}return(Q,K)=>(Ae(),Pe("div",TJe,[K[11]||(K[11]=f8('<div class="wisdom-backdrop" aria-hidden="true"><div class="wisdom-grid"></div><div class="wisdom-orbit wisdom-orbit-a"></div><div class="wisdom-orbit wisdom-orbit-b"></div><div class="wisdom-scan"></div></div>',1)),B("main",AJe,[B("div",{ref_key:"dialogueRef",ref:a,class:Xt(["wisdom-dialogue",{"is-empty":!i.value.length}])},[i.value.length?Lt("",!0):(Ae(),Pe("section",CJe,[K[3]||(K[3]=B("div",{class:"wisdom-empty-mark"},[B("span"),B("strong",null,"AI")],-1)),K[4]||(K[4]=B("h2",null,"智慧管理问答",-1)),B("p",null,Fe(o.value),1),B("div",MJe,[(Ae(),Pe(bt,null,Nt(s,ae=>B("button",{key:ae.question,type:"button",disabled:r.value,onClick:ie=>c(ae.question)},Fe(ae.label),9,EJe)),64))])])),(Ae(!0),Pe(bt,null,Nt(i.value,ae=>{var ie,he,Ee,je,xe;return Ae(),Pe("article",{key:ae.id,class:Xt(["wisdom-message",`is-${ae.role}`])},[ae.role==="assistant"?(Ae(),Pe("div",PJe,[...K[5]||(K[5]=[B("span",null,"牧",-1)])])):Lt("",!0),B("div",RJe,[ae.role==="user"?(Ae(),Pe(bt,{key:0},[Z1(Fe(ae.text),1)],64)):(Ae(),Pe(bt,{key:1},[(ie=ae.steps)!=null&&ie.length?(Ae(),Pe("div",LJe,[(Ae(!0),Pe(bt,null,Nt(ae.steps,Oe=>(Ae(),Pe("div",{key:Oe,class:"wisdom-step"},[K[6]||(K[6]=B("span",null,null,-1)),Z1(Fe(Oe),1)]))),128))])):Lt("",!0),ae.digesting?(Ae(),Pe("div",IJe,[K[7]||(K[7]=B("span",null,null,-1)),K[8]||(K[8]=B("span",null,null,-1)),K[9]||(K[9]=B("span",null,null,-1)),B("em",null,Fe(ae.digestText||"小牧正在消化中"),1)])):Lt("",!0),(he=ae.charts)!=null&&he.length?(Ae(),Pe("div",DJe,[(Ae(!0),Pe(bt,null,Nt(ae.charts,Oe=>(Ae(),Gn(_1(e),{key:Oe.id,chart:Oe,onReady:W},null,8,["chart"]))),128))])):Lt("",!0),(Ee=ae.insights)!=null&&Ee.length?(Ae(),Pe("div",NJe,[(Ae(!0),Pe(bt,null,Nt(ae.insights,Oe=>(Ae(),Pe("div",{key:`${Oe.label}-${Oe.value}`,class:"wisdom-insight-item"},[B("span",null,Fe(Oe.label),1),B("strong",null,Fe(Oe.value),1),B("em",null,Fe(Oe.note),1)]))),128))])):Lt("",!0),ae.visibleText?(Ae(),Pe("div",{key:4,class:"wisdom-answer",innerHTML:F(ae.visibleText)},null,8,kJe)):Lt("",!0),ae.streaming?(Ae(),Pe("span",FJe)):Lt("",!0),(je=ae.suggestions)!=null&&je.length&&(ae.allowFollowUp||!ae.digesting&&!ae.streaming)?(Ae(),Pe("div",OJe,[(Ae(!0),Pe(bt,null,Nt(ae.suggestions,Oe=>(Ae(),Pe("button",{key:Oe.question,type:"button",disabled:r.value,onClick:f2=>c(Oe.question)},Fe(Oe.label),9,BJe))),128))])):Lt("",!0),(xe=ae.choices)!=null&&xe.length?(Ae(),Pe("div",zJe,[(Ae(!0),Pe(bt,null,Nt(ae.choices,(Oe,f2)=>(Ae(),Pe("button",{key:`${Oe.key||"choice"}-${Oe.value||f2}`,type:"button",disabled:r.value,onClick:B2=>f(Oe)},Fe(Oe.name||Oe.label||Oe.value),9,GJe))),128))])):Lt("",!0)],64))])],2)}),128))],2),B("form",{class:"wisdom-input-bar",onSubmit:K[2]||(K[2]=Hi(ae=>c(),["prevent"]))},[B("div",UJe,[K[10]||(K[10]=B("span",{class:"wisdom-input-icon"},null,-1)),en(B("input",{"onUpdate:modelValue":K[0]||(K[0]=ae=>t.value=ae),disabled:r.value,autocomplete:"off",placeholder:"输入牧户、区域或草畜平衡问题",onKeydown:K[1]||(K[1]=Gl(Hi(ae=>c(),["prevent"]),["enter"]))},null,40,VJe),[[Y9,t.value]]),B("button",{type:"submit",disabled:r.value||!t.value.trim()},[r.value?(Ae(),Pe("span",WJe)):Lt("",!0),B("span",null,Fe(r.value?"消化中":"发送"),1)],8,HJe)])],32)])]))}},cy=[{key:"home",label:"首页",bottomLabel:"核心指标",status:"ready"},{key:"forest-grass-wet",label:"林草湿一张图",bottomLabel:"林草湿",status:"ready"},{key:"ecological-protection",label:"生态保护",bottomLabel:"生态保护",status:"ready"},{key:"yak-management",label:"牦牛管理",bottomLabel:"牦牛管理",status:"ready"},{key:"pasture-management",label:"牧场管理",bottomLabel:"牧场管理",status:"ready"},{key:"yak-industry-chain",label:"牦牛产业全链",bottomLabel:"产业全链",status:"ready"},{key:"smart-management",label:"智慧管理",bottomLabel:"智慧管理",status:"ready"},{key:"grass-livestock-balance",label:"草畜平衡",bottomLabel:"草畜平衡",status:"ready"}];function $Je(n){return cy.find(e=>e.key===n)||cy[1]}const qJe={key:0,class:"platform-module-pane"},XJe={key:1,class:"platform-module-pane"},YJe={key:2,class:"platform-module-pane"},KJe={key:3,class:"platform-module-pane"},ZJe={key:4,class:"platform-module-pane"},JJe={key:5,class:"platform-module-pane"},QJe={key:6,class:"platform-module-pane"},eQe={key:7,class:"platform-module-pane"},tQe={class:"large-screen-wrap"},nQe={class:"top-menu"},iQe={key:0,class:"top-menu-mid-space"},rQe={key:1,class:"module-coming"},aQe={class:"module-coming-title"},oQe={key:2,class:"bottom-tray"},sQe={class:"bottom-menu"},lQe=["onClick"],uQe={key:8,class:"loading platform-loading"},cQe={class:"loading-progress"},dQe={class:"value"},hQe=1200,fQe={__name:"index",setup(n){const e=H2("home"),t=H2("national-park"),i=H2({home:!0}),r=H2({}),a=H2(!0),o=H2(0);let s=null,l=!1;const u=Date.now(),c={progress:0},d=["xiaoshoujine","zongxiaoliang","xiaoshoujine","zongxiaoliang"],h=Ye(()=>$Je(e.value)),f=Ye(()=>e.value==="ecological-protection"?WW:cy),p=Ye(()=>e.value==="ecological-protection"?t.value:e.value),m=Ye(()=>{const F=r.value[e.value];return Array.isArray(F)||F!=null&&F.length?F:I([{zh:"草地总面积",en:"",value:756.43,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])});cr(()=>{s=hy.init({dh:1080,dw:1920,el:"#large-screen",resize:!0}),E()}),Or(()=>{var F;(F=s==null?void 0:s.off)==null||F.call(s,"#large-screen"),N0.killTweensOf(c)});function v(F){D(F),e.value=F,Ji(E)}function g(F){if(e.value==="ecological-protection"){_(F.key),Ji(E);return}v(F.key)}function _(F){t.value=WW.some(V=>V.key===F)?F:"national-park",Ji(E)}function S(F){const V=F.moduleKey||(F.topicKey?"forest-grass-wet":e.value);r.value=Z2(b2({},r.value),{[V]:I(F.items||[])})}function x(F={}){const V=typeof F=="number"?F:F.progress;C(V)}function A(){N0.killTweensOf(c),c.progress=100,o.value=100;const F=Date.now()-u,V=Math.max(180,hQe-F);window.setTimeout(M,V)}function C(F){if(!a.value)return;const V=Math.max(0,Math.min(100,Math.floor(Number(F)||0)));V<o.value||N0.to(c,{progress:V,duration:.35,ease:"power2.out",onUpdate:()=>{o.value=Math.floor(c.progress)}})}function M(){if(!a.value||l)return;l=!0;const F=N0.timeline({onComplete:()=>{a.value=!1}});F.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),F.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),F.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function I(F=[]){return F.slice(0,4).map((V,G)=>{var Q;const W=Number(V.value)||0,Y={zh:V.zh||V.name||`指标${G+1}`,en:V.en||"",value:W,unit:V.unit||"",decimals:(Q=V.decimals)!=null?Q:Number.isInteger(W)?0:2};return b2({icon:d[G%d.length]},Y)})}function D(F){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(F)&&(i.value[F]||(i.value=Z2(b2({},i.value),{[F]:!0})))}function E(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const F=document.querySelector("#app");F&&(F.scrollTop=0)}function P(){fae()}return(F,V)=>(Ae(),Pe("div",{class:Xt(["large-screen platform-screen",{"is-home":h.value.key==="home","is-forest-grass-wet":h.value.key==="forest-grass-wet","is-ecological-protection":h.value.key==="ecological-protection","is-grass-livestock-balance":h.value.key==="grass-livestock-balance","is-yak-management":h.value.key==="yak-management","is-pasture-management":h.value.key==="pasture-management","is-yak-industry-chain":h.value.key==="yak-industry-chain","is-smart-management":h.value.key==="smart-management"}]),id:"large-screen"},[i.value.home?en((Ae(),Pe("div",qJe,[ft(iUe,{onLoadingProgress:x,onMapReady:A,onModuleStats:S})],512)),[[w6,h.value.key==="home"]]):Lt("",!0),i.value["forest-grass-wet"]?en((Ae(),Pe("div",XJe,[ft(FUe,{"show-loading":!1,onTopicStats:S})],512)),[[w6,h.value.key==="forest-grass-wet"]]):Lt("",!0),i.value["ecological-protection"]?en((Ae(),Pe("div",YJe,[ft(pXe,{"active-view":t.value,"show-loading":!1,onModuleStats:S,onViewChange:_},null,8,["active-view"])],512)),[[w6,h.value.key==="ecological-protection"]]):Lt("",!0),i.value["grass-livestock-balance"]?en((Ae(),Pe("div",KJe,[ft(OYe,{onLoadingProgress:x,onMapReady:A,onModuleStats:S})],512)),[[w6,h.value.key==="grass-livestock-balance"]]):Lt("",!0),i.value["yak-management"]?en((Ae(),Pe("div",ZJe,[ft(UZe,{onModuleStats:S})],512)),[[w6,h.value.key==="yak-management"]]):Lt("",!0),i.value["pasture-management"]?en((Ae(),Pe("div",JJe,[ft(ZZe,{onLoadingProgress:x,onMapReady:A,onModuleStats:S})],512)),[[w6,h.value.key==="pasture-management"]]):Lt("",!0),i.value["yak-industry-chain"]?en((Ae(),Pe("div",QJe,[ft(uJe,{onLoadingProgress:x,onMapReady:A,onModuleStats:S})],512)),[[w6,h.value.key==="yak-industry-chain"]]):Lt("",!0),i.value["smart-management"]?en((Ae(),Pe("div",eQe,[ft(jJe)],512)),[[w6,h.value.key==="smart-management"]]):Lt("",!0),B("div",tQe,[ft(Koe,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:m3(()=>[B("div",{class:"m-header-tools"},[B("button",{class:"logout-button",title:"退出登录",type:"button",onClick:P}," 退出 ")])]),_:1}),B("div",nQe,[ft(Joe,{"default-active":e.value,onSelect:v},{default:m3(()=>[(Ae(!0),Pe(bt,null,Nt(_1(cy),(G,W)=>(Ae(),Pe(bt,{key:G.key},[ft(Qoe,{index:G.key},{default:m3(()=>[Z1(Fe(G.label),1)]),_:2},1032,["index"]),W===3?(Ae(),Pe("div",iQe)):Lt("",!0)],64))),128))]),_:1},8,["default-active"])]),m.value.length&&!["smart-management","grass-livestock-balance","yak-industry-chain"].includes(h.value.key)?(Ae(),Pe("div",{key:0,class:Xt(["top-count-card",{"is-four":m.value.length>3}])},[(Ae(!0),Pe(bt,null,Nt(m.value,G=>(Ae(),Gn(use,{key:G.zh,info:G},null,8,["info"]))),128))],2)):Lt("",!0),h.value.status!=="ready"?(Ae(),Pe("div",rQe,[B("div",aQe,Fe(h.value.label),1),V[0]||(V[0]=B("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):Lt("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(h.value.key)?Lt("",!0):(Ae(),Pe("div",oQe,[ft(Om,{class:"bottom-svg-line-left",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),ft(Om,{class:"bottom-svg-line-left bottom-svg-line-right",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),V[1]||(V[1]=B("div",{class:"bottom-tray-arrow"},[B("img",{src:Em,alt:""}),B("img",{src:Pm,alt:""})],-1)),B("div",sQe,[(Ae(!0),Pe(bt,null,Nt(f.value,G=>(Ae(),Pe("div",{key:G.key,class:Xt(["bottom-menu-item",{"is-active":G.key===p.value}]),onClick:W=>g(G)},[B("span",null,Fe(G.bottomLabel),1)],10,lQe))),128))]),V[2]||(V[2]=B("div",{class:"bottom-tray-arrow is-reverse"},[B("img",{src:Em,alt:""}),B("img",{src:Pm,alt:""})],-1))])),V[3]||(V[3]=B("div",{class:"large-screen-left-zsline"},null,-1)),V[4]||(V[4]=B("div",{class:"large-screen-right-zsline"},null,-1))]),a.value?(Ae(),Pe("div",uQe,[V[6]||(V[6]=f8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),B("div",cQe,[B("span",dQe,Fe(o.value),1),V[5]||(V[5]=B("span",{class:"unit"},"%",-1))])])):Lt("",!0)],2))}},SQe=Object.freeze(Object.defineProperty({__proto__:null,default:fQe},Symbol.toStringTag,{value:"Module"}));export{G0 as H,fn as L,SQe as i};
|